summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml16
-rw-r--r--conf/map/battle/drops.conf4
-rw-r--r--conf/messages.conf31
-rw-r--r--doc/atcommands.txt29
-rw-r--r--npc/airports/airships.txt92
-rw-r--r--npc/cities/alberta.txt6
-rw-r--r--npc/cities/aldebaran.txt8
-rw-r--r--npc/cities/geffen.txt30
-rw-r--r--npc/cities/jawaii.txt2
-rw-r--r--npc/cities/lighthalzen.txt20
-rw-r--r--npc/custom/etc/bank.txt38
-rw-r--r--npc/custom/etc/bank_kafra.txt6
-rw-r--r--npc/custom/etc/lottery.txt150
-rw-r--r--npc/custom/etc/marriage.txt2
-rw-r--r--npc/custom/etc/monster_arena.txt9
-rw-r--r--npc/custom/etc/quest_warper.txt34
-rw-r--r--npc/custom/etc/shifty_assassin.txt7
-rw-r--r--npc/custom/etc/stock_market.txt15
-rw-r--r--npc/custom/events/cluckers.txt4
-rw-r--r--npc/custom/events/disguise.txt10
-rw-r--r--npc/custom/events/valentinesdayexp.txt33
-rw-r--r--npc/events/dumplingfestival.txt4
-rw-r--r--npc/events/easter_2008.txt136
-rw-r--r--npc/events/halloween_2006.txt12
-rw-r--r--npc/events/halloween_2009.txt140
-rw-r--r--npc/events/valentinesday.txt5
-rw-r--r--npc/events/valentinesday_2009.txt10
-rw-r--r--npc/events/whiteday.txt22
-rw-r--r--npc/instances/EndlessTower.txt10
-rw-r--r--npc/instances/NydhoggsNest.txt2
-rw-r--r--npc/instances/SealedShrine.txt16
-rw-r--r--npc/jobs/2-2/alchemist.txt155
-rw-r--r--npc/jobs/2-2/bard.txt60
-rw-r--r--npc/jobs/2-2/rogue.txt15
-rw-r--r--npc/kafras/dts_warper.txt32
-rw-r--r--npc/kafras/functions_kafras.txt4
-rw-r--r--npc/merchants/alchemist.txt11
-rw-r--r--npc/merchants/ammo_boxes.txt4
-rw-r--r--npc/merchants/ammo_dealer.txt2
-rw-r--r--npc/merchants/buying_shops.txt66
-rw-r--r--npc/merchants/gemstone.txt12
-rw-r--r--npc/merchants/hair_style.txt936
-rw-r--r--npc/merchants/icecream.txt8
-rw-r--r--npc/merchants/kunai_maker.txt2
-rw-r--r--npc/merchants/novice_exchange.txt11
-rw-r--r--npc/merchants/old_pharmacist.txt8
-rw-r--r--npc/merchants/refine.txt68
-rw-r--r--npc/other/arena/arena_party.txt4
-rw-r--r--npc/other/arena/arena_point.txt98
-rw-r--r--npc/other/arena/arena_room.txt11
-rw-r--r--npc/other/card_trader.txt2
-rw-r--r--npc/other/comodo_gambling.txt7
-rw-r--r--npc/other/fortune.txt14
-rw-r--r--npc/other/gm_npcs.txt2
-rw-r--r--npc/other/hugel_bingo.txt31
-rw-r--r--npc/other/marriage.txt6
-rw-r--r--npc/other/mercenary_rent.txt6
-rw-r--r--npc/other/monster_race.txt20
-rw-r--r--npc/other/turbo_track.txt288
-rw-r--r--npc/pre-re/jobs/1-1/mage.txt91
-rw-r--r--npc/pre-re/jobs/1-1/merchant.txt9
-rw-r--r--npc/pre-re/jobs/novice/novice.txt4
-rw-r--r--npc/quests/bard_quest.txt16
-rw-r--r--npc/quests/cooking_quest.txt133
-rw-r--r--npc/quests/eye_of_hellion.txt10
-rw-r--r--npc/quests/first_class/tu_sword.txt122
-rw-r--r--npc/quests/juice_maker.txt11
-rw-r--r--npc/quests/kiel_hyre_quest.txt195
-rw-r--r--npc/quests/lvl4_weapon_quest.txt64
-rw-r--r--npc/quests/obb_quest.txt2
-rw-r--r--npc/quests/quests_13_1.txt79
-rw-r--r--npc/quests/quests_13_2.txt14
-rw-r--r--npc/quests/quests_airship.txt26
-rw-r--r--npc/quests/quests_ein.txt70
-rw-r--r--npc/quests/quests_geffen.txt2
-rw-r--r--npc/quests/quests_hugel.txt6
-rw-r--r--npc/quests/quests_lighthalzen.txt72
-rw-r--r--npc/quests/quests_louyang.txt20
-rw-r--r--npc/quests/quests_morocc.txt175
-rw-r--r--npc/quests/quests_moscovia.txt68
-rw-r--r--npc/quests/quests_nameless.txt52
-rw-r--r--npc/quests/quests_niflheim.txt18
-rw-r--r--npc/quests/quests_prontera.txt18
-rw-r--r--npc/quests/quests_rachel.txt14
-rw-r--r--npc/quests/quests_umbala.txt220
-rw-r--r--npc/quests/quests_veins.txt54
-rw-r--r--npc/quests/seals/brisingamen_seal.txt14
-rw-r--r--npc/quests/seals/god_global.txt4
-rw-r--r--npc/quests/seals/megingard_seal.txt8
-rw-r--r--npc/quests/seals/sleipnir_seal.txt6
-rw-r--r--npc/quests/skills/alchemist_skills.txt148
-rw-r--r--npc/quests/thana_quest.txt34
-rw-r--r--npc/quests/the_sign_quest.txt72
-rw-r--r--npc/re/cities/brasilis.txt10
-rw-r--r--npc/re/cities/dewata.txt7
-rw-r--r--npc/re/cities/mora.txt12
-rw-r--r--npc/re/jobs/2e/kagerou_oboro.txt2
-rw-r--r--npc/re/jobs/3-1/archbishop.txt4
-rw-r--r--npc/re/jobs/3-1/rune_knight.txt2
-rw-r--r--npc/re/jobs/3-2/royal_guard.txt6
-rw-r--r--npc/re/jobs/3-2/shadow_chaser.txt12
-rw-r--r--npc/re/jobs/3-2/wanderer.txt2
-rw-r--r--npc/re/jobs/novice/academy.txt410
-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
-rw-r--r--npc/re/quests/eden/eden_common.txt10
-rw-r--r--npc/re/quests/eden/eden_iro.txt14
-rw-r--r--npc/re/quests/eden/eden_quests.txt2
-rw-r--r--npc/re/quests/eden/eden_tutorial.txt2
-rw-r--r--npc/re/quests/quests_brasilis.txt715
-rw-r--r--npc/re/quests/quests_dewata.txt2
-rw-r--r--npc/re/quests/quests_dicastes.txt8
-rw-r--r--npc/re/quests/quests_eclage.txt44
-rw-r--r--npc/re/quests/quests_malangdo.txt47
-rw-r--r--npc/re/quests/quests_malaya.txt19
-rw-r--r--npc/re/quests/quests_mora.txt6
-rw-r--r--npc/re/woe-fe/invest_main.txt18
-rw-r--r--src/char/char.c4
-rw-r--r--src/common/HPMDataCheck.h2
-rw-r--r--src/common/packets/packets2019_len_main.h138
-rw-r--r--src/common/packets/packets2019_len_re.h138
-rw-r--r--src/common/packets/packets2019_len_zero.h135
-rw-r--r--src/map/atcommand.c87
-rw-r--r--src/map/atcommand.h2
-rw-r--r--src/map/battle.c1
-rw-r--r--src/map/battle.h2
-rw-r--r--src/map/clif.c176
-rw-r--r--src/map/clif.h3
-rw-r--r--src/map/messages_main.h53
-rw-r--r--src/map/messages_re.h53
-rw-r--r--src/map/messages_zero.h54
-rw-r--r--src/map/mob.c27
-rw-r--r--src/map/mob.h1
-rw-r--r--src/map/packets_keys_main.h7
-rw-r--r--src/map/packets_keys_zero.h8
-rw-r--r--src/map/packets_shuffle_main.h7
-rw-r--r--src/map/packets_shuffle_re.h7
-rw-r--r--src/map/packets_shuffle_zero.h8
-rw-r--r--src/map/packets_struct.h52
-rw-r--r--src/map/pc.c23
-rw-r--r--src/map/script.c4
-rw-r--r--src/plugins/HPMHooking/HPMHooking.Defs.inc6
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc12
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc3
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc85
148 files changed, 3984 insertions, 3155 deletions
diff --git a/.travis.yml b/.travis.yml
index 4197fe4f2..c8c2ab33d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -39,7 +39,7 @@ matrix:
- compiler: false
include:
- compiler: gcc
- env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug CC=gcc-6 --disable-manager --enable-Werror --enable-packetver=20190619 --enable-packetver-re --enable-buildbot" HPM="1"
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug CC=gcc-6 --disable-manager --enable-Werror --enable-packetver=20190724 --enable-packetver-re --enable-buildbot" HPM="1"
addons:
apt:
sources:
@@ -52,7 +52,7 @@ matrix:
- libxml-sax-perl
- libxml-parser-perl
- compiler: clang
- env: CONFIGURE_FLAGS="--enable-debug CC=clang-5.0 --enable-Werror --enable-packetver=20190619 --enable-packetver-re --enable-buildbot"
+ env: CONFIGURE_FLAGS="--enable-debug CC=clang-5.0 --enable-Werror --enable-packetver=20190724 --enable-packetver-re --enable-buildbot"
addons:
apt:
sources:
@@ -72,7 +72,7 @@ matrix:
- gdb
- clang-5.0
- compiler: clang
- env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --enable-Werror --enable-packetver=20190619 --enable-packetver-re --enable-buildbot"
+ env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --enable-Werror --enable-packetver=20190724 --enable-packetver-re --enable-buildbot"
addons:
apt:
sources:
@@ -106,11 +106,11 @@ matrix:
- compiler: clang
env: CONFIGURE_FLAGS="--enable-debug --disable-renewal --enable-Werror --enable-buildbot"
- compiler: gcc
- env: CONFIGURE_FLAGS="--enable-debug --enable-Werror --enable-packetver=20190619 --enable-packetver-re --enable-buildbot"
+ env: CONFIGURE_FLAGS="--enable-debug --enable-Werror --enable-packetver=20190724 --enable-packetver-re --enable-buildbot"
- compiler: gcc
env: CONFIGURE_FLAGS="--enable-debug --disable-renewal --enable-Werror --enable-buildbot"
- compiler: gcc
- env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-5 --disable-manager --enable-Werror --enable-packetver=20190619 --enable-packetver-re --enable-buildbot"
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-5 --disable-manager --enable-Werror --enable-packetver=20190724 --enable-packetver-re --enable-buildbot"
addons:
apt:
sources:
@@ -128,7 +128,7 @@ matrix:
- gdb
- gcc-5
- compiler: gcc
- env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-6 --disable-manager --enable-Werror --enable-packetver=20190619 --enable-packetver-re --enable-buildbot"
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-6 --disable-manager --enable-Werror --enable-packetver=20190724 --enable-packetver-re --enable-buildbot"
addons:
apt:
sources:
@@ -146,7 +146,7 @@ matrix:
- gdb
- gcc-6
- compiler: gcc
- env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug CC=gcc-7 --disable-manager --enable-Werror --enable-packetver=20190619 --enable-packetver-re --enable-buildbot"
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug CC=gcc-7 --disable-manager --enable-Werror --enable-packetver=20190724 --enable-packetver-re --enable-buildbot"
addons:
apt:
sources:
@@ -164,7 +164,7 @@ matrix:
- gdb
- gcc-7
- compiler: gcc
- env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-8 --disable-manager --enable-Werror --enable-packetver=20190619 --enable-packetver-re --enable-buildbot"
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-8 --disable-manager --enable-Werror --enable-packetver=20190724 --enable-packetver-re --enable-buildbot"
addons:
apt:
sources:
diff --git a/conf/map/battle/drops.conf b/conf/map/battle/drops.conf
index cf09d14d9..d37aba455 100644
--- a/conf/map/battle/drops.conf
+++ b/conf/map/battle/drops.conf
@@ -151,3 +151,7 @@ alchemist_summon_reward: 1
// When picking random options for a dropped item, it does lots of iterations to choose the option to be set,
// this value limits the number of iterations to avoid making the server hang in a long loop.
option_drop_max_loop: 10
+
+// Does autoloot take into account player bonuses and penalties? (Note 1)
+// If RENEWAL_DROP, Bubble Gum, or any other modifiers are active autoloot will take them into account.
+autoloot_adjust: false
diff --git a/conf/messages.conf b/conf/messages.conf
index 2788f264d..bff4829c8 100644
--- a/conf/messages.conf
+++ b/conf/messages.conf
@@ -759,18 +759,18 @@
//995 FREE
-// @refine
+// @refine - Part 1
996: Please enter a position bitmask and an amount (usage: @refine <equip position> <+/- amount>).
-997: %d: Lower Headgear
-998: %d: Right Hand
+997: %d: Headgear (Low)
+998: %d: Hand (Right)
999: %d: Garment
-1000: %d: Left Accessory
+1000: %d: Accessory (Left)
1001: %d: Body Armor
-1002: %d: Left Hand
+1002: %d: Hand (Left)
1003: %d: Shoes
-1004: %d: Right Accessory
-1005: %d: Top Headgear
-1006: %d: Mid Headgear
+1004: %d: Accessory (Right)
+1005: %d: Headgear (Top)
+1006: %d: Headgear (Mid)
// @produce
1007: Please enter at least one item name/ID (usage: @produce <equip name/ID> <element> <# of very's>).
@@ -1575,5 +1575,20 @@
1501: Type List: (default) all = -1, healing = 0, usable = 2, etc = 3, weapon = 4, armor = 5, card = 6, petegg = 7, petarmor = 8, ammo = 10, delayed-consumable = 11, cash = 18
1502: %d items are dropped!
+// @refine - Part 2
+1503: %d: Costume Headgear (Top)
+1504: %d: Costume Headgear (Mid)
+1505: %d: Costume Headgear (Low)
+1506: %d: Costume Garment
+1507: %d: Shadow Armor
+1508: %d: Shadow Weapon
+1509: %d: Shadow Shield
+1510: %d: Shadow Shoes
+1511: %d: Shadow Accessory (Right)
+1512: %d: Shadow Accessory (Left)
+1513: %d: Refine All Equip (General)
+1514: %d: Refine All Equip (Costume)
+1515: %d: Refine All Equip (Shadow)
+
//Custom translations
import: conf/import/msg_conf.txt
diff --git a/doc/atcommands.txt b/doc/atcommands.txt
index c909440a7..139295973 100644
--- a/doc/atcommands.txt
+++ b/doc/atcommands.txt
@@ -678,17 +678,30 @@ Example:
@refine <equip position> <+/- amount>
Refines an equipped item by the specified amount.
-0: All Equipment
-1: Lower Headgear
-2: Right Hand
+-3: Refine All Equip (Shadow)
+-2: Refine All Equip (Costume)
+-1: Refine All Equip (General)
+1: Headgear (Low)
+2: Hand (Right)
4: Garment
-8: Left Accessory
+8: Accessory (Left)
16: Body Armor
-32: Left Hand
+32: Hand (Left)
64: Shoes
-128: Right Accessory
-256: Top Headgear
-512: Mid Headgear
+128: Accessory (Right)
+256: Headgear (Top)
+256: Headgear (Mid)
+1024: Costume Headgear (Top)
+2048: Costume Headgear (Mid)
+4096: Costume Headgear (Low)
+8192: Costume Garment
+65536: Shadow Armor
+131072: Shadow Weapon
+262144: Shadow Shield
+524288: Shadow Shoes
+1048576: Shadow Accessory (Right)
+2097152: Shadow Accessory (Left)
+2097152: Shadow Accessory (Left)
---------------------------------------
diff --git a/npc/airports/airships.txt b/npc/airports/airships.txt
index 7bac19e21..75708d167 100644
--- a/npc/airports/airships.txt
+++ b/npc/airports/airships.txt
@@ -491,9 +491,8 @@ airplane,50,66,5 script Apple Merchant#airplane 4_M_04,{
" '0' to cancel your order.");
next;
while (1) {
- input .@input;
- .@pay = .@input * 15;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes("[Fruitz]");
mes("Thanks for stopping\r"
"by my shop. Farewell!");
@@ -502,7 +501,7 @@ airplane,50,66,5 script Apple Merchant#airplane 4_M_04,{
"Apple to snack on~");
close;
}
- else if (.@input < 1 || .@input > 500) {
+ if (.@input > 500) {
mes("[Fruitz]");
mes("You've entered a number\r"
"higher than the maximum\r"
@@ -510,25 +509,25 @@ airplane,50,66,5 script Apple Merchant#airplane 4_M_04,{
"the number of Apples you\r"
"wish to purchase again.");
next;
+ continue;
}
- else {
+ .@pay = .@input * 15;
+ mes("[Fruitz]");
+ mesf("A total of ^FF0000%d^000000 Apples\r"
+ "will cost you ^FF0000%d Zeny^000000.",
+ .@input, .@pay);
+ mes("Would you like to continue?");
+ next;
+ if (select("Yes", "No") == 2) {
mes("[Fruitz]");
- mesf("A total of ^FF0000%d^000000 Apples\r"
- "will cost you ^FF0000%d Zeny^000000.",
- .@input, .@pay);
- mes("Would you like to continue?");
- next;
- if (select("Yes", "No") == 2) {
- mes("[Fruitz]");
- mes("Thanks for stopping\r"
- "by my shop. Farewell!");
- mes("Come by anytime when\r"
- "you feel like having an\r"
- "Apple to snack on~");
- close;
- }
- break;
+ mes("Thanks for stopping\r"
+ "by my shop. Farewell!");
+ mes("Come by anytime when\r"
+ "you feel like having an\r"
+ "Apple to snack on~");
+ close;
}
+ break;
}
if (Zeny < .@pay) {
mes("[Fruitz]");
@@ -853,44 +852,43 @@ airplane_01,50,66,5 script Apple Merchant#air01 4_M_04,{
"'0' to cancel your order.");
next;
while (1) {
- input .@input;
- .@pay = .@input * 15;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes("[Meltz]");
mes("Thanks for stopping\r"
"by my shop. Farewell!");
mes("Come by anytime when\r"
"you feel like having an\r"
"Apple to snack on~");
- close;
+ close();
}
- else if (.@input < 1 || .@input > 500) {
+ if (.@input > 500) {
mes("[Meltz]");
mes("You've entered a number\r"
"higher than the maximum\r"
"value of 500. Please enter\r"
"the number of Apples you\r"
"wish to purchase again.");
- next;
+ next();
+ continue;
}
- else {
+ .@pay = .@input * 15;
+ mes("[Meltz]");
+ mesf("A total of ^FF0000%d^000000 Apples\r"
+ "will cost you ^FF0000%d Zeny^000000.",
+ .@input, .@pay);
+ mes("Would you like to continue?");
+ next;
+ if (select("Yes", "No") == 2) {
mes("[Meltz]");
- mesf("A total of ^FF0000%d^000000 Apples\r"
- "will cost you ^FF0000%d Zeny^000000.",
- .@input, .@pay);
- mes("Would you like to continue?");
- next;
- if (select("Yes", "No") == 2) {
- mes("[Meltz]");
- mes("Thanks for stopping\r"
- "by my shop. Farewell!");
- mes("Come by anytime when\r"
- "you feel like having an\r"
- "Apple to snack on~");
- close;
- }
- break;
+ mes("Thanks for stopping\r"
+ "by my shop. Farewell!");
+ mes("Come by anytime when\r"
+ "you feel like having an\r"
+ "Apple to snack on~");
+ close;
}
+ break;
}
if (Zeny < .@pay) {
mes("[Meltz]");
@@ -1150,7 +1148,7 @@ airplane_01,32,61,4 script Nils#ein 1_M_03,1,1,{
mes(.@line1_3$[.@wordtest]);
.@start_time = gettime(GETTIME_HOUR)*60*60 + gettime(GETTIME_MINUTE)*60 + gettime(GETTIME_SECOND);
next;
- input .@save1$;
+ input(.@save1$);
.@end_time = gettime(GETTIME_HOUR)*60*60 + gettime(GETTIME_MINUTE)*60 + gettime(GETTIME_SECOND);
.@total_time = .@end_time - .@start_time;
mes("[Nils]");
@@ -1158,7 +1156,7 @@ airplane_01,32,61,4 script Nils#ein 1_M_03,1,1,{
mes(.@line2_2$[.@wordtest]);
.@start_time = gettime(GETTIME_HOUR)*60*60 + gettime(GETTIME_MINUTE)*60 + gettime(GETTIME_SECOND);
next;
- input .@save2$;
+ input(.@save2$);
.@end_time = gettime(GETTIME_HOUR)*60*60 + gettime(GETTIME_MINUTE)*60 + gettime(GETTIME_SECOND);
.@total_time = .@total_time + (.@start_time - .@end_time);
.@tasoo = (.@letters[.@wordtest] / .@total_time) * 6;
@@ -1329,15 +1327,15 @@ function script applegamble {
"to cancel, please enter '0'.");
next;
while(1) {
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes(.@n$);
mes("Changed your mind?");
mes("I understand. Well then,\r"
"I hope we can play sometime.");
close;
}
- else if (.@amount < 1 || .@amount > 50) {
+ if (.@amount > 50) {
mes(.@n$);
mes("You can't bet more than\r"
"50 Apples. Remember, we\r"
diff --git a/npc/cities/alberta.txt b/npc/cities/alberta.txt
index ed4be5438..abac7b76a 100644
--- a/npc/cities/alberta.txt
+++ b/npc/cities/alberta.txt
@@ -347,7 +347,7 @@ alberta,190,173,4 script Phelix 4_M_03,{
mes "[Phelix]";
mes "I'm not giving you more then 100 at a time so don't bother, OK? If you don't want any, just say '0'.";
mes "Right now, the most you can get is " + .@max + " but remember, 100 at most, you want to break my back?.";
- input .@amount;
+ input(.@amount);
next;
mes "[Phelix]";
if (.@amount <= 0) {
@@ -396,10 +396,10 @@ alberta,190,173,4 script Phelix 4_M_03,{
case 2:
mes "[Phelix]";
mes "Right I'm not giving you more then 100 at a time so don't bother, okay? If you don't want any, just say '0'.";
- input .@amount;
+ input(.@amount);
next;
mes "[Phelix]";
- if (.@amount == 0) {
+ if (.@amount <= 0) {
mes "Alright then, see you next time.";
close;
}
diff --git a/npc/cities/aldebaran.txt b/npc/cities/aldebaran.txt
index 57d4205df..bd74a8971 100644
--- a/npc/cities/aldebaran.txt
+++ b/npc/cities/aldebaran.txt
@@ -1200,8 +1200,9 @@ function script F_Lottery {
mes "[Kafra]";
mes "How many times do you want the Lottery Machine to spin? You can choose up to 5 times.";
next;
- input @input;
- if(@input < 1 || @input > 5) @input = rand(1,5); //Lupus's fix
+ input(@input);
+ if (@input < 1 || @input > 5)
+ @input = rand(1,5); // Lupus's fix
callsub sF_Spin;
mes "[Kafra]";
mes "Ok~ Let me check the results~ guess what it is?";
@@ -1274,7 +1275,8 @@ sF_Spin:
next;
@temp = rand(10);
--@input;
- if(@input <= 0) return;
+ if (@input <= 0)
+ return;
}
}
diff --git a/npc/cities/geffen.txt b/npc/cities/geffen.txt
index 7f299dfa2..2bc972c70 100644
--- a/npc/cities/geffen.txt
+++ b/npc/cities/geffen.txt
@@ -274,8 +274,8 @@ OnTouch:
mes "them at a time.";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Suspicious Guy]";
if (Sex == SEX_MALE)
mes "Ah duuuuuude~ You're breakin' my heart! I mean, at these prices, I'm practically performing charity!";
@@ -283,14 +283,14 @@ OnTouch:
mes "W-waaaait! You didn't let me tell you the part about how Red Potions help you lose and gain weight in all the right places! Waaaaait!";
close;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Suspicious Guy]";
mes "Whoa...";
mes "I can't let you buy that many. I mean, it's not like, you know, there's a trace impurity in these Potions or anything like that...";
next;
+ continue;
}
- else
- break;
+ break;
}
.@Red_potion_hap = .@input * 500;
if (Zeny < .@Red_potion_hap) {
@@ -344,8 +344,8 @@ OnTouch:
mes "There's no way you can pass this up! Now, how many do you want?";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Suspicious Guy]";
mes "Man, how many chances of a lifetime have you passed up? Man, I hope you win the lottery...";
mes "You'd probably";
@@ -353,14 +353,14 @@ OnTouch:
close;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Suspicious Guy]";
mes "Whoa!";
mes "I can't sell that many Daggers! That'll attract the Prontera Chiv--I mean, um, I was gonna donate some Daggers to... Hungry children?";
next;
+ continue;
}
- else
- break;
+ break;
}
.@Main_gauche_hap = .@input * 9400;
if (Zeny < .@Main_gauche_hap) {
@@ -398,21 +398,21 @@ OnTouch:
mes "Clearly, this is the deal of the century. So how many do you want?";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Suspicious Guy]";
mes "Awww...";
mes "It wasn't because of the whole drawstrings thing, was it?";
close;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Suspicious Guy]";
mes "Whoa~!";
mes "I can't sell you that many! What are you trying to do, take advantage of me?";
next;
+ continue;
}
- else
- break;
+ break;
}
.@Hood__hap = .@input * 930;
if (Zeny < .@Hood__hap) {
diff --git a/npc/cities/jawaii.txt b/npc/cities/jawaii.txt
index 71ec8264f..7e117b45c 100644
--- a/npc/cities/jawaii.txt
+++ b/npc/cities/jawaii.txt
@@ -880,7 +880,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "Bartender,";
mes "I'm so depressed";
mes "because of...";
- input .@inputstr$;
+ input(.@inputstr$);
mes .@inputstr$+"...";
next;
mes "[Bartender]";
diff --git a/npc/cities/lighthalzen.txt b/npc/cities/lighthalzen.txt
index 3cbe900c3..88f117747 100644
--- a/npc/cities/lighthalzen.txt
+++ b/npc/cities/lighthalzen.txt
@@ -561,16 +561,8 @@ lighthalzen,182,102,3 script Lucius#zen5 4_M_LGTGRAND,{
mes "starving children. If you wish";
mes "to cancel, please enter ''0.''";
next;
- input .@input;
- if (.@input > 30000 || .@input < 0) {
- mes "[Lucius]";
- mes "Please enter a value";
- mes "from 1 to 30,000 in";
- mes "order to make a donation";
- mes "to the needy, youngster.";
- close;
- }
- else if (.@input == 0) {
+ input(.@input);
+ if (.@input == 0) {
mes "[Lucius]";
mes "How disappointing,";
mes "but I'm sure you have";
@@ -580,6 +572,14 @@ lighthalzen,182,102,3 script Lucius#zen5 4_M_LGTGRAND,{
mes "to come back at any time.";
close;
}
+ if (.@input > 30000 || .@input < 1) {
+ mes "[Lucius]";
+ mes "Please enter a value";
+ mes "from 1 to 30,000 in";
+ mes "order to make a donation";
+ mes "to the needy, youngster.";
+ close;
+ }
mes "[Lucius]";
mes "Thank you so much";
mes "for your " + .@input + " zeny donation.";
diff --git a/npc/custom/etc/bank.txt b/npc/custom/etc/bank.txt
index c5bed187b..4135ed192 100644
--- a/npc/custom/etc/bank.txt
+++ b/npc/custom/etc/bank.txt
@@ -28,27 +28,25 @@ switch(select("I'd like to make a deposit.", "I'd like to make a withdrawl.", "W
mes "Oh, and do realize there is a " +@cost + " Zeny charge on all transactions!";
next;
}
- input @deposit;
+ input(@deposit);
if (@deposit < 1) {
mes "Make sure you ask me to deposit a real amount.";
close;
}
- else if (@deposit > Zeny) {
+ if (@deposit > Zeny) {
mes "It does not appear like you have the amount of zeny you're trying to deposit!";
close;
}
- else if (@deposit > (Zeny - @cost)) {
+ if (@deposit > Zeny - @cost) {
mes "You need " + @cost + " Zeny to cover the transaction fee!";
close;
}
- else {
Zeny -= @deposit;
Zeny -= @cost;
- set #bankstorage,#bankstorage + @deposit;
+ #bankstorage += @deposit;
mes "[Banker]";
mes "Thank you very much... Your zeny is in good hands.";
close;
- }
case 2:
mes "[Banker]";
@@ -59,16 +57,16 @@ switch(select("I'd like to make a deposit.", "I'd like to make a withdrawl.", "W
mes "Oh, and do realize there is a " +@cost + " Zeny charge on all transactions!";
next;
}
- input @withdrawl;
+ input(@withdrawl);
if (@withdrawl < 1) {
mes "Please don't play games. I need a real amount to withdraw.";
close;
}
- else if (@withdrawl > #bankstorage) {
+ if (@withdrawl > #bankstorage) {
mes "I show you only have ^00FF00" + #bankstorage +"^000000 zeny in your account!";
close;
}
- else if ((@cost > Zeny) && ((Zeny + @withdrawl) > @cost)) {
+ if (@cost > Zeny && Zeny + @withdrawl > @cost) {
mes "[Banker]";
mes "You don't have the Zeny for the transaction fee right now. Would you like me to take the fee directly from your withdrawl?";
next;
@@ -76,13 +74,13 @@ switch(select("I'd like to make a deposit.", "I'd like to make a withdrawl.", "W
case 1:
mes "[Banker]";
mes "Removing " + @cost + " from your withdrawl to cover the deposit fee...";
- set @withdrawl,@withdrawl - @cost;
- set #bankstorage,#bankstorage - @cost;
- set @cost,0;
+ @withdrawl -= @cost;
+ #bankstorage -= @cost;
+ @cost = 0;
next;
Zeny -= @cost;
Zeny += @withdrawl;
- set #bankstorage,#bankstorage - @withdrawl;
+ #bankstorage -= @withdrawl;
mes "[Banker]";
mes "There's your Zeny. Have a good day.";
close;
@@ -92,14 +90,12 @@ switch(select("I'd like to make a deposit.", "I'd like to make a withdrawl.", "W
close;
}
}
- else {
- Zeny -= @cost;
- Zeny += @withdrawl;
- set #bankstorage,#bankstorage - @withdrawl;
- mes "[Banker]";
- mes "There's your Zeny. Have a good day.";
- close;
- }
+ Zeny -= @cost;
+ Zeny += @withdrawl;
+ #bankstorage -= @withdrawl;
+ mes "[Banker]";
+ mes "There's your Zeny. Have a good day.";
+ close;
case 3:
mes "[Banker]";
mes "Hmmmm let me check some paper work.";
diff --git a/npc/custom/etc/bank_kafra.txt b/npc/custom/etc/bank_kafra.txt
index 375a9f611..a970f8302 100644
--- a/npc/custom/etc/bank_kafra.txt
+++ b/npc/custom/etc/bank_kafra.txt
@@ -44,7 +44,8 @@ L_NoIncomeToday:
mes"[Maniss]";
mes "Please, tell me how much zeny you would like to deposit.";
next;
- if(input(@kafrabank) == 1) goto L_TOO_BIG_AMOUNT;
+ if (input(@kafrabank, 0) == 1)
+ goto L_TOO_BIG_AMOUNT;
if(@kafrabank<1000) goto L_LESS_1000;
if(@kafrabank>Zeny) goto L_NOT_ENOUGH;
@@ -62,7 +63,8 @@ M_WITHDRAW:
mes "Your account: ^135445" + #kafrabank + "^000000 zeny.";
mes "How much zeny would you like to withdraw?";
next;
- if(input(@kafrabank) == 1) goto L_TOO_BIG_AMOUNT;
+ if (input(@kafrabank, 0) == 1)
+ goto L_TOO_BIG_AMOUNT;
if(@kafrabank<1) goto B_EXIT2;
if(@kafrabank>#kafrabank) goto L_NOT_ENOUGH;
diff --git a/npc/custom/etc/lottery.txt b/npc/custom/etc/lottery.txt
index 421fccc78..0c6c987a5 100644
--- a/npc/custom/etc/lottery.txt
+++ b/npc/custom/etc/lottery.txt
@@ -171,43 +171,64 @@ L_HandPick:
set @L5,0;
set @L6,0;
Input1:
- input @L1;
- if (@L1 < 1 || @L1 > 40) goto Input1;
+ input(@L1);
+ if (@L1 < 1 || @L1 > 40)
+ goto Input1;
mes @L1;
Input2:
- input @L2;
- if (@L2 < 1 || @L2 > 40) goto Input2;
- if (@L2 == @L1) goto Input2;
+ input(@L2);
+ if (@L2 < 1 || @L2 > 40)
+ goto Input2;
+ if (@L2 == @L1)
+ goto Input2;
mes @L2;
Input3:
- input @L3;
- if (@L3 < 1 || @L3 > 40) goto Input3;
- if (@L3 == @L1) goto Input3;
- if (@L3 == @L2) goto Input3;
+ input(@L3);
+ if (@L3 < 1 || @L3 > 40)
+ goto Input3;
+ if (@L3 == @L1)
+ goto Input3;
+ if (@L3 == @L2)
+ goto Input3;
mes @L3;
Input4:
- input @L4;
- if (@L4 < 1 || @L4 > 40) goto Input4;
- if (@L4 == @L1) goto Input4;
- if (@L4 == @L2) goto Input4;
- if (@L4 == @L3) goto Input4;
+ input(@L4);
+ if (@L4 < 1 || @L4 > 40)
+ goto Input4;
+ if (@L4 == @L1)
+ goto Input4;
+ if (@L4 == @L2)
+ goto Input4;
+ if (@L4 == @L3)
+ goto Input4;
mes @L4;
Input5:
- input @L5;
- if (@L5 < 1 || @L5 > 40) goto Input5;
- if (@L5 == @L1) goto Input5;
- if (@L5 == @L2) goto Input5;
- if (@L5 == @L3) goto Input5;
- if (@L5 == @L4) goto Input5;
+ input(@L5);
+ if (@L5 < 1 || @L5 > 40)
+ goto Input5;
+ if (@L5 == @L1)
+ goto Input5;
+ if (@L5 == @L2)
+ goto Input5;
+ if (@L5 == @L3)
+ goto Input5;
+ if (@L5 == @L4)
+ goto Input5;
mes @L5;
Input6:
- input @L6;
- if (@L6 < 1 || @L6 > 40) goto Input6;
- if (@L6 == @L1) goto Input6;
- if (@L6 == @L2) goto Input6;
- if (@L6 == @L3) goto Input6;
- if (@L6 == @L4) goto Input6;
- if (@L6 == @L5) goto Input6;
+ input(@L6);
+ if (@L6 < 1 || @L6 > 40)
+ goto Input6;
+ if (@L6 == @L1)
+ goto Input6;
+ if (@L6 == @L2)
+ goto Input6;
+ if (@L6 == @L3)
+ goto Input6;
+ if (@L6 == @L4)
+ goto Input6;
+ if (@L6 == @L5)
+ goto Input6;
mes @L6;
next;
mes "[Lottery]";
@@ -406,43 +427,64 @@ L_GM_Rig:
set $LR5,0;
set $LR6,0;
GMInput1:
- input $LR1;
- if ($LR1 < 1 || $LR1 > 40) goto GMInput1;
+ input($LR1);
+ if ($LR1 < 1 || $LR1 > 40)
+ goto GMInput1;
mes $LR1;
GMInput2:
- input $LR2;
- if ($LR2 < 1 || $LR2 > 40) goto GMInput2;
- if ($LR2 == $LR1) goto GMInput2;
+ input($LR2);
+ if ($LR2 < 1 || $LR2 > 40)
+ goto GMInput2;
+ if ($LR2 == $LR1)
+ goto GMInput2;
mes $LR2;
GMInput3:
- input $LR3;
- if ($LR3 < 1 || $LR3 > 40) goto GMInput3;
- if ($LR3 == $LR1) goto GMInput3;
- if ($LR3 == $LR2) goto GMInput3;
+ input($LR3);
+ if ($LR3 < 1 || $LR3 > 40)
+ goto GMInput3;
+ if ($LR3 == $LR1)
+ goto GMInput3;
+ if ($LR3 == $LR2)
+ goto GMInput3;
mes $LR3;
GMInput4:
- input $LR4;
- if ($LR4 < 1 || $LR4 > 40) goto GMInput4;
- if ($LR4 == $LR1) goto GMInput4;
- if ($LR4 == $LR2) goto GMInput4;
- if ($LR4 == $LR3) goto GMInput4;
+ input($LR4);
+ if ($LR4 < 1 || $LR4 > 40)
+ goto GMInput4;
+ if ($LR4 == $LR1)
+ goto GMInput4;
+ if ($LR4 == $LR2)
+ goto GMInput4;
+ if ($LR4 == $LR3)
+ goto GMInput4;
mes $LR4;
GMInput5:
- input $LR5;
- if ($LR5 < 1 || $LR5 > 40) goto GMInput5;
- if ($LR5 == $LR1) goto GMInput5;
- if ($LR5 == $LR2) goto GMInput5;
- if ($LR5 == $LR3) goto GMInput5;
- if ($LR5 == $LR4) goto GMInput5;
+ input($LR5);
+ if ($LR5 < 1 || $LR5 > 40)
+ goto GMInput5;
+ if ($LR5 == $LR1)
+ goto GMInput5;
+ if ($LR5 == $LR2)
+ goto GMInput5;
+ if ($LR5 == $LR3)
+ goto GMInput5;
+ if ($LR5 == $LR4)
+ goto GMInput5;
mes $LR5;
GMInput6:
- input $LR6;
- if ($LR6 < 1 || $LR6 > 40) goto GMInput6;
- if ($LR6 == $LR1) goto GMInput6;
- if ($LR6 == $LR2) goto GMInput6;
- if ($LR6 == $LR3) goto GMInput6;
- if ($LR6 == $LR4) goto GMInput6;
- if ($LR6 == $LR5) goto GMInput6;
+ input($LR6);
+ if ($LR6 < 1 || $LR6 > 40)
+ goto GMInput6;
+ if ($LR6 == $LR1)
+ goto GMInput6;
+ if ($LR6 == $LR2)
+ goto GMInput6;
+ if ($LR6 == $LR3)
+ goto GMInput6;
+ if ($LR6 == $LR4)
+ goto GMInput6;
+ if ($LR6 == $LR5)
+ goto GMInput6;
mes $LR6;
next;
mes "[Lottery]";
diff --git a/npc/custom/etc/marriage.txt b/npc/custom/etc/marriage.txt
index 4e521ec55..c392c5ff1 100644
--- a/npc/custom/etc/marriage.txt
+++ b/npc/custom/etc/marriage.txt
@@ -105,7 +105,7 @@ prt_church,100,123,4 script Vomars 1_M_PASTOR,{
npctalk "Ladies and gentlemen, "+strcharinfo(PC_NAME)+" has an objection to the wedding!";
SF_wed_end();
mes "Why should they not be wed?";
- input $@msg$;
+ input($@msg$);
npctalk strcharinfo(PC_NAME)+"'s objection is: "+$@msg$;
emotion e_sob;
mes "I see...";
diff --git a/npc/custom/etc/monster_arena.txt b/npc/custom/etc/monster_arena.txt
index 8420cd544..249e5518d 100644
--- a/npc/custom/etc/monster_arena.txt
+++ b/npc/custom/etc/monster_arena.txt
@@ -322,10 +322,11 @@ L_Sell:
mes "You have: ^FF0000" + #monpoints + "^000000 experience points";
mes "How many would you like to sell?";
next;
- input @sellexp;
- if (@sellexp > #monpoints) goto L_NoExp;
- set #monpoints,#monpoints-@sellexp;
- set @sellearn,100*@sellexp; // Price of exp
+ input(@sellexp, 0);
+ if (@sellexp > #monpoints)
+ goto L_NoExp;
+ #monpoints -= @sellexp;
+ @sellearn = 100 * @sellexp; // Price of exp
Zeny += @sellearn;
mes "[Monster Trainer]";
mes "You earned ^0000FF" + @sellearn + "^000000z.";
diff --git a/npc/custom/etc/quest_warper.txt b/npc/custom/etc/quest_warper.txt
index 2ae2e7f7f..fec9c6b14 100644
--- a/npc/custom/etc/quest_warper.txt
+++ b/npc/custom/etc/quest_warper.txt
@@ -173,19 +173,19 @@ Setprice:
next;
mes "Basic - Warps are = "+(($QW_BW_PRICE)?"^00FF00"+$QW_BW_PRICE:"^FF0000Free")+"^000000";
mes "Basic - Warps are starter towns and related dungeons.";
- input $QW_BW_PRICE;
+ input($QW_BW_PRICE, 0);
goto Setprice;
case 2:
next;
mes "Advanced - Warps are = "+(($QW_AW_PRICE)?"^00FF00"+$QW_AW_PRICE:"^FF0000Free")+"^000000";
mes "Advanced - Warps are towns and dungeons on the same island but not close to any starter town.";
- input $QW_AW_PRICE;
+ input($QW_AW_PRICE, 0);
goto Setprice;
case 3:
next;
mes "Overseas - Warps are = "+(($QW_OW_PRICE)?"^00FF00"+$QW_OW_PRICE:"^FF0000Free")+"^000000";
mes "Overseas - Warps are towns and dungeons overseas reachable by boat from Alberta.";
- input $QW_OW_PRICE;
+ input($QW_OW_PRICE, 0);
goto Setprice;
case 4:
next;
@@ -193,7 +193,7 @@ Setprice:
mes "Basic - Warps are starter town related dungeons.";
mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee.";
mes "These costs are on top of the regular Warp costs.";
- input $QW_BW_FEE;
+ input($QW_BW_FEE, 0);
goto Setprice;
case 5:
next;
@@ -201,7 +201,7 @@ Setprice:
mes "Advanced - Warps are dungeons not close to any starter town.";
mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee.";
mes "These costs are on top of the regular Warp costs.";
- input $QW_AW_FEE;
+ input($QW_AW_FEE, 0);
goto Setprice;
case 6:
next;
@@ -209,13 +209,13 @@ Setprice:
mes "Overseas - Warps are dungeons related to towns overseas reachable by boat from Alberta.";
mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee.";
mes "These costs are on top of the regular Warp costs.";
- input $QW_OW_FEE;
+ input($QW_OW_FEE, 0);
goto Setprice;
case 7:
next;
mes "Full Healing = "+(($QW_HF_PRICE)?"^00FF00"+$QW_HF_PRICE:"^FF0000Free")+"^000000";
mes "Instant full healing 1 price.";
- input $QW_HF_PRICE;
+ input($QW_HF_PRICE, 0);
goto Setprice;
case 8:
next;
@@ -224,8 +224,8 @@ Setprice:
mes "Healing price per 1 HP.";
mes "Healing price per 1 SP.";
mes "2 inputs, first HP then SP.";
- input $QW_HP_H_PRICE;
- input $QW_HP_S_PRICE;
+ input($QW_HP_H_PRICE, 0);
+ input($QW_HP_S_PRICE, 0);
goto Setprice;
case 9:
next;
@@ -233,13 +233,13 @@ Setprice:
if (!$QW_S_PRICE) mes "Storage = ^FF0000 Free ^000000";
if ($QW_S_PRICE == 60) mes "Storage = ^0000FF Kafra Mode ^000000";
mes "Storage cost, if set to 60 Kafra pricing will be handled.";
- input $QW_S_PRICE;
+ input($QW_S_PRICE, 0);
goto Setprice;
case 10:
next;
mes "Guild Storage = "+(($QW_GS_PRICE)?"^00FF00"+$QW_GS_PRICE:"^FF0000Free")+"^000000";
mes "Guild Storage, free on Guild Kafras.";
- input $QW_GS_PRICE;
+ input($QW_GS_PRICE, 0);
goto Setprice;
case 11:
goto GM_Menu;
@@ -264,21 +264,21 @@ SpecialWarpMenu:
case 1:
next;
mes "Set the name to show in the menu as option.";
- input $QW_SP_Warpname$;
+ input($QW_SP_Warpname$, 0);
goto SpecialWarpMenu;
case 2:
next;
mes "Set the map in the ^0000FFmapname^000000 format.";
mes "When this warpmap is set the option for players will show once they meet the requirments.";
mes "To disable Special Warp Menu option, clear this!";
- input $QW_SP_WarpMap$;
+ input($QW_SP_WarpMap$, 0);
goto SpecialWarpMenu;
case 3:
next;
mes "First input = Xcoord";
mes "Second input = Ycoord";
- input $QW_SP_WarpX;
- input $QW_SP_WarpY;
+ input($QW_SP_WarpX, 0);
+ input($QW_SP_WarpY, 0);
goto SpecialWarpMenu;
case 4:
goto GM_Menu;
@@ -301,7 +301,7 @@ DungeonLevelLimit:
mes "Set limit of Dungeon Depth 0 = entrance";
mes "Depth 1 is a map connected to 0 and so on";
mes "Shortest Route to map counts as depth";
- input $QW_DDL;
+ input($QW_DDL, 0);
goto DungeonLevelLimit;
case 3: goto GM_Menu;
default:
@@ -464,7 +464,7 @@ L_Storage:
if(#kafra_code) {
mes "Enter your storage password:";
set @code_,0;
- input @code_;
+ input(@code_, 0);
if(@code_ != #kafra_code) {
dispbottom "Wrong storage password.";
close;
diff --git a/npc/custom/etc/shifty_assassin.txt b/npc/custom/etc/shifty_assassin.txt
index 4acf7c8ac..cc92d3fce 100644
--- a/npc/custom/etc/shifty_assassin.txt
+++ b/npc/custom/etc/shifty_assassin.txt
@@ -27,7 +27,7 @@ morocc,148,86,5 script Shifty Assassin 4_F_JOB_ASSASSIN,{
mes "They cost ^0000FF" + $ninja_price + " zeny ^000000each.";
set @buy,0;
- input @buy;
+ input(@buy, 0);
next;
if ($ninja_avail < 1) {
mes "[Shifty Assassin]";
@@ -83,8 +83,7 @@ morocc,148,86,5 script Shifty Assassin 4_F_JOB_ASSASSIN,{
mes "Active Ninjas: "+#ninjas;
mes "Resting Ninjas: "+#ninjasr;
mes "How many do you want to send?";
- set @number,0;
- input @number;
+ input(@number);
if (@number < 1) {
mes "[Shifty Assassin]";
mes "You can't kill anyone without ninjas.";
@@ -144,7 +143,7 @@ morocc,148,86,5 script Shifty Assassin 4_F_JOB_ASSASSIN,{
mes "How many ninjas do you want to make available?";
next;
set @add,0;
- input @add;
+ input(@add, 0);
set $ninja_avail,$ninja_avail+@add;
mes @add + " ninjas added.";
close;
diff --git a/npc/custom/etc/stock_market.txt b/npc/custom/etc/stock_market.txt
index 465840dfe..b761d8d16 100644
--- a/npc/custom/etc/stock_market.txt
+++ b/npc/custom/etc/stock_market.txt
@@ -323,11 +323,8 @@ prontera,140,181,5 script Stock Market::stockmarket 4_M_MANAGER,{
mes "Enter the name of the share company";
mes "Transaction fee of ^FF0000" + $S_Trans + "z^000000 will apply.";
- set @buyname$,"0";
- input @buyname$;
-
- set @buyamount,0;
- input @buyamount;
+ input(@buyname$);
+ input(@buyamount);
// Checks valid number //
if (@buyamount < $S_BuyMin) {
mes "^FF0000Minimum of " + $S_BuyMin + " shares can be bought at a time.^000000";
@@ -476,10 +473,8 @@ prontera,140,181,5 script Stock Market::stockmarket 4_M_MANAGER,{
if (#S8 > 0) mes "^0000FF"+$S8N$+"^FF0000" + " x " + #S8 + " [" + $S8 + "z]";
if (#S9 > 0) mes "^0000FF"+$S9N$+"^FF0000" + " x " + #S9 + " [" + $S9 + "z]";
if (#S10 > 0) mes "^0000FF"+$S10N$+"^FF0000" + " x " + #S10 + " [" + $S10 + "z]";
- set @sellname$,"0";
- input @sellname$;
- set @sellamount,0;
- input @sellamount;
+ input(@sellname$);
+ input(@sellamount);
if (@sellamount < 1) {
mes "^FF0000Invalid integer.^000000";
next;
@@ -756,7 +751,7 @@ OnGMOpen:
if (select("Yes", "No") != 1)
return;
set @gmset,0;
- input @gmset;
+ input(@gmset, 0);
set $S1,@gmset;
set $S2,@gmset;
set $S3,@gmset;
diff --git a/npc/custom/events/cluckers.txt b/npc/custom/events/cluckers.txt
index 7047ca00e..2e6170693 100644
--- a/npc/custom/events/cluckers.txt
+++ b/npc/custom/events/cluckers.txt
@@ -74,11 +74,11 @@ prontera,156,219,4 script Cluckers 4_NFCOCK,{
case 3:
mes "[Cluckers]";
mes "Cluck cluck? Cluck??? ^FF0000~What should the prize for winning be? Please input the ID.~^000000";
- input $cluck_item_id;
+ input($cluck_item_id, 0);
next;
mes "[Cluckers]";
mes "Cluck? cluuuck? ^FF0000~How many if this item should I give away?~^000000";
- input $cluck_item_amount;
+ input($cluck_item_amount, 0);
next;
mes "[Cluckers]";
mes "Cluck cluck..? Cluck. ^FF0000~So, the prize is^000000 ^008000"+ $cluck_item_amount +" "+ getitemname($cluck_item_id) +"^000000? ^FF0000Great.~^000000";
diff --git a/npc/custom/events/disguise.txt b/npc/custom/events/disguise.txt
index fde5e544a..37f8a4f99 100644
--- a/npc/custom/events/disguise.txt
+++ b/npc/custom/events/disguise.txt
@@ -67,7 +67,7 @@ prontera,160,155,4 script Disguise Event 4_M_NFDEADMAN,{
mes "Input the number of rounds you want the event to last.";
mes "Current number: [^0000FF"+.Rounds+"^000000]";
next;
- input .@Rounds;
+ input(.@Rounds, 0);
set .Rounds,.@Rounds;
mes .@n$;
mes "The number of rounds has been changed to "+.Rounds+".";
@@ -77,7 +77,7 @@ prontera,160,155,4 script Disguise Event 4_M_NFDEADMAN,{
mes "Input the Item ID of the prize given each round.";
mes "Current item: [^0000FF"+getitemname(.Prize)+"^000000] (ID #"+.Prize+")";
next;
- input .@Prize;
+ input(.@Prize, 0);
mes .@n$;
if (getitemname(.@Prize)=="" || getitemname(.@Prize)=="null") {
mes "That item does not exist. Please try again.";
@@ -86,11 +86,11 @@ prontera,160,155,4 script Disguise Event 4_M_NFDEADMAN,{
set .Prize,.@Prize;
mes "Input the amount to be given.";
next;
- input .@amount;
+ input(.@amount);
mes .@n$;
- if (.@amount<=0 || .@amount>=10000) {
+ if (.@amount <= 0 || .@amount >= 10000) {
mes "That amount is invalid. Using default ammount of 1.";
- set .@amount,1;
+ .@amount = 1;
next;
mes .@n$;
}
diff --git a/npc/custom/events/valentinesdayexp.txt b/npc/custom/events/valentinesdayexp.txt
index 33339dcd9..195f20275 100644
--- a/npc/custom/events/valentinesdayexp.txt
+++ b/npc/custom/events/valentinesdayexp.txt
@@ -95,12 +95,15 @@ alberta,26,243,4 script Stephen#val1 1_M_MERCHANT,{
mes "you can come back again.";
mes "So how many do you want?";
next;
- set @needmon,0;
- input @flag_num;
- if (@flag_num <= 0) goto L_NONE;
- if (@flag_num > 5) goto L_ERR;
- set @needmon,@flag_num*5000;
- if (Zeny < @needmon) goto L_NOTENO;
+ @needmon = 0;
+ input(@flag_num);
+ if (@flag_num <= 0)
+ goto L_NONE;
+ if (@flag_num > 5)
+ goto L_ERR;
+ @needmon = @flag_num * 5000;
+ if (Zeny < @needmon)
+ goto L_NOTENO;
Zeny -= @needmon;
getitem 558,@flag_num;
mes "[Stephen]";
@@ -154,13 +157,17 @@ alberta,29,243,4 script Jainie#val1 1_M_INNKEEPER,{
mes "you can come back again.";
mes "So how many do you want? 1 portion is 4500z + 1 Milk.";
next;
- set @needmon,0;
- input @flag_num;
- if (@flag_num == 0) goto L_NONE;
- if (@flag_num > 5) goto L_ERR;
- set @needmon,@flag_num*4500;
- if (Zeny < @needmon) goto L_NOTENO;
- if (countitem(Milk) < @flag_num) goto L_NOMILK;
+ @needmon = 0;
+ input(@flag_num);
+ if (@flag_num == 0)
+ goto L_NONE;
+ if (@flag_num > 5)
+ goto L_ERR;
+ @needmon = @flag_num * 4500;
+ if (Zeny < @needmon)
+ goto L_NOTENO;
+ if (countitem(Milk) < @flag_num)
+ goto L_NOMILK;
Zeny -= @needmon;
delitem 519,@flag_num;
getitem 561,@flag_num;
diff --git a/npc/events/dumplingfestival.txt b/npc/events/dumplingfestival.txt
index 641b8f2da..9f5ac381a 100644
--- a/npc/events/dumplingfestival.txt
+++ b/npc/events/dumplingfestival.txt
@@ -67,8 +67,8 @@ payon,93,81,4 script Exorcist Master Fahae 4_M_BUDDHIST,{
mes "Each costs "+ .@price +"z.";
mes "(Type in 0 to cancel)";
next;
- input @input;
- if (@input == 0)
+ input(@input);
+ if (@input <= 0)
close;
if (@input > 5) {
mes "[Exorcist Master Fahae]";
diff --git a/npc/events/easter_2008.txt b/npc/events/easter_2008.txt
index 4d914ebcb..a2d6a2155 100644
--- a/npc/events/easter_2008.txt
+++ b/npc/events/easter_2008.txt
@@ -91,7 +91,7 @@ prontera,111,99,5 script Egg Salesman#prt::EggVendor 4W_M_02,{
mes "Chicken Eggs so easily!";
next;
while(1) {
- input .@input;
+ input(.@input);
if (.@input == 0) {
mes "[Egg Salesman]";
mes "Hey, if you're not";
@@ -101,7 +101,7 @@ prontera,111,99,5 script Egg Salesman#prt::EggVendor 4W_M_02,{
mes "help out my customers?";
close;
}
- else if (.@input < 0 || .@input > 1000) {
+ if (.@input < 1 || .@input > 1000) {
mes "[Egg Salesman]";
mes "Hey, you mind giving";
mes "me a real number? I also";
@@ -110,42 +110,37 @@ prontera,111,99,5 script Egg Salesman#prt::EggVendor 4W_M_02,{
mes "you know. C'mon, tell me how";
mes "many you want for real now.";
next;
+ continue;
}
- else {
- .@egg_zeny = .@input*500;
- if (Zeny < .@egg_zeny) {
- mes "[Egg Salesman]";
- mes "You don't have enough Zeny.";
- next;
- mes "[Egg Salesman]";
- mes "No discount, go and get enough Zeny.";
- close;
- }
- else {
- if (checkweight(Chicken_Egg,.@input) == 0) {
- mes "[Egg Salesman]";
- mes "Hey, I know you really";
- mes "want to buy some Chicken";
- mes "Eggs, but you won't be able";
- mes "to carry that much now. Why";
- mes "don't you free up some";
- mes "Inventory space first?.";
- close;
- }
- else {
- mes "[Egg Salesman]";
- mes "Here's your Chicken Eggs!";
- mes "I guess there's some festival";
- mes "happening where you'll need";
- mes "them, but I don't know anything";
- mes "about that. Well, have a good";
- mes "time, and I'll see you again!";
- Zeny -= .@egg_zeny;
- getitem Chicken_Egg,.@input;
- close;
- }
- }
+ .@egg_zeny = .@input*500;
+ if (Zeny < .@egg_zeny) {
+ mes "[Egg Salesman]";
+ mes "You don't have enough Zeny.";
+ next;
+ mes "[Egg Salesman]";
+ mes "No discount, go and get enough Zeny.";
+ close;
}
+ if (checkweight(Chicken_Egg,.@input) == 0) {
+ mes "[Egg Salesman]";
+ mes "Hey, I know you really";
+ mes "want to buy some Chicken";
+ mes "Eggs, but you won't be able";
+ mes "to carry that much now. Why";
+ mes "don't you free up some";
+ mes "Inventory space first?.";
+ close;
+ }
+ mes "[Egg Salesman]";
+ mes "Here's your Chicken Eggs!";
+ mes "I guess there's some festival";
+ mes "happening where you'll need";
+ mes "them, but I don't know anything";
+ mes "about that. Well, have a good";
+ mes "time, and I'll see you again!";
+ Zeny -= .@egg_zeny;
+ getitem Chicken_Egg,.@input;
+ close;
}
case 4:
mes "[Egg Salesman]";
@@ -263,8 +258,8 @@ prontera,230,312,3 script Nerlen#es07 1_F_PRIEST,{
mes "Enter ''0'' to cancel.";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Nerlen]";
mes "Oh, you changed your";
mes "mind? Feel free to visit me";
@@ -272,35 +267,32 @@ prontera,230,312,3 script Nerlen#es07 1_F_PRIEST,{
mes "make you some Holy Eggs~";
close;
}
- else if (.@input < 0 || .@input > 10) {
+ if (.@input > 10) {
mes "[Nerlen]";
mes "I'm sorry, but I can only";
mes "make up to 10 Holy Eggs";
mes "at a time. If you wanted to";
mes "cancel, then just enter ''0.''";
next;
+ continue;
}
- else {
- if ((countitem(White_Herb) < .@input) || (countitem(Green_Herb) < .@input) || (countitem(Yellow_Herb) < .@input) || (countitem(Holy_Water) < .@input) || (countitem(Chicken_Egg) < .@input)) {
- mes "[Nerlen]";
- mes "I'm sorry, but you don't";
- mes "have enough items to make";
- mes "Holy Eggs. You need the";
- mes "following for me to create";
- mes "each Holy Egg for you.";
- next;
- mes "[Nerlen]";
- mes "^4D4DFF1 White Herb^000000,";
- mes "^4D4DFF1 Green Herb^000000,";
- mes "^4D4DFF1 Yellow Herb^000000,";
- mes "^4D4DFF1 Holy Water^000000, and";
- mes "^4D4DFF1 Chicken Egg^000000.";
- close;
- }
- else {
- break;
- }
+ if ((countitem(White_Herb) < .@input) || (countitem(Green_Herb) < .@input) || (countitem(Yellow_Herb) < .@input) || (countitem(Holy_Water) < .@input) || (countitem(Chicken_Egg) < .@input)) {
+ mes "[Nerlen]";
+ mes "I'm sorry, but you don't";
+ mes "have enough items to make";
+ mes "Holy Eggs. You need the";
+ mes "following for me to create";
+ mes "each Holy Egg for you.";
+ next;
+ mes "[Nerlen]";
+ mes "^4D4DFF1 White Herb^000000,";
+ mes "^4D4DFF1 Green Herb^000000,";
+ mes "^4D4DFF1 Yellow Herb^000000,";
+ mes "^4D4DFF1 Holy Water^000000, and";
+ mes "^4D4DFF1 Chicken Egg^000000.";
+ close;
}
+ break;
}
if (checkweight(Holy_Egg,.@input) == 0) {
mes "[Nerlen]";
@@ -311,20 +303,18 @@ prontera,230,312,3 script Nerlen#es07 1_F_PRIEST,{
mes "space in your Inventory first.";
close;
}
- else {
- delitem White_Herb,.@input;
- delitem Green_Herb,.@input;
- delitem Yellow_Herb,.@input;
- delitem Holy_Water,.@input;
- delitem Chicken_Egg,.@input; //Egg
- getitem Holy_Egg,.@input;
- mes "[Nerlen]";
- mes "Thank you!";
- mes "I hope you enjoy";
- mes "these Holy Eggs~";
- mes "Hope you to be with God's love.";
- close;
- }
+ delitem White_Herb,.@input;
+ delitem Green_Herb,.@input;
+ delitem Yellow_Herb,.@input;
+ delitem Holy_Water,.@input;
+ delitem Chicken_Egg,.@input; //Egg
+ getitem Holy_Egg,.@input;
+ mes "[Nerlen]";
+ mes "Thank you!";
+ mes "I hope you enjoy";
+ mes "these Holy Eggs~";
+ mes "Hope you to be with God's love.";
+ close;
case 3:
mes "[Nerlen]";
mes "Alright, I understand.";
diff --git a/npc/events/halloween_2006.txt b/npc/events/halloween_2006.txt
index 940ffe30a..6f954c299 100644
--- a/npc/events/halloween_2006.txt
+++ b/npc/events/halloween_2006.txt
@@ -614,20 +614,20 @@ nif_fild01,165,115,3 script Chicken Masta#06_hw 4_M_NFDEADMAN2,{
mes "And maximum 3 is all you can get.";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Chicken Masta]";
mes "You don't have to buy it, if you don't need it.";
close;
}
- else if (@input > 3) {
+ if (@input > 3) {
mes "[Chicken Masta]";
mes "What did I tell you.";
mes "I'm going to sell only three eggs.";
next;
+ continue;
}
- else
- break;
+ break;
}
.@hw_egg = .@input * 1000;
if (Zeny < @hw_egg) {
@@ -666,7 +666,7 @@ nif_fild01,167,113,3 script Masta's chicken#06_hw01 4_NFCOCK,{
mes "Oh, this must be Chicken Masta's chicken.";
mes "I should insert the magic word.";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if( .@inputstr$ == "Return" ) {
emotion e_omg;
specialeffect EF_TELEPORTATION;
diff --git a/npc/events/halloween_2009.txt b/npc/events/halloween_2009.txt
index e71abeaef..532e04b2e 100644
--- a/npc/events/halloween_2009.txt
+++ b/npc/events/halloween_2009.txt
@@ -349,8 +349,8 @@ prontera,220,72,5 duplicate(09Treats) Trick or Treater#iRO8 4_M_KID1,2,2
mes "[Halloween Wizard]";
mes "How many Fabrics or Jack o' Pumpkins do you want to use? Don't go over 100 because that is the max amount that I can use.";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Halloween Wizard]";
mes "You have no definite idea.";
mes "It's not a big deal.";
@@ -358,91 +358,89 @@ prontera,220,72,5 duplicate(09Treats) Trick or Treater#iRO8 4_M_KID1,2,2
next;
break;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Halloween Wizard]";
mes "I told you that it must be between 1 to 100!";
mes "You didn't pay attention!";
next;
break;
}
- else {
- .@fabric = countitem(Transparent_Cloth);
- .@jack = countitem(Pumpkin_Head);
- .@worn = countitem(Worn_Cloth_Piece);
- .@crushed = countitem(Pumpkin_Head_Crushed);
- .@whispers = 0;
- .@darklords = 0;
+ .@fabric = countitem(Transparent_Cloth);
+ .@jack = countitem(Pumpkin_Head);
+ .@worn = countitem(Worn_Cloth_Piece);
+ .@crushed = countitem(Pumpkin_Head_Crushed);
+ .@whispers = 0;
+ .@darklords = 0;
- .@total = .@fabric + .@jack + .@worn + .@crushed;
+ .@total = .@fabric + .@jack + .@worn + .@crushed;
- if(.@total < .@input) {
- mes "[Halloween Wizard]";
- mes "Recount the number of items you have and tell me the total.";
- mes "Huhuhuhuhuhu...";
- next;
- break;
- }
+ if(.@total < .@input) {
+ mes "[Halloween Wizard]";
+ mes "Recount the number of items you have and tell me the total.";
+ mes "Huhuhuhuhuhu...";
+ next;
+ break;
+ }
- if(.@fabric > 0) {
- if(.@fabric >= .@input) {
- delitem 1059,.@input;
- .@whispers += .@input;
- .@input = 0;
- }
- else{
- delitem 1059,.@fabric;
- .@input -= .@fabric;
- .@whispers += .@fabric;
- }
+ if(.@fabric > 0) {
+ if(.@fabric >= .@input) {
+ delitem 1059,.@input;
+ .@whispers += .@input;
+ .@input = 0;
}
- if(.@worn > 0 && .@input != 0) {
- if(.@worn >= .@input) {
- delitem 6299,.@input;
- .@whispers += .@input;
- .@input = 0;
- }
- else{
- delitem 6299,.@worn;
- .@input -= .@worn;
- .@whispers += .@worn;
- }
+ else{
+ delitem 1059,.@fabric;
+ .@input -= .@fabric;
+ .@whispers += .@fabric;
}
- if(.@jack > 0 && .@input != 0) {
- if(.@jack >= .@input) {
- delitem 1062,.@input;
- .@darklords += .@input;
- .@input = 0;
- }
- else{
- delitem 1062,.@jack;
- .@input -= .@jack;
- .@darklords += .@jack;
- }
+ }
+ if(.@worn > 0 && .@input != 0) {
+ if(.@worn >= .@input) {
+ delitem 6299,.@input;
+ .@whispers += .@input;
+ .@input = 0;
}
- if(.@crushed > 0 && .@input != 0) {
- if(.@crushed >= .@input) {
- delitem 6298,.@input;
- .@darklords += .@input;
- .@input = 0;
- }
- else{
- delitem 6298,.@crushed;
- .@input -= .@crushed;
- .@darklords += .@crushed;
- }
+ else{
+ delitem 6299,.@worn;
+ .@input -= .@worn;
+ .@whispers += .@worn;
}
- if (.@input > 0) {
- mes "Theres a problem.";
- close;
+ }
+ if(.@jack > 0 && .@input != 0) {
+ if(.@jack >= .@input) {
+ delitem 1062,.@input;
+ .@darklords += .@input;
+ .@input = 0;
}
- monster ""+.@HallowTowns$[.@HallowTown]+"",0,0,"Halloween Whisper",3014,.@whispers;
- monster ""+.@HallowTowns$[.@HallowTown]+"",0,0,"Halloween Dark Lord",3015,.@darklords;
- mes "[Halloween Wizard]";
- mes "Here's what you wanted.";
- mes "Imagine what the people must be thinking in the other villages?";
- mes "Muahahaha";
+ else{
+ delitem 1062,.@jack;
+ .@input -= .@jack;
+ .@darklords += .@jack;
+ }
+ }
+ if(.@crushed > 0 && .@input != 0) {
+ if(.@crushed >= .@input) {
+ delitem 6298,.@input;
+ .@darklords += .@input;
+ .@input = 0;
+ }
+ else{
+ delitem 6298,.@crushed;
+ .@input -= .@crushed;
+ .@darklords += .@crushed;
+ }
+ }
+ if (.@input > 0) {
+ mes "Theres a problem.";
close;
}
+ monster ""+.@HallowTowns$[.@HallowTown]+"",0,0,"Halloween Whisper",3014,.@whispers;
+ monster ""+.@HallowTowns$[.@HallowTown]+"",0,0,"Halloween Dark Lord",3015,.@darklords;
+ mes "[Halloween Wizard]";
+ mes "Here's what you wanted.";
+ mes "Imagine what the people must be thinking in the other villages?";
+ mes "Muahahaha";
+ close;
case 3:
mes "[Halloween Wizard]";
mes "If you change your mind, come back here...";
diff --git a/npc/events/valentinesday.txt b/npc/events/valentinesday.txt
index bb64f4121..89979e166 100644
--- a/npc/events/valentinesday.txt
+++ b/npc/events/valentinesday.txt
@@ -58,8 +58,9 @@ alberta,26,243,4 script Stephen 1_M_MERCHANT,{
mes "you can come back again.";
mes "So how many do you want?";
next;
- input .@i;
- if (.@i <= 0) close;
+ input(.@i);
+ if (.@i <= 0)
+ close;
mes "[Stephen]";
if (.@i > 5) {
mes "I'm sorry, but I can't give you that many.";
diff --git a/npc/events/valentinesday_2009.txt b/npc/events/valentinesday_2009.txt
index 1151a08fb..919f4255f 100644
--- a/npc/events/valentinesday_2009.txt
+++ b/npc/events/valentinesday_2009.txt
@@ -66,7 +66,7 @@ prontera,164,174,4 script Trader#Val09 1_M_MERCHANT,{
mes "How many do you want anyway?";
next;
while(.@input <= 0 || .@input > 5) {
- input .@input;
+ input(.@input);
if (.@input < 1) {
mes "[Marco Bassinio]";
mes "Oh, it's such a shame!";
@@ -195,7 +195,7 @@ prontera,147,171,5 script Packs Trader#Val09 1_M_MERCHANT,{
mes "How many do you want?";
mes "You can't buy more than 10 items at once.";
next;
- input .@input;
+ input(.@input);
if (.@input <= 0) {
mes "[Packs Trader]";
mes "Nothing to buy.";
@@ -236,7 +236,7 @@ prontera,147,171,5 script Packs Trader#Val09 1_M_MERCHANT,{
mes "How many do you want?";
mes "You can't buy more than 10 items at once.";
next;
- input .@input;
+ input(.@input);
if (.@input <= 0) {
mes "[Packs Trader]";
mes "Nothing to buy.";
@@ -277,7 +277,7 @@ prontera,147,171,5 script Packs Trader#Val09 1_M_MERCHANT,{
mes "How many do you want?";
mes "You can't buy more than 10 items at once.";
next;
- input .@input;
+ input(.@input);
if (.@input <= 0) {
mes "[Packs Trader]";
mes "Nothing to buy.";
@@ -443,7 +443,7 @@ prontera,157,185,4 script Valentine Vote Manager#v 4_F_KAFRA5,{
mes "When you write the number of the rings, the number shouldn't be larger than the number of rings you actually have.";
mes "'0', cancels everything.";
next;
- input .@input;
+ input(.@input);
if (.@input <= 0) {
mes "[Valentine Vote Manager]";
diff --git a/npc/events/whiteday.txt b/npc/events/whiteday.txt
index 58655bf11..b7bae2d97 100644
--- a/npc/events/whiteday.txt
+++ b/npc/events/whiteday.txt
@@ -118,16 +118,18 @@ S_Purchase:
.@price = getarg(0);
.@item_id = getarg(1);
while (true) {
- input .@amount;
- if (.@amount <= 5)
- break;
- mes "[Sugar]";
- mes "???";
- mes "You seem to have a failure on hearing.";
- mes "I will tell you once again?";
- mes "You can only purchase";
- mes "^ff0000 5 pieces^000000 at once.";
- next;
+ input(.@amount);
+ if (.@amount < 0 || .@amount > 5) {
+ mes "[Sugar]";
+ mes "???";
+ mes "You seem to have a failure on hearing.";
+ mes "I will tell you once again?";
+ mes "You can only purchase";
+ mes "^ff0000 5 pieces^000000 at once.";
+ next;
+ continue;
+ }
+ break;
}
if (.@amount == 0) // Cancel
return;
diff --git a/npc/instances/EndlessTower.txt b/npc/instances/EndlessTower.txt
index 2964f7e2a..4353de224 100644
--- a/npc/instances/EndlessTower.txt
+++ b/npc/instances/EndlessTower.txt
@@ -1300,7 +1300,7 @@ OnTimer120000:
mes("This NPC manages the tower from the 1st to the 25th Level.");
mes("Please enter the Level number to open.");
mes("(i.g.: 1F->1, 25F->25)");
- input(.@input, 1, 25);
+ input(.@input);
next();
if (.@input < 1 || .@input > 25) {
mes("You can only enter a number from 1 to 25.");
@@ -1412,9 +1412,9 @@ OnTouch_:
mes("This NPC manages the tower from the 26st to the 50th Level.");
mes("Please enter the Level number to open.");
mes("(i.g.: 26F->26, 50F->50)");
- input(.@input, 26, 50);
+ input(.@input);
next();
- if (.@onput < 26 || .@input > 50) {
+ if (.@input < 26 || .@input > 50) {
mes("You can only enter a number from 26 to 50.");
} else {
donpcevent(instance_npcname(.@input+"FGate102tower")+"::OnEnable");
@@ -1524,7 +1524,7 @@ OnTouch_:
mes("This NPC manages the tower from the 51st to the 75th Level.");
mes("Please enter the Level number to open.");
mes("(i.g.: 51F->51, 75F->75)");
- input(.@input, 51, 75);
+ input(.@input);
next();
if (.@input < 51 || .@input > 75) {
mes("You can only enter a number from 51 to 75.");
@@ -1635,7 +1635,7 @@ OnTouch_:
mes("This NPC manages the tower from the 76th to the 99th Level.");
mes("Please enter the Level number to open.");
mes("(i.g.: 76F->76, 99F->99)");
- input(.@input, 76, 99);
+ input(.@input);
next();
if (.@input < 76 || .@input > 99) {
mes("You can only enter a number from 76 to 99.");
diff --git a/npc/instances/NydhoggsNest.txt b/npc/instances/NydhoggsNest.txt
index d39d90cd3..ebaf70f92 100644
--- a/npc/instances/NydhoggsNest.txt
+++ b/npc/instances/NydhoggsNest.txt
@@ -2234,7 +2234,7 @@ sec_in02,36,167,3 script Nidhoggur Manager 4_M_FAIRYSOLDIER,1,1,{
}
mes("Input the variable number");
next();
- input(.@input);
+ input(.@input, 0);
setd(.@var$, .@input);
mesf("%s has been set to %d.", .@var$, .@input);
close();
diff --git a/npc/instances/SealedShrine.txt b/npc/instances/SealedShrine.txt
index 91771c31c..1c4f4b9d8 100644
--- a/npc/instances/SealedShrine.txt
+++ b/npc/instances/SealedShrine.txt
@@ -1108,13 +1108,15 @@ OnInstanceInit:
next();
mes("The bottom of the Main Altar trembles furiously.");
next();
- specialeffect(EF_METEORSTORM);
- specialeffect(EF_METEORSTORM);
- mesf("[%s]", strcharinfo(PC_NAME));
- mes("Watch out! Something... Something is coming.");
- 'ins_baphomet = 6;
- donpcevent(instance_npcname("ins_2f_hero_broad")+"::OnEnable");
- disablenpc(instance_npcname("The Main Altar#ss"));
+ if ('ins_baphomet == 5) {
+ specialeffect(EF_METEORSTORM);
+ specialeffect(EF_METEORSTORM);
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Watch out! Something... Something is coming.");
+ 'ins_baphomet = 6;
+ donpcevent(instance_npcname("ins_2f_hero_broad")+"::OnEnable");
+ disablenpc(instance_npcname("The Main Altar#ss"));
+ }
close();
} else {
mes("An evil power, too terrible to describe, lies under the great altar radiating a violet color.");
diff --git a/npc/jobs/2-2/alchemist.txt b/npc/jobs/2-2/alchemist.txt
index 634e0753b..3db39f11c 100644
--- a/npc/jobs/2-2/alchemist.txt
+++ b/npc/jobs/2-2/alchemist.txt
@@ -567,33 +567,39 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
mes "[Raspuchin Gregory]";
mes "12 + 23 + 34 + 45 = ?";
next;
- input .@input;
- if (.@input != 114) .@w_point += 1;
+ input(.@input);
+ if (.@input != 114)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "1000 - 36 - 227 - 348 = ?";
next;
- input .@input;
- if (.@input != 389) .@w_point += 1;
+ input(.@input);
+ if (.@input != 389)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "14 * 17 * 3 = ?";
next;
- input .@input;
- if (.@input != 714) .@w_point += 1;
+ input(.@input);
+ if (.@input != 714)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "9765 / 3 / 5 / 7 = ?";
next;
- input .@input;
- if (.@input != 93) .@w_point += 1;
+ input(.@input);
+ if (.@input != 93)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(47 * 28) - (1376 / 4) = ?";
next;
- input .@input;
- if (.@input != 972) .@w_point += 1;
+ input(.@input);
+ if (.@input != 972)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(2646 / 7) + (13 * 28) = ?";
next;
- input .@input;
- if (.@input != 742) .@w_point += 1;
+ input(.@input);
+ if (.@input != 742)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("How much do\r"
"12 %s,\r"
@@ -604,8 +610,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Wing_Of_Butterfly),
getitemname(Wing_Of_Fly));
next;
- input .@input;
- if (.@input != 909) .@w_point += 1;
+ input(.@input);
+ if (.@input != 909)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total weight of\r"
@@ -615,8 +622,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Helm),
getitemname(Coat));
next;
- input .@input;
- if (.@input != 450) .@w_point += 1;
+ input(.@input);
+ if (.@input != 450)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total defense of\r"
@@ -632,8 +640,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Boots),
getitemname(Ear_Mufs));
next;
- input .@input;
- if (.@input != 20) .@w_point += 1;
+ input(.@input);
+ if (.@input != 20)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("If you buy 5 %s\r"
"with a 24%% discount\r"
@@ -642,45 +651,53 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
"do you earn?",
getitemname(Helm));
next;
- input .@input;
- if (.@input != 8800) .@w_point += 1;
+ input(.@input);
+ if (.@input != 8800)
+ .@w_point += 1;
break;
case 2:
mes "[Raspuchin Gregory]";
mes "13 + 25 + 37 + 48 = ?";
next;
- input .@input;
- if (.@input != 123) .@w_point += 1;
+ input(.@input);
+ if (.@input != 123)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "1000 - 58 - 214 - 416 = ?";
next;
- input .@input;
- if (.@input != 312) .@w_point += 1;
+ input(.@input);
+ if (.@input != 312)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "12 * 24 * 3 = ?";
next;
- input .@input;
- if (.@input != 864) .@w_point += 1;
+ input(.@input);
+ if (.@input != 864)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "10530 / 3 / 5 / 2 = ?";
next;
- input .@input;
- if (.@input != 351) .@w_point += 1;
+ input(.@input);
+ if (.@input != 351)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(35 * 19) - (1792 / 7) = ?";
next;
- input .@input;
- if (.@input != 409) .@w_point += 1;
+ input(.@input);
+ if (.@input != 409)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(2368 / 8) + (24 * 17) = ?";
next;
- input .@input;
- if (.@input != 704) .@w_point += 1;
+ input(.@input);
+ if (.@input != 704)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(2646 / 7) + (13 * 28) = ?";
next;
- input .@input;
- if (.@input != 742) .@w_point += 1;
+ input(.@input);
+ if (.@input != 742)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total price of\r"
@@ -692,8 +709,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Spectacles),
getitemname(Booby_Trap));
next;
- input .@input;
- if (.@input != 934) .@w_point += 1;
+ input(.@input);
+ if (.@input != 934)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total weight of\r"
@@ -703,8 +721,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Cap),
getitemname(Boots));
next;
- input .@input;
- if (.@input != 550) .@w_point += 1;
+ input(.@input);
+ if (.@input != 550)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total defense of\r"
@@ -720,8 +739,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Sahkkat),
getitemname(Glasses));
next;
- input .@input;
- if (.@input != 16) .@w_point += 1;
+ input(.@input);
+ if (.@input != 16)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("How much profit do you\r"
"make if you buy %s\r"
@@ -730,40 +750,47 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
"the normal price?",
getitemname(Tights));
next;
- input .@input;
- if (.@input != 8520) .@w_point += 1;
+ input(.@input);
+ if (.@input != 8520)
+ .@w_point += 1;
break;
case 3:
mes "[Raspuchin Gregory]";
mes "12 + 23 + 34 + 45 = ?";
next;
- input .@input;
- if (.@input != 114) .@w_point += 1;
+ input(.@input);
+ if (.@input != 114)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "1000 - 58 - 214 - 416 = ?";
next;
- input .@input;
- if (.@input != 312) .@w_point += 1;
+ input(.@input);
+ if (.@input != 312)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "14 * 17 * 3 = ?";
next;
- input .@input;
- if (.@input != 714) .@w_point += 1;
+ input(.@input);
+ if (.@input != 714)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "10530 / 3 / 5 / 2 = ?";
next;
- input .@input;
- if (.@input != 351) .@w_point += 1;
+ input(.@input);
+ if (.@input != 351)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(47 * 28) - (1376 / 4) = ?";
next;
- input .@input;
- if (.@input != 972) .@w_point += 1;
+ input(.@input);
+ if (.@input != 972)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(2646 / 7) + (13 * 28) = ?";
next;
- input .@input;
- if (.@input != 742) .@w_point += 1;
+ input(.@input);
+ if (.@input != 742)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total cost of\r"
@@ -775,8 +802,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Green_Potion),
getitemname(Wing_Of_Fly));
next;
- input .@input;
- if (.@input != 798) .@w_point += 1;
+ input(.@input);
+ if (.@input != 798)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total weight of\r"
@@ -786,8 +814,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Cap),
getitemname(Boots));
next;
- input .@input;
- if (.@input != 480) .@w_point += 1;
+ input(.@input);
+ if (.@input != 480)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total defense of\r"
@@ -800,8 +829,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Muffler),
getitemname(Eye_Bandage));
next;
- input .@input;
- if (.@input != 12) .@w_point += 1;
+ input(.@input);
+ if (.@input != 12)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("If you buy 4 Padded Armors\r"
"at a 24%% discount and sell\r"
@@ -810,8 +840,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
"you make from this sale?",
getitemname(Padded_Armor));
next;
- input .@input;
- if (.@input != 7680) .@w_point += 1;
+ input(.@input);
+ if (.@input != 7680)
+ .@w_point += 1;
}
if (.@w_point == 0) {
mes "[Raspuchin Gregory]";
diff --git a/npc/jobs/2-2/bard.txt b/npc/jobs/2-2/bard.txt
index e44299193..d75ec7458 100644
--- a/npc/jobs/2-2/bard.txt
+++ b/npc/jobs/2-2/bard.txt
@@ -499,7 +499,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "The evil giant Papner,";
mes "Turned into a dragon and ate him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "There was a man")
.@w_point += 1;
@@ -510,7 +510,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "The evil giant Papner,";
mes "Turned into a dragon and ate him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "who was said to be immortal.")
.@w_point += 1;
@@ -521,7 +521,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "The evil giant Papner,";
mes "Turned into a dragon and ate him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "His name Jichfreid,")
.@w_point += 1;
@@ -532,7 +532,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "The evil giant Papner,";
mes "Turned into a dragon and ate him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Son of the hero Jichmunt.")
.@w_point += 1;
@@ -543,7 +543,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "The evil giant Papner,^000000";
mes "Turned into a dragon and ate him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "The evil giant Papner,")
.@w_point += 1;
@@ -554,7 +554,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "The evil giant Papner,";
mes "Turned into a dragon and ate him.^000000";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Turned into a dragon and ate him.")
.@w_point += 1;
}
@@ -566,7 +566,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "At first he only sold Red Potions.";
mes "Some say he sold Sweet Potatoes, too.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "A Merchant without money or equipment,")
.@w_point += 1;
@@ -577,7 +577,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "At first he only sold Red Potions.";
mes "Some say he sold Sweet Potatoes, too.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "a Merchant that couldn't sell anything.")
.@w_point += 1;
@@ -588,7 +588,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "At first he only sold Red Potions.";
mes "Some say he sold Sweet Potatoes, too.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "But he was too proud to beg.")
.@w_point += 1;
@@ -599,7 +599,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "At first he only sold Red Potions.";
mes "Some say he sold Sweet Potatoes, too.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "So he gathered some money selling items.")
.@w_point += 1;
@@ -610,7 +610,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "At first he only sold Red Potions.^000000";
mes "Some say he sold Sweet Potatoes, too.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "At first he only sold Red Potions.")
.@w_point += 1;
@@ -621,7 +621,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "At first he only sold Red Potions.";
mes "Some say he sold Sweet Potatoes, too.^000000";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Some say he sold Sweet Potatoes, too.")
.@w_point += 1;
}
@@ -633,7 +633,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Her sweet apples in her basket,";
mes "All thanks to her sweet apples.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "All Gods never age.")
.@w_point += 1;
@@ -644,7 +644,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Her sweet apples in her basket,";
mes "All thanks to her sweet apples.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "The ever so Beautiful Goddess Eden,")
.@w_point += 1;
@@ -655,7 +655,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Her sweet apples in her basket,";
mes "All thanks to her sweet apples.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Beautiful and graceful Goddess Eden,")
.@w_point += 1;
@@ -666,7 +666,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Her sweet apples in her basket,";
mes "All thanks to her sweet apples.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Odin's daughter-in-law and Bragi's wife.")
.@w_point += 1;
@@ -677,7 +677,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Her sweet apples in her basket,^000000";
mes "All thanks to her sweet apples.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Her sweet apples in her basket,")
.@w_point += 1;
@@ -688,7 +688,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Her sweet apples in her basket,";
mes "All thanks to her sweet apples.^000000";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "All thanks to her sweet apples.")
.@w_point += 1;
}
@@ -700,7 +700,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "All wandering poets are his people,";
mes "And all praise shall go to him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Bragi, Bragi,")
.@w_point += 1;
@@ -711,7 +711,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "All wandering poets are his people,";
mes "And all praise shall go to him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Forever call the poets name.")
.@w_point += 1;
@@ -722,7 +722,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "All wandering poets are his people,";
mes "And all praise shall go to him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "My songs are his breath,")
.@w_point += 1;
@@ -733,7 +733,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "All wandering poets are his people,";
mes "And all praise shall go to him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "My mind is his will,")
.@w_point += 1;
@@ -744,7 +744,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "All wandering poets are his people,^000000";
mes "And all praise shall go to him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "All wandering poets are his people,")
.@w_point += 1;
@@ -755,7 +755,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "All wandering poets are his people,";
mes "And all praise shall go to him.^000000";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "And all praise shall go to him.")
.@w_point += 1;
}
@@ -767,7 +767,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Let the castle walls ring.";
mes "This day will never come again!";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Louder, louder, louder.")
.@w_point += 1;
@@ -778,7 +778,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Let the castle walls ring.";
mes "This day will never come again!";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Give strength to the warriors!")
.@w_point += 1;
@@ -789,7 +789,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Let the castle walls ring.";
mes "This day will never come again!";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Shake the sky and roar through the land.")
.@w_point += 1;
@@ -800,7 +800,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Let the castle walls ring.";
mes "This day will never come again!";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Make my heart pound again!")
.@w_point += 1;
@@ -811,7 +811,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Let the castle walls ring.^000000";
mes "This day will never come again!";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Let the castle walls ring.")
.@w_point += 1;
@@ -822,7 +822,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Let the castle walls ring.";
mes "This day will never come again!^000000";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "This day will never come again!")
.@w_point += 1;
}
diff --git a/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt
index 311915097..656b9eed4 100644
--- a/npc/jobs/2-2/rogue.txt
+++ b/npc/jobs/2-2/rogue.txt
@@ -1292,7 +1292,7 @@ in_rogue,270,130,0 script he_to_rogue#rg WARPNPC,1,1,{
OnTouch:
mes "^3355FFThe door is locked. You'll need to enter the four number combination to open it.^000000";
next;
- input .@input;
+ input(.@input);
if (.@input < 1 || .@input > 10000) {
if (ROGUE_Q == 12)
mes "^3355FFIt didn't work. Please re-enter the four number combination.^000000";
@@ -1300,7 +1300,7 @@ OnTouch:
mes "^3355FFPlease enter a combination of four numbers.^000000";
close;
}
- else if (.@input == 3019) {
+ if (.@input == 3019) {
if (ROGUE_Q == 12) {
mes "^3355FFThe door";
mes "has opened.^000000";
@@ -1308,8 +1308,7 @@ OnTouch:
warp "in_rogue",10,21;
ROGUE_Q = 12;
end;
- }
- else {
+ } else {
mes "[HermanthornJr.]";
mes "Well...";
mes "Didn't I tell you";
@@ -1318,11 +1317,9 @@ OnTouch:
close;
}
}
- else {
- mes "^3355FFThe door";
- mes "is still locked.^000000";
- close;
- }
+ mes "^3355FFThe door";
+ mes "is still locked.^000000";
+ close;
}
in_rogue,200,389,0 script gen_ro#1 FAKE_NPC,3,3,{
diff --git a/npc/kafras/dts_warper.txt b/npc/kafras/dts_warper.txt
index a482652ed..057429ae0 100644
--- a/npc/kafras/dts_warper.txt
+++ b/npc/kafras/dts_warper.txt
@@ -1209,8 +1209,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 1000.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 1000)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 1000) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1223,8 +1223,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 1000.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 1000)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 1000) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1237,8 +1237,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 1000.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 1000)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 1000) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1251,8 +1251,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 3.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 3)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 3) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1265,8 +1265,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 1000.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 1000)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 1000) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1279,8 +1279,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 2.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 2)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 2) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1293,8 +1293,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 2.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 2)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 2) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1307,8 +1307,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 10000.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 10000)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 10000) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
diff --git a/npc/kafras/functions_kafras.txt b/npc/kafras/functions_kafras.txt
index 90334cc6e..d9253cd13 100644
--- a/npc/kafras/functions_kafras.txt
+++ b/npc/kafras/functions_kafras.txt
@@ -490,7 +490,7 @@ function script F_CheckKafCode {
return;
mes "Enter your storage password:";
@code_ = 0;
- input @code_;
+ input(@code_, 0);
if (@code_ != #kafra_code) {
dispbottom "Wrong storage password.";
close2;
@@ -601,7 +601,7 @@ function script F_EntKafCode {
@kafcode_try = 0;
logmes "Hack: Tried to fit storage password.";
}
- if (input(@code_) == 1) {
+ if (input(@code_, 0) == 1) {
mes "You can't use such big password.";
return 0;
}
diff --git a/npc/merchants/alchemist.txt b/npc/merchants/alchemist.txt
index ea926ae6b..cdfdd06fc 100644
--- a/npc/merchants/alchemist.txt
+++ b/npc/merchants/alchemist.txt
@@ -64,22 +64,21 @@ alde_alche,24,188,3 script Guild Dealer 2_M_ALCHE,{
mes "Enter '0' if you want to quit.";
next;
while(1) {
- input .@input, 0, 2001;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Gever Al Sharp]";
mes "The deal was cancelled.";
mes "Come again next time.";
close;
}
- else if (.@input < 1 || .@input > 2000) {
+ if (.@input > 2000) {
mes "[Gever Al Sharp]";
mes "The number must";
mes "be less than 2000.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
if (RENEWAL) {
.@sell = .@input * 250;
diff --git a/npc/merchants/ammo_boxes.txt b/npc/merchants/ammo_boxes.txt
index 69310388f..aef74f81f 100644
--- a/npc/merchants/ammo_boxes.txt
+++ b/npc/merchants/ammo_boxes.txt
@@ -102,8 +102,8 @@ function script Func_Casing {
mes "the number of Magazines you";
mes "want to receive. If you want to cancel, then just enter ''0.''";
next;
- input .@amount;
- if (.@amount > 50 || .@amount == 0) {
+ input(.@amount);
+ if (.@amount > 50 || .@amount <= 0) {
mes "[Kenny]";
mes "Hey, I can't give you";
mes "that many Magazines.";
diff --git a/npc/merchants/ammo_dealer.txt b/npc/merchants/ammo_dealer.txt
index 490be66ba..313f54653 100644
--- a/npc/merchants/ammo_dealer.txt
+++ b/npc/merchants/ammo_dealer.txt
@@ -97,7 +97,7 @@ function script Bullet_Trade {
mes "that you'd like. If you want to";
mes "cancel, then just enter ''0.''";
next;
- input .@amount;
+ input(.@amount);
if (.@amount < 1 || .@amount > 500) {
mes "[Tony]";
mes "Hey, I can't give you";
diff --git a/npc/merchants/buying_shops.txt b/npc/merchants/buying_shops.txt
index eaf62bbe1..ff368d910 100644
--- a/npc/merchants/buying_shops.txt
+++ b/npc/merchants/buying_shops.txt
@@ -67,31 +67,32 @@ que_job01,68,84,1 script Black Marketeer#Buying 4_M_SITDOWN,{
mes "It'll cost 500 zeny for each one.";
next;
while(1) {
- input .@input;
+ input(.@input);
mes "[Mr. Jass]";
- if (.@input == 0) {
+ if (.@input <= 0) {
mes "Don't you need those licenses?";
close;
- } else if (.@input > 10) {
+ }
+ if (.@input > 10) {
mes "I can only make up to 10 at a time, you know.";
next;
- } else {
- mes "It'll cost "+(.@input*500)+" zeny.";
- if (Zeny < (.@input*500)) {
- mes "but you don't have enough money.";
- next;
- mes "[Mr. Jass]";
- mes "Don't you know the basics of business? Everything has a price.";
- mes "If you want something, you gotta pay for it.";
- } else {
- mes "Ha... Ha ha ha!";
- mes "Mr. Hugh, I'll take over your license business. You'll see!";
- mes "*Giggle Giggle*";
- getitem Buy_Market_Permit2,.@input;
- Zeny -= (.@input*500);
- }
- close;
+ continue;
}
+ mes "It'll cost "+(.@input*500)+" zeny.";
+ if (Zeny < (.@input*500)) {
+ mes "but you don't have enough money.";
+ next;
+ mes "[Mr. Jass]";
+ mes "Don't you know the basics of business? Everything has a price.";
+ mes "If you want something, you gotta pay for it.";
+ close();
+ }
+ mes "Ha... Ha ha ha!";
+ mes "Mr. Hugh, I'll take over your license business. You'll see!";
+ mes "*Giggle Giggle*";
+ getitem Buy_Market_Permit2,.@input;
+ Zeny -= (.@input*500);
+ close;
}
case 2:
mes "[Mr. Jass]";
@@ -139,26 +140,27 @@ alberta_in,58,52,4 script Purchasing Team#Buying 1_M_ORIENT01,{
mes "How many licenses do you need?";
next;
while(1) {
- input .@input;
+ input(.@input);
mes "[Mr. Hugh]";
- if (.@input == 0) {
+ if (.@input <= 0) {
mes "You have cancelled the trade.";
mes "Have a good day.";
close;
- } else if (.@input > 50) {
+ }
+ if (.@input > 50) {
mes "Please enter a value of 50 or less.";
next;
+ continue;
+ }
+ mes "It'll cost "+(.@input*200)+" zeny for "+.@input+" licenses.";
+ if (Zeny < (.@input*200)) {
+ mes "but you don't seem to have enough money.";
} else {
- mes "It'll cost "+(.@input*200)+" zeny for "+.@input+" licenses.";
- if (Zeny < (.@input*200)) {
- mes "but you don't seem to have enough money.";
- } else {
- mes "Thank you for your patronage.";
- getitem Buy_Market_Permit,.@input; //Buy_Stall_Permit
- Zeny -= (.@input*200);
- }
- close;
+ mes "Thank you for your patronage.";
+ getitem Buy_Market_Permit,.@input; //Buy_Stall_Permit
+ Zeny -= (.@input*200);
}
+ close;
}
} else {
mes "I'm Hugh from the Purchasing Team at the Alberta Merchant Guild.";
@@ -234,7 +236,7 @@ alberta_in,58,52,4 script Purchasing Team#Buying 1_M_ORIENT01,{
mes "You've made a good decision.";
mes "Please give me the registration fee, and sign right here....";
next;
- input .@name$;
+ input(.@name$);
mes "[Mr. Hugh]";
mes .@name$+"....";
mes "I like your handwriting.";
diff --git a/npc/merchants/gemstone.txt b/npc/merchants/gemstone.txt
index 6028d9ddb..44be2569c 100644
--- a/npc/merchants/gemstone.txt
+++ b/npc/merchants/gemstone.txt
@@ -84,31 +84,33 @@ S_TradeGems:
mes "that you can enter is 100.";
next;
while(1) {
- input .@input,0,101;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Jade]";
mes "None at all?";
mes "I guess you";
mes "changed your mind...";
close;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Jade]";
mes "Errm...";
mes "I asked you to enter";
mes "an amount no greater";
mes "than 100, remember...?";
next;
+ continue;
}
- else if (.@gems < .@input) {
+ if (.@gems < .@input) {
// Custom dialogue
mes "[Jade]";
mes "Errm...";
mes "You don't have that";
mes "many gems to trade...";
next;
+ continue;
}
- else break;
+ break;
}
delitem getarg(0),.@input * 2;
getitem getarg(1),.@input;
diff --git a/npc/merchants/hair_style.txt b/npc/merchants/hair_style.txt
index f940a5982..fd6cc1b96 100644
--- a/npc/merchants/hair_style.txt
+++ b/npc/merchants/hair_style.txt
@@ -51,15 +51,8 @@ alberta_in,55,142,7 script Hair Dresser 4_F_02,{
mes "If you wish to cancel,";
mes "please enter 0.";
next;
- input .@style;
- if(.@style > 19) {
- mes "[Veronica]";
- mes "Oops, I'm sorry, but that";
- mes "style is not available.";
- mes "Remember to enter a number";
- mes "from 1 to 19.";
- next;
- } else if(.@style == 0) {
+ input(.@style);
+ if(.@style == 0) {
mes "[Veronica]";
mes "So, how do you like the style?";
mes "Feel free to ask me about any";
@@ -68,313 +61,357 @@ alberta_in,55,142,7 script Hair Dresser 4_F_02,{
mes "hair.";
close;
}
- else {
- callsub L_cutin,.@style;
+ if (.@style < 1 || .@style > 19) {
mes "[Veronica]";
- switch(.@style) {
- case 1:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Play Dead' style!";
- mes "It's a nice, basic haircut.";
- mes "I notice that usually the";
- mes "cute, conversative types seem";
- mes "to prefer this style.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'First Aid' style!";
- mes "The shoulder length tresses";
- mes "are straightened for those";
- mes "no nonsense adventurers. It";
- mes "seems to be the style of";
- mes "choice for Novices.";
- close2; cutin "",255; end;
- case 2:
- if (Sex == SEX_MALE) {
- mes "Oh, that's the 'Two Handed Sword";
- mes "Mastery' style! It's perfect for";
- mes "for Swordmen who might muss their";
- mes "hair while swinging their swords";
- mes "all day long.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Bash' style!";
- mes "For the powerful woman that's";
- mes "not afraid to get a little";
- mes "blood on her hands, but knows";
- mes "how great her hair will look";
- mes "while wildly flailing a sword.";
- close2; cutin "",255; end;
- case 3:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Napalm Beat' style!";
- mes "It's a unique look with a hint";
- mes "of eccentricity that's offset";
- mes "with a helping of elegance.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Frost Diver' style!";
- mes "The pigtails lend an innocent,";
- mes "demure look for those Mages";
- mes "and Wizards that usually scare";
- mes "off the boys with their spells.";
- close2; cutin "",255; end;
- case 4:
- if (Sex == SEX_MALE) {
- mes "Oh, that's the 'Double Strafe'";
- mes "style! The arrangement of the";
- mes "hair conducts ambient static";
- mes "electricity, naturally clearing";
- mes "the mind. At least, that's what";
- mes "I was taught in fashion school.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Arrow Shower' style!";
- mes "For the Bowswoman who doesn't";
- mes "want fashion to interfere with";
- mes "her depth perception. Much more";
- mes "attractive than those horrid";
- mes "granny-style hairbuns.";
- close2; cutin "",255; end;
- case 5:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Angelus' style!";
- mes "It's for calm and devout people,";
- mes "as well as those bashful,";
- mes "mild-mannered types.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Heal' style!";
- mes "This is in trend among";
- mes "Priests and Acolytes since";
- mes "this style is appropriate";
- mes "for formal situations, but";
- mes "is also practical in battle.";
- close2; cutin "",255; end;
- case 6:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Push Cart' style!";
- mes "It was based on the design of a";
- mes "cart...at least, that's what";
- mes "I learned in beautician school.";
- close2; cutin "",255; end;
- }
- mes "Ooh, that's 'Vending' style!";
- mes "It's the hairdo of money";
- mes "makers...and if I may say so,";
- mes "it's also economical.";
- close2; cutin "",255; end;
- case 7:
- if (Sex == SEX_MALE) {
- mes "Ooh, that's 'Envenom' style!";
- mes "It looks great on Thieves and";
- mes "and Assassins when they're";
- mes "out poisoning people and animals.";
- mes "It's fashion for the aggressive";
- mes "and eclectic~!";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Double Attack' style!";
- mes "The adorable pigtail, paired with";
- mes "those provacative bangs are sure";
- mes "to help you steal the heart of";
- mes "some cute guy.";
- close2; cutin "",255; end;
- case 8:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Bowling Bash' style!";
- mes "A popular style for Knights, its";
- mes "manly, rugged look tends to";
- mes "attract all of the ladies,";
- mes "and looks great on men with";
- mes "strong chins.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Gloria' style!";
- mes "It's very elegant and looks";
- mes "great on holy Priests. This";
- mes "style is most attractive to";
- mes "ladies who aren't that used";
- mes "to fighting with their hands.";
- close2; cutin "",255; end;
- case 9:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Venom Dust' style!";
- mes "Definitely a look for rebels,";
- mes "the sweeping, yet decidedly";
- mes "luxorious locks seems to enchant";
- mes "girls with a fatal attraction.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'SP Recovery' style!";
- mes "To add more body to the special";
- mes "style of these bangs, I use a";
- mes "special conditioner that makes";
- mes "you feel like you're regaining SP";
- mes "...Although, it acutally doesn't.";
- close2; cutin "",255; end;
- case 10:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Turn Undead' style!";
- mes "This is popular among Priests";
- mes "that want a serious, yet a bit";
- mes "of a wild, agressive look.";
- mes "Definitely more attractive";
- mes "than the 'Holy Light' mullet.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Prepare Potion' style!";
- mes "The flared out tresses are chosen";
- mes "by beginning Alchemists, since";
- mes "early, explosive experiments would";
- mes "make their hair to stick out anyway.";
- close2; cutin "",255; end;
- case 11:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Dragonology' style!";
- mes "It's neat and clean cut, perfect";
- mes "for studious people and looks";
- mes "great with eyeglasses. This";
- mes "is a fashion well suited to";
- mes "intellectual types.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Grand Cross' style!";
- mes "It's in style among those pious";
- mes "Crusaders that need hair that";
- mes "won't muss during fighting, yet";
- mes "is respectable enough to attend";
- mes "religious services.";
- close2; cutin "",255; end;
- case 12:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Mace Mastery' style!";
- mes "A lot of care goes into making";
- mes "that tussled hair say, 'I don't";
- mes "care how I look at all.'";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Intimidate' style!";
- mes "The Rogue women seem to like";
- mes "this style...although I imagine";
- mes "that more of them would prefer";
- mes "something wilder to match those";
- mes "stockings...";
- close2; cutin "",255; end;
- case 13:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Thunder Storm' style!";
- mes "This hot, flamboyant hairstyle";
- mes "flares out wildly like thunder.";
- mes "...And you will too with this new look.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Spiritual Sphere";
- mes "Absorption' style! There's a";
- mes "charismatic quality to this";
- mes "fashion: it's tough, slightly";
- mes "tomboyish, but not so much";
- mes "that it can't be cute.";
- close2; cutin "",255; end;
- case 14:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Encore' style!";
- mes "The elegant, flowing locks";
- mes "fit well with Bards, or men who";
- mes "appreciate the value of male";
- mes "beauty.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Gypsy's Kiss' style!";
- mes "Dancers seem to like this style,";
- mes "although personally, I think";
- mes "this fashion fits very well";
- mes "with glasses.";
- close2; cutin "",255; end;
- case 15:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Grimtooth' style!";
- mes "Spiky and unkempt, this style";
- mes "is a popular counterculture";
- mes "street fashion. You might";
- mes "not want to wear your hair";
- mes "this way at a wedding, though.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Counter Attack' style!";
- mes "This is an intimidating look for";
- mes "girls that want to say 'You hit";
- mes "me, I'll hit you back!' It really";
- mes "emphasizes strong looking";
- mes "foreheads and cheekbones.";
- close2; cutin "",255; end;
- case 16:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Blitz Beat' style!";
- mes "A funky and lively fashion,";
- mes "this style was developed for a";
- mes "Hunter who liked really long";
- mes "bangs and wanted to see";
- mes "through them at the same time.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Anke Snare' style!";
- mes "The style style is specially";
- mes "made for Hunters that don't like";
- mes "to get their hair tangled...";
- mes "After all, what kind of Hunter";
- mes "lets their hair get trapped?";
- close2; cutin "",255; end;
- case 17:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Find Ore' style!";
- mes "It's a practical, economical look";
- mes "that is popular among Blacksmiths.";
- mes "Some swear that this fashion helps";
- mes "them in finding ores, but where's";
- mes "the science in that??";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Hammer Fall' style!";
- mes "For the woman that doesn't want";
- mes "her hair to get in the way when";
- mes "she's savagely swinging heavy";
- mes "objects. Of course, this is a";
- mes "Blacksmith favorite.";
- close2; cutin "",255; end;
- case 18:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Fire Pillar' style!";
- mes "It's a trendy look, in which";
- mes "you cover one eye for that";
- mes "intrigue effect. The element";
- mes "of mystery is always in";
- mes "fashion, don't you think?";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Jupitel Thunder'";
- mes "style! A look that strikes";
- mes "like lightening, without";
- mes "any of that annoying static";
- mes "cling or muss. This fashion";
- mes "looks great with Mage Hats.";
- close2; cutin "",255; end;
- case 19:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Guillotine Fist'";
- mes "style! The smooth, slicked back";
- mes "pompadour shows that you're";
- mes "serious about your passion";
- mes "for brawling... or just your passion.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Whirlwind' style!";
- mes "A favorite among the studious";
- mes "Sages, the hair is tied back";
- mes "in a stylish braid so that";
- mes "it doesn't fly around after";
- mes "casting those windy spells.";
- close2; cutin "",255; end;
+ mes "Oops, I'm sorry, but that";
+ mes "style is not available.";
+ mes "Remember to enter a number";
+ mes "from 1 to 19.";
+ close();
+ }
+ callsub L_cutin,.@style;
+ mes "[Veronica]";
+ switch(.@style) {
+ case 1:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Play Dead' style!";
+ mes "It's a nice, basic haircut.";
+ mes "I notice that usually the";
+ mes "cute, conversative types seem";
+ mes "to prefer this style.";
+ } else {
+ mes "Oh, that's 'First Aid' style!";
+ mes "The shoulder length tresses";
+ mes "are straightened for those";
+ mes "no nonsense adventurers. It";
+ mes "seems to be the style of";
+ mes "choice for Novices.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 2:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's the 'Two Handed Sword";
+ mes "Mastery' style! It's perfect for";
+ mes "for Swordmen who might muss their";
+ mes "hair while swinging their swords";
+ mes "all day long.";
+ } else {
+ mes "Oh, that's 'Bash' style!";
+ mes "For the powerful woman that's";
+ mes "not afraid to get a little";
+ mes "blood on her hands, but knows";
+ mes "how great her hair will look";
+ mes "while wildly flailing a sword.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 3:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Napalm Beat' style!";
+ mes "It's a unique look with a hint";
+ mes "of eccentricity that's offset";
+ mes "with a helping of elegance.";
+ } else {
+ mes "Oh, that's 'Frost Diver' style!";
+ mes "The pigtails lend an innocent,";
+ mes "demure look for those Mages";
+ mes "and Wizards that usually scare";
+ mes "off the boys with their spells.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 4:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's the 'Double Strafe'";
+ mes "style! The arrangement of the";
+ mes "hair conducts ambient static";
+ mes "electricity, naturally clearing";
+ mes "the mind. At least, that's what";
+ mes "I was taught in fashion school.";
+ } else {
+ mes "Oh, that's 'Arrow Shower' style!";
+ mes "For the Bowswoman who doesn't";
+ mes "want fashion to interfere with";
+ mes "her depth perception. Much more";
+ mes "attractive than those horrid";
+ mes "granny-style hairbuns.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 5:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Angelus' style!";
+ mes "It's for calm and devout people,";
+ mes "as well as those bashful,";
+ mes "mild-mannered types.";
+ } else {
+ mes "Oh, that's 'Heal' style!";
+ mes "This is in trend among";
+ mes "Priests and Acolytes since";
+ mes "this style is appropriate";
+ mes "for formal situations, but";
+ mes "is also practical in battle.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 6:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Push Cart' style!";
+ mes "It was based on the design of a";
+ mes "cart...at least, that's what";
+ mes "I learned in beautician school.";
+ } else {
+ mes "Ooh, that's 'Vending' style!";
+ mes "It's the hairdo of money";
+ mes "makers...and if I may say so,";
+ mes "it's also economical.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 7:
+ if (Sex == SEX_MALE) {
+ mes "Ooh, that's 'Envenom' style!";
+ mes "It looks great on Thieves and";
+ mes "and Assassins when they're";
+ mes "out poisoning people and animals.";
+ mes "It's fashion for the aggressive";
+ mes "and eclectic~!";
+ } else {
+ mes "Oh, that's 'Double Attack' style!";
+ mes "The adorable pigtail, paired with";
+ mes "those provacative bangs are sure";
+ mes "to help you steal the heart of";
+ mes "some cute guy.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 8:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Bowling Bash' style!";
+ mes "A popular style for Knights, its";
+ mes "manly, rugged look tends to";
+ mes "attract all of the ladies,";
+ mes "and looks great on men with";
+ mes "strong chins.";
+ } else {
+ mes "Oh, that's 'Gloria' style!";
+ mes "It's very elegant and looks";
+ mes "great on holy Priests. This";
+ mes "style is most attractive to";
+ mes "ladies who aren't that used";
+ mes "to fighting with their hands.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 9:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Venom Dust' style!";
+ mes "Definitely a look for rebels,";
+ mes "the sweeping, yet decidedly";
+ mes "luxorious locks seems to enchant";
+ mes "girls with a fatal attraction.";
+ } else {
+ mes "Oh, that's 'SP Recovery' style!";
+ mes "To add more body to the special";
+ mes "style of these bangs, I use a";
+ mes "special conditioner that makes";
+ mes "you feel like you're regaining SP";
+ mes "...Although, it acutally doesn't.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 10:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Turn Undead' style!";
+ mes "This is popular among Priests";
+ mes "that want a serious, yet a bit";
+ mes "of a wild, agressive look.";
+ mes "Definitely more attractive";
+ mes "than the 'Holy Light' mullet.";
+ } else {
+ mes "Oh, that's 'Prepare Potion' style!";
+ mes "The flared out tresses are chosen";
+ mes "by beginning Alchemists, since";
+ mes "early, explosive experiments would";
+ mes "make their hair to stick out anyway.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 11:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Dragonology' style!";
+ mes "It's neat and clean cut, perfect";
+ mes "for studious people and looks";
+ mes "great with eyeglasses. This";
+ mes "is a fashion well suited to";
+ mes "intellectual types.";
+ } else {
+ mes "Oh, that's 'Grand Cross' style!";
+ mes "It's in style among those pious";
+ mes "Crusaders that need hair that";
+ mes "won't muss during fighting, yet";
+ mes "is respectable enough to attend";
+ mes "religious services.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 12:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Mace Mastery' style!";
+ mes "A lot of care goes into making";
+ mes "that tussled hair say, 'I don't";
+ mes "care how I look at all.'";
+ } else {
+ mes "Oh, that's 'Intimidate' style!";
+ mes "The Rogue women seem to like";
+ mes "this style...although I imagine";
+ mes "that more of them would prefer";
+ mes "something wilder to match those";
+ mes "stockings...";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 13:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Thunder Storm' style!";
+ mes "This hot, flamboyant hairstyle";
+ mes "flares out wildly like thunder.";
+ mes "...And you will too with this new look.";
+ } else {
+ mes "Oh, that's 'Spiritual Sphere";
+ mes "Absorption' style! There's a";
+ mes "charismatic quality to this";
+ mes "fashion: it's tough, slightly";
+ mes "tomboyish, but not so much";
+ mes "that it can't be cute.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 14:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Encore' style!";
+ mes "The elegant, flowing locks";
+ mes "fit well with Bards, or men who";
+ mes "appreciate the value of male";
+ mes "beauty.";
+ } else {
+ mes "Oh, that's 'Gypsy's Kiss' style!";
+ mes "Dancers seem to like this style,";
+ mes "although personally, I think";
+ mes "this fashion fits very well";
+ mes "with glasses.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 15:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Grimtooth' style!";
+ mes "Spiky and unkempt, this style";
+ mes "is a popular counterculture";
+ mes "street fashion. You might";
+ mes "not want to wear your hair";
+ mes "this way at a wedding, though.";
+ } else {
+ mes "Oh, that's 'Counter Attack' style!";
+ mes "This is an intimidating look for";
+ mes "girls that want to say 'You hit";
+ mes "me, I'll hit you back!' It really";
+ mes "emphasizes strong looking";
+ mes "foreheads and cheekbones.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 16:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Blitz Beat' style!";
+ mes "A funky and lively fashion,";
+ mes "this style was developed for a";
+ mes "Hunter who liked really long";
+ mes "bangs and wanted to see";
+ mes "through them at the same time.";
+ } else {
+ mes "Oh, that's 'Anke Snare' style!";
+ mes "The style style is specially";
+ mes "made for Hunters that don't like";
+ mes "to get their hair tangled...";
+ mes "After all, what kind of Hunter";
+ mes "lets their hair get trapped?";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 17:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Find Ore' style!";
+ mes "It's a practical, economical look";
+ mes "that is popular among Blacksmiths.";
+ mes "Some swear that this fashion helps";
+ mes "them in finding ores, but where's";
+ mes "the science in that??";
+ } else {
+ mes "Oh, that's 'Hammer Fall' style!";
+ mes "For the woman that doesn't want";
+ mes "her hair to get in the way when";
+ mes "she's savagely swinging heavy";
+ mes "objects. Of course, this is a";
+ mes "Blacksmith favorite.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 18:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Fire Pillar' style!";
+ mes "It's a trendy look, in which";
+ mes "you cover one eye for that";
+ mes "intrigue effect. The element";
+ mes "of mystery is always in";
+ mes "fashion, don't you think?";
+ } else {
+ mes "Oh, that's 'Jupitel Thunder'";
+ mes "style! A look that strikes";
+ mes "like lightening, without";
+ mes "any of that annoying static";
+ mes "cling or muss. This fashion";
+ mes "looks great with Mage Hats.";
}
+ close2;
+ cutin "",255;
+ end;
+ case 19:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Guillotine Fist'";
+ mes "style! The smooth, slicked back";
+ mes "pompadour shows that you're";
+ mes "serious about your passion";
+ mes "for brawling... or just your passion.";
+ } else {
+ mes "Oh, that's 'Whirlwind' style!";
+ mes "A favorite among the studious";
+ mes "Sages, the hair is tied back";
+ mes "in a stylish braid so that";
+ mes "it doesn't fly around after";
+ mes "casting those windy spells.";
+ }
+ close2;
+ cutin "",255;
+ end;
}
case 2:
if(BaseLevel < 60) {
@@ -413,17 +450,19 @@ alberta_in,55,142,7 script Hair Dresser 4_F_02,{
mes "no.19. I will do my best to";
mes "make you look your very best.";
next;
- input .@style;
- if(.@style > 19) {
+ input(.@style);
+ if(.@style == 0) {
mes "[Veronica]";
- mes "I am sorry, you chose an unavailable style.";
- mes "Make sure you enter the correct number.";
+ mes "You have canceled your request.";
close;
- } else if(.@style == 0) {
+ }
+ if (.@style < 1 || .@style > 19) {
mes "[Veronica]";
- mes "You have canceled your request.";
+ mes "I am sorry, you chose an unavailable style.";
+ mes "Make sure you enter the correct number.";
close;
- } else if(getlook(1) == .@style) {
+ }
+ if(getlook(1) == .@style) {
mes "[Veronica]";
mes "I am sorry, but you are already";
mes "wearing the style you have";
@@ -976,7 +1015,7 @@ lhz_in02,100,143,3 script Hair Dresser#li 2_M_DYEINGER,{
mes "No. 27: Oratio Cut.";
}
next;
- input .@input;
+ input(.@input);
if (.@input == 0) {
mes "[Prince Shammi]";
mes "Oh...?";
@@ -986,7 +1025,7 @@ lhz_in02,100,143,3 script Hair Dresser#li 2_M_DYEINGER,{
mes "Still, I'm so disappointed~";
close;
}
- else if ((.@input < 20) || (.@input > 27)) {
+ if (.@input < 20 || .@input > 27) {
mes "[Prince Shammi]";
mes "Dearie, please enter";
mes "a number from ''20'' to";
@@ -995,7 +1034,7 @@ lhz_in02,100,143,3 script Hair Dresser#li 2_M_DYEINGER,{
mes "you soooooooo beautiful!";
close;
}
- else if (getlook(LOOK_HAIR) == .@input) {
+ if (getlook(LOOK_HAIR) == .@input) {
mes "[Prince Shammi]";
mes "Oh dear me, you're not";
mes "going to waste money for";
@@ -1005,107 +1044,104 @@ lhz_in02,100,143,3 script Hair Dresser#li 2_M_DYEINGER,{
mes "your hair color, you know.";
close;
}
- else {
- if (Sex == SEX_MALE)
- cutin "hair_m_"+.@input+".BMP",4;
- else
- cutin "hair_f_"+.@input+".BMP",4;
- mes "[Prince Shammi]";
- mes "Oooh! Now, is this the";
- mes "hairstyle that you wanted?";
- mes "This is No. "+.@input+", by the way.";
- next;
- switch(select("Yes.", "No.")) {
- case 1:
- if (getlook(LOOK_HAIR_COLOR) == 0) {
- mes "[Prince Shammi]";
- mes "Oh, Sweet Christmas,";
- mes "I almost forgot! Would";
- mes "you like me to dye your";
- mes "hair, free of charge? It's";
- mes "a part of my service, so";
- mes "please choose a color~";
- next;
- switch(select("Red", "Yellow", "Purple", "Orange", "Green", "Blue", "White", "Dark Brown")) {
- case 1:
- .@headpalette = 8;
- break;
- case 2:
- .@headpalette = 1;
- break;
- case 3:
- .@headpalette = 2;
- break;
- case 4:
- .@headpalette = 3;
- break;
- case 5:
- .@headpalette = 4;
- break;
- case 6:
- .@headpalette = 5;
- break;
- case 7:
- .@headpalette = 6;
- break;
- case 8:
- .@headpalette = 7;
- break;
- }
- }
+ if (Sex == SEX_MALE)
+ cutin "hair_m_"+.@input+".BMP",4;
+ else
+ cutin "hair_f_"+.@input+".BMP",4;
+ mes "[Prince Shammi]";
+ mes "Oooh! Now, is this the";
+ mes "hairstyle that you wanted?";
+ mes "This is No. "+.@input+", by the way.";
+ next;
+ switch(select("Yes.", "No.")) {
+ case 1:
+ if (getlook(LOOK_HAIR_COLOR) == 0) {
mes "[Prince Shammi]";
- mes "Okay, let's get";
- mes "started, shall we?";
- mes "Keep your head still,";
- mes "now. Yes, that's good...";
+ mes "Oh, Sweet Christmas,";
+ mes "I almost forgot! Would";
+ mes "you like me to dye your";
+ mes "hair, free of charge? It's";
+ mes "a part of my service, so";
+ mes "please choose a color~";
next;
- mes "^3355FF*Snip snip*";
- mes "*Rustle rustle*";
- mes "*Clip clip clip clip*";
- mes "*Bzzzzzzzzzzzzzzzzzzzz*^000000";
- next;
- Zeny -= 99800;
- delitem Counteragent,3;
- delitem Mixture,3;
- delitem Danggie,100;
- delitem Short_Daenggie,100;
- delitem Long_Hair,100;
- delitem Golden_Hair,100;
- delitem Glossy_Hair,100;
- setlook LOOK_HAIR,.@input;
- setlook LOOK_HAIR_COLOR,.@headpalette;
- mes "[Prince Shammi]";
- mes "Well, we're all finished!";
- mes "And my, oh my, you look even";
- mes "more fabulous that I thought";
- mes "you would! Oh, I can't believe";
- if (Sex == SEX_MALE) {
- mes "how tough and elegant you are~";
- mes "So ruggedly manly and handsome!";
- }
- else {
- mes "how graceful and elegant you";
- mes "look! Absolutely gorgeous!";
+ switch(select("Red", "Yellow", "Purple", "Orange", "Green", "Blue", "White", "Dark Brown")) {
+ case 1:
+ .@headpalette = 8;
+ break;
+ case 2:
+ .@headpalette = 1;
+ break;
+ case 3:
+ .@headpalette = 2;
+ break;
+ case 4:
+ .@headpalette = 3;
+ break;
+ case 5:
+ .@headpalette = 4;
+ break;
+ case 6:
+ .@headpalette = 5;
+ break;
+ case 7:
+ .@headpalette = 6;
+ break;
+ case 8:
+ .@headpalette = 7;
+ break;
}
- emotion e_kis,"Hair Dresser#li";
- next;
- mes "[Prince Shammi]";
- mes "You love your new";
- mes "hair, don't you? Feel";
- mes "free to come back anytime.";
- mes "I'll make you the best looking";
- mes "person in the entire world!";
- emotion e_no1,"Hair Dresser#li";
- close;
- case 2:
- mes "[Prince Shammi]";
- mes "Oh, did you forget which";
- mes "hairstyle goes with which";
- mes "number? By all means, please";
- mes "check again! Find the one that";
- mes "is perfect just for you, okay?";
- close;
}
+ mes "[Prince Shammi]";
+ mes "Okay, let's get";
+ mes "started, shall we?";
+ mes "Keep your head still,";
+ mes "now. Yes, that's good...";
+ next;
+ mes "^3355FF*Snip snip*";
+ mes "*Rustle rustle*";
+ mes "*Clip clip clip clip*";
+ mes "*Bzzzzzzzzzzzzzzzzzzzz*^000000";
+ next;
+ Zeny -= 99800;
+ delitem Counteragent,3;
+ delitem Mixture,3;
+ delitem Danggie,100;
+ delitem Short_Daenggie,100;
+ delitem Long_Hair,100;
+ delitem Golden_Hair,100;
+ delitem Glossy_Hair,100;
+ setlook LOOK_HAIR,.@input;
+ setlook LOOK_HAIR_COLOR,.@headpalette;
+ mes "[Prince Shammi]";
+ mes "Well, we're all finished!";
+ mes "And my, oh my, you look even";
+ mes "more fabulous that I thought";
+ mes "you would! Oh, I can't believe";
+ if (Sex == SEX_MALE) {
+ mes "how tough and elegant you are~";
+ mes "So ruggedly manly and handsome!";
+ } else {
+ mes "how graceful and elegant you";
+ mes "look! Absolutely gorgeous!";
+ }
+ emotion e_kis,"Hair Dresser#li";
+ next;
+ mes "[Prince Shammi]";
+ mes "You love your new";
+ mes "hair, don't you? Feel";
+ mes "free to come back anytime.";
+ mes "I'll make you the best looking";
+ mes "person in the entire world!";
+ emotion e_no1,"Hair Dresser#li";
+ close;
+ case 2:
+ mes "[Prince Shammi]";
+ mes "Oh, did you forget which";
+ mes "hairstyle goes with which";
+ mes "number? By all means, please";
+ mes "check again! Find the one that";
+ mes "is perfect just for you, okay?";
+ close;
}
break;
case 3:
@@ -1200,7 +1236,7 @@ lhz_in02,91,155,5 script Assistant Beautician#li 4_F_LGTGIRL,{
mes "Um, if you need to";
mes "cancel, just enter ''0.''";
next;
- input .@input;
+ input(.@input);
if (.@input == 0) {
mes "[Assistant Beautician]";
mes "Awwww...";
@@ -1208,7 +1244,7 @@ lhz_in02,91,155,5 script Assistant Beautician#li 4_F_LGTGIRL,{
mes "trust me after all...";
close;
}
- else if ((.@input < 1) || (.@input > 23)) {
+ if (.@input < 1 || .@input > 23) {
mes "[Assistant Beautician]";
mes "Huh? I thought I asked";
mes "you to enter a number from";
@@ -1216,34 +1252,31 @@ lhz_in02,91,155,5 script Assistant Beautician#li 4_F_LGTGIRL,{
mes "wrong this time? Hmmm...";
close;
}
- else {
+ mes "[Assistant Beautician]";
+ mes "So this is the";
+ mes "style you want me";
+ mes "to try to do for you?";
+ if (Sex == SEX_MALE) {
+ if (.@input < 10)
+ cutin "hair_m_0"+.@input+".BMP",4;
+ else
+ cutin "hair_m_"+.@input+".BMP",4;
+ } else {
+ if (.@input < 10)
+ cutin "hair_f_0"+.@input+".BMP",4;
+ else
+ cutin "hair_f_"+.@input+".BMP",4;
+ }
+ next;
+ switch(select("Yes, let's try it~", "Cancel.")) {
+ case 1:
+ break;
+ case 2:
mes "[Assistant Beautician]";
- mes "So this is the";
- mes "style you want me";
- mes "to try to do for you?";
- if (Sex == SEX_MALE) {
- if (.@input < 10)
- cutin "hair_m_0"+.@input+".BMP",4;
- else
- cutin "hair_m_"+.@input+".BMP",4;
- }
- else {
- if (.@input < 10)
- cutin "hair_f_0"+.@input+".BMP",4;
- else
- cutin "hair_f_"+.@input+".BMP",4;
- }
- next;
- switch(select("Yes, let's try it~", "Cancel.")) {
- case 1:
- break;
- case 2:
- mes "[Assistant Beautician]";
- mes "Oooh, there must";
- mes "be some style that";
- mes "you like, right? Hmmm...";
- close;
- }
+ mes "Oooh, there must";
+ mes "be some style that";
+ mes "you like, right? Hmmm...";
+ close;
}
mes "[Assistant Beautician]";
mes "Great, you finally";
@@ -1279,8 +1312,7 @@ lhz_in02,91,155,5 script Assistant Beautician#li 4_F_LGTGIRL,{
if (.@input == .@style_r) {
mes "So... How do you like";
mes "your new style? I love it!";
- }
- else {
+ } else {
mes "Wha...? This isn't what";
mes "you wanted? Uh oh... Um...";
mes "Well, next time I know I can";
diff --git a/npc/merchants/icecream.txt b/npc/merchants/icecream.txt
index 14f83b2a0..99da2fc18 100644
--- a/npc/merchants/icecream.txt
+++ b/npc/merchants/icecream.txt
@@ -56,8 +56,8 @@
mes "so you can only purchase 5 at a time!!";
next;
while(1) {
- input .@input;
- if(.@input < 1) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Ice Cream Maker]";
mes "If you don't want to buy any,";
mes "could you please let the next customer";
@@ -65,7 +65,7 @@
mes "Thank you.";
close;
}
- if(.@input > 5) {
+ if (.@input > 5) {
mes "[Ice Cream Maker]";
mes "Ouch";
mes "You expect too much.";
@@ -74,7 +74,9 @@
mes "If you might haveto make a lot of trips";
mes "to the bathroom tonight.";
next;
+ continue;
}
+ break;
}
if(Zeny<.@input*100) {
mes "[Ice Cream Maker]";
diff --git a/npc/merchants/kunai_maker.txt b/npc/merchants/kunai_maker.txt
index 06a2f8bdb..05d322ec6 100644
--- a/npc/merchants/kunai_maker.txt
+++ b/npc/merchants/kunai_maker.txt
@@ -84,7 +84,7 @@ function script Kunai_Trade {
mes "If you want to cancel the trade, then please enter ''0.'' How many";
mes "Kunai sets would you like?";
next;
- input .@amount;
+ input(.@amount);
if(.@amount < 1 || .@amount > 500) {
mes "[Kashin]";
mes "Eh? I'm sorry, but";
diff --git a/npc/merchants/novice_exchange.txt b/npc/merchants/novice_exchange.txt
index c27fc6570..7e023588d 100644
--- a/npc/merchants/novice_exchange.txt
+++ b/npc/merchants/novice_exchange.txt
@@ -355,8 +355,8 @@ function script F_PotExchange {
mes "mind, just enter '0' to cancel.";
next;
while(1) {
- input .@input,0,101;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Merchant]";
mes "What...?";
mes "Why the hell do you";
@@ -364,17 +364,16 @@ function script F_PotExchange {
mes "Pretty indecisive, aren't you?";
close;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Merchant]";
mes "I can't give you more";
mes "than 100 Red Potions";
mes "at once. Let's try";
mes "this again.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@put_out_item = .@input * getarg(1);
if (countitem(getarg(0)) < .@put_out_item) {
diff --git a/npc/merchants/old_pharmacist.txt b/npc/merchants/old_pharmacist.txt
index 0cbbeda6d..f87f55d83 100644
--- a/npc/merchants/old_pharmacist.txt
+++ b/npc/merchants/old_pharmacist.txt
@@ -106,8 +106,8 @@ alberta_in,16,28,4 script Pharmacist 1_M_PUBMASTER,{
next;
mes "[Old Pharmacist]";
mes "Then pick a number below 100. If you don't want any, just enter '0'. With the materials you have, you can make about "+.@max+" potions.";
- input .@amount,0,101;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
next;
mes "[Old Pharmacist]";
mes "Make up your mind, will you?!";
@@ -235,9 +235,9 @@ L_Making:
next;
mes "[Old Pharmacist]";
mes "Then pick a number below 100. If you don't want any, just enter '0'. With the materials you have, you can make about "+.@max+" potions.";
- input .@amount;
+ input(.@amount);
next;
- if (.@amount == 0) {
+ if (.@amount <= 0) {
mes "[Old Pharmacist]";
mes "Make up your mind, will you?!";
close;
diff --git a/npc/merchants/refine.txt b/npc/merchants/refine.txt
index 19ebf4a8e..87b5270a8 100644
--- a/npc/merchants/refine.txt
+++ b/npc/merchants/refine.txt
@@ -120,20 +120,19 @@ geffen_in,110,172,0 script Christopher#1 1_M_SMITH,{
mes "It's a much needed tool fer refining metal! So, How many do ye wish to buy? If ye want to quit, just type the number '0.'";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Christopher Guillenrow]";
mes "Aye, the deal is canceled. Fare ye well.";
close;
}
- else if ((.@input < 0) || (.@input > 500)) {
+ if (.@input > 500) {
mes "[Christopher Guillenrow]";
mes "Ye can buy 500, er less.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@sell = .@input * 150;
if (Zeny < .@sell) {
@@ -199,22 +198,21 @@ geffen_in,110,172,0 script Christopher#1 1_M_SMITH,{
mes "So, How many do ye wish to buy? If ye dont want anything, just type the number as '0.'";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Christopher Guillenrow]";
mes "Deal has";
mes "been canceled.";
mes "Fare ye well.";
close;
}
- else if ((.@input < 0) || (.@input > 500)) {
+ if (.@input > 500) {
mes "[Christopher Guillenrow]";
mes "Ye can buy 500, er less.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@sell = .@input * 200;
if (Zeny < .@sell) {
@@ -237,22 +235,21 @@ geffen_in,110,172,0 script Christopher#1 1_M_SMITH,{
mes "So, how many do ye wish to buy? If ye dont want anything at all, just type the number as '0.'";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Christopher Guillenrow]";
mes "Deal has";
mes "been canceled.";
mes "Fare ye well.";
close;
}
- else if ((.@input < 0) || (.@input > 500)) {
+ if (.@input > 500) {
mes "[Christopher Guillenrow]";
mes "Ye can buy 500, er less.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@sell = .@input * 1000;
if (Zeny < .@sell) {
@@ -424,20 +421,19 @@ ein_in01,38,29,0 script Paul Spanner 1_M_SMITH,{
mes "So, how many do you need? If you want to cancel the trade, enter '0'.";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Paul Spanner]";
mes "You have canceled the trade. If you need anything, just let me know.";
close;
}
- else if ((.@input < 0) || (.@input > 500)) {
+ if (.@input > 500) {
mes "[Paul Spanner]";
mes "You can only buy 500 or less at a time.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@sell = .@input * .@item_cost;
if (Zeny < .@sell) {
@@ -478,20 +474,19 @@ ein_in01,38,29,0 script Paul Spanner 1_M_SMITH,{
mes "So, how many of them do you need? If you want to cancel the trade, enter '0'.";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Paul Spanner]";
mes "The trade has been canceled. If you need anything, just let me know.";
close;
}
- else if ((.@input < 0) || (.@input > 500)) {
+ if (.@input > 500) {
mes "[Paul Spanner]";
mes "You can buy 500 or less at a time.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@sell = .@input * .@item_price;
if (Zeny < .@sell) {
@@ -808,7 +803,7 @@ function script refinemain {
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 > 10) {
mes "[" + getarg(0) + "]";
@@ -954,24 +949,23 @@ function script phramain {
mes "If you don't want any, please enter the number, '0.'";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[" + getarg(0) + "]";
mes "The deal has";
mes "been cancelled.";
close;
}
- else if (.@input < 0 || .@input > 500) {
+ if (.@input > 500) {
mes "[" + getarg(0) + "]";
mes "Alright, you can";
mes "puchase up to 500.";
mes "No more than that,";
mes "got it? Good.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@sell = .@input * .@price;
if (Zeny < .@sell) {
diff --git a/npc/other/arena/arena_party.txt b/npc/other/arena/arena_party.txt
index c3133af30..67c69f8e8 100644
--- a/npc/other/arena/arena_party.txt
+++ b/npc/other/arena/arena_party.txt
@@ -1059,7 +1059,7 @@ prt_are_in,77,135,3 script Staff#party-2 1_F_02,{
donpcevent "Ponox::OnStart";
}
specialeffect(EH_HIT5, AREA, playerattached());
- donpcevent "cast#pt::OnNomal1";
+ donpcevent "cast#pt::OnNomal1";
warp "arena_room",100,75;
end;
} else {
@@ -1078,7 +1078,7 @@ prt_are_in,77,135,3 script Staff#party-2 1_F_02,{
next;
switch( select( "Ok.","Let me think." ) ) {
case 1:
- input .@arnparty$;
+ input(.@arnparty$);
mes "[Staff]";
mes "You have entered ^3131FF"+.@arnparty$+"^000000. Is it correct?";
next;
diff --git a/npc/other/arena/arena_point.txt b/npc/other/arena/arena_point.txt
index 5292ebab3..c2ef52e6a 100644
--- a/npc/other/arena/arena_point.txt
+++ b/npc/other/arena/arena_point.txt
@@ -80,70 +80,66 @@ prt_are_in,103,11,3 script Arena Point Manager 4_M_JOB_HUNTER,{
mes "value you may enter is 20.";
mes "To cancel, enter ''^3355FF0^000000.''";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Arena Point Manager]";
mes "You have";
mes "canceled";
mes "this service.";
close;
}
- else if (.@input > 20) {
+ if (.@input > 20) {
mes "[Arena Point Manager]";
mes "Your request exceeds";
mes "the maximum limit. Please";
mes "enter a value no greater than 20.";
close;
}
- else {
- .@want_point1 = 10 * .@input;
- .@want_point = 5 * .@input;
- .@my_arena_all = arena_point + .@want_point;
- .@my_turbo_all = tt_point - .@want_point1;
- if (.@my_arena_all > 28999) {
- mes "[Arena Point Manager]";
- mes "You will exceed the";
- mes "maximum amount of";
- mes "Arena Points if we proceed";
- mes "with this conversion of your";
- mes "Turbo Track Points. You cannot";
- mes "have more than 29,000 Arena Points.";
- next;
- mes "[Arena Point Manager]";
- mes "Please spend some of";
- mes "your Arena Points before";
- mes "using this service again.";
- mes "Thank you for your patronage.";
- close;
- }
- if (.@my_turbo_all < 0) {
- mes "[Arena Point Manager]";
- mes "I'm sorry, but";
- mes "you don't have enough";
- mes "Turbo Track Points to";
- mes "perform this Arena";
- mes "Point conversion.";
- close;
- }
- else {
- mes "[Arena Point Manager]";
- mes "You have converted";
- mes "10 Turbo Track Points";
- mes "into 5 Arena Points " + .@input + " times.";
- mes "A total of " + .@want_point1 + " Turbo Track Points were converted into";
- mes "" + .@want_point +" Arena Points.";
- tt_point -= .@want_point1;
- arena_point += .@want_point;
- next;
- mes "[Arena Point Manager]";
- mes "" + strcharinfo(PC_NAME) + ",";
- mes "you now have";
- mes "^4682B4" + arena_point + "^000000 Arena Points";
- mes "and ^00688B" + tt_point + "^000000 Turbo Track Points.";
- mes "Thank you for your patronage.";
- close;
- }
+ .@want_point1 = 10 * .@input;
+ .@want_point = 5 * .@input;
+ .@my_arena_all = arena_point + .@want_point;
+ .@my_turbo_all = tt_point - .@want_point1;
+ if (.@my_arena_all > 28999) {
+ mes "[Arena Point Manager]";
+ mes "You will exceed the";
+ mes "maximum amount of";
+ mes "Arena Points if we proceed";
+ mes "with this conversion of your";
+ mes "Turbo Track Points. You cannot";
+ mes "have more than 29,000 Arena Points.";
+ next;
+ mes "[Arena Point Manager]";
+ mes "Please spend some of";
+ mes "your Arena Points before";
+ mes "using this service again.";
+ mes "Thank you for your patronage.";
+ close;
+ }
+ if (.@my_turbo_all < 0) {
+ mes "[Arena Point Manager]";
+ mes "I'm sorry, but";
+ mes "you don't have enough";
+ mes "Turbo Track Points to";
+ mes "perform this Arena";
+ mes "Point conversion.";
+ close;
}
+ mes "[Arena Point Manager]";
+ mes "You have converted";
+ mes "10 Turbo Track Points";
+ mes "into 5 Arena Points " + .@input + " times.";
+ mes "A total of " + .@want_point1 + " Turbo Track Points were converted into";
+ mes "" + .@want_point +" Arena Points.";
+ tt_point -= .@want_point1;
+ arena_point += .@want_point;
+ next;
+ mes "[Arena Point Manager]";
+ mes "" + strcharinfo(PC_NAME) + ",";
+ mes "you now have";
+ mes "^4682B4" + arena_point + "^000000 Arena Points";
+ mes "and ^00688B" + tt_point + "^000000 Turbo Track Points.";
+ mes "Thank you for your patronage.";
+ close;
case 6:
mes "[Arena Point Manager]";
mes "You have";
diff --git a/npc/other/arena/arena_room.txt b/npc/other/arena/arena_room.txt
index b8806e112..b70ce7e4c 100644
--- a/npc/other/arena/arena_room.txt
+++ b/npc/other/arena/arena_room.txt
@@ -520,9 +520,9 @@ sec_in02,72,180,3 script Arena Manager#arena 4_NFWISP,{
//mes "If not, please enter a value for minutes first and then seconds.";
mes "Please enter a value for minutes first and then seconds.";
next;
- input .@arenamin;
+ input(.@arenamin, 0);
setd .@min$,.@arenamin;
- input .@arenasec;
+ input(.@arenasec, 0);
setd .@sec$,.@arenasec;
mes "[Arena Manager]";
mes "Current "+.@mode$+" ranker's play time has been rearranged to ^FF0000"+getd(.@min$)+"^000000 minutes and ^FF0000"+getd(.@sec$)+"^000000 seconds.";
@@ -1011,12 +1011,13 @@ function script Func_Are_Rew {
mes "You can exchange ^3131FF"+getarg(2)+" arena points with "+getarg(1)+" "+getitemname(getarg(0))+"^000000.";
mes "If you wish to cancel, please enter 0. If you don't, please enter how many ^3131FFtimes^000000 of arena points you wish to spend.";
next;
- input .@reward;
- if (.@reward == 0) {
+ input(.@reward);
+ if (.@reward <= 0) {
mes "[Givu]";
mes "You have canceled your request.";
close;
- } else if (.@reward > 1500) {
+ }
+ if (.@reward > 1500) {
mes "[Givu]";
mes "You have exceeded the maximum capacity.";
close;
diff --git a/npc/other/card_trader.txt b/npc/other/card_trader.txt
index 514a032b0..1fca99440 100644
--- a/npc/other/card_trader.txt
+++ b/npc/other/card_trader.txt
@@ -121,7 +121,7 @@ prontera,115,90,0 script Putty 4_F_01,{
mes "[Putty]";
mes "Please tell me what card you want to exchange.";
next;
- input .@i$;
+ input(.@i$);
.@input$ = "_"+.@i$;
.@card = 0;
freeloop(1);
diff --git a/npc/other/comodo_gambling.txt b/npc/other/comodo_gambling.txt
index bd2b0d692..dab52fbbc 100644
--- a/npc/other/comodo_gambling.txt
+++ b/npc/other/comodo_gambling.txt
@@ -540,14 +540,15 @@ mjolnir_02,85,362,3 script Blacksmith Miner 4_F_JOB_BLACKSMITH,{
mes "If you change your mind,";
mes "please enter '0' to cancel.";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Dwayne]";
mes "Alright, you've";
mes "canceled the trade.";
mes "Take care!";
close;
- } else if (.@amount < 1 || .@amount > 500){
+ }
+ if (.@amount > 500) {
mes "[Dwayne]";
mes "The maximum";
mes "amount is 500.";
diff --git a/npc/other/fortune.txt b/npc/other/fortune.txt
index 23d65e88f..c3bec40f3 100644
--- a/npc/other/fortune.txt
+++ b/npc/other/fortune.txt
@@ -57,23 +57,21 @@ payon_in03,117,128,5 script Fortune Teller 4_M_BIBI,{
mes "Then...";
mes "Please pay your fee with all of your sincerity.";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Lhimetorra]";
mes "Ah...?!";
mes "You have angered the monster spirits!";
close;
}
- else if (.@input > Zeny) {
+ if (.@input > Zeny) {
mes "[Lhimetorra]";
mes "There's no need to overdo it. Just give with all your heart... *Tsk tsk*";
close;
}
- else {
- mes "[Lhimetorra]";
- mes "I accept your heart and your devotion with my gratitude. Thoughts are more important than the amount when paying a fortune teller.";
- Zeny -= .@input;
- }
+ mes "[Lhimetorra]";
+ mes "I accept your heart and your devotion with my gratitude. Thoughts are more important than the amount when paying a fortune teller.";
+ Zeny -= .@input;
next;
mes "[Lhimetorra]";
mes "Then, I will begin to tell the fortune of your wish. Concentrate on yourself...";
diff --git a/npc/other/gm_npcs.txt b/npc/other/gm_npcs.txt
index d86535104..b4ee7028e 100644
--- a/npc/other/gm_npcs.txt
+++ b/npc/other/gm_npcs.txt
@@ -63,7 +63,7 @@ function script F_GM_NPC {
if (.@error)
return -2;
} else
- input .@input;
+ input(.@input, 0);
if (.@input == 0)
return -1;
else
diff --git a/npc/other/hugel_bingo.txt b/npc/other/hugel_bingo.txt
index 9c7b87ee4..bf64d7105 100644
--- a/npc/other/hugel_bingo.txt
+++ b/npc/other/hugel_bingo.txt
@@ -481,7 +481,7 @@ OnTouch:
mes "Quickly, say ''^FF0000Bingo^000000!''";
mes "Remember, you'll only";
mes "have one chance to say it!";
- input @bingoyell$;
+ input(@bingoyell$);
if (@bingoyell$ == "Bingo") {
if ($@hu_bingoa == 5) {
$@hu_bingoa = 6;
@@ -500,14 +500,13 @@ OnTouch:
mes "next time, alright?";
close;
}
- } else {
- next;
- mes "I'm sorry, but you";
- mes "said it wrong. Next time,";
- mes "make sure that you yell";
- mes "out the word, ''^FF0000Bingo^000000,'' okay?";
- close;
}
+ next;
+ mes "I'm sorry, but you";
+ mes "said it wrong. Next time,";
+ mes "make sure that you yell";
+ mes "out the word, ''^FF0000Bingo^000000,'' okay?";
+ close;
}
close;
}
@@ -860,11 +859,17 @@ function script Func_Bingo {
}
}
next;
- input .@bingoinput;
- if(.@bingoinput < 1 || .@bingoinput > 25) { @bingo_case = .@i; return 0; }
- if(.@i > 1) {
- for(.@j = .@i; .@j > 0; --.@j) {
- if(.@bingoinput == @bingoplate[.@j -1]) { @bingo_case = .@i; return 0; }
+ input(.@bingoinput);
+ if (.@bingoinput < 1 || .@bingoinput > 25) {
+ @bingo_case = .@i;
+ return 0;
+ }
+ if (.@i > 1) {
+ for (.@j = .@i; .@j > 0; --.@j) {
+ if (.@bingoinput == @bingoplate[.@j -1]) {
+ @bingo_case = .@i;
+ return 0;
+ }
}
}
setarray @bingoplate[.@i],.@bingoinput;
diff --git a/npc/other/marriage.txt b/npc/other/marriage.txt
index 0f640af2a..42c817957 100644
--- a/npc/other/marriage.txt
+++ b/npc/other/marriage.txt
@@ -188,7 +188,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
mes "name of your partner using";
mes "the method I just described.";
next;
- input .@partner$;
+ input(.@partner$);
mes "[Marry Happy]";
mes "Alright, after you've";
mes "decided to get married,";
@@ -329,7 +329,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
mes "down your exact name here.";
next;
while(1) {
- input .@name$;
+ input(.@name$);
if (.@name$ == strcharinfo(PC_NAME))
break;
mes "[Marry Happy]";
@@ -599,7 +599,7 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
mes "her and protect her. Now, may";
mes "I know the name of your bride?";
next;
- input $@wed_bride$;
+ input($@wed_bride$);
mes "[Vomars]";
mes "Mr. " + strcharinfo(PC_NAME) + "...";
mes "Do you swear on your life";
diff --git a/npc/other/mercenary_rent.txt b/npc/other/mercenary_rent.txt
index 4b0878e79..cc7364bf4 100644
--- a/npc/other/mercenary_rent.txt
+++ b/npc/other/mercenary_rent.txt
@@ -252,8 +252,8 @@ pay_arche,99,167,4 duplicate(Mercenary Manager#main) Mercenary Manager#Bow 4_M_J
mes "each cost " + .@str_cost$ + " zeny.";
mes "How many would you like?";
next;
- input .@input;
- if (!.@input) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Mercenary Goods Merchant]";
mes "You changed your mind?";
mes "Alright, feel free to come";
@@ -261,7 +261,7 @@ pay_arche,99,167,4 duplicate(Mercenary Manager#main) Mercenary Manager#Bow 4_M_J
mes "to buy any Mercenary Potions.";
close;
}
- if (.@input < 0 || .@input > 10000) {
+ if (.@input > 10000) {
mes "[Mercenary Goods Merchant]";
mes "I'm sorry, but you";
mes "can only buy up to";
diff --git a/npc/other/monster_race.txt b/npc/other/monster_race.txt
index 9e938c663..84087fb6d 100644
--- a/npc/other/monster_race.txt
+++ b/npc/other/monster_race.txt
@@ -348,7 +348,7 @@ p_track01,67,45,5 script Medal Distributor#single 4_F_RACING,{
mes "Oh! Congratulations, you";
mes "won! May I have your name?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == strcharinfo(PC_NAME)) {
.@insa = rand(1,1000);
mes "[Medal Distributor]";
@@ -359,14 +359,15 @@ p_track01,67,45,5 script Medal Distributor#single 4_F_RACING,{
mes "number now. Your ticket";
mes "exchange number is ^FF0000" + .@insa + "^000000.";
next;
- input .@input; //,0,1000;
- if (!.@input) {
+ input(.@input);
+ if (.@input == 0) {
mes "[Medal Distributor]";
mes "Oh? You don't want";
mes "to exchange your";
mes "winning ticket?";
close;
- } else if (.@input == .@insa) {
+ }
+ if (.@input == .@insa) {
mes "[Medal Distributor]";
mes "Thank you! You entered";
mes "the correct number...";
@@ -2534,8 +2535,8 @@ S_Reward:
mes "number greater than 100.";
next;
while (true) {
- input .@input;
- if (!.@input) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Ei'felle]";
mes "Aw, so you've decided";
mes "to cancel? Well, it's your";
@@ -2543,7 +2544,8 @@ S_Reward:
mes "disappointed. Please come";
mes "back if you change your mind...";
close;
- } else if (.@input < 1 || .@input > 100) {
+ }
+ if (.@input > 100) {
mes "[Ei'felle]";
mes "Remember, you can only";
mes "enter a number from 1 to 100.";
@@ -2551,7 +2553,9 @@ S_Reward:
mes "medals, then perhaps you";
mes "should just give them all to me~";
next;
- } else break;
+ continue;
+ }
+ break;
}
if (countitem(Marvelous_Medal) < .@input) {
mes "[Ei'felle]";
diff --git a/npc/other/turbo_track.txt b/npc/other/turbo_track.txt
index f70c97427..948f190ba 100644
--- a/npc/other/turbo_track.txt
+++ b/npc/other/turbo_track.txt
@@ -4126,15 +4126,15 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "you wish to have. To cancel,";
mes "please enter ''^3355FF0^000000.''";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Item Exchange Helper]";
mes "You have";
mes "canceled";
mes "your request.";
close;
}
- else if (.@input < 0 || .@input > 50) {
+ if (.@input > 50) {
mes "[Item Exchange Helper]";
mes "Your request exceeds";
mes "the maximum limit. You";
@@ -4142,28 +4142,26 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "of 50 tickets at once.";
close;
}
- else {
- .@total_point = 10 * .@input;
- if (.@total_point > tt_point) {
- mes "[Item Exchange Helper]";
- mes "I'm sorry, but you do";
- mes "not have enough Turbo";
- mes "Track Points. Please check";
- mes "the amount of Turbo Track";
- mes "Points you have earned before";
- mes "redeeming your points again.";
- close;
- }
- tt_point -= .@total_point;
- getitem Warp_Free_Ticket,.@input;
+ .@total_point = 10 * .@input;
+ if (.@total_point > tt_point) {
mes "[Item Exchange Helper]";
- mes "Thank you for";
- mes "your patronage.";
- mes "We hope you enjoy";
- mes "your time here in";
- mes "the Turbo Track~";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
close;
}
+ tt_point -= .@total_point;
+ getitem Warp_Free_Ticket,.@input;
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
case 2:
mes "[Item Exchange Helper]";
mes "Each Magic Scroll costs";
@@ -4214,15 +4212,15 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "you would like to receive.";
mes "To cancel, enter ''^3355FF0^000000.''";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Item Exchange Helper]";
mes "You have";
mes "canceled";
mes "your request.";
close;
}
- else if (.@input < 0 || .@input > 50) {
+ if (.@input > 50) {
mes "[Item Exchange Helper]";
mes "I'm sorry, but your";
mes "request has exceeded the";
@@ -4230,28 +4228,26 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "request up to 50 scrolls at once.";
close;
}
- else {
- .@total_point = 12 * .@input;
- if (.@total_point > tt_point) {
- mes "[Item Exchange Helper]";
- mes "I'm sorry, but you do";
- mes "not have enough Turbo";
- mes "Track Points. Please check";
- mes "the amount of Turbo Track";
- mes "Points you have earned before";
- mes "redeeming your points again.";
- close;
- }
- tt_point -= .@total_point;
- getitem .@scroll,.@input;
+ .@total_point = 12 * .@input;
+ if (.@total_point > tt_point) {
mes "[Item Exchange Helper]";
- mes "Thank you for";
- mes "your patronage.";
- mes "We hope you enjoy";
- mes "your time here in";
- mes "the Turbo Track~";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
close;
}
+ tt_point -= .@total_point;
+ getitem .@scroll,.@input;
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
case 3:
mes "[Item Exchange Helper]";
mes "You can exchange";
@@ -4298,15 +4294,15 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "diamonds you would like to receive.";
mes "To cancel, enter ''^3355FF0^000000.''";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Item Exchange Helper]";
mes "You have";
mes "canceled";
mes "your request.";
close;
}
- else if (.@input < 0 || .@input > 10) {
+ if (.@input > 10) {
mes "[Item Exchange Helper]";
mes "Your request exceeds";
mes "the maximum limit. You";
@@ -4314,28 +4310,26 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "of 10 diamonds at once.";
close;
}
- else {
- .@total_point = 150 * .@input;
- if (.@total_point > tt_point) {
- mes "[Item Exchange Helper]";
- mes "I'm sorry, but you do";
- mes "not have enough Turbo";
- mes "Track Points. Please check";
- mes "the amount of Turbo Track";
- mes "Points you have earned before";
- mes "redeeming your points again.";
- close;
- }
- tt_point -= .@total_point;
- getitem Crystal_Jewel__,.@input;
+ .@total_point = 150 * .@input;
+ if (.@total_point > tt_point) {
mes "[Item Exchange Helper]";
- mes "Thank you for";
- mes "your patronage.";
- mes "We hope you enjoy";
- mes "your time here in";
- mes "the Turbo Track~";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
close;
}
+ tt_point -= .@total_point;
+ getitem Crystal_Jewel__,.@input;
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
case 5:
mes "[Item Exchange Helper]";
mes "You can exchange";
@@ -4345,15 +4339,15 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "that you'd like to receive.";
mes "To cancel, enter ''^3355FF0^000000.''";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Item Exchange Helper]";
mes "You have";
mes "canceled";
mes "your request.";
close;
}
- else if (.@input < 0 || .@input > 10) {
+ if (.@input > 10) {
mes "[Item Exchange Helper]";
mes "Your request exceeds";
mes "the maximum limit. You";
@@ -4361,28 +4355,26 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "of 10 Gift Boxes at once.";
close;
}
- else {
- .@total_point = 300 * .@input;
- if (.@total_point > tt_point) {
- mes "[Item Exchange Helper]";
- mes "I'm sorry, but you do";
- mes "not have enough Turbo";
- mes "Track Points. Please check";
- mes "the amount of Turbo Track";
- mes "Points you have earned before";
- mes "redeeming your points again.";
- close;
- }
- tt_point -= .@total_point;
- getitem Gift_Box,.@input;
+ .@total_point = 300 * .@input;
+ if (.@total_point > tt_point) {
mes "[Item Exchange Helper]";
- mes "Thank you for";
- mes "your patronage.";
- mes "We hope you enjoy";
- mes "your time here in";
- mes "the Turbo Track~";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
close;
}
+ tt_point -= .@total_point;
+ getitem Gift_Box,.@input;
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
case 6:
mes "[Item Exchange Helper]";
mes "You can exchange";
@@ -4392,15 +4384,15 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "that you'd like to receive.";
mes "To cancel, enter ''^3355FF0^000000.''";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Item Exchange Helper]";
mes "You have";
mes "canceled";
mes "your request.";
close;
}
- else if (.@input < 0 || .@input > 10) {
+ if (.@input > 10) {
mes "[Item Exchange Helper]";
mes "Your request exceeds";
mes "the maximum limit. You";
@@ -4408,28 +4400,26 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "of 10 potions at once.";
close;
}
- else {
- .@total_point = 400 * .@input;
- if (.@total_point > tt_point) {
- mes "[Item Exchange Helper]";
- mes "I'm sorry, but you do";
- mes "not have enough Turbo";
- mes "Track Points. Please check";
- mes "the amount of Turbo Track";
- mes "Points you have earned before";
- mes "redeeming your points again.";
- close;
- }
- tt_point -= .@total_point;
- getitem Speed_Up_Potion,.@input;
+ .@total_point = 400 * .@input;
+ if (.@total_point > tt_point) {
mes "[Item Exchange Helper]";
- mes "Thank you for";
- mes "your patronage.";
- mes "We hope you enjoy";
- mes "your time here in";
- mes "the Turbo Track~";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
close;
}
+ tt_point -= .@total_point;
+ getitem Speed_Up_Potion,.@input;
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
case 7:
mes "[Item Exchange Helper]";
mes "This Item Exchange";
@@ -4506,59 +4496,57 @@ turbo_room,106,117,3 script Point Manager#tt 4_M_ZONDAOYAJI,{
mes "Please enter the number of times you wish to convert 10 Arena Points into Turbo Track Points. The largest value you may enter";
mes "is 20. To cancel, enter '^3355FF0^000000.'";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Turbo Track Point Manager]";
mes "You have";
mes "canceled";
mes "your request.";
close;
}
- else if (.@input > 20) {
+ if (.@input > 20) {
mes "[Turbo Track Point Manager]";
mes "Your request exceeds";
mes "the maximum limit. Please";
mes "enter a value no greater than 20.";
close;
}
+ .@want_point1 = 10 * .@input;
+ .@want_point = 5 * .@input;
+ .@my_turbo_all = tt_point+.@want_point;
+ .@my_arena_all = arena_point-.@want_point1;
+ if (.@my_turbo_all > 28999) {
+ mes "[Turbo Track Point Manager]";
+ mes "Unfortunately, your Turbo Track Points will exceed the maximum limit if we proceed with point conversion. Please spend more";
+ mes "of your Turbo Track Points before using this service. Thank you.";
+ close;
+ }
+ if (.@my_arena_all < 0) {
+ mes "[Turbo Track Point Manager]";
+ mes "I am sorry, but you do";
+ mes "not have enough Arena Points";
+ mes "to perform this Turbo Track";
+ mes "Point conversion.";
+ close;
+ }
else {
- .@want_point1 = 10 * .@input;
- .@want_point = 5 * .@input;
- .@my_turbo_all = tt_point+.@want_point;
- .@my_arena_all = arena_point-.@want_point1;
- if (.@my_turbo_all > 28999) {
- mes "[Turbo Track Point Manager]";
- mes "Unfortunately, your Turbo Track Points will exceed the maximum limit if we proceed with point conversion. Please spend more";
- mes "of your Turbo Track Points before using this service. Thank you.";
- close;
- }
- if (.@my_arena_all < 0) {
- mes "[Turbo Track Point Manager]";
- mes "I am sorry, but you do";
- mes "not have enough Arena Points";
- mes "to perform this Turbo Track";
- mes "Point conversion.";
- close;
- }
- else {
- mes "[Turbo Track Point Manager]";
- mes "You have converted";
- mes "10 Arena Points into";
- mes "Turbo Track Points " + .@input + " times.";
- mes "A total of " + .@want_point1 + " Arena Points";
- mes "has been converted into";
- mes "" + .@want_point +" Turbo Track Points.";
- arena_point = .@my_arena_all; //arena_point
- tt_point = .@my_turbo_all;
- next;
- mes "[Turbo Track Point Manager]";
- mes "" + strcharinfo(PC_NAME) + ",";
- mes "you now have";
- mes "^00688B" + tt_point + "^000000 Turbo Track Points";
- mes "and ^4682B4" + arena_point + "^000000 Arena Points.";
- mes "Thank you for your patronage.";
- close;
- }
+ mes "[Turbo Track Point Manager]";
+ mes "You have converted";
+ mes "10 Arena Points into";
+ mes "Turbo Track Points " + .@input + " times.";
+ mes "A total of " + .@want_point1 + " Arena Points";
+ mes "has been converted into";
+ mes "" + .@want_point +" Turbo Track Points.";
+ arena_point = .@my_arena_all; //arena_point
+ tt_point = .@my_turbo_all;
+ next;
+ mes "[Turbo Track Point Manager]";
+ mes "" + strcharinfo(PC_NAME) + ",";
+ mes "you now have";
+ mes "^00688B" + tt_point + "^000000 Turbo Track Points";
+ mes "and ^4682B4" + arena_point + "^000000 Arena Points.";
+ mes "Thank you for your patronage.";
+ close;
}
case 6:
mes "[Turbo Track Point Manager]";
diff --git a/npc/pre-re/jobs/1-1/mage.txt b/npc/pre-re/jobs/1-1/mage.txt
index 47ae792fe..684c7335e 100644
--- a/npc/pre-re/jobs/1-1/mage.txt
+++ b/npc/pre-re/jobs/1-1/mage.txt
@@ -437,50 +437,50 @@ geffen_in,164,112,4 script Mixing Machine HIDDEN_NPC,{
switch(select("Jellopy.", "Fluff.", "Milk.", "Ready to Mix.")) {
case 1:
while(1) {
- input .@input;
+ input(.@input, 0);
if (.@input > 10000) {
next;
mes "[Mixing Machine]";
mes "Error: Item limit exceeded. Please enter values less than 10,000 try again.";
next;
+ continue;
}
- else {
- if (countitem(Jellopy) > 0) .@mixitem1_1 += .@input;
- .@progress = 2;
- break;
- }
+ if (countitem(Jellopy) > 0)
+ .@mixitem1_1 += .@input;
+ .@progress = 2;
+ break;
}
break;
case 2:
while(1) {
- input .@input;
+ input(.@input, 0);
if (.@input > 10000) {
next;
mes "[Mixing Machine]";
mes "Error: Item limit exceeded. Please enter values less than 10,000 try again.";
next;
+ continue;
}
- else {
- if (countitem(Fluff) > 0) .@mixitem1_2 += .@input;
- .@progress = 2;
- break;
- }
+ if (countitem(Fluff) > 0)
+ .@mixitem1_2 += .@input;
+ .@progress = 2;
+ break;
}
break;
case 3:
while(1) {
- input .@input;
+ input(.@input, 0);
if (.@input > 10000) {
next;
mes "[Mixing Machine]";
mes "Error: Item limit exceeded. Please enter values less than 10,000 try again.";
next;
+ continue;
}
- else {
- if (countitem(Milk) > 0) .@mixitem1_3 += .@input;
- .@progress = 2;
- break;
- }
+ if (countitem(Milk) > 0)
+ .@mixitem1_3 += .@input;
+ .@progress = 2;
+ break;
}
break;
@@ -499,40 +499,39 @@ geffen_in,164,112,4 script Mixing Machine HIDDEN_NPC,{
mes "the Magic Powder.";
next;
while(1) {
- input .@input;
- if (.@input < 1000 || .@input > 9999) {
+ input(.@input);
+ if (.@input == 0) {
mes "[Mixing Machine]";
- if (.@input == 0) {
- mes "Do you want to skip this Menu?";
- next;
- if (select("Yes.", "No.") == 1) {
- break;
- }
- }
- else {
- mes "Invalid Serial Number.";
- mes "Please try again.";
- next;
+ mes "Do you want to skip this Menu?";
+ next;
+ if (select("Yes.", "No.") == 1) {
+ break;
}
+ continue;
}
- else {
+ if (.@input < 1000 || .@input > 9999) {
mes "[Mixing Machine]";
- mes "The Serial Number is #" + .@input + ", correct?";
+ mes "Invalid Serial Number.";
+ mes "Please try again.";
next;
- if (select("Confirm.", "Cancel.") == 1) {
- if (.@input == 8472)
- .@magic_powder = 1;
- else if (.@input == 3735)
- .@magic_powder = 2;
- else if (.@input == 2750)
- .@magic_powder = 3;
- else if (.@input == 5429)
- .@magic_powder = 4;
- else
- .@magic_powder = 5;
- }
- break;
+ continue;
}
+ mes "[Mixing Machine]";
+ mes "The Serial Number is #" + .@input + ", correct?";
+ next;
+ if (select("Confirm.", "Cancel.") == 1) {
+ if (.@input == 8472)
+ .@magic_powder = 1;
+ else if (.@input == 3735)
+ .@magic_powder = 2;
+ else if (.@input == 2750)
+ .@magic_powder = 3;
+ else if (.@input == 5429)
+ .@magic_powder = 4;
+ else
+ .@magic_powder = 5;
+ }
+ break;
}
mes "[Mixing Machine]";
mes "Choose a";
diff --git a/npc/pre-re/jobs/1-1/merchant.txt b/npc/pre-re/jobs/1-1/merchant.txt
index 2d1cd9ba3..b6ce65b3d 100644
--- a/npc/pre-re/jobs/1-1/merchant.txt
+++ b/npc/pre-re/jobs/1-1/merchant.txt
@@ -705,7 +705,7 @@ alberta_in,28,29,2 script Merchant Guildsman#mer 4_M_01,{
next;
while(1) {
while(1) {
- input .@input;
+ input(.@input);
if (.@input == 0) {
mes "[Union Staff Kay]";
mes "Are you sure that you wanna cancel?";
@@ -714,14 +714,15 @@ alberta_in,28,29,2 script Merchant Guildsman#mer 4_M_01,{
close;
}
next;
+ continue;
}
- else if (.@input < 1000000 || .@input > 5000000) {
+ if (.@input < 1000000 || .@input > 5000000) {
mes "[Union Staff Kay]";
mes "Hey hey. That number's not valid! Enter a value from 1000000 to 5000000. got it?";
next;
- } else {
- break;
+ continue;
}
+ break;
}
mes "[Union Staff Kay]";
if (.@where_village == 1)
diff --git a/npc/pre-re/jobs/novice/novice.txt b/npc/pre-re/jobs/novice/novice.txt
index 356eaae7d..bbae29988 100644
--- a/npc/pre-re/jobs/novice/novice.txt
+++ b/npc/pre-re/jobs/novice/novice.txt
@@ -82,8 +82,8 @@ new_1-2,100,29,4 script Receptionist#nv1 4_M_04,{
mes "Hello, you look to be new here.";
mes "What is your name?";
next;
- input .@charname$;
- if (.@charname$!=strcharinfo(PC_NAME)) {
+ input(.@charname$);
+ if (.@charname$ != strcharinfo(PC_NAME)) {
mes "[Training Grounds Receptionist]";
mes "Sorry, but I don't think I heard";
mes "you correctly";
diff --git a/npc/quests/bard_quest.txt b/npc/quests/bard_quest.txt
index 7a187e6a3..43ef61cbf 100644
--- a/npc/quests/bard_quest.txt
+++ b/npc/quests/bard_quest.txt
@@ -320,7 +320,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "[" + @name$ + "]";
mes "Don't you think...";
mes "The person would be...";
- input .@inputstr$;
+ input(.@inputstr$);
mes .@inputstr$ + "?";
next;
@@ -546,7 +546,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "The lyrics. They must have been changed. Did Gunther say anything about this?! Hmmm, but who would change the lyrics...?";
next;
cutin "bard_eland01",2;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Kino Kitty") {
mes "[Errende]";
@@ -678,7 +678,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "Could it be that";
mes "the person who";
mes "changed the song is...";
- input .@inputstr$;
+ input(.@inputstr$);
mes "" + .@inputstr$ + "?";
next;
@@ -879,7 +879,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "[Errende]";
mes "The lyrics. They must have been changed. Did Gunther say anything about this?! Hmmm, but who would change the lyrics...?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Kino Kitty") {
cutin "bard_eland01",2;
mes "[Errende]";
@@ -2486,14 +2486,14 @@ payon,181,172,3 script Bard#4 1_M_BARD,{
mes "Now, what was the";
mes "name of the song again?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "At One, I Fall in Love") {
mes "[Gunther Doubleharmony]";
mes "Ah~ that song...?";
mes "By the way, who asked you";
mes "to find out about the song?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Minty Errende") {
mes "[Gunther Doubleharmony]";
mes "Yes, that's my friend! Minty Errende! We used to so close to each other, so I'll write every word of the song for my friend Minty Errende, so turn around please!";
@@ -2843,7 +2843,7 @@ yuno_in04,20,123,7 script Representative#bq 4_F_SISTER,{
mes "[Marlin Putiur]";
mes "I also hear the Bards have been helping scholars instill bulletin boards in fields which indicate the location for new adventurers. Would you let me know the full name of the person you're looking for?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Minty Errende") {
mes "[Marlin Putiur]";
mes "Minty Errende...";
@@ -2909,7 +2909,7 @@ yuno_in04,33,119,3 script Adventurer#1 4_M_ROGUE,{
mes "My name is Pane.";
mes "May I ask yours?";
@name$ = strcharinfo(PC_NAME);
- input .@inputstr$;
+ input(.@inputstr$);
next;
mes "[Energetic Young Man]";
mes "Oh...";
diff --git a/npc/quests/cooking_quest.txt b/npc/quests/cooking_quest.txt
index 505561f52..f124a07d4 100644
--- a/npc/quests/cooking_quest.txt
+++ b/npc/quests/cooking_quest.txt
@@ -1102,8 +1102,8 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "but I'm not lending those out.";
mes "Oh, and enter 0 to cancel.";
next;
- input .@new_book;
- if (.@new_book < 0 || .@new_book > 5) {
+ input(.@new_book);
+ if (.@new_book > 5) {
cutin "orleans_5",0;
mes "[Charles Orleans]";
mes "Hmm...";
@@ -1113,8 +1113,9 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "only cookbooks that I will";
mes "lend out to my students.";
callsub L_End;
+ end;
}
- else if (.@new_book == 0) {
+ if (.@new_book <= 0) {
cutin "orleans_5",0;
mes "[Charles Orleans]";
mes "So you changed your mind?";
@@ -1123,6 +1124,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "have right now before trying";
mes "something new, I suppose.";
callsub L_End;
+ end;
}
mes "[Charles Orleans]";
mes "So you wanted to borrow a";
@@ -1131,8 +1133,8 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "me the level of the cookbook";
mes "that you are returning to me?";
next;
- input .@old_book;
- if (.@old_book < 0 || .@old_book > 5) {
+ input(.@old_book);
+ if (.@old_book > 5) {
mes "[Charles Orleans]";
mes "There must be some";
mes "kind of mistake-- I only";
@@ -1141,8 +1143,9 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "me again when you remember";
mes "which cookbook you have, okay?";
callsub L_End;
+ end;
}
- else if (.@old_book == 0) {
+ if (.@old_book <= 0) {
cutin "orleans_5",0;
mes "[Charles Orleans]";
mes "So you changed your mind?";
@@ -1151,8 +1154,9 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "have right now before trying";
mes "something new, I suppose.";
callsub L_End;
+ end;
}
- else if (.@old_book == .@new_book) {
+ if (.@old_book == .@new_book) {
cutin "orleans_4",0;
mes "[Charles Orleans]";
mes "Wait, wait...";
@@ -1162,62 +1166,62 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "have? I guess you made";
mes "some sort of mistake?";
callsub L_End;
+ end;
}
- else {
- if (countitem(7471+.@old_book) < 1) {
- mes "[Charles Orleans]";
- mes "Wait, wait...";
- mes "Why don't you have";
- mes "the book that you said";
- mes "that you'd return to me?";
- mes "Find it first, and then I can";
- mes "lend another cookbook to you.";
- callsub L_End;
- }
- cutin "orleans_2",0;
+ if (countitem(7471+.@old_book) < 1) {
mes "[Charles Orleans]";
- switch(.@old_book) {
- case 1:
- mes "Ah, so you're done";
- mes "with the Level 1 Cookbook.";
- mes "That's good, that means you're";
- mes "ready to graduate from the most";
- mes "basic of basics. From now on,";
- mes "the recipes will be harder...";
- break;
- case 2:
- mes "Ah, so what did you";
- mes "think of the recipes in";
- mes "the Level 2 Cookbook?";
- mes "Homestyle cooking may be";
- mes "simple, but it should never";
- mes "be neglected by chefs.";
- break;
- case 3:
- mes "Ah, done with the Level 3";
- mes "Cookbook already? The recipes";
- mes "in there are really good when you're cooking romantic dinners.";
- mes "They'll come in handy someday,";
- mes "if you know what I mean.";
- break;
- case 4:
- mes "So you've finished the";
- mes "Level 4 Cookbook. That's";
- mes "no small feat! You've got to";
- mes "use very strange ingredients";
- mes "to create delicious cuisine!";
- break;
- case 5:
- mes "You're done with the";
- mes "Level 5 Cookbook? Good";
- mes "work: most beginners don't";
- mes "even get this far. I suppose";
- mes "you'll want to review some";
- mes "of the easier recipes now~";
- break;
- }
- next;
+ mes "Wait, wait...";
+ mes "Why don't you have";
+ mes "the book that you said";
+ mes "that you'd return to me?";
+ mes "Find it first, and then I can";
+ mes "lend another cookbook to you.";
+ callsub L_End;
+ end;
}
+ cutin "orleans_2",0;
+ mes "[Charles Orleans]";
+ switch(.@old_book) {
+ case 1:
+ mes "Ah, so you're done";
+ mes "with the Level 1 Cookbook.";
+ mes "That's good, that means you're";
+ mes "ready to graduate from the most";
+ mes "basic of basics. From now on,";
+ mes "the recipes will be harder...";
+ break;
+ case 2:
+ mes "Ah, so what did you";
+ mes "think of the recipes in";
+ mes "the Level 2 Cookbook?";
+ mes "Homestyle cooking may be";
+ mes "simple, but it should never";
+ mes "be neglected by chefs.";
+ break;
+ case 3:
+ mes "Ah, done with the Level 3";
+ mes "Cookbook already? The recipes";
+ mes "in there are really good when you're cooking romantic dinners.";
+ mes "They'll come in handy someday,";
+ mes "if you know what I mean.";
+ break;
+ case 4:
+ mes "So you've finished the";
+ mes "Level 4 Cookbook. That's";
+ mes "no small feat! You've got to";
+ mes "use very strange ingredients";
+ mes "to create delicious cuisine!";
+ break;
+ case 5:
+ mes "You're done with the";
+ mes "Level 5 Cookbook? Good";
+ mes "work: most beginners don't";
+ mes "even get this far. I suppose";
+ mes "you'll want to review some";
+ mes "of the easier recipes now~";
+ break;
+ }
+ next;
cutin "orleans_1",0;
mes "[Charles Orleans]";
mes "Now, before I let you";
@@ -2079,8 +2083,8 @@ S_SellSets:
mes "enter the number 0.";
next;
while(1) {
- input .@sell;
- if (.@sell == 0) {
+ input(.@sell);
+ if (.@sell <= 0) {
mes "[Madeleine Chu]";
mes "You've changed your";
mes "mind? Well, if you need";
@@ -2089,15 +2093,16 @@ S_SellSets:
mes "to me at anytime, alright?";
close;
}
- else if (.@sell > 100) {
+ if (.@sell > 100) {
mes "[Madeleine Chu]";
mes "Oh, I'm sorry, but";
mes "I don't sell more than";
mes "100 "+getitemname(getarg(0));
mes "at a time, just to be safe.";
next;
+ continue;
}
- else break;
+ break;
}
.@total_cost = .@sell * .@item_cost;
.@total_weight = .@sell * .@item_weight;
diff --git a/npc/quests/eye_of_hellion.txt b/npc/quests/eye_of_hellion.txt
index a070bf8df..964cfb13b 100644
--- a/npc/quests/eye_of_hellion.txt
+++ b/npc/quests/eye_of_hellion.txt
@@ -1109,7 +1109,7 @@ OnTouch:
mes "all the message says is, um,";
mes "what was that last word again?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "BINGO") {
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Of course!";
@@ -1211,7 +1211,7 @@ prt_in,128,79,0 script Unknown Machine#prt_key HIDDEN_NPC,{
mes "Ah, right, the numbers";
mes "that Veggie Lady gave me!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "3847147298") {
mes "^3355FFThe machine responds to";
mes "the password with a pleasant";
@@ -1262,7 +1262,7 @@ prt_in,128,79,0 script Unknown Machine#prt_key HIDDEN_NPC,{
mes "if I can enter the";
mes "right number this time...";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "3847147298") {
mes "^3355FFThe machine responds to";
mes "the password with a pleasant";
@@ -2107,7 +2107,7 @@ geffen,110,200,3 script Sage Welshyun#hellion 4_M_SAGE_A,3,3,{
mes "in the third part of the ballad";
mes "of Grimnir? Well, adventurer?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Valaskjalf") {
mes "[Welshyun]";
mes "Ah, well met, well met.";
@@ -2291,7 +2291,7 @@ gef_tower,116,37,0 script Enoz#hellion 4_M_ALCHE_A,{
mes "I haven't submitted to him";
mes "yet? So what was it called?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Monster Life in the Geffen Area") {
mes "[Enoz]";
mes "''Monster Life in";
diff --git a/npc/quests/first_class/tu_sword.txt b/npc/quests/first_class/tu_sword.txt
index fa4c0defb..5c847d7cc 100644
--- a/npc/quests/first_class/tu_sword.txt
+++ b/npc/quests/first_class/tu_sword.txt
@@ -1888,69 +1888,8 @@ geffen,154,143,3 script Dequ'ee 4_M_JOB_KNIGHT2,{
mes "from all the suspects? First,";
mes "tell me the code that Hans had.";
next;
- input .@inputstr$;
- if(.@inputstr$ == .@hans$){
- mes "[Dequ'ee]";
- mes "victkleyundncem?";
- mes "That's certainly";
- mes "strange sounding.";
- mes "Now, tell me Bankley's.";
- next;
- input .@inputstr$;
- if(.@inputstr$ == .@bang$){
- mes "[Dequ'ee]";
- mes "hekdlfiDrindkelsd..";
- mes "What the hell is that...?";
- mes "It's certainly cryptic.";
- mes "What about Muetro's?";
- next;
- input .@inputstr$;
- if(.@inputstr$ == .@mutr$){
- mes "[Dequ'ee]";
- mes "ConBanfoevidehi.";
- mes "This is going to";
- mes "be tough to figure";
- mes "out. Alright, now";
- mes "tell me Geil's.";
- next;
- input .@inputstr$;
- if(.@inputstr$ == .@geil$){
- mes "[Dequ'ee]";
- mes "TheisWesomeof...";
- mes "Alright, great.";
- mes "Now all we have to";
- mes "do is figure out what";
- mes "all of this means.";
- next;
- mes "[Dequ'ee]";
- mes "This is going to";
- mes "be really difficult.";
- mes "Do you have any ideas?";
- mes "We have to figure this";
- mes "out, it's the only clue";
- mes "that we have...";
- tu_swordman = 16;
- changequest 8223,8224;
- close;
- } else {
- mes "[Dequ'ee]";
- mes "...Are you sure that you heard";
- mes "him right? Why don't you go check it out again?";
- close;
- }
- } else {
- mes "[Dequ'ee]";
- mes "...Are you sure that you heard";
- mes "him right? Why don't you go check it out again?";
- close;
- }
- } else {
- mes "[Dequ'ee]";
- mes "...Are you sure that you heard";
- mes "him right? Why don't you go check it out again?";
- close;
- }
- } else {
+ input(.@inputstr$);
+ if(.@inputstr$ != .@hans$) {
mes "[Dequ'ee]";
mes "Are you sure that's right?";
mes "No, no, I don't think it is.";
@@ -1958,6 +1897,63 @@ geffen,154,143,3 script Dequ'ee 4_M_JOB_KNIGHT2,{
mes "if you need to?";
close;
}
+ mes "[Dequ'ee]";
+ mes "victkleyundncem?";
+ mes "That's certainly";
+ mes "strange sounding.";
+ mes "Now, tell me Bankley's.";
+ next;
+ input(.@inputstr$);
+ if(.@inputstr$ != .@bang$) {
+ mes "[Dequ'ee]";
+ mes "...Are you sure that you heard";
+ mes "him right? Why don't you go check it out again?";
+ close;
+ }
+ mes "[Dequ'ee]";
+ mes "hekdlfiDrindkelsd..";
+ mes "What the hell is that...?";
+ mes "It's certainly cryptic.";
+ mes "What about Muetro's?";
+ next;
+ input(.@inputstr$);
+ if(.@inputstr$ != .@mutr$) {
+ mes "[Dequ'ee]";
+ mes "...Are you sure that you heard";
+ mes "him right? Why don't you go check it out again?";
+ close;
+ }
+ mes "[Dequ'ee]";
+ mes "ConBanfoevidehi.";
+ mes "This is going to";
+ mes "be tough to figure";
+ mes "out. Alright, now";
+ mes "tell me Geil's.";
+ next;
+ input(.@inputstr$);
+ if(.@inputstr$ != .@geil$) {
+ mes "[Dequ'ee]";
+ mes "...Are you sure that you heard";
+ mes "him right? Why don't you go check it out again?";
+ close;
+ }
+ mes "[Dequ'ee]";
+ mes "TheisWesomeof...";
+ mes "Alright, great.";
+ mes "Now all we have to";
+ mes "do is figure out what";
+ mes "all of this means.";
+ next;
+ mes "[Dequ'ee]";
+ mes "This is going to";
+ mes "be really difficult.";
+ mes "Do you have any ideas?";
+ mes "We have to figure this";
+ mes "out, it's the only clue";
+ mes "that we have...";
+ tu_swordman = 16;
+ changequest 8223,8224;
+ close;
}
if(tu_swordman == 14){
mes "[Dequ'ee]";
diff --git a/npc/quests/juice_maker.txt b/npc/quests/juice_maker.txt
index 4c5d34b3c..250090495 100644
--- a/npc/quests/juice_maker.txt
+++ b/npc/quests/juice_maker.txt
@@ -256,21 +256,20 @@ payon_in03,188,146,5 script Marx Hansen#juice 4_M_04,{
mes "Choose a number less than 100. If you don't want to, put '0'. You can make up to " + countitem(.@fruit) + " bottles of juice.";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Merchant Marx Hansen]";
mes "Well then...";
mes "Come again.";
close;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Merchant Marx Hansen]";
mes "More than 100 bottles is impossible. Choose a different amount.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@make = .@input;
break;
diff --git a/npc/quests/kiel_hyre_quest.txt b/npc/quests/kiel_hyre_quest.txt
index 677a81f8d..d1ab7fcaf 100644
--- a/npc/quests/kiel_hyre_quest.txt
+++ b/npc/quests/kiel_hyre_quest.txt
@@ -566,7 +566,7 @@ yuno_fild08,158,194,6 script Security Guard#1::KHAGuard 4_M_EIN_SOLDIER,{
mes "delivered, and I'll verify it";
mes "before letting you inside.";
next;
- input .@KHDelivery$;
+ input(.@KHDelivery$);
if (.@KHDelivery$ != "Lecollane") {
mes "[Security Guard]";
mes "You're here to deliver some";
@@ -576,7 +576,7 @@ yuno_fild08,158,194,6 script Security Guard#1::KHAGuard 4_M_EIN_SOLDIER,{
mes "academy named "+.@KHDelivery$+"";
close;
}
- input .@KHDelivery$ ;
+ input(.@KHDelivery$);
if (.@KHDelivery$ != "Culinary Wine") {
mes "[Security Guard]";
mes "So you're here to make";
@@ -1438,7 +1438,7 @@ kh_school,178,180,4 script Elly 4_F_KHELLY,{
mes "^3355FFElly's not responding...^000000";
close;
case 2:
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Wake up, Elly!") {
mes "[Elly]";
mes ".............";
@@ -1453,15 +1453,13 @@ kh_school,178,180,4 script Elly 4_F_KHELLY,{
KielHyreQuest = 34;
close;
}
- else {
- mes "[Elly]";
- mes "......";
- mes ".........";
- mes "............";
- next;
- mes "^3355FFElly's not responding...^000000";
- close;
- }
+ mes "[Elly]";
+ mes "......";
+ mes ".........";
+ mes "............";
+ next;
+ mes "^3355FFElly's not responding...^000000";
+ close;
case 3:
mes "^3355FFAlright...";
mes "But sooner or later,";
@@ -1647,7 +1645,7 @@ kh_school,175,176,0 script Cookie Basket#kh HIDDEN_NPC,{
mes "deliciously bittersweet.";
KielHyreQuest = 109;
next;
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"";
mes "It's time to go back. I can't";
@@ -1703,7 +1701,7 @@ yuno_fild08,71,170,0 script Grave#kh HIDDEN_NPC,{
mes "^3355FFWhat should you";
mes "insert into the slot?^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Yellow Keycard") {
mes "^3355FFAn electronic confirmation";
mes "chime sounds once you insert";
@@ -1713,7 +1711,7 @@ yuno_fild08,71,170,0 script Grave#kh HIDDEN_NPC,{
mes "[Security System]";
mes "Please enter the password.";
next;
- input .@KHInput$;
+ input(.@KHInput$);
next;
if (.@KHInput$ == "4772961") {
mes "[Security System]";
@@ -1726,19 +1724,15 @@ yuno_fild08,71,170,0 script Grave#kh HIDDEN_NPC,{
KielHyreQuest = 38;
close;
}
- else {
- mes "[Security System]";
- mes "Incorrect password.";
- mes "Please try again.";
- close;
- }
- }
- else {
- mes "^3355FFWhatever you're trying";
- mes "to insert into the slot";
- mes "isn't working at all...^000000";
+ mes "[Security System]";
+ mes "Incorrect password.";
+ mes "Please try again.";
close;
}
+ mes "^3355FFWhatever you're trying";
+ mes "to insert into the slot";
+ mes "isn't working at all...^000000";
+ close;
}
}
else if ((KielHyreQuest >= 38) && (KielHyreQuest < 106)) {
@@ -2974,7 +2968,7 @@ kh_vila,185,68,0 script Test Tube::TestTubeKHQ2 HIDDEN_NPC,{
mes "then you know what to call me,";
mes "right? Do you know what I am?";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "little lost devil") {
mes "[???]";
mes "Heh... Heh heh...";
@@ -2994,14 +2988,12 @@ kh_vila,185,68,0 script Test Tube::TestTubeKHQ2 HIDDEN_NPC,{
KielHyreQuest = 30;
close;
}
- else {
- mes "[???]";
- mes "No... No...";
- mes "That's not right.";
- mes "I don't think we";
- mes "were friends. No...";
- close;
- }
+ mes "[???]";
+ mes "No... No...";
+ mes "That's not right.";
+ mes "I don't think we";
+ mes "were friends. No...";
+ close;
case 2:
mes "^3355FFLet's investigate";
mes "this area a little";
@@ -3041,7 +3033,7 @@ kh_dun01,235,48,0 script Heavy Door#kh1::HeavyDoorKHQ1 HIDDEN_NPC,{
next;
switch(select("Open Door", "Cancel")) {
case 1:
- input .@KHInput$;
+ input(.@KHInput$);
mes "^3355FFYou try to push the";
mes "door open with all";
mes "your might, but fail";
@@ -3061,7 +3053,7 @@ kh_dun01,235,48,0 script Heavy Door#kh1::HeavyDoorKHQ1 HIDDEN_NPC,{
next;
switch(select("Open Door", "Cancel")) {
case 1:
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Blue Keycard") {
mes "^3355FFYou've successfully";
mes "opened the door.";
@@ -3069,13 +3061,11 @@ kh_dun01,235,48,0 script Heavy Door#kh1::HeavyDoorKHQ1 HIDDEN_NPC,{
warp "kh_school",119,144;
end;
}
- else {
- mes "^3355FFYou try to push the";
- mes "door open with all";
- mes "your might, but fail";
- mes "to make it budge.^000000";
- close;
- }
+ mes "^3355FFYou try to push the";
+ mes "door open with all";
+ mes "your might, but fail";
+ mes "to make it budge.^000000";
+ close;
case 2:
mes "^3355FFYou decided to leave";
mes "this door alone until";
@@ -3101,7 +3091,7 @@ kh_dun01,76,233,0 script Heavy Door::HeavyDoorKHQ2 HIDDEN_NPC,{
next;
switch(select("Open Door", "Cancel")) {
case 1:
- input .@KHInput$;
+ input(.@KHInput$);
mes "^3355FFYou try to push the";
mes "door open with all";
mes "your might, but fail";
@@ -3421,7 +3411,7 @@ kh_dun01,166,223,0 script Mechanical Device#kh::KHKeyardReader HIDDEN_NPC,{
mes "operated by inserting the";
mes "correct keycard into the slot.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Red Keycard") {
mes "^3355FFThe door opens once";
mes "you insert the Red Keycard.^000000";
@@ -3429,10 +3419,8 @@ kh_dun01,166,223,0 script Mechanical Device#kh::KHKeyardReader HIDDEN_NPC,{
warp "kh_dun01",170,227;
end;
}
- else {
- mes "^3355FFNothing happened.^000000";
- close;
- }
+ mes "^3355FFNothing happened.^000000";
+ close;
}
}
@@ -3530,42 +3518,38 @@ kh_dun01,44,203,0 script Entrance Device#khd2::KHAccess HIDDEN_NPC,{
mes "correct keycard into the slot.^000000";
close;
}
- else {
- mes "^3355FFYou encounter";
- mes "a mechanical device.";
- mes "It looks like it can be";
- mes "operated by inserting the";
- mes "correct keycard into the slot.^000000";
- next;
- input .@KHInput$;
- if (.@KHInput$ == "Luxurious Keycard") {
- mes "^3355FFAs you insert the";
- mes "Luxurious Keycard";
- mes "into the keycard slot,";
- mes "the door swings open";
- mes "to reveal a long flight";
- mes "of descending stairs.^000000";
- next;
- switch(select("Descend Stairs", "Cancel")) {
- case 1:
- warp "kh_dun02",41,198;
- end;
- case 2:
- mes "^3355FFIt looks like this door";
- mes "has automatically closed";
- mes "after the preprogrammed";
- mes "time limit has elapsed.^000000";
- close;
- }
- }
- else {
- mes "^3355FFYou try to push the";
- mes "door open with all";
- mes "your might, but fail";
- mes "to make it budge.^000000";
+ mes "^3355FFYou encounter";
+ mes "a mechanical device.";
+ mes "It looks like it can be";
+ mes "operated by inserting the";
+ mes "correct keycard into the slot.^000000";
+ next;
+ input(.@KHInput$);
+ if (.@KHInput$ == "Luxurious Keycard") {
+ mes "^3355FFAs you insert the";
+ mes "Luxurious Keycard";
+ mes "into the keycard slot,";
+ mes "the door swings open";
+ mes "to reveal a long flight";
+ mes "of descending stairs.^000000";
+ next;
+ switch(select("Descend Stairs", "Cancel")) {
+ case 1:
+ warp "kh_dun02",41,198;
+ end;
+ case 2:
+ mes "^3355FFIt looks like this door";
+ mes "has automatically closed";
+ mes "after the preprogrammed";
+ mes "time limit has elapsed.^000000";
close;
}
}
+ mes "^3355FFYou try to push the";
+ mes "door open with all";
+ mes "your might, but fail";
+ mes "to make it budge.^000000";
+ close;
}
kh_dun01,36,195,0 duplicate(KHAccess) Entrance Device#khd1 HIDDEN_NPC
@@ -5703,7 +5687,7 @@ kh_kiehl01,19,25,0 script Box#kh1 HIDDEN_NPC,{
mes "a button for each letter";
mes "of the alphabet on top of it.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
mes "^3355FFNothing happened.^000000";
close;
}
@@ -5713,7 +5697,7 @@ kh_kiehl01,19,25,0 script Box#kh1 HIDDEN_NPC,{
mes "a button for each letter";
mes "of the alphabet on top of it.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "open the door") {
mes "^3355FFAs soon as you enter the";
mes "password, the nearby door";
@@ -5723,23 +5707,17 @@ kh_kiehl01,19,25,0 script Box#kh1 HIDDEN_NPC,{
getitem Toy_Key,1;
close;
}
- else {
- mes "^3355FFNothing happened.^000000";
- close;
- }
- }
- else {
- mes "^3355FFThis is where you";
- mes "found the Toy key^000000";
+ mes "^3355FFNothing happened.^000000";
close;
}
- }
- else{
- mes "^3355FFThe box is wide";
- mes "open, and there";
- mes "is nothing in it.^000000";
+ mes "^3355FFThis is where you";
+ mes "found the Toy key^000000";
close;
}
+ mes "^3355FFThe box is wide";
+ mes "open, and there";
+ mes "is nothing in it.^000000";
+ close;
}
//- Kiehl's Room; Big Door, (First) -
@@ -5752,7 +5730,7 @@ kh_kiehl01,44,33,0 script Big Door#BigDoorKHQ1 HIDDEN_NPC,{
mes "but there is a narrow";
mes "slot next to the doorknob.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Black Keycard") {
if (countitem(Black_Key_Card) >= 1) {
mes "^3355FFYou insert the";
@@ -5811,7 +5789,7 @@ kh_kiehl01,174,40,0 script Big Door#BigDoorKHQ2 HIDDEN_NPC,{
mes "but there is a small";
mes "keyhole next to the knob.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Toy Key") {
if (countitem(Toy_Key) >= 1) {
mes "^3355FFYou insert the key into";
@@ -5832,10 +5810,8 @@ kh_kiehl01,174,40,0 script Big Door#BigDoorKHQ2 HIDDEN_NPC,{
mes "to make it budge.^000000";
close;
}
- else {
- mes "^3355FFThe door is open.^000000";
- close;
- }
+ mes "^3355FFThe door is open.^000000";
+ close;
}
kh_kiehl01,174,39,0 script Big_Door_2_Warp WARPNPC,1,1,{
@@ -5869,7 +5845,7 @@ kh_kiehl01,77,108,0 script Big Door#BigDoorKHQ3 HIDDEN_NPC,{
mes "but there is a narrow";
mes "slot next to the doorknob.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Black Keycard") {
if (countitem(Black_Key_Card) >= 1) {
mes "^3355FFYou insert the";
@@ -5927,7 +5903,7 @@ kh_kiehl01,42,177,0 script Big Door#BigDoorKHQ4 HIDDEN_NPC,{
mes "but there is a narrow";
mes "slot next to the doorknob.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Black Keycard") {
if (countitem(Black_Key_Card) >= 2) {
mes "^3355FFYou insert the";
@@ -5947,11 +5923,8 @@ kh_kiehl01,42,177,0 script Big Door#BigDoorKHQ4 HIDDEN_NPC,{
mes "to make it budge.^000000";
close;
}
-
- else {
- mes "^3355FFThe door is open.^000000";
- close;
- }
+ mes "^3355FFThe door is open.^000000";
+ close;
}
kh_kiehl01,41,177,0 script Big_Door_4_Warp WARPNPC,1,1,{
diff --git a/npc/quests/lvl4_weapon_quest.txt b/npc/quests/lvl4_weapon_quest.txt
index 977071343..a6a3d8e9b 100644
--- a/npc/quests/lvl4_weapon_quest.txt
+++ b/npc/quests/lvl4_weapon_quest.txt
@@ -2078,7 +2078,7 @@ niflheim,240,193,3 script Kayron#lv4 4_M_NFDEADMAN2,{
mes "[Kayron]";
mes "There's nothing I can do.";
mes "I'm... Um... I'm...?";
- input .@input$;
+ input(.@input$);
next;
if (.@input$ == "I'm utterly helpless here.") {
mes "[Kayron]";
@@ -2112,14 +2112,12 @@ niflheim,240,193,3 script Kayron#lv4 4_M_NFDEADMAN2,{
lv4_weapon = 24;
close;
}
- else {
- mes "[Kayron]";
- mes "Huh...?";
- mes "What did you just say?";
- mes "I'm sorry, I'm trying to remember something my father always used";
- mes "to say...";
- close;
- }
+ mes "[Kayron]";
+ mes "Huh...?";
+ mes "What did you just say?";
+ mes "I'm sorry, I'm trying to remember something my father always used";
+ mes "to say...";
+ close;
}
if (lv4_weapon == 22) {
mes "[Kayron]";
@@ -2530,7 +2528,7 @@ niflheim,99,268,5 script Reyghema#lv4 4_M_NFDEADMAN2,{
mes "something like that,";
mes "but there was more to it...";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Live without regret.") {
mes "[Reyghema]";
mes "...";
@@ -2562,14 +2560,12 @@ niflheim,99,268,5 script Reyghema#lv4 4_M_NFDEADMAN2,{
lv4_weapon = 33;
close;
}
- else {
- mes "[Reyghema]";
- mes "What...?";
- mes "You playin' games";
- mes "with me or what?";
- mes "Get outta my face~";
- close;
- }
+ mes "[Reyghema]";
+ mes "What...?";
+ mes "You playin' games";
+ mes "with me or what?";
+ mes "Get outta my face~";
+ close;
}
if (lv4_weapon == 31) {
mes "[Reyghema]";
@@ -2986,7 +2982,7 @@ niflheim,187,280,3 script Hein#lv4 4_M_NFDEADMAN,{
mes "Back during those days,";
mes "I never accepted money for my work. Father always used to say, 'Never accept payment to forge a good weapon. It... It...'";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "It brings bad luck.") {
mes "[Hein]";
mes "That's right!";
@@ -3017,14 +3013,12 @@ niflheim,187,280,3 script Hein#lv4 4_M_NFDEADMAN,{
mes "of a deal... Right?";
close;
}
- else {
- mes "[Hein]";
- mes "Wha...?";
- mes "What are you talking about?";
- mes "What was I going to say?";
- mes "Oww... My head hurts!";
- close;
- }
+ mes "[Hein]";
+ mes "Wha...?";
+ mes "What are you talking about?";
+ mes "What was I going to say?";
+ mes "Oww... My head hurts!";
+ close;
}
if (lv4_weapon == 40) {
mes "[Hein]";
@@ -3435,7 +3429,7 @@ niflheim,331,72,3 script Waltboughst#lv4 4_M_NFDEADMAN,{
mes "[Waltboughst]";
mes "It's funny, you know. My father always used to say, 'Trying your best won't always result in success...' Um, that's ... Huh? There was more, I think.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "But that's no excuse!") {
mes "[Waltboughst]";
mes "Yes! That was it!";
@@ -3461,14 +3455,12 @@ niflheim,331,72,3 script Waltboughst#lv4 4_M_NFDEADMAN,{
mes "It seems that being deceased has impaired my rententive faculties. Give me some time to remember the things I'll need to conduct my experiment. We shall talk later.";
close;
}
- else {
- mes "[Waltboughst]";
- mes "What...?";
- mes "No, no. That";
- mes "wasn't it at all...";
- mes "Hmmm.";
- close;
- }
+ mes "[Waltboughst]";
+ mes "What...?";
+ mes "No, no. That";
+ mes "wasn't it at all...";
+ mes "Hmmm.";
+ close;
}
if (lv4_weapon == 49) {
mes "[Waltboughst]";
diff --git a/npc/quests/obb_quest.txt b/npc/quests/obb_quest.txt
index 504e5ff70..c2b0c681c 100644
--- a/npc/quests/obb_quest.txt
+++ b/npc/quests/obb_quest.txt
@@ -672,7 +672,7 @@ moc_ruins,105,62,4 script Jacob#thai 1_M_04,{
mes "[Tommy]";
mes "^FF0000Munak Munak Munak Munak!!^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ != "Pandger Mayer introduced you") {
mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"";
diff --git a/npc/quests/quests_13_1.txt b/npc/quests/quests_13_1.txt
index b1e4f90b3..2c2855a8d 100644
--- a/npc/quests/quests_13_1.txt
+++ b/npc/quests/quests_13_1.txt
@@ -824,40 +824,38 @@ lhz_in01,132,259,5 script Sikaiz#1 4_M_LGTGUARD,{
mes "[Sikaiz]";
mes "I already accept you. Just write down your name here. Go ahead.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ != strcharinfo(PC_NAME)) {
mes "[Sikaiz]";
mes "Don't you know your own name?";
mes "Write it again.";
close;
}
- else {
- mes "[Sikaiz]";
- mes "Ok. I got your name, " + strcharinfo(PC_NAME) + ". Great name! Registration is done!";
- mes "You've become a member of the three kingdoms!";
- next;
- mes "[Sikaiz]";
- mes "All done.";
- mes "Go to the field Officer of Schwartzvalt. He should be in the banquet hall of this building downstairs.";
- next;
- mes "[Sikaiz]";
- mes "Only thing left for you is to go to the Officer to say that you are leaving now.";
- next;
- mes "[Sikaiz]";
- mes "As soon as you tell him,";
- mes "come back to me again.";
- mes "You are not the only one expecting this great challenge. I am too.";
- next;
- mes "[Sikaiz]";
- mes "I believe you can do it!";
- mes "It would bear watching you.";
- next;
- changequest 10073,10074;
- ep13_ryu = 18;
- mes "[Sikaiz]";
- mes "See you then.";
- close;
- }
+ mes "[Sikaiz]";
+ mes "Ok. I got your name, " + strcharinfo(PC_NAME) + ". Great name! Registration is done!";
+ mes "You've become a member of the three kingdoms!";
+ next;
+ mes "[Sikaiz]";
+ mes "All done.";
+ mes "Go to the field Officer of Schwartzvalt. He should be in the banquet hall of this building downstairs.";
+ next;
+ mes "[Sikaiz]";
+ mes "Only thing left for you is to go to the Officer to say that you are leaving now.";
+ next;
+ mes "[Sikaiz]";
+ mes "As soon as you tell him,";
+ mes "come back to me again.";
+ mes "You are not the only one expecting this great challenge. I am too.";
+ next;
+ mes "[Sikaiz]";
+ mes "I believe you can do it!";
+ mes "It would bear watching you.";
+ next;
+ changequest 10073,10074;
+ ep13_ryu = 18;
+ mes "[Sikaiz]";
+ mes "See you then.";
+ close;
}
if (ep13_ryu == 16) {
mes "[Sikaiz]";
@@ -4174,22 +4172,20 @@ mid_camp,188,254,3 script Monster Scholar#ep13 4_M_ALCHE_D,{
mes "["+strcharinfo(PC_NAME)+"]";
mes "The owner of the tricorn hat";
mes "is a monster called...";
- input .@input$;
+ input(.@input$);
if (compare(.@input$,"Tatacho")) {
mes "^FF0000Tatacho^000000";
next;
break;
}
- else {
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes ""+.@input$+"...? I don't think that was the name...";
- next;
- }
+ next;
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes ""+.@input$+"...? I don't think that was the name...";
+ next;
}
mes "["+strcharinfo(PC_NAME)+"]";
mes "The size of Tatacho is about...";
- input .@input$;
+ input(.@input$);
mes "^3131FF"+.@input$+"^000000, I guess...";
next;
mes "["+strcharinfo(PC_NAME)+"]";
@@ -8478,16 +8474,15 @@ man_fild03,95,301,0 duplicate(manukrock) Mysterious Rock#18 CLEAR_NPC
sec_in02,80,171,0 script Piece of crack#sec 2_MONEMUS,{
callfunc "F_GM_NPC";
mes "1~3000";
- input .@input;
+ input(.@input);
next;
if (.@input < 1 || .@input > 3000) {
mes "Cat trading Point adjust";
mes "You can enter the number between 1~3000.";
close;
- } else {
- ep13_yong1 = .@input;
- close;
}
+ ep13_yong1 = .@input;
+ close;
}
//== Report from the New World :: ep13_1_edq ===============
@@ -10584,7 +10579,7 @@ mid_campin,68,185,3 script Pursuit Party Leader#1 1_F_SIGNZISK,{
mes "[Echinacea]";
mes "Say, what's the tracing pattern number?";
next;
- input .@input$;
+ input(.@input$);
setarray .@pattern$[0],"SDHF92F-SDF","VWNM94GVWN90","CM3-TRDFGHE0";
.@quest = mao_morocc2;
if (.@quest > 25) .@quest -= 3;
@@ -11706,7 +11701,7 @@ mid_camp,256,272,3 script Defaria#moc2 4_M_HUGRANFA,{
mes "[Defaria]";
mes "..Huh? What do you want?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Dandelion") {
mes "[Defaria]";
mes "..I know they're involved in this case, but";
diff --git a/npc/quests/quests_13_2.txt b/npc/quests/quests_13_2.txt
index e64e1c84a..c3dfa5ab0 100644
--- a/npc/quests/quests_13_2.txt
+++ b/npc/quests/quests_13_2.txt
@@ -3866,7 +3866,7 @@ mid_campin,168,82,3 script Arunafeltz Linguist#1 4_M_TRAINEE,{
mes "Now, let's start with the Fairies! What is the fairy's language like? Please write them down here sentence by sentence!";
next;
.@spl_score00 = 0;
- input .@input$;
+ input(.@input$);
if (.@input$ == "RLGHLRXLA TKANTLFDMS") {
mes "[Linguist Dictionary]";
mes ""+ .@input$ +"....";
@@ -3880,7 +3880,7 @@ mid_campin,168,82,3 script Arunafeltz Linguist#1 4_M_TRAINEE,{
.@spl_score01 = .@spl_score00;
next;
}
- input .@input$;
+ input(.@input$);
if (.@input$ == "WJACK TNAHRDNJSDMFH") {
mes ""+ .@input$ +"....";
mes "And?";
@@ -3893,7 +3893,7 @@ mid_campin,168,82,3 script Arunafeltz Linguist#1 4_M_TRAINEE,{
.@spl_score02 = .@spl_score01;
next;
}
- input .@input$;
+ input(.@input$);
if ((.@input$ == "WLSGHKWND !!") || (.@input$ == "WLSGHKWND")) {
mes ""+ .@input$ +"....";
mes "Is that all?";
@@ -3931,7 +3931,7 @@ mid_campin,168,82,3 script Arunafeltz Linguist#1 4_M_TRAINEE,{
mes "Good. then next is the Wooden Giants! What's their language like? Write them down sentence by sentence just as you did with the Fairy's.";
next;
.@man_score00 = 0;
- input .@input$;
+ input(.@input$);
if (.@input$ == "TJDTMFJDNS CJFDI") {
mes "[Linguist Dictionary]";
mes ""+ .@input$ +"....";
@@ -3945,7 +3945,7 @@ mid_campin,168,82,3 script Arunafeltz Linguist#1 4_M_TRAINEE,{
.@man_score01 = .@man_score00;
next;
}
- input .@input$;
+ input(.@input$);
if (.@input$ == "TKADLFDMF QKATOS") {
mes ""+ .@input$ +"....";
mes "And?";
@@ -3958,8 +3958,8 @@ mid_campin,168,82,3 script Arunafeltz Linguist#1 4_M_TRAINEE,{
.@man_score02 = .@man_score01;
next;
}
- input .@input$;
- if ((.@input$ == "EKDTLSDML DLFMADMS..") || (.@input$ == "EKDTLSDML DLFMADMS")) {
+ input(.@input$);
+ if (.@input$ == "EKDTLSDML DLFMADMS.." || .@input$ == "EKDTLSDML DLFMADMS") {
mes ""+ .@input$ +"....";
mes "This is it?";
.@man_score03 = .@man_score02+1;
diff --git a/npc/quests/quests_airship.txt b/npc/quests/quests_airship.txt
index bc6d73fad..58fde1bdb 100644
--- a/npc/quests/quests_airship.txt
+++ b/npc/quests/quests_airship.txt
@@ -192,26 +192,26 @@ airplane,47,61,7 script Crewman#ein 4_M_ZONDAOYAJI,{
mes("not send this up after all...");
emotion(e_an);
close();
- } else if (.@comment$ == "0") {
+ }
+ if (.@comment$ == "0") {
mes("[Kain Himere]");
mes("Ah, well, if you have any");
mes("helpful criticism about our");
mes("service, feel free to leave");
mes("me a comment at any time.");
close();
- } else {
- mesf("[%s]", strcharinfo(PC_NAME));
- mesf("%s.", .@comment$);
- next();
- mes("[Kain Himere]");
- mes("Hmmmm...");
- mes("I see. Well, I'll");
- mes("send your message");
- mes("to my superiors as");
- mes("soon as possible.");
- mes("Thank you very much.");
- close();
}
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mesf("%s.", .@comment$);
+ next();
+ mes("[Kain Himere]");
+ mes("Hmmmm...");
+ mes("I see. Well, I'll");
+ mes("send your message");
+ mes("to my superiors as");
+ mes("soon as possible.");
+ mes("Thank you very much.");
+ close();
}
} else if (kain_ticket == 2) {
select("About the Airship...");
diff --git a/npc/quests/quests_ein.txt b/npc/quests/quests_ein.txt
index f5b2e14a6..5c1ac9ee2 100644
--- a/npc/quests/quests_ein.txt
+++ b/npc/quests/quests_ein.txt
@@ -3684,7 +3684,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes "["+strcharinfo(PC_NAME)+"]";
mes "It was...";
next;
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes "It was";
mes "^3131FF"+.@input$+"^000000!";
@@ -4214,7 +4214,7 @@ OnTouch:
.@word2$ = "burapaphurarlandreamduranbatuhiwooikabamturubamdingding";
mes "^3CBCBC"+.@word1$+"^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^FF1493"+.@word2$+"^000000";
break;
@@ -4223,7 +4223,7 @@ OnTouch:
.@word2$ = "opeN,Open!op3n.openOpen0p3nOpEn0pen`open'0Pen open?open!111OPENSESAME";
mes "^3CBCBC"+.@word1$+"^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^FF1493"+.@word2$+"^000000";
break;
@@ -4232,7 +4232,7 @@ OnTouch:
.@word2$ = "hfjdkeldjsieldjshfjdjeiskdlefvbd";
mes "^3CBCBC"+.@word1$+"^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^FF1493"+.@word2$+"^000000";
break;
@@ -4241,7 +4241,7 @@ OnTouch:
.@word2$ = "LiGhTsPeEd RiGhT SPEed LeFT TURn RiGhT BuRn OrIGInAL GaNgSteR SmACk";
mes "^3CBCBC"+.@word1$+"^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^FF1493"+.@word2$+"^000000";
break;
@@ -4251,7 +4251,7 @@ OnTouch:
mes "^3CBCBCBy the power of p-po-poi-po-poi-poin-poing";
mes "GOD-POING. I NEVER LOSE!^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^FF1493"+.@word2$+"^000000";
break;
@@ -4260,7 +4260,7 @@ OnTouch:
.@word2$ = "fReeDoM eCstAcy JoUrnaLiSm ArMpIt DisCoverY hEaDaChE MoonbeAmS jUsTiCE";
mes "^3CBCBC"+.@word1$+"^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^800080"+.@word2$+"^000000";
break;
@@ -4269,12 +4269,12 @@ OnTouch:
.@word2$ = "0uNflAPPaBLe LoVaBLe SeCreTs AnD BoWLiNg aGaINST tHe KarMA of YoUtH";
mes "^3CBCBC"+.@word1$+"^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^800080"+.@word2$+"^000000";
}
next;
- input .@input2$;
+ input(.@input2$);
.@endtime = gettime(GETTIME_HOUR)*60*60+gettime(GETTIME_MINUTE)*60+gettime(GETTIME_SECOND);
.@time = .@endtime-.@startseconds;
mes "[Security System]";
@@ -4502,7 +4502,7 @@ ein_in01,31,138,3 script Calla#ein 4_F_01,{
mes "me! Would you please";
mes "tell me your name?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == strcharinfo(PC_NAME)) {
mes "[Calla]";
mes "Ah, " + strcharinfo(PC_NAME) + "!";
@@ -4520,14 +4520,12 @@ ein_in01,31,138,3 script Calla#ein 4_F_01,{
changequest 8079,808;
close;
}
- else {
- mes "[Calla]";
- mes "I'm sorry...";
- mes "I didn't catch that.";
- mes "Would you please tell";
- mes "me your name again?";
- close;
- }
+ mes "[Calla]";
+ mes "I'm sorry...";
+ mes "I didn't catch that.";
+ mes "Would you please tell";
+ mes "me your name again?";
+ close;
}
if (EIN_LOVERQ == 4) {
mes "[Calla]";
@@ -4822,7 +4820,7 @@ ein_in01,200,101,5 script Klitzer#ein 4_M_EINMAN2,{
mes "So...";
mes "What's your name?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == strcharinfo(PC_NAME)) {
mes "[Klitzer]";
mes "" + strcharinfo(PC_NAME) + "...";
@@ -4842,16 +4840,14 @@ ein_in01,200,101,5 script Klitzer#ein 4_M_EINMAN2,{
mes "likes meeting my friends.";
close;
}
- else {
- mes "[Klitzer]";
- mes "Hm...?";
- mes "Oh, don't be";
- mes "so nervous~";
- mes "But would you please";
- mes "tell me your name again?";
- mes "I couldn't hear you...";
- close;
- }
+ mes "[Klitzer]";
+ mes "Hm...?";
+ mes "Oh, don't be";
+ mes "so nervous~";
+ mes "But would you please";
+ mes "tell me your name again?";
+ mes "I couldn't hear you...";
+ close;
}
if (EIN_LOVERQ == 5) {
mes "[Klitzer]";
@@ -5141,7 +5137,7 @@ ein_in01,31,151,3 script Satra#ein 4_F_EINWOMAN,{
mes "only delivering them? Then";
mes "who actually gathered these?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Klitzer") {
mes "[Satra]";
mes "Ah, Klitzer?";
@@ -5192,14 +5188,12 @@ ein_in01,31,151,3 script Satra#ein 4_F_EINWOMAN,{
mes "occasion. Ho ho ho ho ho~";
close;
}
- else {
- mes "[Satra]";
- mes "I beg your pardon?";
- mes .@input$ + "? Oh my...";
- mes "I believe I may have";
- mes "misheard you. Ho ho ho ho~";
- close;
- }
+ mes "[Satra]";
+ mes "I beg your pardon?";
+ mes .@input$ + "? Oh my...";
+ mes "I believe I may have";
+ mes "misheard you. Ho ho ho ho~";
+ close;
}
if (EIN_LOVERQ == 12) {
mes "[Satra]";
diff --git a/npc/quests/quests_geffen.txt b/npc/quests/quests_geffen.txt
index a582bfa8e..522d96e30 100644
--- a/npc/quests/quests_geffen.txt
+++ b/npc/quests/quests_geffen.txt
@@ -306,7 +306,7 @@ geffen,122,77,4 script Nia#yagu 8_F_GIRL,{
// Guess a number that meets all conditions.
while(1) {
- if (input(.@input,100,999) != 0) {
+ if (input(.@input, 100, 999) != 0) {
mes "[Nia]";
mes "You've canceled the";
mes "Number Match game.";
diff --git a/npc/quests/quests_hugel.txt b/npc/quests/quests_hugel.txt
index 9af2ab5fc..a036cd80b 100644
--- a/npc/quests/quests_hugel.txt
+++ b/npc/quests/quests_hugel.txt
@@ -2779,7 +2779,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "[Herico]";
mes "By any chance, do you know a man who can aid his power in stopping them?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "President Karl" || .@inputstr$ == "President Weierstrass" || .@inputstr$ == "President" || .@inputstr$ == "Karl Weierstrass") {
mes "["+strcharinfo(PC_NAME)+"]";
mes "I think that I know one...";
@@ -7566,7 +7566,7 @@ L_MilkCow:
mes "you need to brush her a";
mes "certain number of times.^000000";
next;
- input .@cowbrush;
+ input(.@cowbrush);
if (.@cowbrush != getarg(1)) {
soundeffect "taming_fail.wav",0;
mes "^3355FFAwwww...";
@@ -7646,7 +7646,7 @@ L_MilkCow:
mes "song in Burupu's notes, and then tell her the correct world without";
mes "the tilde character (''~'').^000000";
next;
- input .@cowanswer$;
+ input(.@cowanswer$);
if (.@cowanswer$ == .@cowsong$) {
soundeffect "tming_success.wav",0;
mes "^3355FFSuccess!";
diff --git a/npc/quests/quests_lighthalzen.txt b/npc/quests/quests_lighthalzen.txt
index 4795110d6..a8386ed46 100644
--- a/npc/quests/quests_lighthalzen.txt
+++ b/npc/quests/quests_lighthalzen.txt
@@ -737,7 +737,7 @@ lhz_cube,234,202,0 script Picture#cube HIDDEN_NPC,{
mes "hard to move with just";
mes "brute strength alone.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Jackknife") {
mes "^3355FFYou take the";
mes "Jackknife, thrust";
@@ -817,7 +817,7 @@ lhz_cube,242,201,0 script Drawer#cube HIDDEN_NPC,{
mes "it's locked. Hopefully, you";
mes "can figure how to open it.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Red Key") {
mes "^3355FFYou insert the Red Key";
mes "into the lock and open the";
@@ -891,7 +891,7 @@ lhz_cube,237,183,0 script Barrel#cube HIDDEN_NPC,{
mes "you need something to";
mes "smash the barrel open.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Axe") {
mes "^3355FFAxe in hand, you lift";
mes "it above your head and";
@@ -924,7 +924,7 @@ lhz_cube,237,183,0 script Barrel#cube HIDDEN_NPC,{
mes "digit numbers at one time...^000000";
next;
for( $@i = 0; .@i < 9; ++.@i )
- input .@input;
+ input(.@input);
mes "^3355FFNothing happened...^000000";
close;
}
@@ -941,8 +941,9 @@ lhz_cube,237,183,0 script Barrel#cube HIDDEN_NPC,{
mes "you found inside the keg.^000000";
next;
for( $@i = 0; .@i < 9; ++.@i ) {
- input .@input;
- if (.@input == .@numbers[.@i]) .@number_line += 1;
+ input(.@input);
+ if (.@input == .@numbers[.@i])
+ .@number_line += 1;
}
if (.@number_line == 9) {
mes "^3355FFThe metal plate slides";
@@ -980,7 +981,7 @@ lhz_cube,224,192,0 script Power Generator#cube HIDDEN_NPC,{
mes "keyhole on the machine";
mes "right next to this panel.^000000";
next;
- input .@input$;
+ input(.@input$);
mes "^3355FFNothing happened.";
mes "You probably need";
mes "to find the right key to";
@@ -995,7 +996,7 @@ lhz_cube,224,192,0 script Power Generator#cube HIDDEN_NPC,{
mes "keyhole on the machine";
mes "right next to this panel.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Yellow Key") {
mes "^3355FFYou insert the";
mes "Yellow Key into the";
@@ -1264,7 +1265,7 @@ lhz_cube,247,198,0 script Bed#cube HIDDEN_NPC,{
mes "spot an object. If only you";
mes "could reach it somehow...^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Short Stick") {
mes "^3355FFYou try to reach";
mes "the object by using";
@@ -1302,7 +1303,7 @@ lhz_cube,247,198,0 script Bed#cube HIDDEN_NPC,{
mes "spot an object. If only you";
mes "could reach it somehow...^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Long Stick") {
mes "^3355FFWith Long Stick in";
mes "hand, you manage to";
@@ -1376,7 +1377,7 @@ lhz_cube,231,202,0 script Chemicals#cube HIDDEN_NPC,{
mes "corrosive chemicals";
mes "that is sitting on the ledge.^000000";
next;
- input .@input$;
+ input(.@input$);
mes "^3355FFWhatever you tried to";
mes "pour the chemicals on";
mes "wasn't affected at all.";
@@ -1390,7 +1391,7 @@ lhz_cube,231,202,0 script Chemicals#cube HIDDEN_NPC,{
mes "corrosive chemicals";
mes "that is sitting on the ledge.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Rusty Key") {
mes "^3355FFPouring the chemicals";
mes "on the Rusty Key removes";
@@ -1425,7 +1426,7 @@ lhz_cube,249,191,0 script Cabinet#cube HIDDEN_NPC,{
mes "something useful is inside?";
next;
if (select("Open", "Cancel") == 1) {
- input .@input$;
+ input(.@input$);
mes "^3355FFUnfortunately, the";
mes "cabinet has been locked.";
mes "You'll need the right key";
@@ -1439,7 +1440,7 @@ lhz_cube,249,191,0 script Cabinet#cube HIDDEN_NPC,{
mes "many drawers. Perhaps";
mes "something useful is inside?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Green Key") {
mes "^3355FFYou take the Green Key";
mes "and finds that it fits into";
@@ -1478,7 +1479,7 @@ lhz_cube,224,197,0 script Experiment Tube#cube HIDDEN_NPC,{
mes "a thin plate with a keyhole";
mes "and a card insertion slot.^000000";
next;
- input .@input$;
+ input(.@input$);
mes "^3355FFNothing happened.";
mes "You'll probably need";
mes "to find the right key for";
@@ -1494,7 +1495,7 @@ lhz_cube,224,197,0 script Experiment Tube#cube HIDDEN_NPC,{
mes "a thin plate with a keyhole";
mes "and a card insertion slot.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Black Key") {
mes "^3355FFYou insert the Black Key";
mes "into the keyhole, causing";
@@ -1524,7 +1525,7 @@ lhz_cube,224,197,0 script Experiment Tube#cube HIDDEN_NPC,{
mes "rectangular card slot";
mes "in front of the tube.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Laboratory Permit") {
if (countitem(Lab_Passport)) {
mes "^3355FFYou insert the";
@@ -1575,7 +1576,7 @@ lhz_cube,248,193,0 script Box#cube1 HIDDEN_NPC,{
mes "shaped holes.^000000";
next;
select("Oval Hole", "Cubic Hole", "Polygon Hole");
- input .@input$;
+ input(.@input$);
mes "^3355FFNothing happened.^000000";
close;
}
@@ -1588,7 +1589,7 @@ lhz_cube,248,193,0 script Box#cube1 HIDDEN_NPC,{
case 1:
if (lhz_secret01 == 9) {
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Oval") {
mes "^3355FFYou insert the Oval";
mes "into the Oval shaped";
@@ -1606,13 +1607,13 @@ lhz_cube,248,193,0 script Box#cube1 HIDDEN_NPC,{
mes "any Ovals to spare, anyway.^000000";
close;
}
- input .@input$;
+ input(.@input$);
mes "^3355FFNothing happened.^000000";
close;
case 2:
if (lhz_secret02 == 4) {
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Cube") {
mes "^3355FFYou insert the Cube";
mes "into the Cubic hole";
@@ -1634,13 +1635,13 @@ lhz_cube,248,193,0 script Box#cube1 HIDDEN_NPC,{
mes "a total waste of time.^000000";
close;
}
- input .@input$;
+ input(.@input$);
mes "^3355FFNothing happened.^000000";
close;
case 3:
if (lhz_secret03 == 3) {
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Polygon") {
mes "^3355FFFortunately, the";
mes "nondescript Polygon";
@@ -1662,7 +1663,7 @@ lhz_cube,248,193,0 script Box#cube1 HIDDEN_NPC,{
mes "as this Polygon can do for you.^000000";
close;
}
- input .@input$;
+ input(.@input$);
mes "^3355FFNothing happened.^000000";
close;
}
@@ -2829,7 +2830,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "Tell me what that fink";
mes "has to say, line by line!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Hopeless bastard!") {
mes "[Maku]";
mes "''Hopeless bastard?!''";
@@ -2838,7 +2839,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "Through somebody else";
mes "anyway! What else'd he say?!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "You're still a stubborn jerk!") {
mes "[Maku]";
mes "''Stubborn jerk?!''";
@@ -2846,7 +2847,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "bastard! Why I oughta--";
mes "Grrr! What'd he say next?!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "You owe me at least 3 lunches!") {
mes "[Maku]";
mes "Three lunches?!";
@@ -2856,7 +2857,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "know the meaning of friendship!";
mes "What else did that moron say?!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Not to mention an apology!") {
cutin "lhz_macu05",255;
mes "[Maku]";
@@ -2867,7 +2868,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "That selfish no-good stupid...";
mes "W-what else did he tell you?!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "But who cares what you think?!") {
mes "[Maku]";
mes "''Who cares what I think?!''";
@@ -2877,7 +2878,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "dumb creep! He can't possibly";
mes "make me angrier than I am now!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "I'm so goddamn happy without you!") {
friendship = 5;
cutin "lhz_macu06",2;
@@ -9071,7 +9072,7 @@ lhz_fild02,228,214,0 script Wounded Man 4_M_DIEMAN,{
mes "What... What organization";
mes "are you working for...?";
next;
- input @jargeah$;
+ input(@jargeah$);
if((@jargeah$ == "Kafra Corporation") || (@jargeah$ == "Secret Wing"))
{
mes "[Jargeah]";
@@ -9689,9 +9690,8 @@ OnTouch:
mes "password to open the door.^000000";
next;
while (true) {
- input @sneakpass;
- if(@sneakpass == 738495)
- {
+ input(@sneakpass);
+ if (@sneakpass == 738495) {
mes "^3355FF*Beep~*";
mes "You hear a pleasant";
mes "sounding electronic chirp,";
@@ -9822,7 +9822,7 @@ lhz_in01,182,35,0 script File Search Engine HIDDEN_NPC,{
mes "Please do not use";
mes "capital letters.^000000";
next;
- input @sneaksearch$;
+ input(@sneaksearch$);
if((@sneaksearch$ == "kafra") || (@sneaksearch$ == "cool event"))
{
mes "^663300[Search Result]";
@@ -10327,7 +10327,7 @@ sec_in02,17,170,4 script boss::lght_boss_admin 1_M_SIGNMONK,{
case 1:
break;
case 2:
- input .@input,0,1000;
+ input(.@input, 0, 1000);
lght_boss = .@input;
break;
case 3:
diff --git a/npc/quests/quests_louyang.txt b/npc/quests/quests_louyang.txt
index 03816faf2..f5edbd744 100644
--- a/npc/quests/quests_louyang.txt
+++ b/npc/quests/quests_louyang.txt
@@ -658,7 +658,7 @@ lou_fild01,175,173,3 script Jiu Lian Bu#1-2 4_M_CHN8GUEK,{
mes "Ready~!";
mes "Say it out loud!";
next;
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes .@input$;
mapannounce "lou_fild01","'"+strcharinfo(PC_NAME)+"' shouts : "+.@input$,bc_map,"0x9CFF00";
@@ -683,7 +683,7 @@ lou_fild01,175,173,3 script Jiu Lian Bu#1-2 4_M_CHN8GUEK,{
mes "Alright~!";
mes "Say it out loud!";
next;
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes .@input$;
mapannounce "lou_fild01","'"+strcharinfo(PC_NAME)+"' shouts : "+.@input$,bc_map,"0x9CFF00";
@@ -1856,7 +1856,7 @@ lou_in02,210,47,0 script City Hall Officer#lou 4_M_CHNSOLDIER,{
mes "Nothing of importance. Now, I'm very busy, so if you would go fill the application over there...";
close;
}
- input .@input;
+ input(.@input);
if (.@input < 10000) {
mes "[Jin Chiyuan]";
mes "Good lord,";
@@ -2070,7 +2070,7 @@ lou_in02,156,38,0 script Studying Officer#lou 4_M_CHNMAN,{
mes "So what kind of document";
mes "did you need?";
next;
- input .@input$;
+ input(.@input$);
switch (ch_par) {
case 11:
if (.@input$ == "Residence Transfer Application")
@@ -2686,7 +2686,7 @@ lou_in02,123,39,4 script Poison King#lou 4_M_CHNOLD,{
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "Yeah, I've got some news you might be interested in.";
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"";
next;
@@ -2710,7 +2710,7 @@ lou_in02,123,39,4 script Poison King#lou 4_M_CHNOLD,{
mes "[Nagash Arses]";
mes "I just told you what 'Canine of Desert' is. Now you tell me what it is. If you were listening, you would be able to.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Assassin Organization" || .@input$ == "Assassin" || .@input$ == "Assassins") {
mes "[Nagash Arses]";
mes "Correct. You listened to me very well. They are Assassins. Assassins that were abandoned by society.";
@@ -2843,7 +2843,7 @@ lou_in02,123,39,4 script Poison King#lou 4_M_CHNOLD,{
mes "["+strcharinfo(PC_NAME)+"]";
mes "I have news";
mes "of Morroc...";
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"";
next;
@@ -2862,7 +2862,7 @@ lou_in02,123,39,4 script Poison King#lou 4_M_CHNOLD,{
mes "[Nagash Arses]";
mes "I just told you what 'Canine of Desert.' If you can't remember what I just told you, it's no use for me to explain further. You go ahead and tell me what it is.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Assassin Organization" || .@input$ == "Assassin" || .@input$ == "Assassins") {
mes "[Nagash Arses]";
mes "Correct. You listened to me very well. They are Assassins. Assassins that were abandoned by society.";
@@ -3449,7 +3449,7 @@ lou_in02,253,45,0 script Employee#poison 4_M_CHNMAN,{
mes "What did";
mes "you just say...?";
next;
- input .@input$;
+ input(.@input$);
mes "[Song Zhi Du]";
mes ""+.@input$+"...?";
next;
@@ -4158,7 +4158,7 @@ lou_fild01,224,348,0 script Lady#delivery 4_F_CHNDRESS3,{
mes "Please tell me";
mes "his name.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Song Zhi Du") {
mes "[Lady]";
mes "Oh, I see.";
diff --git a/npc/quests/quests_morocc.txt b/npc/quests/quests_morocc.txt
index 592711c24..2700244d5 100644
--- a/npc/quests/quests_morocc.txt
+++ b/npc/quests/quests_morocc.txt
@@ -1887,6 +1887,7 @@ OnTimer25000:
end;
OnDisable:
+ stopnpctimer;
disablenpc "Satan Broadcast#edq";
end;
}
@@ -1912,20 +1913,11 @@ moc_fild21,178,239,0 script Group of Evil#edq CLEAR_NPC,1,1,{
mes "You can feel the power of the darkness rise from the gap where light and darkness are mingled.";
close;
}
-
-OnInit:
- enablenpc "Group of Evil#edq";
- end;
-
+
OnEnable:
enablenpc "Group of Evil#edq";
$@re_moc_time$ = "";
end;
-
-OnDisable:
- disablenpc "Group of Evil#edq";
- donpcevent "Time-Space Gap#edq::OnEnable";
- end;
}
moc_fild21,177,239,0 script Time-Space Gap#edq CLEAR_NPC,1,1,{
@@ -1968,8 +1960,6 @@ OnTimer1800000:
end;
OnTimer21600000:
- stopnpctimer;
- $@re_moc = 0;
donpcevent "Time-Space Gap#edq::OnDisable";
end;
}
@@ -1998,7 +1988,9 @@ OnMyMobDead:
mapannounce "moc_fild21","I'll let live just a little longer. You'll never find me through this time-space gap!",bc_map,"0xFFFF00";
donpcevent "Time-Space Gap#edq::OnEnable";
donpcevent "Satan Broadcast#edq::OnDisable";
- donpcevent "Group of Evil#edq::OnDisable";
+ disablenpc "Group of Evil#edq";
+ stopnpctimer;
+ killmonster "moc_fild21","Satan Summon#edq::OnMyMobDead";
disablenpc "Satan Summon#edq";
end;
@@ -2008,9 +2000,6 @@ OnTimer5400000:
OnTimer5415000:
mapannounce "moc_fild21","I don't have time for this! Go away!",bc_map,"0xFFFF00";
- stopnpctimer;
- killmonster "moc_fild21","Satan Summon#edq::OnMyMobDead";
- $@re_moc = 0;
donpcevent "Satan Summon#edq::OnDisable";
end;
}
@@ -2444,7 +2433,7 @@ prt_in,179,92,3 script Library Curator#garas 1_M_LIBRARYMASTER,{
mes "[Curator Guys]";
mes "Oh, do you know the title?";
mes "Sure, now what's the name?";
- input .@input$;
+ input(.@input$);
next;
if (compare(.@input$,"The Crow of the Fate") == 1) {
mes "[Curator Guys]";
@@ -2462,7 +2451,7 @@ prt_in,179,92,3 script Library Curator#garas 1_M_LIBRARYMASTER,{
mes "[Curator Guys]";
mes "Oh, do you know the author?";
mes "Sure, now what's the name?";
- input .@input$;
+ input(.@input$);
next;
if (compare(.@input$,"Oliver Hilpert") == 1) {
mes "[Curator Guys]";
@@ -2481,7 +2470,7 @@ prt_in,179,92,3 script Library Curator#garas 1_M_LIBRARYMASTER,{
mes "You must be having a hard time remembering the book's title or author.";
mes "No problem; why don't you tell me at least a little bit of what you remember?";
next;
- input .@input$;
+ input(.@input$);
if ((compare(.@input$,"Fate") == 1) || (compare(.@input$,"Crow") == 1) || (compare(.@input$,"Oliver") == 1) || (compare(.@input$,"Hilpert") == 1)) {
mes "[Curator Guys]";
mes ""+.@input$+"...?";
@@ -3901,7 +3890,7 @@ cave,82,97,3 script Cave Settler#g1 4_M_CAVE1,3,3,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "I'm here to find somebody!";
- input .@input$;
+ input(.@input$);
mes "Her name is ^FF0000"+.@input$+"^000000!";
next;
if (compare(.@input$,"Eva") == 0) {
@@ -3911,43 +3900,41 @@ cave,82,97,3 script Cave Settler#g1 4_M_CAVE1,3,3,{
warp "cave",81,92;
end;
}
- else {
- mes "[Cave Settler]";
- mes "............!!!!";
- next;
- mes "[Cave Settler]";
- mes "Did you just say Eva?";
- mes "Hmm...";
- mes "Wait here.";
- next;
- emotion e_com;
- mes "[Cave Settler]";
- mes "Hey, Jaeda!";
- enablenpc "Jaeda#garas1";
- next;
- mes "[Cave Settler]";
- mes "Go upstairs, and tell Eva that she has a visitor.";
- disablenpc "Jaeda#garas1";
- next;
- mes "^660000Surprisingly, he seemed to know who Eva is. You still could not believe that she actually exists! It's all so very strange.^000000";
- next;
- mes "^660000You can feel the excitement and anticipation well within you. Maybe you're coming closer to learning what your dreams really mean.^000000";
- enablenpc "Jaeda#garas1";
- next;
- mes "[Cave Settler]";
- mes "Hmm... Yeah? I see.";
- next;
- disablenpc "Jaeda#garas1";
- mes "[Cave Settler]";
- mes "Hey, you can pass. Go upstairs, but you'd better think twice before trying anything funny. Do you understand me?";
- next;
- mes "^660000The stern-looking man examined you, and then stepped to the side, allowing you to pass.";
- mes "You clenched your fists in nervousness, and then started up the dark stairwell.^000000";
- barmunt_crow = 9;
- close2;
- warp "cave",82,105;
- end;
- }
+ mes "[Cave Settler]";
+ mes "............!!!!";
+ next;
+ mes "[Cave Settler]";
+ mes "Did you just say Eva?";
+ mes "Hmm...";
+ mes "Wait here.";
+ next;
+ emotion e_com;
+ mes "[Cave Settler]";
+ mes "Hey, Jaeda!";
+ enablenpc "Jaeda#garas1";
+ next;
+ mes "[Cave Settler]";
+ mes "Go upstairs, and tell Eva that she has a visitor.";
+ disablenpc "Jaeda#garas1";
+ next;
+ mes "^660000Surprisingly, he seemed to know who Eva is. You still could not believe that she actually exists! It's all so very strange.^000000";
+ next;
+ mes "^660000You can feel the excitement and anticipation well within you. Maybe you're coming closer to learning what your dreams really mean.^000000";
+ enablenpc "Jaeda#garas1";
+ next;
+ mes "[Cave Settler]";
+ mes "Hmm... Yeah? I see.";
+ next;
+ disablenpc "Jaeda#garas1";
+ mes "[Cave Settler]";
+ mes "Hey, you can pass. Go upstairs, but you'd better think twice before trying anything funny. Do you understand me?";
+ next;
+ mes "^660000The stern-looking man examined you, and then stepped to the side, allowing you to pass.";
+ mes "You clenched your fists in nervousness, and then started up the dark stairwell.^000000";
+ barmunt_crow = 9;
+ close2;
+ warp "cave",82,105;
+ end;
}
}
else if (barmunt_crow < 8) {
@@ -3989,7 +3976,7 @@ OnTouch:
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "I'm here to find somebody!";
- input .@input$;
+ input(.@input$);
mes "Her name is ^FF0000"+.@input$+"^000000!";
next;
if (compare(.@input$,"Eva") == 0) {
@@ -3999,43 +3986,41 @@ OnTouch:
warp "cave",81,92;
end;
}
- else {
- mes "[Cave Settler]";
- mes "............!!!!";
- next;
- mes "[Cave Settler]";
- mes "Did you just say Eva?";
- mes "Hmm...";
- mes "Wait here.";
- next;
- emotion e_com;
- mes "[Cave Settler]";
- mes "Hey, Jaeda!";
- enablenpc "Jaeda#garas1";
- next;
- mes "[Cave Settler]";
- mes "Go upstairs, and tell Eva that she has a visitor.";
- disablenpc "Jaeda#garas1";
- next;
- mes "^660000Surprisingly, he seemed to know who Eva is. You still could not believe that she actually exists! It's all so very strange.^000000";
- next;
- mes "^660000You can feel the excitement and anticipation well within you. Maybe you're coming closer to learning what your dreams really mean.^000000";
- enablenpc "Jaeda#garas1";
- next;
- mes "[Cave Settler]";
- mes "Hmm... Yeah? I see.";
- next;
- disablenpc "Jaeda#garas1";
- mes "[Cave Settler]";
- mes "Hey, you can pass. Go upstairs, but you'd better think twice before trying anything funny. Do you understand me?";
- next;
- mes "^660000The stern-looking man examined you, and then stepped to the side, allowing you to pass.";
- mes "You clenched your fists in nervousness, and then started up the dark stairwell.^000000";
- barmunt_crow = 9;
- close2;
- warp "cave",82,105;
- end;
- }
+ mes "[Cave Settler]";
+ mes "............!!!!";
+ next;
+ mes "[Cave Settler]";
+ mes "Did you just say Eva?";
+ mes "Hmm...";
+ mes "Wait here.";
+ next;
+ emotion e_com;
+ mes "[Cave Settler]";
+ mes "Hey, Jaeda!";
+ enablenpc "Jaeda#garas1";
+ next;
+ mes "[Cave Settler]";
+ mes "Go upstairs, and tell Eva that she has a visitor.";
+ disablenpc "Jaeda#garas1";
+ next;
+ mes "^660000Surprisingly, he seemed to know who Eva is. You still could not believe that she actually exists! It's all so very strange.^000000";
+ next;
+ mes "^660000You can feel the excitement and anticipation well within you. Maybe you're coming closer to learning what your dreams really mean.^000000";
+ enablenpc "Jaeda#garas1";
+ next;
+ mes "[Cave Settler]";
+ mes "Hmm... Yeah? I see.";
+ next;
+ disablenpc "Jaeda#garas1";
+ mes "[Cave Settler]";
+ mes "Hey, you can pass. Go upstairs, but you'd better think twice before trying anything funny. Do you understand me?";
+ next;
+ mes "^660000The stern-looking man examined you, and then stepped to the side, allowing you to pass.";
+ mes "You clenched your fists in nervousness, and then started up the dark stairwell.^000000";
+ barmunt_crow = 9;
+ close2;
+ warp "cave",82,105;
+ end;
}
}
else if (barmunt_crow < 8) {
diff --git a/npc/quests/quests_moscovia.txt b/npc/quests/quests_moscovia.txt
index e49886dbd..130b497cf 100644
--- a/npc/quests/quests_moscovia.txt
+++ b/npc/quests/quests_moscovia.txt
@@ -2903,7 +2903,7 @@ mosk_in,148,274,1 script Anna#mos 4_F_RUSCHILD,{
mes "["+strcharinfo(PC_NAME)+"]";
mes "What am I going to ask her?";
next;
- input .@AnnaInfo$;
+ input(.@AnnaInfo$);
mes "["+strcharinfo(PC_NAME)+"]";
mes "Anna,";
mes ""+.@AnnaInfo$+"?";
@@ -3995,8 +3995,8 @@ moscovia,208,182,7 script Acorn Dealer#mos 4_M_RUSMAN1,{
mes "I'll bet you that they are very fresh!";
mes "How many acorns do you need?";
next;
- while(.@input <= 0 || .@input > 500) {
- input .@input;
+ while (true) {
+ input(.@input);
if (.@input <= 0) {
mes "[Acorn Dealer]";
mes "Do you want to cancel this trade?";
@@ -4006,7 +4006,9 @@ moscovia,208,182,7 script Acorn Dealer#mos 4_M_RUSMAN1,{
mes "[Acorn Dealer]";
mes "You can't buy more than 500.";
next;
+ continue;
}
+ break;
}
if (!checkweight(Acorn, .@input)) {
mes "[Acorn Dealer]";
@@ -5349,7 +5351,7 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
mes "Ok, I will stir it up this time.";
mes "How many times should I..?";
next;
- input .@input;
+ input(.@input);
if (.@input == 20) {
mes "-It must be 20 times.-";
next;
@@ -5361,7 +5363,7 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
++.@maho;
++.@nankai;
next;
- } else if (!.@input) {
+ } else if (.@input <= 0) {
mes "-I won't stir it up.-";
next;
} else if (.@input > 100) {
@@ -5453,7 +5455,7 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
mes "Ok, I will stir it up this time.";
mes "How many times should I...?";
next;
- input .@input;
+ input(.@input);
if (.@input == 15) {
mes "-It must be 15 times.-";
next;
@@ -5463,7 +5465,7 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
++.@maho;
++.@nankai;
next;
- } else if (.@input == 0) {
+ } else if (.@input <= 0) {
mes "-I won't stir it up.-";
next;
} else if (.@input > 100) {
@@ -7070,7 +7072,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "Listen very carefully!";
mes "Left the key up, and shout '^0000ffThe Free wind blows and gets you wherever you want^000000'.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "The Free wind blows and gets you wherever you want") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes "^0000ff "+ .@input$ +" !! ^000000";
@@ -7778,7 +7780,7 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 4_M_05,{
mes "[Vassili Grandpapa]";
mes "Eh? What do you want to ask me about?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Red Ring") {
mes "[Vassili Grandpapa]";
mes "Red Ring?! Why are you looking for that?";
@@ -8126,7 +8128,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
mes "Ah, I forgot asking you.";
mes "Why are you here?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Red Ring") {
mes "[Ryubaba]";
mes "A Red Ring?!";
@@ -9036,7 +9038,7 @@ prontera,228,279,3 script Wanderer#rus24 4_M_RUSMAN2,{
mes "Ah, yes. I have been there...";
mes "By the way, the important thing is.. are you.....";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Igor") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, yes. I have been there...";
@@ -9692,7 +9694,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Eh, eh.. I mean.. I say.. spell...";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Spellshield Protection") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Eh, eh.. I mean.. I say.. spell...";
@@ -10225,19 +10227,22 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "How many do you want me to make? I can only make 100 at a time. If you don't want any, then just say '0'. Kehehehehe.";
next;
while(1) {
- input .@input;
- if (!.@input) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Baba Yaga]";
mes "You don't want it?";
next;
mes "[Baba Yaga]";
mes "I don't understand you. What do you want? Kehehehehe.";
close;
- } else if (.@input > 100) {
+ }
+ if (.@input > 100) {
mes "[Baba Yaga]";
mes "I said no more then 100 at a time. Kehehehehe.";
next;
- } else break;
+ continue;
+ }
+ break;
}
.@redpotion_send = .@input;
.@redtube_send = .@input;
@@ -10312,19 +10317,22 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "How many do you want me to make? Tell me the number less than 100. If you don't want, tell me zero. Kehehehehe.";
next;
while(1) {
- input .@input;
- if (!.@input) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Baba Yaga]";
mes "You don't want it?";
next;
mes "[Baba Yaga]";
mes "I don't understand you. What do you want? Kehehehehe.";
close;
- } else if (.@input > 100) {
+ }
+ if (.@input > 100) {
mes "[Baba Yaga]";
mes "I said no more then 100 at a time. Kehehehehe.";
next;
- } else break;
+ continue;
+ }
+ break;
}
.@yellpotion_send = .@input;
.@yelltube_send = .@input;
@@ -10437,7 +10445,7 @@ OnTouch:
if (rand(1,4) == 3) {
mes "- You almost get hit and dodge its attack and cast the spell !! -";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Good feed is orange-flavored") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!!";
@@ -10536,7 +10544,7 @@ OnTouch:
if (rand(1,4) == 3) {
mes "- You almost get hit and dodge its attack and cast the spell !! -";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Good feed is orange-flavored") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!!";
@@ -10636,7 +10644,7 @@ OnTouch:
if (rand(1,4) == 3) {
mes "- You almost get hit and dodge its attack and cast the spell !! -";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Good feed is orange-flavored") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!!";
@@ -11182,7 +11190,7 @@ amatsu,233,234,3 script Momotoro Publisher#rus42 4_F_JPN2,{
mes "[Momotoro Publisher]";
mes "What? Ah, did you come here to pick up the book? Please, let me know your name?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Baba Yaga") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes "I am "+ .@input$ +".";
@@ -11643,7 +11651,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "Ok then, who was the first?!";
next;
.@rus_kafra01 = 0;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Curly Sue") {
++.@rus_kafra01;
mes "["+ strcharinfo(PC_NAME) +"]";
@@ -11658,7 +11666,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "[Ghost Tree]";
mes "Who was the second?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Jasmine") {
++.@rus_kafra01;
mes "["+ strcharinfo(PC_NAME) +"]";
@@ -11673,7 +11681,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "[Ghost Tree]";
mes "Who was the third?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Roxie") {
++.@rus_kafra01;
mes "["+ strcharinfo(PC_NAME) +"]";
@@ -11688,7 +11696,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "[Ghost Tree]";
mes "And then who was the forth?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Pavianne") {
++.@rus_kafra01;
mes "["+ strcharinfo(PC_NAME) +"]";
@@ -11703,7 +11711,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "[Ghost Tree]";
mes "And who was the last?!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Blossom") {
++.@rus_kafra01;
mes "["+ strcharinfo(PC_NAME) +"]";
@@ -11768,7 +11776,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "[Ghost Tree]";
mes "Have you heard all of them? Who broke the 'Hat of the Sun God'?!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Antonio") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!";
diff --git a/npc/quests/quests_nameless.txt b/npc/quests/quests_nameless.txt
index 55f5c319c..69c0ad902 100644
--- a/npc/quests/quests_nameless.txt
+++ b/npc/quests/quests_nameless.txt
@@ -1494,13 +1494,13 @@ sec_in02,15,15,4 script boss::boss_aru_monas 1_M_SIGNMONK,{
mes ""+aru_monas;
close;
case 2:
- input .@input,0,1000;
+ input(.@input, 0, 1000);
aru_monas = .@input;
mes " ";
mes ""+aru_monas;
close;
case 3:
- input .@input,0,1000;
+ input(.@input, 0, 1000);
prt_curse = .@input;
mes " ";
mes ""+prt_curse;
@@ -3873,7 +3873,7 @@ cmd_fild01,55,160,0 script Heap of Earth CLEAR_NPC,{
mes "Mystic Heater de Elegance";
mes "operates? Hmm? Well?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "3 Centrifuge Wavelength Theory") {
mes "[Dorian]";
mes "That's right. My apologies.";
@@ -3917,16 +3917,14 @@ cmd_fild01,55,160,0 script Heap of Earth CLEAR_NPC,{
diamond_edq = 9;
close;
}
- else {
- mes "[Dorian]";
- mes "Oh? You sound dissatisfied";
- mes "with my explanation. Well...";
- mes "I surely can't let you use the";
- mes "machine unless you fathom";
- mes "how it works. Otherwise,";
- mes "you just might break it.";
- close;
- }
+ mes "[Dorian]";
+ mes "Oh? You sound dissatisfied";
+ mes "with my explanation. Well...";
+ mes "I surely can't let you use the";
+ mes "machine unless you fathom";
+ mes "how it works. Otherwise,";
+ mes "you just might break it.";
+ close;
case 2:
mes "[Dorian]";
mes "Were you too bored while";
@@ -6884,7 +6882,7 @@ in_rogue,359,116,3 script Marybell 4_F_ROGUE,{
mes "Come a little closer,";
mes "and talk right in my ear.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "The dawn is yet to come.") {
mes "[Marybell]";
mes "Valdes sent you?!";
@@ -7387,8 +7385,8 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
while(1) {
.@number = rand(1,2);
- input .@input$;
- if (((.@input$ == "Odd") && (.@number == 1)) || ((.@input$ == "Even") && (.@number == 2))) {
+ input(.@input$);
+ if ((.@input$ == "Odd" && .@number == 1) || (.@input$ == "Even" && .@number == 2)) {
++.@number_right;
mes "[Moonho Ahn]";
mes "^0000ff"+.@input$+"^000000?";
@@ -7401,7 +7399,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
}
}
- else if (((.@input$ == "Odd") && (.@number == 2)) || ((.@input$ == "Even") && (.@number == 1))) {
+ else if ((.@input$ == "Odd" && .@number == 2) || (.@input$ == "Even" && .@number == 1)) {
++.@number_false;
mes "[Moonho Ahn]";
mes "Well, it's ^0000FFEven^000000.";
@@ -7434,7 +7432,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
break;
}
- if ((.@input$ != "Even") && (.@input$ !="Odd")) {
+ if (.@input$ != "Even" && .@input$ !="Odd") {
mes "[Moonho Ahn]";
mes "You can only declare";
mes "your guess as ^0000FFOdd^000000 or ^0000FFEven^000000.";
@@ -7626,8 +7624,8 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
while(1) {
.@number = rand(1,2);
- input .@input$;
- if (((.@input$ == "Odd") && (.@number == 1)) || ((.@input$ == "Even") && (.@number == 2))) {
+ input(.@input$);
+ if ((.@input$ == "Odd" && .@number == 1) || (.@input$ == "Even" && .@number == 2)) {
++.@number_right_3;
mes "[Moonho Ahn]";
mes "^0000FF"+.@input$+"^000000?";
@@ -7640,7 +7638,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
}
}
- else if (((.@input$ == "Odd") && (.@number == 2)) || ((.@input$ == "Even") && (.@number == 1))) {
+ else if ((.@input$ == "Odd" && .@number == 2) || (.@input$ == "Even" && .@number == 1)) {
++.@number_false_3;
mes "[Moonho Ahn]";
mes "Well, it's ^0000FF"+.@input$+"^000000.";
@@ -7668,7 +7666,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
break;
}
- if ((.@input$ != "Even") && (.@input$ !="Odd")) {
+ if (.@input$ != "Even" && .@input$ !="Odd") {
mes "[Moonho Ahn]";
mes "You can only declare";
mes "your guess as ^0000FFOdd^000000 or ^0000FFEven^000000.";
@@ -8559,7 +8557,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "Well, I guess";
mes "I should talk to it. Um...";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Weii arr prowd Z G gna") {
mes "[Odd Slab]";
mes "^FF0000*Creak Creak*";
@@ -8571,7 +8569,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "I must be doing alright.";
mes "Now what do I say?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Aynoen hwo sspotp uys") {
mes "[Odd Slab]";
mes "^FF0000*Creak Creak*";
@@ -8581,7 +8579,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "Heh! I'm on the right";
mes "track. Now what do I say?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "wlil eb kckide on htier ssa!") {
mes "[Odd Slab]";
mes "*Creak Creak*";
@@ -10169,11 +10167,11 @@ moc_fild18,108,116,0 script #treasure CLEAR_NPC,{
mes "to remove the chest's magical";
mes "protection to get the treasure.^000000";
next;
- input .@input$;
+ input(.@input$);
getpartymember(getcharid(CHAR_ID_PARTY));
.@partymembercount = $@partymembercount;
if (.@partymembercount > 1) {
- if (((.@input$ == "OpenSesame") && (treasure_nd == 9)) || ((.@input$ == "UnlockTreasure") && (treasure_nd == 10))) {
+ if ((.@input$ == "OpenSesame" && treasure_nd == 9) || (.@input$ == "UnlockTreasure" && treasure_nd == 10)) {
mes "^3355FFThe Z Gang must have split";
mes "the spell document in two";
mes "parts because one person";
diff --git a/npc/quests/quests_niflheim.txt b/npc/quests/quests_niflheim.txt
index 37beaed06..179b41f77 100644
--- a/npc/quests/quests_niflheim.txt
+++ b/npc/quests/quests_niflheim.txt
@@ -117,7 +117,7 @@ nif_in,105,81,3 script Crayu#nif 4_M_NFDEADMAN2,{
break;
}
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == .@songline$) {
mes "[Crayu]";
mes "Excellent...!";
@@ -135,15 +135,13 @@ nif_in,105,81,3 script Crayu#nif 4_M_NFDEADMAN2,{
mes "you have done for me.";
close;
}
- else {
- mes "[Crayu]";
- mes "*Sigh*... If you had only";
- mes "listened to me, it would";
- mes "have been easy to answer.";
- mes "Try to remember the line";
- mes "and try again!";
- close;
- }
+ mes "[Crayu]";
+ mes "*Sigh*... If you had only";
+ mes "listened to me, it would";
+ mes "have been easy to answer.";
+ mes "Try to remember the line";
+ mes "and try again!";
+ close;
}
next;
mes "[Crayu]";
diff --git a/npc/quests/quests_prontera.txt b/npc/quests/quests_prontera.txt
index b2fefb3cf..f2743233b 100644
--- a/npc/quests/quests_prontera.txt
+++ b/npc/quests/quests_prontera.txt
@@ -1043,7 +1043,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
mes "^FF0000*swallowed the serpent.*^000000";
mes "......................";
next;
- input .@answer$;
+ input(.@answer$);
if (.@answer$ == "Then the eagle built its nest.") {
mes "[Historian Rodafrian]";
mes "Really? That makes";
@@ -1078,7 +1078,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
mes "that you heard from Karlomoff.^000000";
next;
mes "["+strcharinfo(PC_NAME)+"]";
- input .@line$;
+ input(.@line$);
if (.@line$ == "The great serpent swallowed the sea.") {
.@total += 1;
mes "*The great serpent*";
@@ -1086,7 +1086,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
}
else mes "* "+.@line$+"*";
- input .@line$;
+ input(.@line$);
if (.@line$ == "The eagle of the rainbow swallowed the serpent.") {
.@total += 1;
mes "*The eagle of the rainbow*";
@@ -1094,14 +1094,14 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
}
else mes "*"+.@line$+"*";
- input .@line$;
+ input(.@line$);
if (.@line$ == "Then the eagle built its nest.") {
.@total += 1;
mes "*Then the eagle built its nest.*";
}
else mes "*"+.@line$+"*";
- input .@line$;
+ input(.@line$);
if (.@line$ == "A nest upon the swallowed sea.") {
.@total += 1;
mes "*A nest upon the swallowed sea.*";
@@ -1514,7 +1514,7 @@ mjolnir_01,135,168,3 script Historian#prt03 4_M_SAGE_A,{
S_Song:
mes "["+strcharinfo(PC_NAME)+"]";
- input .@line$;
+ input(.@line$);
if (.@line$ == "The great serpent swallowed the sea.") {
.@total += 1;
mes "*The great serpent*";
@@ -1522,7 +1522,7 @@ S_Song:
}
else mes "*"+.@line$+"*";
- input .@line$;
+ input(.@line$);
if (.@line$ == "The eagle of the rainbow swallowed the serpent.") {
.@total += 1;
mes "*The eagle of the rainbow*";
@@ -1530,11 +1530,11 @@ S_Song:
}
else mes "*"+.@line$+"*";
- input .@line$;
+ input(.@line$);
if (.@line$ == "Then the eagle built its nest.") .@total += 1;
mes "*"+.@line$+"*";
- input .@line$;
+ input(.@line$);
if (.@line$ == "A nest upon the swallowed sea.") .@total += 1;
mes "*"+.@line$+"*";
diff --git a/npc/quests/quests_rachel.txt b/npc/quests/quests_rachel.txt
index 1cc002d80..a0905a3e4 100644
--- a/npc/quests/quests_rachel.txt
+++ b/npc/quests/quests_rachel.txt
@@ -1803,7 +1803,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "long time. What the heck do you";
mes "want to ask me about, anyway?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Lighthalzen") {
mes "[Katinshuell]";
mes "Lighthalzen...?";
@@ -2222,7 +2222,7 @@ rachel,73,244,3 script Lachellen 4_F_SHABBY,{
mes "so I'll help you if you have";
mes "any questions for me~";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Lighthalzen") {
mes "[Lachellen]";
mes "Lighthalzen? Oh, that's";
@@ -5468,7 +5468,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "Isn't the scientist's name...";
- input .@input$;
+ input(.@input$);
mes "^3131FF"+.@input$+"^000000?";
next;
if (.@input$ == "Varmunt") {
@@ -5961,7 +5961,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "for protecting peace here";
mes "in Arunafeltz?";
next;
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"?";
next;
@@ -6890,7 +6890,7 @@ ra_temsky,99,99,5 script Pope#rachel 4_F_ARUNA_POP,{
mes "So... Um... Where do you";
mes "come from, "+strcharinfo(PC_NAME)+"?";
next;
- input @input$;
+ input(@input$);
mes "[Pope]";
mes @input$ +"...?";
mes "I think I might have heard";
@@ -6898,7 +6898,7 @@ ra_temsky,99,99,5 script Pope#rachel 4_F_ARUNA_POP,{
mes "Wow... What did you do";
mes "when you lived there?";
next;
- input @input$;
+ input(@input$);
mes "[Pope]";
mes @input$ +"...?";
mes "Wow, that sounds quite";
@@ -6988,7 +6988,7 @@ ra_temsky,99,99,5 script Pope#rachel 4_F_ARUNA_POP,{
mes "interesting stories about";
mes "the outside world again?";
next;
- input .@input$;
+ input(.@input$);
mes "[Pope]";
mes "Mm. That sounds pretty";
mes "strange to me. Well, it's";
diff --git a/npc/quests/quests_umbala.txt b/npc/quests/quests_umbala.txt
index 6fc89a0cf..e23089698 100644
--- a/npc/quests/quests_umbala.txt
+++ b/npc/quests/quests_umbala.txt
@@ -554,22 +554,21 @@ um_in,44,71,2 script Utan Shaman 4_F_UMOLDWOMAN,{
mes "this request, enter '0.'";
next;
while(1) {
- input .@input,0,10;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Puchuchartan]";
mes "I see. It's your call.";
mes "Come back when you need me.";
close;
}
- else if (.@input > 9) {
+ if (.@input > 9) {
mes "[Puchuchartan]";
mes "Remember to choose a number";
mes "from 1 to 9.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
mes "[Puchuchartan]";
switch(.@success) {
@@ -707,124 +706,117 @@ um_in,44,71,2 script Utan Shaman 4_F_UMOLDWOMAN,{
mes "to divide. I can only";
mes "divide up to 10 at a time.";
next;
- input .@input,0,11;
- if ((.@input > 0) && (.@input < 11)) {
- if (countitem(.@divide) >= .@input) {
- if (checkweight(Spawn,(.@input * 30)) == 0) {
+ input(.@input);
+ if (.@input <= 0 || .@input > 10) {
+ mes "[Puchuchartan]";
+ mes "Hm? You need to enter";
+ mes "a number from 1 to 10.";
+ close;
+ }
+ if (countitem(.@divide) >= .@input) {
+ if (checkweight(Spawn,(.@input * 30)) == 0) {
+ mes "[Puchuchartan]";
+ mes "You're carrying too";
+ mes "many items right now.";
+ mes "Put some of your stuff";
+ mes "in Kafra Storage, and then";
+ mes "come back to me, okay?";
+ close;
+ }
+ mes "[Puchuchartan]";
+ mes "I'll try to revert these";
+ mes "enchanted stones to their";
+ mes "rough forms. Enter a number";
+ mes "from 1 to 9, or enter 0 if";
+ mes "you decide to cancel.";
+ next;
+ while(1) {
+ input(.@input2);
+ if (.@input2 <= 0) {
mes "[Puchuchartan]";
- mes "You're carrying too";
- mes "many items right now.";
- mes "Put some of your stuff";
- mes "in Kafra Storage, and then";
- mes "come back to me, okay?";
+ mes "You want to cancel?";
+ mes "Well, if you change your";
+ mes "mind, feel free to come";
+ mes "ask me to help at any time.";
close;
}
- mes "[Puchuchartan]";
- mes "I'll try to revert these";
- mes "enchanted stones to their";
- mes "rough forms. Enter a number";
- mes "from 1 to 9, or enter 0 if";
- mes "you decide to cancel.";
- next;
- while(1) {
- input .@input2,0,10;
- if (.@input2 == 0) {
- mes "[Puchuchartan]";
- mes "You want to cancel?";
- mes "Well, if you change your";
- mes "mind, feel free to come";
- mes "ask me to help at any time.";
- close;
- }
- else if (.@input2 > 9) {
- mes "[Puchuchartan]";
- mes "Hm? You need to enter";
- mes "a number from 1 to 9.";
- next;
- }
- else {
- break;
- }
- }
- mes "[Puchuchartan]";
- mes "I will now chant the";
- mes "sacred words. Remember";
- mes "the number you entered!";
- next;
- mes "[Puchuchartan]";
- mes "Umba Umba Kalapum! Umba! Ta!";
- mes "Lukura Ukulele Um! Umba! Ka!";
- mes "Abulaka Tabulakan! Umba! La!";
- mes "Ombaludu Zan Kunu! Umba! Ku!";
- mes "Kum Tum Lakulakun! Umba! Ha!";
- next;
- mes "[Puchuchartan]";
- mes "Here's the rough enchanted stones";
- mes "you wished to have. I created this";
- mes "with a lot of effort, so make good";
- mes "use of them.";
- while(1) {
- if (.@sha_man == .@input) {
- break;
- }
- else {
- .@shaman_max += rand(6,10);
- ++.@sha_man;
- }
- }
- switch(.@divide) {
- case 994:
- getitem Boody_Red,.@shaman_max;
- break;
- case 995:
- getitem Crystal_Blue,.@shaman_max;
- break;
- case 996:
- getitem Wind_Of_Verdure,.@shaman_max;
- break;
- case 997:
- getitem Yellow_Live,.@shaman_max;
+ if (.@input2 > 9) {
+ mes "[Puchuchartan]";
+ mes "Hm? You need to enter";
+ mes "a number from 1 to 9.";
+ next;
+ continue;
}
- delitem .@divide,.@input;
- close;
+ break;
}
- else {
- mes "[Puchuchartan]";
- mes "So, you wish to have rough";
- switch(.@divide) {
- case 994:
- mes "fire stones? Then I will need";
- mes "you to bring "+input_want+" pure fire stone.";
- break;
- case 995:
- mes "water stones? Then I'll need";
- mes "you to bring "+input_want+" pure water stone.";
- break;
- case 996:
- mes "wind stones? Then I will need";
- mes "you to bring "+input_want+" pure wind stone.";
- break;
- case 997:
- mes "earth stones? Then I'll need";
- mes "you to bring "+.@input+" pure earth stone.";
+ mes "[Puchuchartan]";
+ mes "I will now chant the";
+ mes "sacred words. Remember";
+ mes "the number you entered!";
+ next;
+ mes "[Puchuchartan]";
+ mes "Umba Umba Kalapum! Umba! Ta!";
+ mes "Lukura Ukulele Um! Umba! Ka!";
+ mes "Abulaka Tabulakan! Umba! La!";
+ mes "Ombaludu Zan Kunu! Umba! Ku!";
+ mes "Kum Tum Lakulakun! Umba! Ha!";
+ next;
+ mes "[Puchuchartan]";
+ mes "Here's the rough enchanted stones";
+ mes "you wished to have. I created this";
+ mes "with a lot of effort, so make good";
+ mes "use of them.";
+ while(1) {
+ if (.@sha_man == .@input) {
break;
}
- mes "^3377FF"+.@input+" "+getitemname(.@divide)+"^000000.";
- next;
- mes "[Puchuchartan]";
- mes "That's all I need...";
- mes "Come back when";
- mes "you're ready.";
- mes "I will be here.";
- close;
+ .@shaman_max += rand(6,10);
+ ++.@sha_man;
}
- }
- else {
- mes "[Puchuchartan]";
- mes "Hm? You need to enter";
- mes "a number from 1 to 10.";
+ switch(.@divide) {
+ case 994:
+ getitem Boody_Red,.@shaman_max;
+ break;
+ case 995:
+ getitem Crystal_Blue,.@shaman_max;
+ break;
+ case 996:
+ getitem Wind_Of_Verdure,.@shaman_max;
+ break;
+ case 997:
+ getitem Yellow_Live,.@shaman_max;
+ }
+ delitem .@divide,.@input;
close;
}
+ mes "[Puchuchartan]";
+ mes "So, you wish to have rough";
+ switch(.@divide) {
+ case 994:
+ mes "fire stones? Then I will need";
+ mes "you to bring "+input_want+" pure fire stone.";
+ break;
+ case 995:
+ mes "water stones? Then I'll need";
+ mes "you to bring "+input_want+" pure water stone.";
+ break;
+ case 996:
+ mes "wind stones? Then I will need";
+ mes "you to bring "+input_want+" pure wind stone.";
+ break;
+ case 997:
+ mes "earth stones? Then I'll need";
+ mes "you to bring "+.@input+" pure earth stone.";
+ break;
+ }
+ mes "^3377FF"+.@input+" "+getitemname(.@divide)+"^000000.";
+ next;
+ mes "[Puchuchartan]";
+ mes "That's all I need...";
+ mes "Come back when";
+ mes "you're ready.";
+ mes "I will be here.";
+ close;
case 3:
mes "[Puchuchartan]";
mes "I see. It's your call.";
diff --git a/npc/quests/quests_veins.txt b/npc/quests/quests_veins.txt
index 2fde49c3e..a69a495be 100644
--- a/npc/quests/quests_veins.txt
+++ b/npc/quests/quests_veins.txt
@@ -2654,7 +2654,7 @@ sec_in02,10,43,4 script Extra Story Patch 1_M_SIGNMONK,{
mes "Yeah, you can try.";
next;
if(select("Now", "How many?") == 2) {
- input .@input,0,1000;
+ input(.@input, 0, 1000);
que_sch = .@input;
}
mes " ";
@@ -5092,7 +5092,7 @@ ra_temin,87,133,1 script Rachel Guard#vol1 4_M_RASWORD,5,2,{
mes "Of course! I should";
mes "talk to him about...";
next;
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait a second...";
mes "Of course! I should";
@@ -6723,7 +6723,7 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
mes "^FF0000as a devoted servant";
mes "of Goddess Freya";
next;
- input .@input$;
+ input(.@input$);
.@answer$ = "as a devoted servant of Goddess Freya";
if (.@input$ == .@answer$) {
mes "["+strcharinfo(PC_NAME)+"]";
@@ -6734,18 +6734,16 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
next;
break;
}
- else {
- mes "[Colonel Vito]";
- mes "Wrong! Try again!";
- next;
- }
+ mes "[Colonel Vito]";
+ mes "Wrong! Try again!";
+ next;
}
while(1) {
mes "[Colonel Vito]";
mes "^FF0000I pledge my honor to";
mes "overthrow our mortal enemy";
next;
- input .@input$;
+ input(.@input$);
.@answer$ = "I pledge my honor to overthrow our mortal enemy";
if (.@input$ == .@answer$) {
mes "["+strcharinfo(PC_NAME)+"]";
@@ -6755,17 +6753,15 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
next;
break;
}
- else {
- mes "[Colonel Vito]";
- mes "Wrong! Try again!";
- next;
- }
+ mes "[Colonel Vito]";
+ mes "Wrong! Try again!";
+ next;
}
while(1) {
mes "[Colonel Vito]";
mes "^FF0000I will show no mercy^000000";
next;
- input .@input$;
+ input(.@input$);
.@answer$ = "I will show no mercy";
if (.@input$ == .@answer$) {
mes "["+strcharinfo(PC_NAME)+"]";
@@ -6774,18 +6770,16 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
next;
break;
}
- else {
- mes "[Colonel Vito]";
- mes "Wrong! Try again!";
- next;
- }
+ mes "[Colonel Vito]";
+ mes "Wrong! Try again!";
+ next;
}
while(1) {
mes "[Colonel Vito]";
mes "^FF0000I shall devote";
mes "my entire life^000000";
next;
- input .@input$;
+ input(.@input$);
.@answer$ = "I shall devote my entire life";
if (.@input$ == .@answer$) {
mes "["+strcharinfo(PC_NAME)+"]";
@@ -6796,18 +6790,16 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
next;
break;
}
- else {
- mes "[Colonel Vito]";
- mes "Wrong! Try again!";
- next;
- }
+ mes "[Colonel Vito]";
+ mes "Wrong! Try again!";
+ next;
}
while(1) {
mes "[Colonel Vito]";
mes "^FF0000Down with the";
mes "Rune-Midgarts Kingdom!^000000";
next;
- input .@input$;
+ input(.@input$);
.@answer$ = "Down with the Rune-Midgarts Kingdom!";
if (.@input$ == .@answer$) {
mes "["+strcharinfo(PC_NAME)+"]";
@@ -6816,11 +6808,9 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
next;
break;
}
- else {
- mes "[Colonel Vito]";
- mes "Wrong! Try again!";
- next;
- }
+ mes "[Colonel Vito]";
+ mes "Wrong! Try again!";
+ next;
}
mes "[Colonel Vito]";
mes "Good. Now you know the";
diff --git a/npc/quests/seals/brisingamen_seal.txt b/npc/quests/seals/brisingamen_seal.txt
index ed63847a2..cd8bd0d12 100644
--- a/npc/quests/seals/brisingamen_seal.txt
+++ b/npc/quests/seals/brisingamen_seal.txt
@@ -2621,7 +2621,7 @@ gef_dun01,89,192,0 script #lowentrace HIDDEN_NPC,3,3,{
next;
switch(select("Yes", "No")) {
case 1:
- input @lowenstring$;
+ input(@lowenstring$);
if (@lowenstring$ == "Lowen") {
if (god_brising == 30) {
mes "[Lowen Ellenen]";
@@ -2743,7 +2743,7 @@ gef_dun01,203,48,0 script #lowentrace1 HIDDEN_NPC,3,3,{
next;
switch(select("Yes", "No")) {
case 1:
- input @lowenstring$;
+ input(@lowenstring$);
if (@lowenstring$ == "Lowen") {
if (god_brising == 31) {
mes "[Lowen Ellenen]";
@@ -4523,35 +4523,35 @@ mjo_dun02,126,36,0 script #brisindwarf4 HIDDEN_NPC,3,3,{
mes "Um, that song.";
mes "What was the first line...?";
next;
- input @dwarfsong1$;
+ input(@dwarfsong1$);
if (@dwarfsong1$ == "No jewel in the world can compare.") @point += 1;
mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong1$ + "";
mes "Then...ummm..";
mes "The second line?";
next;
- input @dwarfsong2$;
+ input(@dwarfsong2$);
if (@dwarfsong2$ == "Our masterpiece made from love.") @point += 1;
mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong2$ + "";
mes "Now, what was";
mes "the third line...?";
next;
- input @dwarfsong3$;
+ input(@dwarfsong3$);
if (@dwarfsong3$ == "She wanted the dazzling necklace.") @point += 1;
mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong3$ + "";
mes "Now, the fourth";
mes "line after that...";
next;
- input @dwarfsong4$;
+ input(@dwarfsong4$);
if (@dwarfsong4$ == "We wanted the goddess of beauty.") @point += 1;
mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong4$ + "";
mes "Alright, now";
mes "for the last line...";
next;
- input @dwarfsong5$;
+ input(@dwarfsong5$);
if (@dwarfsong5$ == "Our happiest times were with her.") @point += 1;
mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong5$ + "";
diff --git a/npc/quests/seals/god_global.txt b/npc/quests/seals/god_global.txt
index 7486bcc23..fb2b13aeb 100644
--- a/npc/quests/seals/god_global.txt
+++ b/npc/quests/seals/god_global.txt
@@ -93,7 +93,7 @@ sec_in02,15,170,0 script Golbal var 4_F_CHNDRESS3,{
}
L_Number:
- input .@input,0,$@god_check2;
+ input(.@input, 0, $@god_check2);
mes "[Check]";
mes "Would you like to change to "+.@input+"?";
mes "Please enter the password.";
@@ -112,7 +112,7 @@ L_Number:
}
L_Var:
- input .@input;
+ input(.@input, 0);
setd getarg(0),.@input;
next;
mes "[Check]";
diff --git a/npc/quests/seals/megingard_seal.txt b/npc/quests/seals/megingard_seal.txt
index 96a634a4e..75510d9a0 100644
--- a/npc/quests/seals/megingard_seal.txt
+++ b/npc/quests/seals/megingard_seal.txt
@@ -954,7 +954,7 @@ prt_in,172,106,0 script Librarian#megin 4_M_ZONDAOYAJI,{
mes "[" + strcharinfo(PC_NAME) + "]";
mes "But isn't";
mes "the file about...";
- input @str$;
+ input(@str$);
mes "^0000FF" + @str$ + "?";
next;
if (@str$ == "the 1st squad's final mission") {
@@ -1007,7 +1007,7 @@ prt_in,172,106,0 script Librarian#megin 4_M_ZONDAOYAJI,{
next;
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Isn't the file...";
- input @str$;
+ input(@str$);
mes "[" + strcharinfo(PC_NAME) + "]";
mes "^0000FF" + @str$ + "?";
next;
@@ -1155,7 +1155,7 @@ prt_in,172,106,0 script Librarian#megin 4_M_ZONDAOYAJI,{
mes "Please do not use";
mes "capital letters.^000000";
next;
- input .@input$;
+ input(.@input$);
if (compare(.@input$,"crusader") == 1) {
mes "^663300[Keyword: ^996633Crusader^663300]";
mes "Crusaders are warriors preparing for the upcoming Holy War against Evil. Experienced swordsmen, usually with remarkable spiritual prowess.^000000";
@@ -1817,7 +1817,7 @@ morocc_in,146,179,0 script Employee#megin1 1_F_01,{
mes "Are you looking for";
mes "someone...?";
next;
- input @str$;
+ input(@str$);
if (@str$ == "Cuaque Donon" || @str$ == "Cuaque" || @str$ == "Donon") {
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Do you happen to know a person named " + @str$ + " ...?";
diff --git a/npc/quests/seals/sleipnir_seal.txt b/npc/quests/seals/sleipnir_seal.txt
index d3982699c..4450c1778 100644
--- a/npc/quests/seals/sleipnir_seal.txt
+++ b/npc/quests/seals/sleipnir_seal.txt
@@ -1316,7 +1316,7 @@ que_god01,20,48,0 script Slab#G HIDDEN_NPC,{
mes "wkrdjswhgks shfh wkrdjswhgks wkdus wkr...";
mes "^ff00ffghswka^000000gks ........fusjs tmld.........";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "dirdnl") {
mes "Zap~";
mes "^3355FFAs you press the word '^ff0000dirdnl^3355FF,' the slab emitted a strange beeping noise but nothing else happened. Perhaps you must press some of the other words.^000000";
@@ -1335,7 +1335,7 @@ que_god01,20,48,0 script Slab#G HIDDEN_NPC,{
mes "is not on the slab.^000000";
close;
}
- input .@input$;
+ input(.@input$);
if (.@input$ == "tkaryf") {
mes "^3355FFYou press the word '^ff0000tkaryf^3355FF,' and another beep was emitted from";
mes "the slab.^000000";
@@ -1354,7 +1354,7 @@ que_god01,20,48,0 script Slab#G HIDDEN_NPC,{
mes "is not on the slab.^000000";
close;
}
- input .@input$;
+ input(.@input$);
if (.@input$ == "ghswka") {
mes "^3355FFYou press on the word '^ff0000ghswka^3355FF,' resulting in an affirmative beep. Nothing has still happened, so perhaps you must press another word.^000000";
next;
diff --git a/npc/quests/skills/alchemist_skills.txt b/npc/quests/skills/alchemist_skills.txt
index a8867a1a8..78cf18a25 100644
--- a/npc/quests/skills/alchemist_skills.txt
+++ b/npc/quests/skills/alchemist_skills.txt
@@ -1438,83 +1438,8 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "Homunculus, putting it in";
mes "an inert state of hibernation?";
next;
- input .@input$;
- if (.@input$ == "Vaporize") {
- mes "[Kellasus]";
- mes "Hmm, not bad. So you've";
- mes "been studying. Now, the second";
- mes "question. What is the item, whose name indicates a very early stage";
- mes "of Homunculus development, used for the Call Homunculus skill?";
- next;
- input .@input$;
- if (.@input$ == "Embryo") {
- mes "[Kellasus]";
- mes "Huh. You got that one";
- mes "right too. Alright, third";
- mes "question. What is the";
- mes "name of the skill, mastered";
- mes "at Skill Level 5, which allows";
- mes "you to resurrect Homunculi?";
- next;
- input .@input$;
- if (.@input$ == "Homunculus Resurrection") {
- mes "[Kellasus]";
- mes "So you have been putting";
- mes "a lot of effort in studying";
- mes "this. I really admire your";
- mes "dedication and it looks like";
- mes "you've got the potential to";
- mes "be a really great Alchemist.";
- next;
- mes "[Kellasus]";
- mes "Still, even though you're";
- mes "qualified to learn all the";
- mes "Homunculus skills, I choose";
- mes "not to teach them based on";
- mes "my own personal principles.";
- mes "Nothing can change my mind.";
- next;
- mes "[Kellasus]";
- mes "I admit that I'm proud";
- mes "of the progress you've";
- mes "made, but I just can't";
- mes "bring myself to be a part";
- mes "of what I believe to be an";
- mes "abuse of the gift of life.";
- next;
- bioeth = 8;
- mes "[Kellasus]";
- mes "There's just so much";
- mes "risk! I don't think I can";
- mes "bear to be responsible for";
- mes "any of the consequences that";
- mes "may come with the existence";
- mes "of artificially created life.";
- close;
- }
- else {
- mes "[Kellasus]";
- mes "I'm disappointed...";
- mes "I really thought you";
- mes "had learned everything";
- mes "you could about Homunculi,";
- mes "but it looks like there are a";
- mes "few gaps in your knowledge.";
- close;
- }
- }
- else {
- mes "[Kellasus]";
- mes "Hmm... It looks like";
- mes "you still haven't learned";
- mes "enough about Homunculi.";
- mes "Even if I wanted to teach";
- mes "you, it looks like you're";
- mes "not quite ready to learn...";
- close;
- }
- }
- else {
+ input(.@input$);
+ if (.@input$ != "Vaporize") {
mes "[Kellasus]";
mes "You'd be able to get";
mes "the first question right";
@@ -1524,6 +1449,75 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "find a new alchemic interest.";
close;
}
+ mes "[Kellasus]";
+ mes "Hmm, not bad. So you've";
+ mes "been studying. Now, the second";
+ mes "question. What is the item, whose name indicates a very early stage";
+ mes "of Homunculus development, used for the Call Homunculus skill?";
+ next;
+ input(.@input$);
+ if (.@input$ != "Embryo") {
+ mes "[Kellasus]";
+ mes "Hmm... It looks like";
+ mes "you still haven't learned";
+ mes "enough about Homunculi.";
+ mes "Even if I wanted to teach";
+ mes "you, it looks like you're";
+ mes "not quite ready to learn...";
+ close;
+ }
+ mes "[Kellasus]";
+ mes "Huh. You got that one";
+ mes "right too. Alright, third";
+ mes "question. What is the";
+ mes "name of the skill, mastered";
+ mes "at Skill Level 5, which allows";
+ mes "you to resurrect Homunculi?";
+ next;
+ input(.@input$);
+ if (.@input$ != "Homunculus Resurrection") {
+ mes "[Kellasus]";
+ mes "I'm disappointed...";
+ mes "I really thought you";
+ mes "had learned everything";
+ mes "you could about Homunculi,";
+ mes "but it looks like there are a";
+ mes "few gaps in your knowledge.";
+ close;
+ }
+ mes "[Kellasus]";
+ mes "So you have been putting";
+ mes "a lot of effort in studying";
+ mes "this. I really admire your";
+ mes "dedication and it looks like";
+ mes "you've got the potential to";
+ mes "be a really great Alchemist.";
+ next;
+ mes "[Kellasus]";
+ mes "Still, even though you're";
+ mes "qualified to learn all the";
+ mes "Homunculus skills, I choose";
+ mes "not to teach them based on";
+ mes "my own personal principles.";
+ mes "Nothing can change my mind.";
+ next;
+ mes "[Kellasus]";
+ mes "I admit that I'm proud";
+ mes "of the progress you've";
+ mes "made, but I just can't";
+ mes "bring myself to be a part";
+ mes "of what I believe to be an";
+ mes "abuse of the gift of life.";
+ next;
+ bioeth = 8;
+ mes "[Kellasus]";
+ mes "There's just so much";
+ mes "risk! I don't think I can";
+ mes "bear to be responsible for";
+ mes "any of the consequences that";
+ mes "may come with the existence";
+ mes "of artificially created life.";
+ close;
}
if (BaseJob == Job_Alchemist && bioeth > 3) {
mes "[Kellasus]";
diff --git a/npc/quests/thana_quest.txt b/npc/quests/thana_quest.txt
index ea01a926d..787b7a3c4 100644
--- a/npc/quests/thana_quest.txt
+++ b/npc/quests/thana_quest.txt
@@ -1048,7 +1048,7 @@ tha_t04,195,195,0 script Rune Device#tt2 HIDDEN_NPC,3,3,{
}
while (1) {
while (1) {
- input .@input;
+ input(.@input);
if (.@input < 100 || .@input > 999) {
mes "[Screen]";
mes "Number input";
@@ -1060,8 +1060,8 @@ tha_t04,195,195,0 script Rune Device#tt2 HIDDEN_NPC,3,3,{
}
.@input100 = .@input / 100;
.@input10 = (.@input % 100) / 10;
- if (((.@input100 > 0) && (.@input10 > 0)) && (.@input % 10 > 0)) {
- if (((.@input100 != .@input10) && (.@input100 != .@input % 10)) && (.@input10 != .@input % 10))
+ if (.@input100 > 0 && .@input10 > 0 && .@input % 10 > 0) {
+ if (.@input100 != .@input10 && .@input100 != .@input % 10 && .@input10 != .@input % 10)
break;
mes "[Screen]";
mes "Violation of number";
@@ -1082,12 +1082,18 @@ tha_t04,195,195,0 script Rune Device#tt2 HIDDEN_NPC,3,3,{
next;
.@strike = 0;
.@ball = 0;
- if (.@yagu100 == .@input100) .@strike += 1;
- if (.@yagu10 == .@input10) .@strike += 1;
- if (.@yagu1 == .@input % 10) .@strike += 1;
- if ((.@yagu100 == .@input10) || (.@yagu100 == .@input % 10)) .@ball += 1;
- if ((.@yagu10 == .@input100) || (.@yagu10 == .@input % 10)) .@ball += 1;
- if ((.@yagu1 == .@input100) || (.@yagu1 == .@input10)) .@ball += 1;
+ if (.@yagu100 == .@input100)
+ .@strike += 1;
+ if (.@yagu10 == .@input10)
+ .@strike += 1;
+ if (.@yagu1 == .@input % 10)
+ .@strike += 1;
+ if (.@yagu100 == .@input10 || .@yagu100 == .@input % 10)
+ .@ball += 1;
+ if (.@yagu10 == .@input100 || .@yagu10 == .@input % 10)
+ .@ball += 1;
+ if (.@yagu1 == .@input100 || .@yagu1 == .@input10)
+ .@ball += 1;
if (.@strike == 3) {
mes "[Screen]";
mes "Input number accepted.";
@@ -1193,8 +1199,8 @@ tha_t05,62,179,0 script Brilliant Statue#tt3 HIDDEN_NPC,3,3,{
mes "I'll try the left wing first.";
mes "What key should I put in?";
next;
- input .@inputstr$;
- if ((.@inputstr$ != "Red Key") && (.@inputstr$ != "red key")) {
+ input(.@inputstr$);
+ if (.@inputstr$ != "Red Key" && .@inputstr$ != "red key") {
mes "It doesn't fit into the crack.";
close;
}
@@ -1204,8 +1210,8 @@ tha_t05,62,179,0 script Brilliant Statue#tt3 HIDDEN_NPC,3,3,{
mes "["+strcharinfo(PC_NAME)+"]";
mes "Now the right side...";
next;
- input .@inputstr$;
- if ((.@inputstr$ != "Yellow Key") && (.@inputstr$ != "yellow key")) {
+ input(.@inputstr$);
+ if (.@inputstr$ != "Yellow Key" && .@inputstr$ != "yellow key") {
mes "It doesn't fit into the crack.";
close;
}
@@ -2143,7 +2149,7 @@ OnTouch:
mes "There is a fragment missing from the crest of the Seal.";
mes "Surely I saw a familiar fragment before...";
next;
- input .@inputstr$;
+ input(.@inputstr$);
.@exact_tt$ = "Fragment of "+.@j$;
if (countitem(.@i[0]) > 0 && .@exact_tt$ == .@inputstr$) {
mes "^3355FFYou insert the";
diff --git a/npc/quests/the_sign_quest.txt b/npc/quests/the_sign_quest.txt
index 4bf60993a..003972e62 100644
--- a/npc/quests/the_sign_quest.txt
+++ b/npc/quests/the_sign_quest.txt
@@ -2815,7 +2815,7 @@ aldeba_in,155,101,3 script Sir Jore#sign 1_M_SIGNALCHE,7,7,{
mes "A-anyway, please tell me";
mes "what you think it might be.";
next;
- input .@input$;
+ input(.@input$);
if (compare(.@input$,"red gemstone")) {
mes "[Sir Jore]";
mes "What...! Huh.";
@@ -2848,14 +2848,12 @@ aldeba_in,155,101,3 script Sir Jore#sign 1_M_SIGNALCHE,7,7,{
mes ""+ strcharinfo(PC_NAME) +". Farewell~";
close;
}
- else {
- mes "[Sir Jore]";
- mes "Err...?";
- mes "I don't think";
- mes "I quite understood";
- mes "you. What did you say?";
- close;
- }
+ mes "[Sir Jore]";
+ mes "Err...?";
+ mes "I don't think";
+ mes "I quite understood";
+ mes "you. What did you say?";
+ close;
}
else if (sign_q == 20) {
mes "[Sir Jore]";
@@ -3673,7 +3671,7 @@ geffen_in,59,74,4 script Jesqurienne#sign 1_F_SIGNZISK,{
mes "a battle of minds.";
mes "W-who are you...?";
next;
- input .@input$;
+ input(.@input$);
mes "[Jesqurienne]";
mes ""+.@input$+"...";
mes "I will remember that.";
@@ -6947,7 +6945,7 @@ geffen_in,159,48,5 script Lonely-looking Woman 4_F_05,{
mes "W-wait!";
mes "I'm here to see...";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ != "Engel Howard") {
mes "[Brenda Howard]";
mes "Huh?";
@@ -6962,23 +6960,21 @@ geffen_in,159,48,5 script Lonely-looking Woman 4_F_05,{
emotion e_ho;
close;
}
- else {
- mes "[Brenda Howard]";
- mes "Ah... I see.";
- mes "You're looking for my husband.";
- mes "My husband, my daughter and";
- mes "I just moved to Geffen from";
- mes "Prontera a while ago.";
- next;
- mes "[Brenda Howard]";
- mes "We moved to Geffen for the sake of my husband's business. Apparently, this town is closest to something he really seems to need. Whatever it is, it must be really important to his smithing work.";
- next;
- mes "[Brenda Howard]";
- mes "Oh, and if you're going to look";
- mes "for my husband, please talk to my daughter before you go. I think she has something that she wants to give to her father...";
- sign_q = 55;
- close;
- }
+ mes "[Brenda Howard]";
+ mes "Ah... I see.";
+ mes "You're looking for my husband.";
+ mes "My husband, my daughter and";
+ mes "I just moved to Geffen from";
+ mes "Prontera a while ago.";
+ next;
+ mes "[Brenda Howard]";
+ mes "We moved to Geffen for the sake of my husband's business. Apparently, this town is closest to something he really seems to need. Whatever it is, it must be really important to his smithing work.";
+ next;
+ mes "[Brenda Howard]";
+ mes "Oh, and if you're going to look";
+ mes "for my husband, please talk to my daughter before you go. I think she has something that she wants to give to her father...";
+ sign_q = 55;
+ close;
}
else if (sign_q < 57) {
mes "Ho-ho~!";
@@ -7700,8 +7696,8 @@ gef_tower,118,36,4 script Annoyed Man 1_M_WIZARD,{
mes "What are you doing here?!";
emotion e_pif;
next;
- input .@input$;
- if ((.@input$ == "Metz Brayde") || (.@input$ == "Sobbing Starlight")) {
+ input(.@input$);
+ if (.@input$ == "Metz Brayde" || .@input$ == "Sobbing Starlight") {
mes "[Dhota]";
mes "Eh?";
if (.@input$ == "Metz Brayde") {
@@ -7738,15 +7734,13 @@ gef_tower,118,36,4 script Annoyed Man 1_M_WIZARD,{
emotion e_pif;
close;
}
- else {
- mes "[Dhota]";
- mes "Say what...?";
- mes "I have no idea what";
- mes "you're talking about!";
- mes "If you've got nothing";
- mes "to say, then leave me alone!";
- close;
- }
+ mes "[Dhota]";
+ mes "Say what...?";
+ mes "I have no idea what";
+ mes "you're talking about!";
+ mes "If you've got nothing";
+ mes "to say, then leave me alone!";
+ close;
}
else {
mes "Hmmm...";
diff --git a/npc/re/cities/brasilis.txt b/npc/re/cities/brasilis.txt
index eb30a3225..7c29265e0 100644
--- a/npc/re/cities/brasilis.txt
+++ b/npc/re/cities/brasilis.txt
@@ -133,22 +133,22 @@ brasilis,137,77,5 script Ice-Cream Maker 4_M_03,{
mes "So how many d'ya want?";
next;
while(1) {
- input .@input; //,1,5;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Ice Cream Maker]";
mes "None?";
mes "Fine get outta the way, I have customers to serve.";
close;
}
- else if ((.@input < 0) || (.@input > 5)) {
+ if (.@input > 5) {
mes "[Ice Cream Maker]";
mes "Wow.";
mes "You ordered too much.";
mes "If you eat over 5 you might need to fight with a monster in your stomach. Calm down buddy.";
next;
+ continue;
}
- else
- break;
+ break;
}
.@icecream_hap = .@input*100;
if (Zeny < .@icecream_hap) {
diff --git a/npc/re/cities/dewata.txt b/npc/re/cities/dewata.txt
index d8bac5986..70e60a274 100644
--- a/npc/re/cities/dewata.txt
+++ b/npc/re/cities/dewata.txt
@@ -489,11 +489,12 @@ dewata,89,191,6 script Small Shrine#dew1 CLEAR_NPC,{
mes "^FF00001,000 ~ 100,000 Zeny^000000";
mes "How much do you want to donate?";
next;
- input .@input,0,100000;
+ input(.@input, 0, 100000);
if (.@input < 1000) {
mes "- Cancelled. -";
close;
- } else if (.@input <= 50000)
+ }
+ if (.@input <= 50000)
.@good_luck = rand(1,10000);
else
.@good_luck = rand(1,5000);
@@ -557,7 +558,7 @@ dewata,89,191,6 script Small Shrine#dew1 CLEAR_NPC,{
case 2:
mes "What is your wish?";
next;
- input .@wish$;
+ input(.@wish$);
mes "You have made your wish for ^0000FF" + .@wish$ + "^000000 to the small shrine.";
next;
callsub L_Wish;
diff --git a/npc/re/cities/mora.txt b/npc/re/cities/mora.txt
index a58ee4463..d3f5b6ed3 100644
--- a/npc/re/cities/mora.txt
+++ b/npc/re/cities/mora.txt
@@ -452,16 +452,18 @@ mora,140,186,3 script Raffle Philosopher 4_M_RAFLE_OLD,{
mes "You can pay me in the currencies listed below.";
mes "Enter the sum you're willing to pay. Enter 0 if you don't want to pay anything.";
next;
- input .@input;
+ input(.@input);
if (.@input == 0) {
mes "[Raffle Philosopher]";
mes "So you don't want to hear a quote, eh?";
close;
- } else if (.@input < 100 || .@input > 1000000) {
+ }
+ if (.@input < 100 || .@input > 1000000) {
mes "[Raffle Philosopher]";
mes "You can pay between ^FF0000100 and 1000000^000000.";
close;
- } else if (Zeny < .@input) {
+ }
+ if (Zeny < .@input) {
mes "[Raffle Philosopher]";
mes "So you think this is what my time is worth?";
close;
@@ -908,7 +910,7 @@ mora,140,186,3 script Raffle Philosopher 4_M_RAFLE_OLD,{
mes "I wonder what you think";
mes "about what I've told you.";
next;
- input .@inputstr$;
+ input(.@inputstr$);
mes "[Raffle Philosopher]";
mes "So you think that "+.@inputstr$+".";
next;
@@ -1146,7 +1148,7 @@ mora,43,127,3 script Innkeeper#mora_inn 4_M_RAFLE_OR,{
close;
}
case 3:
- input .@inputstr$;
+ input(.@inputstr$);
mes "["+strcharinfo(PC_NAME)+"]";
mes "I come from a place called "+.@inputstr$+".";
next;
diff --git a/npc/re/jobs/2e/kagerou_oboro.txt b/npc/re/jobs/2e/kagerou_oboro.txt
index 5818bb4fd..f03dece93 100644
--- a/npc/re/jobs/2e/kagerou_oboro.txt
+++ b/npc/re/jobs/2e/kagerou_oboro.txt
@@ -659,7 +659,7 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
mes "[Leader Gion]";
mes "You've come back already? You could have rested more. Is there a reason to hurry?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
cutin "job_ko03",2;
mes "[Leader Gion]";
mes "Because of ^B24E59" + .@inputstr$ + "^000000?";
diff --git a/npc/re/jobs/3-1/archbishop.txt b/npc/re/jobs/3-1/archbishop.txt
index e37087857..90dadd8d1 100644
--- a/npc/re/jobs/3-1/archbishop.txt
+++ b/npc/re/jobs/3-1/archbishop.txt
@@ -243,7 +243,7 @@ umbala,139,227,3 script Priest#arch 1_M_PASTOR,{
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmm, I wanted to tell you...";
next;
- input .@inputstr$;
+ input(.@inputstr$);
mes "[" + strcharinfo(PC_NAME) + "]";
mes "" + .@inputstr$ + "";
next;
@@ -483,7 +483,7 @@ OnTouch:
next;
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Pain... What kind of faults have I had?";
- input .@inputstr$;
+ input(.@inputstr$);
next;
mes "[" + strcharinfo(PC_NAME) + "]";
mes "I confess my guilt to the Almighty God Odin.";
diff --git a/npc/re/jobs/3-1/rune_knight.txt b/npc/re/jobs/3-1/rune_knight.txt
index ad8ab8f74..6230746b1 100644
--- a/npc/re/jobs/3-1/rune_knight.txt
+++ b/npc/re/jobs/3-1/rune_knight.txt
@@ -962,7 +962,7 @@ job3_rune01,58,51,1 script Rune Furnace CLEAR_NPC,{
next;
mes .@str$[1];
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == .@str$[0]) {
mes "[Rune Knight Renoa]";
mes "Wow! This is great. The image of the rune stone in my head and the modeled rune stone match perfectly. It's well made.";
diff --git a/npc/re/jobs/3-2/royal_guard.txt b/npc/re/jobs/3-2/royal_guard.txt
index 87cf554ad..8924d61dd 100644
--- a/npc/re/jobs/3-2/royal_guard.txt
+++ b/npc/re/jobs/3-2/royal_guard.txt
@@ -521,7 +521,7 @@ sec_in02,12,43,3 script sorcereryal 1_M_LIBRARYMASTER,1,1,{
switch(select("Royal Guard", "Rune Knight", "Sorcerer")) {
case 1:
mes "1~5";
- input .@input;
+ input(.@input);
next;
if (.@input < 1 || .@input > 5) {
mes "Set item to adjust the Royal Guard";
@@ -533,7 +533,7 @@ sec_in02,12,43,3 script sorcereryal 1_M_LIBRARYMASTER,1,1,{
close;
case 2:
mes "1~24";
- input .@input;
+ input(.@input);
next;
if (.@input < 1 || .@input > 24) {
mes "Set item to adjust the Rune Knight";
@@ -545,7 +545,7 @@ sec_in02,12,43,3 script sorcereryal 1_M_LIBRARYMASTER,1,1,{
close;
case 3:
mes "1~5";
- input .@input;
+ input(.@input);
next;
if (.@input < 1 || .@input > 5) {
mes "Set item to adjust the Sorcerer";
diff --git a/npc/re/jobs/3-2/shadow_chaser.txt b/npc/re/jobs/3-2/shadow_chaser.txt
index 9cdd3f732..3b6f6bcd0 100644
--- a/npc/re/jobs/3-2/shadow_chaser.txt
+++ b/npc/re/jobs/3-2/shadow_chaser.txt
@@ -327,7 +327,7 @@ s_atelier,65,123,5 script Manager#sc04_prt 4_M_KHKYEL,{
mes "Wow, you deciphered it?";
mes "So, what's the right answer?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "shadows atelier in prontera" || .@inputstr$ == "SHADOWS ATELIER IN PRONTERA") {
mes "[Manager]";
mes "Good.";
@@ -1118,7 +1118,7 @@ L_Code:
mes "["+strcharinfo(PC_NAME)+"]";
mes "Paul said...";
next;
- input .@inputstr$;
+ input(.@inputstr$);
mes "["+strcharinfo(PC_NAME)+"]";
mes "Paul said...";
mes "'"+.@inputstr$+"' .";
@@ -1694,7 +1694,7 @@ tur_dun03,38,209,1 script Blue Flame#sc_f01 4_NFWISP,{
mes "A blue flame is roaring.";
mes "The deciphered code means...";
next;
- input .@inputstr$;
+ input(.@inputstr$);
.@dap01$ = "blue fire in turtle island third floor";
.@dap02$ = "BLUE FIRE IN TURTLE ISLAND THIRD FLOOR";
if (.@inputstr$ != .@dap01$ && .@inputstr$ != .@dap02$) {
@@ -1986,7 +1986,7 @@ job3_sha01,22,78,0 script ????#keybox01 CLEAR_NPC,{
mes " ";
mes "And also letters. They are blinking as if waiting for a code to be input.";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == .@Codes2$[.@i] || .@inputstr$ == strtolower(.@Codes2$[.@i])) {
mes "When you put the correct answer in there,";
mes "the box is opened.";
@@ -2042,7 +2042,7 @@ job3_sha01,25,28,0 script ????#keybox02 CLEAR_NPC,{
next;
switch(select("Input the answer.", "I can't get it.")) {
case 1:
- input .@input;
+ input(.@input);
if (.@input == .@numbers[.@i]) {
mes "You put 2 and "+(.@numbers[.@i]-20)+".";
mes "The box opens and you get one key.";
@@ -2122,7 +2122,7 @@ job3_sha01,73,80,0 script ????#keybox03 CLEAR_NPC,{
mes "There's no code, so 1 should be A.";
mes "And the answer is...";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "turn and shake" || .@inputstr$ == "TURN AND SHAKE") {
mes "["+strcharinfo(PC_NAME)+"]";
mes "Turn... Turn... and";
diff --git a/npc/re/jobs/3-2/wanderer.txt b/npc/re/jobs/3-2/wanderer.txt
index 30449e2fa..e9c88032a 100644
--- a/npc/re/jobs/3-2/wanderer.txt
+++ b/npc/re/jobs/3-2/wanderer.txt
@@ -252,7 +252,7 @@ xmas,132,143,5 script Performance Manager#wnd 4_M_06,{
next;
mes "[" + strcharinfo(PC_NAME) + "]";
mes "It's because...";
- input .@inputstr$;
+ input(.@inputstr$);
mes "^3131FF" + .@inputstr$ + "^000000";
mes "......";
next;
diff --git a/npc/re/jobs/novice/academy.txt b/npc/re/jobs/novice/academy.txt
index 3b260d3db..567a28f25 100644
--- a/npc/re/jobs/novice/academy.txt
+++ b/npc/re/jobs/novice/academy.txt
@@ -4513,7 +4513,7 @@ iz_ac01,68,49,3 script General Store Owner#ac 4_F_03,{
}
next();
input(.@input);
- if (!.@input) {
+ if (.@input <= 0) {
mes("[Querrie]");
mes("Well, you don't need to buy it now.");
mes("Use it next time.");
@@ -4525,7 +4525,7 @@ iz_ac01,68,49,3 script General Store Owner#ac 4_F_03,{
mes("You can buy up to 99 at once.");
close();
}
- set .@cost, .@input * (BaseLevel <= 20 ? 30 : 500);
+ .@cost = .@input * (BaseLevel <= 20 ? 30 : 500);
mes("[Querrie]");
mesf("%d combination kits will cost you %d.... zeny.", .@input, .@cost);
if (Zeny < .@cost) {
@@ -5945,199 +5945,199 @@ iz_ac01,69,36,3 script Otter Samssoon#ac 4W_SAILOR,{
mes("If you want to stop, say 0.");
next();
input(.@style);
- if (.@style > 19) {
- mes("[Otter Samssoon]");
- mes("Oh my!!? Honey~ You can use a coupon for the hair style in here~");
- close();
- } else if (!.@style) {
+ if (.@style <= 0) {
mes("[Otter Samssoon]");
mes("Did you decide? Which style??");
mes("I want to touch your hair with my hands~ Honey~");
close();
- } else {
- callsub(L_cutin, .@style);
+ }
+ if (.@style > 19) {
mes("[Otter Samssoon]");
- switch(.@style) {
- case 1:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Play Dead' cut?");
- mes("This looks neat and relaxed.. So popular style.");
- } else {
- mes("Oh my!!? 'First Aid' cut?");
- mes("This is and adorable style.");
- mes("I guess it looks good on you too!!");
- }
- break;
- case 2:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Two Handed Sword Mastery' cut?");
- mes("You... You know the famous D..? He has exactly the same style!");
- } else {
- mes("Oh my!!? 'Bash' cut?");
- mes("This style gives strong curls on both side hair.");
- }
- break;
- case 3:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Napalm Beat' cut?");
- mes("It has well arranges hair line that makes feel charisma.");
- } else {
- mes("Oh my!!? 'Frost Diver' cut?");
- mes("It is mysterious style that gives cold and warm feeling at the same time.");
- }
- break;
- case 4:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Double Strafe' cut?");
- mes("Natural hair is shaking by wind.. Clean and good feeling.");
- } else {
- mes("Oh my!!? 'Arrow Shower' cut?");
- mes("Cool and nice shaggy cut makes good style.");
- }
- break;
- case 5:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Angelus' cut?");
- mes("Calm and piety feeling.. Not boring style.");
- } else {
- mes("Oh my!!? 'Heal' cut?");
- mes("Feminine style give healing feeling.");
- }
- break;
- case 6:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Push Cart' cut?");
- mes("Big Kar is motivated for this style with a romance of a man.");
- } else {
- mes("Oh my!!? 'Vending' cut?");
- mes("Royal ladies like this style. Make good money style.");
- }
- break;
- case 7:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Envenom' cut?");
- mes("Tough style makes addicted.");
- } else {
- mes("Oh my!!? 'Double Attack' cut?");
- mes("Whoever will dash twice for this style.");
- mes("Ponytail is important.");
- }
- break;
- case 8:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Bowling Bash' cut?");
- mes("This style makes a nice guy to challenge.");
- mes("Just a giving a glance can steal the heart.");
- } else {
- mes("Oh my!!? 'Gloria' cut?");
- mes("This style is ultimately gorgeous and graceful.");
- }
- break;
- case 9:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Venom Dust' cut?");
- mes("This style has special ending line that looks fatal.");
- } else {
- mes("Oh my!!? 'SP Recovery' cut?");
- mes("This style has neat cutting that inspires.");
- }
- break;
- case 10:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Turn Undead' cut?");
- mes("This style is like a cold city man who is strong enough to kill a monster.");
- } else {
- mes("Oh my!!? 'Prepare Potion' cut?");
- mes("This style has a liquid medicine motive so it makes feel cure.");
- }
- break;
- case 11:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Dragonology' cut?");
- mes("This style is intelligent style of mysterious dragon.");
- } else {
- mes("Oh my!!? 'Grand Cross' cut?");
- mes("Well trimmed hair cut line gives trust.");
- }
- break;
- case 12:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Mace Mastery' cut?");
- mes("Look fresh and look neat with wax treatment.");
- } else {
- mes("Oh my!!? 'Intimidate' cut?");
- mes("This style is very familiar.");
- }
- break;
- case 13:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Thunder Storm' cut?");
- mes("This style has natural attractive perm which is like hitting by thunder storm.");
- } else {
- mes("Oh my!!? 'Spiritual Sphere");
- mes("Calm and a little bit looks like a boy cut draw attention.");
- }
- break;
- case 14:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Encore' cut?");
- mes("Rocker's favorite style.. Even the name itself..");
- } else {
- mes("Oh my!!? 'Gypsy's Kiss' cut?");
- mes("The hair.. Kind to everyone.. Neat and round hair line is very soft and charming.");
- }
- break;
- case 15:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Grimtooth' cut?");
- mes("The style with edge.");
- } else {
- mes("Oh my!!? 'Counter Attack' cut?");
- mes("It is the style that looks cold and arrogant. Hard to talk to..");
- mes("But might be nice to boyfriend..?");
- }
- break;
- case 16:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Blitz Beat' cut?");
- mes("It is the style my senior invented after he broke up with his girlfriends 5 times.");
- } else {
- mes("Oh my!!? 'Anke Snare' cut?");
- mes("It is killing style.. No one can take eyes off!");
- }
- break;
- case 17:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Find Ore' cut?");
- mes("This style seems to bring encounter or find unexpected things while walking on the street.");
- } else {
- mes("Oh my!!? 'Hammer Fall' cut?");
- mes("Stunning hair with attraction.");
- }
- break;
- case 18:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Fire Pillar' cut?");
- mes("Everyone used to have this hair style.. Which means that was a trend of an era.");
- } else {
- mes("Oh my!!? 'Jupitel Thunder'");
- mes("Fresh style by giving light waves on both side hairs.");
- }
- break;
- case 19:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Guillotine Fist'");
- mes("It is like one-shot style.. Like a real man. Right?");
- } else {
- mes("Oh my!!? 'Whirlwind' cut?");
- mes("It is cool style which flows with wind. Lah, lah, lah, lah ~");
- }
- break;
+ mes("Oh my!!? Honey~ You can use a coupon for the hair style in here~");
+ close();
+ }
+ callsub(L_cutin, .@style);
+ mes("[Otter Samssoon]");
+ switch(.@style) {
+ case 1:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Play Dead' cut?");
+ mes("This looks neat and relaxed.. So popular style.");
+ } else {
+ mes("Oh my!!? 'First Aid' cut?");
+ mes("This is and adorable style.");
+ mes("I guess it looks good on you too!!");
}
- close2();
- cutin("", 255);
- end;
+ break;
+ case 2:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Two Handed Sword Mastery' cut?");
+ mes("You... You know the famous D..? He has exactly the same style!");
+ } else {
+ mes("Oh my!!? 'Bash' cut?");
+ mes("This style gives strong curls on both side hair.");
+ }
+ break;
+ case 3:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Napalm Beat' cut?");
+ mes("It has well arranges hair line that makes feel charisma.");
+ } else {
+ mes("Oh my!!? 'Frost Diver' cut?");
+ mes("It is mysterious style that gives cold and warm feeling at the same time.");
+ }
+ break;
+ case 4:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Double Strafe' cut?");
+ mes("Natural hair is shaking by wind.. Clean and good feeling.");
+ } else {
+ mes("Oh my!!? 'Arrow Shower' cut?");
+ mes("Cool and nice shaggy cut makes good style.");
+ }
+ break;
+ case 5:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Angelus' cut?");
+ mes("Calm and piety feeling.. Not boring style.");
+ } else {
+ mes("Oh my!!? 'Heal' cut?");
+ mes("Feminine style give healing feeling.");
+ }
+ break;
+ case 6:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Push Cart' cut?");
+ mes("Big Kar is motivated for this style with a romance of a man.");
+ } else {
+ mes("Oh my!!? 'Vending' cut?");
+ mes("Royal ladies like this style. Make good money style.");
+ }
+ break;
+ case 7:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Envenom' cut?");
+ mes("Tough style makes addicted.");
+ } else {
+ mes("Oh my!!? 'Double Attack' cut?");
+ mes("Whoever will dash twice for this style.");
+ mes("Ponytail is important.");
+ }
+ break;
+ case 8:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Bowling Bash' cut?");
+ mes("This style makes a nice guy to challenge.");
+ mes("Just a giving a glance can steal the heart.");
+ } else {
+ mes("Oh my!!? 'Gloria' cut?");
+ mes("This style is ultimately gorgeous and graceful.");
+ }
+ break;
+ case 9:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Venom Dust' cut?");
+ mes("This style has special ending line that looks fatal.");
+ } else {
+ mes("Oh my!!? 'SP Recovery' cut?");
+ mes("This style has neat cutting that inspires.");
+ }
+ break;
+ case 10:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Turn Undead' cut?");
+ mes("This style is like a cold city man who is strong enough to kill a monster.");
+ } else {
+ mes("Oh my!!? 'Prepare Potion' cut?");
+ mes("This style has a liquid medicine motive so it makes feel cure.");
+ }
+ break;
+ case 11:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Dragonology' cut?");
+ mes("This style is intelligent style of mysterious dragon.");
+ } else {
+ mes("Oh my!!? 'Grand Cross' cut?");
+ mes("Well trimmed hair cut line gives trust.");
+ }
+ break;
+ case 12:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Mace Mastery' cut?");
+ mes("Look fresh and look neat with wax treatment.");
+ } else {
+ mes("Oh my!!? 'Intimidate' cut?");
+ mes("This style is very familiar.");
+ }
+ break;
+ case 13:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Thunder Storm' cut?");
+ mes("This style has natural attractive perm which is like hitting by thunder storm.");
+ } else {
+ mes("Oh my!!? 'Spiritual Sphere");
+ mes("Calm and a little bit looks like a boy cut draw attention.");
+ }
+ break;
+ case 14:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Encore' cut?");
+ mes("Rocker's favorite style.. Even the name itself..");
+ } else {
+ mes("Oh my!!? 'Gypsy's Kiss' cut?");
+ mes("The hair.. Kind to everyone.. Neat and round hair line is very soft and charming.");
+ }
+ break;
+ case 15:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Grimtooth' cut?");
+ mes("The style with edge.");
+ } else {
+ mes("Oh my!!? 'Counter Attack' cut?");
+ mes("It is the style that looks cold and arrogant. Hard to talk to..");
+ mes("But might be nice to boyfriend..?");
+ }
+ break;
+ case 16:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Blitz Beat' cut?");
+ mes("It is the style my senior invented after he broke up with his girlfriends 5 times.");
+ } else {
+ mes("Oh my!!? 'Anke Snare' cut?");
+ mes("It is killing style.. No one can take eyes off!");
+ }
+ break;
+ case 17:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Find Ore' cut?");
+ mes("This style seems to bring encounter or find unexpected things while walking on the street.");
+ } else {
+ mes("Oh my!!? 'Hammer Fall' cut?");
+ mes("Stunning hair with attraction.");
+ }
+ break;
+ case 18:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Fire Pillar' cut?");
+ mes("Everyone used to have this hair style.. Which means that was a trend of an era.");
+ } else {
+ mes("Oh my!!? 'Jupitel Thunder'");
+ mes("Fresh style by giving light waves on both side hairs.");
+ }
+ break;
+ case 19:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Guillotine Fist'");
+ mes("It is like one-shot style.. Like a real man. Right?");
+ } else {
+ mes("Oh my!!? 'Whirlwind' cut?");
+ mes("It is cool style which flows with wind. Lah, lah, lah, lah ~");
+ }
+ break;
}
+ close2();
+ cutin("", 255);
+ end;
close();
case 2:
if (!countitem(Cryptura_Hair_Coupon)) {
@@ -6152,15 +6152,17 @@ iz_ac01,69,36,3 script Otter Samssoon#ac 4W_SAILOR,{
mes("Pick the style from page 1 to 19.");
next();
input(.@style);
- if (.@style > 19) {
+ if (.@style <= 0) {
mes("[Otter Samssoon]");
- mes("Come on.. Honey~ You can use a coupon for the hair style in here~");
+ mes("Oh my!!? You do not want to?");
close();
- } else if (!.@style) {
+ }
+ if (.@style > 19) {
mes("[Otter Samssoon]");
- mes("Oh my!!? You do not want to?");
+ mes("Come on.. Honey~ You can use a coupon for the hair style in here~");
close();
- } else if (getlook(1) == .@style) {
+ }
+ if (getlook(1) == .@style) {
mes("[Otter Samssoon]");
mes("Come on.. Honey~ That is the same style you have.");
mes("Do you want to try something new?");
@@ -13114,18 +13116,19 @@ izlude,145,122,7 script Tadde#iz 4_M_04,{
mes("How many would you like? Enter '0' if you want to end.");
next();
while(true) {
- input(.@amount, 0, 501);
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes("[Tadde]");
mes("Trade ended.");
close();
- } else if (.@amount > 500) {
+ }
+ if (.@amount > 500) {
mes("[Tadde]");
mes("Please reduce your quantity to 500 or less.");
next();
- } else {
- break;
+ continue;
}
+ break;
}
.@sell = .@amount * 200;
.@item_weight = .@amount * 200;
@@ -13150,18 +13153,19 @@ izlude,145,122,7 script Tadde#iz 4_M_04,{
mes("How many would you like? Enter '0' if you want to end.");
next();
while(true) {
- input(.@amount, 0, 501);
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes("[Tadde]");
mes("Trade ended.");
close();
- } else if (.@amount > 500) {
+ }
+ if (.@amount > 500) {
mes("[Tadde]");
mes("Please reduce your quantity to 500 or less.");
next();
- } else {
- break;
+ continue;
}
+ break;
}
.@sell = .@amount * 1000;
.@item_weight = .@amount * 200;
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) + "]";
diff --git a/npc/re/quests/eden/eden_common.txt b/npc/re/quests/eden/eden_common.txt
index 9085cad91..156ff1cc0 100644
--- a/npc/re/quests/eden/eden_common.txt
+++ b/npc/re/quests/eden/eden_common.txt
@@ -96,7 +96,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
case 1:
mes "[Lime Evenor]";
mes "Aright. Excellent! Please write down your name here.";
- input .@input$;
+ input(.@input$);
next;
mes "[Lime Evenor]";
mes "Are you done?";
@@ -113,7 +113,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
next;
mes "[Lime Evenor]";
mes "Would you please write your name again? Please write it ^3131FFClearly^000000.";
- input .@input$;
+ input(.@input$);
next;
mes "[Lime Evenor]";
mes "Ah~ ha. You are ^3131FF"+strcharinfo(PC_NAME)+"^000000.";
@@ -148,7 +148,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
if(select("Yes, I want to register.", "No, I don't.") == 1) {
mes "[Lime Evenor]";
mes "Alrigh. Please write down your name on it.";
- input .@input$;
+ input(.@input$);
next;
mes "[Lime Evenor]";
mes "^3131FF"+strcharinfo(PC_NAME)+"^000000.. Is that your name?";
@@ -157,7 +157,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
mes "[Lime Evenor]";
mes "^3131FF"+strcharinfo(PC_NAME)+"^000000, tell me what you want to register. for";
mes "Which map should we go to?";
- input .@input$;
+ input(.@input$);
next;
mes "[Lime Evenor]";
mes "^3131FFMission Map: "+.@inputstr$+"^000000";
@@ -166,7 +166,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
mes "[Lime Evenor]";
mes "Please let me know what kind of missions your are lookng for.";
mes "It should be briefly like 'Hunt 10 Porings.'";
- input .@input$;
+ input(.@input$);
next;
mes "[Lime Evenor]";
mes "Are you done?";
diff --git a/npc/re/quests/eden/eden_iro.txt b/npc/re/quests/eden/eden_iro.txt
index aae9a5566..3e5ae39fe 100644
--- a/npc/re/quests/eden/eden_iro.txt
+++ b/npc/re/quests/eden/eden_iro.txt
@@ -142,7 +142,7 @@ moc_para01,166,51,3 script Phelix#edco 4_M_03,{
mes "[Phelix]";
mes "How many do you want?";
mes "^ff0000You have enough for up to " + .@available + " Carrots.^000000";
- input .@input;
+ input(.@input);
next;
if (.@input < 1 || .@input > 10000) {
mes "[Phelix]";
@@ -321,12 +321,13 @@ moc_para01,50,39,4 script Eve Natalia 4_F_SITDOWN,{
mes "So do you want to trade the 1st one in your inventory for ^00CC00"+.@amount+" Random Safe to 7 Certificates^000000?";
mes "Tell me '1' if you do, or '0' to cancel.";
next;
- input .@input;
+ input(.@input);
if (.@input < 0 || .@input > 1) {
mes "[Eve Natalia]";
mes "It is a 0 or 1, it can't be that difficult.";
close;
- } else if (.@input == 0) {
+ }
+ if (.@input == 0) {
mes "[Eve Natalia]";
mes "It's best to be sure before trading, have a good day.";
close;
@@ -417,12 +418,13 @@ L_Exchange:
mes "I can give you up to 60.";
mes "Type 0 to cancel.";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Trader Machine]";
mes "Cancelled.";
close;
- } else if (.@amount < 0 || .@amount > 60) {
+ }
+ if (.@amount > 60) {
mes "[Trader Machine]";
mes "I said only 60 max.";
close;
diff --git a/npc/re/quests/eden/eden_quests.txt b/npc/re/quests/eden/eden_quests.txt
index a0f4fa922..6186fa018 100644
--- a/npc/re/quests/eden/eden_quests.txt
+++ b/npc/re/quests/eden/eden_quests.txt
@@ -4302,7 +4302,7 @@ sec_in02,25,33,4 script Assistant#para_suvquest 4_M_BABYCAT,{
.@var = select("para_suv01", "para_suv02");
mes "Enter the modified value";
next;
- input .@input,0,9999;
+ input(.@input, 0, 9999);
mes "Value of para_suv0"+.@var+" has been changed to "+.@input+".";
setd "para_suv0"+.@var,.@input;
close;
diff --git a/npc/re/quests/eden/eden_tutorial.txt b/npc/re/quests/eden/eden_tutorial.txt
index 188bc514a..d544aeb0b 100644
--- a/npc/re/quests/eden/eden_tutorial.txt
+++ b/npc/re/quests/eden/eden_tutorial.txt
@@ -319,7 +319,7 @@ moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{
mes "if you really checked it?";
mes "Write down what material I asked you to get.";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "10 Jellopy") {
mes "[Tutorial Instructor]";
mes "Good, you know.";
diff --git a/npc/re/quests/quests_brasilis.txt b/npc/re/quests/quests_brasilis.txt
index 4a60fd2bb..91233dbb2 100644
--- a/npc/re/quests/quests_brasilis.txt
+++ b/npc/re/quests/quests_brasilis.txt
@@ -2231,449 +2231,400 @@ brasilis,180,249,5 script Daniel#bra 4_M_KID1,{
}
bra_in01,149,184,3 script Door#bra CLEAR_NPC,{
- if (brazil_ghost > 0) {
- mes "- A key is inserted in the locked door.-";
+ mes "- A key is inserted in the locked door.-";
+ if (brazil_ghost == 0) {
+ close;
+ }
+ next;
+ switch(select("Turn the key.", "Ignore it.")) {
+ case 1:
+ mes "You start saying the first line of the magic words.";
+ input(.@input$);
next;
- switch(select("Turn the key.", "Ignore it.")) {
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes .@input$;
+ next;
+ .@braspell$ = "Mother the door won't open!";
+ .@chkspell = compare(.@braspell$,.@input$);
+ if (!.@chkspell) {
+ mes "Seems like you said something wrong.";
+ close;
+ }
+ if (brazil_ghost != 2) {
+ mes "Mother the door won't open!";
+ close;
+ }
+ mes "[Sobbing Voice]";
+ mes "'^FF0000Turn the key as many times as there are colors in the rainbow.^000000'";
+ next;
+ switch(select("Open the door", "Knock on the door.", "Turn the key.", "Take the key out.")) {
case 1:
- mes "You start saying the first line of the magic words.";
- input .@input$;
+ mes "The door is locked.";
+ mes "So nothing happens.";
+ close;
+ case 2:
+ mes "How many times should I try to knock?";
+ input(.@input, 0, 999);
next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes .@input$;
+ mes "You knocked on the door "+.@input+" times.";
next;
- .@braspell$ = "Mother the door won't open!";
- .@chkspell = compare(.@braspell$,.@input$);
- if (!.@chkspell) {
- mes "Seems like you said something wrong.";
+ mes "But, nothing happens.";
+ close;
+ case 3:
+ mes "How many times should I turn the key?";
+ input(.@input, 0, 999);
+ next;
+ mes "You turned over the key "+.@input+" times.";
+ next;
+ if (.@input != 7) {
+ mes "But nothing doesn't happened.";
close;
}
- else {
- if (brazil_ghost == 2) {
- mes "[Sobbing Voice]";
- mes "'^FF0000Turn the key as many times as there are colors in the rainbow.^000000'";
- next;
- switch(select("Open the door", "Knock on the door.", "Turn the key.", "Take the key out.")) {
- case 1:
- mes "The door is locked.";
- mes "So nothing happens.";
- close;
- case 2:
- mes "How many times should I try to knock?";
- input .@input,0,999;
- next;
- mes "You knocked on the door "+.@input+" times.";
- next;
- mes "But, nothing happens.";
- close;
- case 3:
- mes "How many times should I turn the key?";
- input .@input,0,999;
- next;
- if (.@input == 7) {
- mes "You turn the key 7 times.";
- next;
- mes "Click! Click! Click!";
- mes "Click! Click! Click!";
- mes "Click...!";
- next;
- mes "[Distant Sound]";
- mes "^FF0000kkkkhee- hihihihi!!!^000000";
- mes "You hear water flushing.";
- next;
- specialeffect(EF_VENOMDUST, AREA, playerattached());
- mes "Faint laughing can be heard off in the direction of the toilet.";
- brazil_ghost = 3;
- changequest 2208,60351;
- close;
- }
- else {
- mes "You turned over the key "+.@input+" times.";
- next;
- mes "But nothing doesn't happened.";
- close;
- }
- case 4:
- mes "How many times should I insert the key into the door?";
- input .@input,0,999;
- next;
- mes "You inserted the key "+.@input+" times.";
- next;
- mes "But nothing happened.";
- close;
- }
- }
- else {
- mes "Mother the door won't open!";
- close;
- }
- }
- case 2:
- mes "You do nothing.";
+ mes "Click! Click! Click!";
+ mes "Click! Click! Click!";
+ mes "Click...!";
+ next;
+ mes "[Distant Sound]";
+ mes "^FF0000kkkkhee- hihihihi!!!^000000";
+ mes "You hear water flushing.";
+ next;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
+ mes "Faint laughing can be heard off in the direction of the toilet.";
+ brazil_ghost = 3;
+ changequest 2208,60351;
+ close;
+ case 4:
+ mes "How many times should I insert the key into the door?";
+ input(.@input, 0, 999);
+ next;
+ mes "You inserted the key "+.@input+" times.";
+ next;
+ mes "But nothing happened.";
close;
}
- }
- else {
- mes "- A key is inserted in the locked door.-";
+ case 2:
+ mes "You do nothing.";
close;
}
}
bra_in01,144,187,3 script Toilet#bra CLEAR_NPC,{
- if (brazil_ghost > 0) {
- mes "- Looks like an ordinary toilet -";
+ mes "- Looks like an ordinary toilet -";
+ if (brazil_ghost == 0) {
+ close;
+ }
+ next;
+ if (brazil_ghost > 6) {
+ switch(select("Flush the toilet.", "Doing nothing.")) {
+ case 1:
+ mes "After flushing the toilet, you suddenly feel dizzy and are suddenly swept away somewhere.";
+ specialeffect(EF_WATERFALL_SMALL_T2_90, AREA, playerattached());
+ close2;
+ warp "bra_in01",206,102;
+ end;
+ case 2:
+ mes "The water in the toilet looks gross.";
+ close;
+ }
+ }
+ switch(select("Use the toilet", "Ignore.")) {
+ case 1:
+ mes "- What was the second line to that spell now? -";
+ input(.@input$);
next;
- if (brazil_ghost > 6) {
- switch(select("Flush the toilet.", "Doing nothing.")) {
- case 1:
- mes "After flushing the toilet, you suddenly feel dizzy and are suddenly swept away somewhere.";
- specialeffect(EF_WATERFALL_SMALL_T2_90, AREA, playerattached());
- close2;
- warp "bra_in01",206,102;
- end;
- case 2:
- mes "The water in the toilet looks gross.";
- close;
- }
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes .@input$;
+ next;
+ .@braspell$ = "Mother the water is flooding!";
+ .@chkspell = compare(.@braspell$,.@input$);
+ if (!.@chkspell) {
+ mes "Seems like you said something wrong.";
+ close;
}
- switch(select("Use the toilet", "Ignore.")) {
+ if (brazil_ghost != 3) {
+ mes "Nothing happens.";
+ close;
+ }
+ mes "[Sobbing Voice]";
+ mes "^FF0000If the moon disappears 3 times... don't worry.....^000000";
+ next;
+ switch(select("Flush the toilet.", "Close the lid.")) {
case 1:
- mes "- What was the second line to that spell now? -";
- input .@input$;
+ mes "How many times should I flush?";
+ input(.@input, 0, 999);
next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes .@input$;
+ mes "You flush the toilet "+.@input+" times.";
next;
- .@braspell$ = "Mother the water is flooding!";
- .@chkspell = compare(.@braspell$,.@input$);
- if (!.@chkspell) {
- mes "Seems like you said something wrong.";
+ if (.@input != 3) {
+ mes "But nothing happens.";
close;
}
- else {
- if (brazil_ghost == 3) {
- mes "[Sobbing Voice]";
- mes "^FF0000If the moon disappears 3 times... don't worry.....^000000";
- next;
- switch(select("Flush the toilet.", "Close the lid.")) {
- case 1:
- mes "How many times should I flush?";
- input .@input,0,999;
- next;
- if (.@input == 3) {
- mes "You flush the toilet 3 times.";
- next;
- mes "qwaaaaaaaaa!";
- mes "kwaaaaaaaaaa!";
- mes "kwaaaaaaaaaaaaaaaaaaa!";
- next;
- mes "[Distant Sound]";
- mes "^FF0000kkkkhee- hihihihi!!!^000000";
- mes "Suddenly the sink sounds like water is flowing freely from it.";
- next;
- specialeffect(EF_VENOMDUST, AREA, playerattached());
- mes "Faint laughing can be heard off in the direction of the faucet.";
- brazil_ghost = 4;
- changequest 60351,60352;
- close;
- }
- else {
- mes "You flush the toilet "+.@input+" times.";
- next;
- mes "But nothing happens.";
- close;
- }
- case 2:
- mes "You close the lid of the toilet.";
- mes "Nothing seems to be happening.";
- close;
- }
- }
- else {
- mes "Nothing happens.";
- close;
- }
- }
+ mes "qwaaaaaaaaa!";
+ mes "kwaaaaaaaaaa!";
+ mes "kwaaaaaaaaaaaaaaaaaaa!";
+ next;
+ mes "[Distant Sound]";
+ mes "^FF0000kkkkhee- hihihihi!!!^000000";
+ mes "Suddenly the sink sounds like water is flowing freely from it.";
+ next;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
+ mes "Faint laughing can be heard off in the direction of the faucet.";
+ brazil_ghost = 4;
+ changequest 60351,60352;
+ close;
case 2:
- mes "You do nothing.";
+ mes "You close the lid of the toilet.";
+ mes "Nothing seems to be happening.";
close;
}
- }
- else {
- mes "- Looks like an ordinary toilet -";
+ case 2:
+ mes "You do nothing.";
close;
}
}
bra_in01,134,189,3 script Faucet#bra CLEAR_NPC,{
- if (brazil_ghost > 0) {
- mes "- It seems like an ordinary faucet -";
+ mes "- It seems like an ordinary faucet -";
+ if (brazil_ghost == 0) {
+ close;
+ }
+ next;
+ switch(select("Examine it.", "Ignore.")) {
+ case 1:
+ mes "- What was the next line to that spell now? -";
+ input(.@input$);
+ next;
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes .@input$;
+ next;
+ .@braspell$ = "Mother the drought has started!";
+ .@chkspell = compare(.@braspell$,.@input$);
+ if (!.@chkspell) {
+ mes "Seems like you said something wrong.";
+ close;
+ }
+ if (brazil_ghost != 4) {
+ mes "Nothing happens.";
+ close;
+ }
+ mes "[Sobbing Voice]";
+ mes "^FF0000Don't worry... the waterfall will help it....^000000";
next;
- switch(select("Examine it.", "Ignore.")) {
+ switch(select("Tap on the faucet.", "Turn on the water.")) {
case 1:
- mes "- What was the next line to that spell now? -";
- input .@input$;
+ mes "How many times will you tap the faucet?";
+ input(.@input, 0, 999);
next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes .@input$;
+ mes "You tap the faucet "+.@input+" times.";
+ next;
+ mes "But nothing happens.";
+ close;
+ case 2:
+ mes "How many times should I turn the water on?";
+ input(.@input, 0, 999);
next;
- .@braspell$ = "Mother the drought has started!";
- .@chkspell = compare(.@braspell$,.@input$);
- if (!.@chkspell) {
- mes "Seems like you said something wrong.";
+ if (.@input != 1) {
+ mes "You turn the faucet on "+.@input+" times.";
+ next;
+ mes "But nothing happens.";
close;
}
- else {
- if (brazil_ghost == 4) {
- mes "[Sobbing Voice]";
- mes "^FF0000Don't worry... the waterfall will help it....^000000";
- next;
- switch(select("Tap on the faucet.", "Turn on the water.")) {
- case 1:
- mes "How many times will you tap the faucet?";
- input .@input,0,999;
- next;
- mes "You tap the faucet "+.@input+" times.";
- next;
- mes "But nothing happens.";
- close;
- case 2:
- mes "How many times should I turn the water on?";
- input .@input,0,999;
- next;
- if (.@input == 1) {
- mes "You turn the faucet on once.";
- next;
- mes "swwwaaaaaaa-";
- next;
- mes "[Distant Sound]";
- mes "^FF0000kkkkhee- hihihihi!!!^000000";
- mes "You see the carpet move.";
- next;
- specialeffect(EF_VENOMDUST, AREA, playerattached());
- mes "Faint laughing can be heard off in the direction of the carpet.";
- brazil_ghost = 5;
- changequest 60352,60353;
- close;
- }
- else {
- mes "You turn the faucet on "+.@input+" times.";
- next;
- mes "But nothing happens.";
- close;
- }
- }
- }
- else {
- mes "Nothing happens.";
- close;
- }
- }
- case 2:
- mes "You do nothing.";
+ mes "You turn the faucet on once.";
+ next;
+ mes "swwwaaaaaaa-";
+ next;
+ mes "[Distant Sound]";
+ mes "^FF0000kkkkhee- hihihihi!!!^000000";
+ mes "You see the carpet move.";
+ next;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
+ mes "Faint laughing can be heard off in the direction of the carpet.";
+ brazil_ghost = 5;
+ changequest 60352,60353;
close;
}
- }
- else {
- mes "- It seems like an ordinary faucet -";
+ case 2:
+ mes "You do nothing.";
close;
}
}
bra_in01,138,184,3 script Carpet#bra CLEAR_NPC,{
- if (brazil_ghost > 0) {
- mes "- A carpet with an intricate pattern on it -";
+ mes "- A carpet with an intricate pattern on it -";
+ if (brazil_ghost == 0) {
+ close;
+ }
+ next;
+ switch(select("Examine it.", "Ignore.")) {
+ case 1:
+ mes "- What was the next line to that spell now? -";
+ input(.@input$);
next;
- switch(select("Examine it.", "Ignore.")) {
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes .@input$;
+ next;
+ .@braspell$ = "Mother where are my friends?";
+ .@chkspell = compare(.@braspell$,.@input$);
+ if (!.@chkspell) {
+ mes "Seems like you said something wrong.";
+ close;
+ }
+ if (brazil_ghost != 5) {
+ mes "Nothing happens.";
+ close;
+ }
+ mes "[Sobbing Voice]";
+ mes "^FF0000your 7 friends....are...sleeping... now it...'s time ....to wake them........^000000";
+ next;
+ switch(select("Jump on the carpet.", "Lie on the carpet.", "Shake the carpet.")) {
case 1:
- mes "- What was the next line to that spell now? -";
- input .@input$;
+ mes "How many times should I jump?";
+ input(.@input, 0, 999);
next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes .@input$;
+ mes "You jump on the carpet "+.@input+" times.";
+ next;
+ mes "But nothing happens.";
+ close;
+ case 2:
+ mes "How many times should I lie on the carpet?";
+ input(.@input, 0, 999);
+ next;
+ mes "You lie on the carpet "+.@input+" times.";
+ next;
+ mes "But nothing happens.";
+ close;
+ case 3:
+ mes "How many times should I shake the carpet?";
+ input(.@input, 0, 999);
next;
- .@braspell$ = "Mother where are my friends?";
- .@chkspell = compare(.@braspell$,.@input$);
- if (!.@chkspell) {
- mes "Seems like you said something wrong.";
+ mes "You shake the carpet "+.@input+" times.";
+ next;
+ if (.@input != 7) {
+ mes "But nothing happens.";
close;
}
- else {
- if (brazil_ghost == 5) {
- mes "[Sobbing Voice]";
- mes "^FF0000your 7 friends....are...sleeping... now it...'s time ....to wake them........^000000";
- next;
- switch(select("Jump on the carpet.", "Lie on the carpet.", "Shake the carpet.")) {
- case 1:
- mes "How many times should I jump?";
- input .@input,0,999;
- next;
- mes "You jump on the carpet "+.@input+" times.";
- next;
- mes "But nothing happens.";
- close;
- case 2:
- mes "How many times should I lie on the carpet?";
- input .@input,0,999;
- next;
- mes "You lie on the carpet "+.@input+" times.";
- next;
- mes "But nothing happens.";
- close;
- case 3:
- mes "How many times should I shake the carpet?";
- input .@input,0,999;
- next;
- if (.@input == 7) {
- mes "You shake the carpet 7 times.";
- next;
- mes "- fly~ fly~ fly~ fly~ fly~ fly~ fly~ -";
- next;
- mes "[Distant Sound]";
- mes "^FF0000kkkkhee- hihihihi!!!^000000";
- next;
- specialeffect(EF_VENOMDUST, AREA, playerattached());
- mes "Faint laughing can be heard off in the direction of the mirror.";
- brazil_ghost = 6;
- changequest 60353,60354;
- close;
- }
- else {
- mes "You shake the carpet "+.@input+" times.";
- next;
- mes "But nothing happens.";
- close;
- }
- }
- }
- else {
- mes "Nothing happens.";
- close;
- }
- }
- case 2:
- mes "You do nothing.";
+ mes "- fly~ fly~ fly~ fly~ fly~ fly~ fly~ -";
+ next;
+ mes "[Distant Sound]";
+ mes "^FF0000kkkkhee- hihihihi!!!^000000";
+ next;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
+ mes "Faint laughing can be heard off in the direction of the mirror.";
+ brazil_ghost = 6;
+ changequest 60353,60354;
close;
}
- }
- else {
- mes "- A carpet with an intricate pattern on it -";
+ case 2:
+ mes "You do nothing.";
close;
}
}
bra_in01,151,180,3 script Mirror#bra CLEAR_NPC,{
- if (brazil_ghost > 0) {
- mes "- You can see a clean mirror without any marks or dust -";
+ mes "- You can see a clean mirror without any marks or dust -";
+ if (brazil_ghost == 0) {
+ close;
+ }
+ next;
+ switch(select("Examine it.", "Ignore.")) {
+ case 1:
+ mes "- What was the next line to that spell now? -";
+ input(.@input$);
+ next;
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes .@input$;
+ next;
+ .@braspell$ = "Where are you mom?";
+ .@chkspell = compare(.@braspell$,.@input$);
+ if (!.@chkspell) {
+ mes "Seems like you said something wrong.";
+ close;
+ }
+ if (brazil_ghost != 6) {
+ mes "Nothing happens.";
+ close;
+ }
+ mes "[Distant Sound]";
+ mes "^FF0000kihe! hit! hit! hit! hit!^000000";
+ next;
+ mes "[Distant Sound]";
+ mes "^FF0000kihe! hit! hit! hit! hit!^000000";
+ mes "^FF0000kihe! hit! hit! hit! hit!^000000";
+ next;
+ mes "[Distant Sound]";
+ mes "Behind you...";
+ enablenpc "Ghost#bra";
+ next;
+ emotion e_omg,1;
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "The stories about the ghost are true~!";
+ next;
+ mes "[Ghost]";
+ mes "^FF0000my baby....^000000";
+ next;
+ mes "[Ghost]";
+ mes "^FF0000I can't see.... my eye....^000000";
+ mes "^FF0000What's going on....?^000000";
next;
- switch(select("Examine it.", "Ignore.")) {
+ mes "- You take a deep breath and then look at the Ghost and notice it has an eye patch -";
+ next;
+ mes "[Ghost]";
+ mes "^FF0000My eyes are so tight... can you take this off?^000000";
+ next;
+ mes "You step carefully towards the ghost.";
+ next;
+ mes "His face was covered with dust making strange contortions with it's face.";
+ next;
+ mes "[Ghost]";
+ mes "^FF0000Come on help mom.....^000000";
+ next;
+ switch(select("Take the eye bandage off.", "Run away~.")) {
case 1:
- mes "- What was the next line to that spell now? -";
- input .@input$;
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes .@input$;
- next;
- .@braspell$ = "Where are you mom?";
- .@chkspell = compare(.@braspell$,.@input$);
- if (!.@chkspell) {
- mes "Seems like you said something wrong.";
- close;
+ while(1) {
+ .@cpudice = rand(1,6);
+ .@pcdice = rand(1,6);
+ if (.@cpudice != .@pcdice) {
+ emotion (57+.@cpudice),0,"Ghost#bra";
+ emotion (57+.@cpudice),1;
+ break;
+ }
+ }
+ if (.@cpudice > .@pcdice) {
+ specialeffect(EF_DEVIL, AREA, playerattached());
+ mes "[Ghost]";
+ mes "^FF0000Go away!^000000";
+ brazil_ghost = 1;
+ changequest 60354,2208;
+ percentheal -50,-50;
+ close2;
+ disablenpc "Ghost#bra";
+ warp "bra_in01",12,183;
+ end;
}
else {
- if (brazil_ghost == 6) {
- mes "[Distant Sound]";
- mes "^FF0000kihe! hit! hit! hit! hit!^000000";
- next;
- mes "[Distant Sound]";
- mes "^FF0000kihe! hit! hit! hit! hit!^000000";
- mes "^FF0000kihe! hit! hit! hit! hit!^000000";
- next;
- mes "[Distant Sound]";
- mes "Behind you...";
- enablenpc "Ghost#bra";
- next;
- emotion e_omg,1;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "The stories about the ghost are true~!";
- next;
- mes "[Ghost]";
- mes "^FF0000my baby....^000000";
- next;
- mes "[Ghost]";
- mes "^FF0000I can't see.... my eye....^000000";
- mes "^FF0000What's going on....?^000000";
- next;
- mes "- You take a deep breath and then look at the Ghost and notice it has an eye patch -";
- next;
- mes "[Ghost]";
- mes "^FF0000My eyes are so tight... can you take this off?^000000";
- next;
- mes "You step carefully towards the ghost.";
- next;
- mes "His face was covered with dust making strange contortions with it's face.";
- next;
- mes "[Ghost]";
- mes "^FF0000Come on help mom.....^000000";
- next;
- switch(select("Take the eye bandage off.", "Run away~.")) {
- case 1:
- while(1) {
- .@cpudice = rand(1,6);
- .@pcdice = rand(1,6);
- if (.@cpudice != .@pcdice) {
- emotion (57+.@cpudice),0,"Ghost#bra";
- emotion (57+.@cpudice),1;
- break;
- }
- }
- if (.@cpudice > .@pcdice) {
- specialeffect(EF_DEVIL, AREA, playerattached());
- mes "[Ghost]";
- mes "^FF0000Go away!^000000";
- brazil_ghost = 1;
- changequest 60354,2208;
- percentheal -50,-50;
- close2;
- disablenpc "Ghost#bra";
- warp "bra_in01",12,183;
- end;
- }
- else {
- emotion e_bzz,1;
- mes "[Ghost]";
- mes "^FF0000Ahh!^000000";
- mes "The Ghost disappeared into the toilet.";
- brazil_ghost = 7;
- changequest 60354,60355;
- close2;
- disablenpc "Ghost#bra";
- warp "bra_in01",206,100;
- end;
- }
- case 2:
- mes "You run away from the ghost.";
- close2;
- brazil_ghost = 1;
- changequest 60354,2208;
- warp "bra_in01",12,183;
- disablenpc "Ghost#bra";
- end;
- }
- close;
- }
- else {
- mes "Nothing happens.";
- close;
- }
+ emotion e_bzz,1;
+ mes "[Ghost]";
+ mes "^FF0000Ahh!^000000";
+ mes "The Ghost disappeared into the toilet.";
+ brazil_ghost = 7;
+ changequest 60354,60355;
+ close2;
+ disablenpc "Ghost#bra";
+ warp "bra_in01",206,100;
+ end;
}
case 2:
- mes "You do nothing.";
- close;
+ mes "You run away from the ghost.";
+ close2;
+ brazil_ghost = 1;
+ changequest 60354,2208;
+ warp "bra_in01",12,183;
+ disablenpc "Ghost#bra";
+ end;
}
- }
- else {
- mes "- You can see a clean mirror without any marks or dust -";
+ close;
+ case 2:
+ mes "You do nothing.";
close;
}
}
diff --git a/npc/re/quests/quests_dewata.txt b/npc/re/quests/quests_dewata.txt
index 1b57e4397..638938d53 100644
--- a/npc/re/quests/quests_dewata.txt
+++ b/npc/re/quests/quests_dewata.txt
@@ -1706,7 +1706,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
next;
mes "- He seems to be asking for the Island name. -";
next;
- input .@island_name$;
+ input(.@island_name$);
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "It's called "+ .@island_name$ +". What's wrong?";
diff --git a/npc/re/quests/quests_dicastes.txt b/npc/re/quests/quests_dicastes.txt
index 817b4780d..2b10bc735 100644
--- a/npc/re/quests/quests_dicastes.txt
+++ b/npc/re/quests/quests_dicastes.txt
@@ -131,7 +131,7 @@ dic_dun01,266,113,5 script Curious Sapha#ep13_3_ 4_MAN_BENKUNI,{
mes "I'll give you a deal and sell it by 500 Zeny each. But, try not to carry it with you into Scaraba Hall.";
mes "How many do you want? You can buy up to 100.";
next;
- input .@input;
+ input(.@input);
.@deal = 500 * .@input;
if (.@deal == 0) {
mes "[Curious Sapha]";
@@ -164,7 +164,7 @@ dic_dun01,266,113,5 script Curious Sapha#ep13_3_ 4_MAN_BENKUNI,{
mes "[Curious Sapha]";
mes "Do you have any useful information?";
mes "Please let me know!";
- input .@str$;
+ input(.@str$);
next;
mes "[Curious Sapha]";
mes "It says ^0000FF"+.@str$+"^000000.";
@@ -4588,7 +4588,7 @@ dic_fild01,231,174,5 script BK#ep133_18 4_M_MERCAT2,{
mes "- BK of the Cat Merchant group is being difficult.";
mes "What did Shay tell you to do?-";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Shay's special drink will be delivered" || .@inputstr$ == "Shay's special drink will be delivered.") {
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmm. If you don't cooperate,";
@@ -7517,7 +7517,7 @@ moc_para01,44,19,3 script Cat Hand Agent#gekk 4_M_MERCAT2,{
mes "If you really mean it, then sign here.";
mes "I'm collecting signs to get on Gyareuk's good side... never mind. I will let them know you are my sponsor!";
next;
- input .@inputstr$;
+ input(.@inputstr$);
mes "[Agent Geck]";
mes "" + strcharinfo(PC_NAME) + "? Human names are strange to me.";
next;
diff --git a/npc/re/quests/quests_eclage.txt b/npc/re/quests/quests_eclage.txt
index ac6717529..10515dee3 100644
--- a/npc/re/quests/quests_eclage.txt
+++ b/npc/re/quests/quests_eclage.txt
@@ -140,13 +140,13 @@ ecl_fild01,94,322,5 script Security Guard#ep14_2 4_M_FAIRYSOLDIER,{
mes "Please fill out your name, occupation, and level here.";
next;
mes "Write your name.";
- input .@inputstr$;
+ input(.@inputstr$);
next;
mes "Write your occupation.";
- input .@inputstr$;
+ input(.@inputstr$);
next;
mes "Write your level.";
- input .@inputstr$;
+ input(.@inputstr$);
next;
mes "[Security Guard]";
mes "If you completed your forms, please submit them to the administrator over there.";
@@ -624,7 +624,7 @@ eclage,102,32,4 script Fairy Carpenter#ep14_2 4_M_FAIRYKID2,{
next;
mes "[Fairy Carpenter]";
mes "Please write the number of pieces necessary for each length. If no pieces for that length are necessary, please write 0.";
- input .@inputstr$;
+ input(.@inputstr$);
next;
if (.@inputstr$ != "002") {
mes "[Fairy Carpenter]";
@@ -1467,7 +1467,7 @@ eclage,191,200,4 script Yube#ep14_2 4_M_FAIRYKID5,{
emotion e_what;
cutin "war_y3",2;
next;
- input .@inputnum;
+ input(.@inputnum);
if (.@inputnum != 128) {
mes "[Yube]";
mes "Hmm~ I don't think so.";
@@ -1591,7 +1591,7 @@ eclage,191,200,4 script Yube#ep14_2 4_M_FAIRYKID5,{
mes "I can make as many as 128. How many do you need?";
cutin "war_y4",2;
next;
- input .@input;
+ input(.@input);
if (.@input < 1 || .@input > 128) {
mes "[Yube]";
mes "You aren't going to make them?";
@@ -10100,19 +10100,17 @@ ecl_in04,109,215,3 script Hiel#pa0829 4_M_FAIRYSCHOLAR,{
mes "[Hiel]";
mes "Oh~ Someone referred you to me? Who was it? You better make sense, or I'll be sure to kick you out.";
next;
- input .@inputstr$;
- if (.@inputstr$ == "Clever"){
- mes "[" + strcharinfo(PC_NAME) + "]";
- mes .@inputstr$ + " referred me(" + strcharinfo(PC_NAME) + ") to you.";
- next;
- }
- else {
+ input(.@inputstr$);
+ if (.@inputstr$ != "Clever") {
mes "[Hiel]";
mes "I don't know that person! Aren't you suspicious!";
close2;
warp "eclage",152,91;
end;
}
+ mes "[" + strcharinfo(PC_NAME) + "]";
+ mes .@inputstr$ + " referred me(" + strcharinfo(PC_NAME) + ") to you.";
+ next;
mes "[Hiel]";
mes "Oh really? Give me a minute. I'm going to wrap up what I am doing and come back.";
ep14_2_etran = 11;
@@ -10923,13 +10921,8 @@ ecl_in02,133,115,7 script Prison Guard#pa0829 4_M_FAIRYSOLDIER2,{
mes "[Prison Guard]";
mes "I see, I don't think I ever saw you on our visitor's list. Who are you visiting?";
next;
- input .@inputstr$;
- if (.@inputstr$ == "Clever") {
- mes "[Prison Guard]";
- mes "^000099" + .@inputstr$ + "^000000? ... That means...";
- next;
- }
- else {
+ input(.@inputstr$);
+ if (.@inputstr$ != "Clever") {
mes "[Prison Guard]";
mes "Hmm? You want to visit ^000099" + .@inputstr$ + "^000000? I don't see that visitation on the list. Are you sure you made a formal request?";
next;
@@ -10939,6 +10932,9 @@ ecl_in02,133,115,7 script Prison Guard#pa0829 4_M_FAIRYSOLDIER2,{
}
close;
}
+ mes "[Prison Guard]";
+ mes "^000099" + .@inputstr$ + "^000000? ... That means...";
+ next;
mes "[Clever]";
mes "Huh? I've got a visitor? Yahoo! It's a visit! Yay~";
next;
@@ -11753,12 +11749,12 @@ ecl_in04,108,215,4 script Supreme Elec rope#pa0829 HIDDEN_NPC,{
}
sec_in02,85,187,4 script #pa0829Reactor11 4_M_FAIRYKID,3,3,{
- input .@input;
+ input(.@input);
if (.@input == 1854) {
mes "[????]";
mes "Baby, you don't know why I'm upset, do you?";
mes "Present" + ep14_2_etran + "Dog";
- input .@input;
+ input(.@input, 0);
ep14_2_etran = .@input;
if (ep14_2_mylord < 7) {
ep14_2_mylord = 7;
@@ -13748,7 +13744,7 @@ sec_in02,16,11,5 script New Oz Image#1 4_M_MINSTREL1,1,1,{
//== Memory of Professor Worm ==============================
sec_in02,10,17,4 script Professor Aide#worm 4_BULL,{
- input .@input;
+ input(.@input);
if (.@input != 1917) {
mes "EEK!";
close;
@@ -19129,7 +19125,7 @@ que_avan01,18,38,0 script Desk#tl01 CLEAR_NPC,{
mes "In the middle, there is a small numerical panel. A 5-digit number can be inputted.";
next;
if (select("Input a number.", "Look at other parts of the desk.")==1) {
- input .@input;
+ input(.@input);
if (.@input == 31425) {
mes "As soon as the number is inputted, a click is heard.";
mes "The hinged device can be opened.";
diff --git a/npc/re/quests/quests_malangdo.txt b/npc/re/quests/quests_malangdo.txt
index 786aeccb1..f66d6ab76 100644
--- a/npc/re/quests/quests_malangdo.txt
+++ b/npc/re/quests/quests_malangdo.txt
@@ -185,12 +185,13 @@ mal_in02,134,31,5 script Investment Cat Helper 4_WHITETIGER,{
mes "Isn't it lovely?";
mes "How many will you invest in? Enter 0 to cancel.";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Investment Cat Helper]";
mes "Please invest next time~";
close;
- } else if (.@input > 10) {
+ }
+ if (.@input > 10) {
mes "[Investment Cat Helper]";
mes "You can get a maximum of 10 accounts~";
close;
@@ -299,29 +300,29 @@ mal_in02,134,31,5 script Investment Cat Helper 4_WHITETIGER,{
mes "[Investment Cat Helper]";
mes "The can donation can range from a minimum of 20 to a maximum of 10,000.";
next;
- input .@input;
+ input(.@input);
if (.@input < 20 || .@input > 10000) {
mes "[Investment Cat Helper]";
mes "The can donation can range from a minimum of 20 to a maximum of 10,000.";
close;
- } else if (countitem(Malang_Sp_Can) < .@input) { // Malang_Sp_Can
+ }
+ if (countitem(Malang_Sp_Can) < .@input) { // Malang_Sp_Can
mes "[Investment Cat Helper]";
mes "Hmm? You don't have enough cans.";
close;
- } else {
- delitem Malang_Sp_Can,.@input;
- mes "[Investment Cat Helper]";
- mes "Ohh! Thank you~";
- next;
- mes "[Investment Cat Helper]";
- mes "Dear "+strcharinfo(PC_NAME)+" ~";
- mes "I have only Increase AGI";
- mes "and Blessing to give you.";
- mes "Thank you.";
- npcskill "AL_INCAGI",10,0,0;
- npcskill "AL_BLESSING",10,0,0;
- close;
}
+ delitem Malang_Sp_Can,.@input;
+ mes "[Investment Cat Helper]";
+ mes "Ohh! Thank you~";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "Dear "+strcharinfo(PC_NAME)+" ~";
+ mes "I have only Increase AGI";
+ mes "and Blessing to give you.";
+ mes "Thank you.";
+ npcskill "AL_INCAGI",10,0,0;
+ npcskill "AL_BLESSING",10,0,0;
+ close;
}
}
@@ -5556,7 +5557,7 @@ L_Viewpoint:
break;
}
next;
- input .@input;
+ input(.@input);
if (.@input == .@nori_c) {
mes "The card slides out with a sound after entering the number.";
mes "^4d4dffYou have passed the "+strnpcinfo(NPC_NAME_VISIBLE)+"! Run to the next destination!^000000";
@@ -7755,7 +7756,7 @@ malangdo,161,197,4 script Eryu#gamer 4_CAT,{
next;
mes "What do you want to say?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Come back") {
erasequest 5083;
setquest 5084;
@@ -7984,7 +7985,7 @@ malangdo,230,197,4 script Stew#gamer 4_CAT_3COLOR,{
next;
mes "What do you want to say?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Come back") {
erasequest 5085;
setquest 5086;
@@ -8166,7 +8167,7 @@ malangdo,244,144,4 script Ketchup#gamer 4_CAT_SAILOR3,{
next;
mes "What do you want to say?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Come back") {
erasequest 5087;
setquest 5088;
@@ -8433,7 +8434,7 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
next;
mes "What do you want to say?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Come back") {
erasequest 5089;
setquest 5090;
diff --git a/npc/re/quests/quests_malaya.txt b/npc/re/quests/quests_malaya.txt
index 091d8527a..403818823 100644
--- a/npc/re/quests/quests_malaya.txt
+++ b/npc/re/quests/quests_malaya.txt
@@ -2088,13 +2088,14 @@ malaya,119,217,3 script Blacksmith Pandoi 4_M_DEWBOY,{
mes "How many Silver Crosses do you need?";
mes "I can make up to 50 at a time.";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Pandoi]";
mes "Don't need Silver Crosses?";
mes "Well, I can take a rest then. Ha ha ha ha~";
close;
- } else if (.@amount > 50) {
+ }
+ if (.@amount > 50) {
mes "[Pandoi]";
mes "A maximum of 50 at a time!";
close;
@@ -8317,7 +8318,7 @@ ma_fild01,1,1,4 script Pintados Manager#pin 4_F_KHELLISIA,{
mes "295 - 343 -> Day 7";
mes "Global 1 = 1 hr.";
next;
- input .@input;
+ input(.@input);
if (.@input < 0 || .@input > 344)
close;
$malaya_pintados_00 = .@input;
@@ -8326,7 +8327,7 @@ ma_fild01,1,1,4 script Pintados Manager#pin 4_F_KHELLISIA,{
mes "Adjust the accumulated value for the Lesser Agimat.";
mes "Values can be adjusted between 0 to 1000.";
next;
- input .@input;
+ input(.@input);
if (.@input < 0 || .@input > 1000)
close;
$malaya_pintados_01 = .@input;
@@ -8335,7 +8336,7 @@ ma_fild01,1,1,4 script Pintados Manager#pin 4_F_KHELLISIA,{
mes "Adjust the accumulated value of the Silver Cross.";
mes "Values can be adjusted between 0 to 1000.";
next;
- input .@input;
+ input(.@input);
if (.@input < 0 || .@input > 1000)
close;
$malaya_pintados_02 = .@input;
@@ -8344,7 +8345,7 @@ ma_fild01,1,1,4 script Pintados Manager#pin 4_F_KHELLISIA,{
mes "Adjust the accumulated value for the Dyestuff.";
mes "Values can be adjusted between 0 to 300.";
next;
- input .@input;
+ input(.@input);
if (.@input < 0 || .@input > 300)
close;
$malaya_pintados_03 = .@input;
@@ -8577,7 +8578,7 @@ ma_fild01,179,260,2 script Festival Helper Boy#pin 4_M_BARYO_BOY,{
mes "[Isco]";
mes "He he... I'm slow with numbers. I get lost when it's over 50. How many will you give me?";
next;
- input .@amount;
+ input(.@amount);
if (.@amount < 1 || .@amount > 50) {
mes "[Isco]";
mes "Sigh~ I'm lost! I can't count if the numbers are weird.";
@@ -8609,7 +8610,7 @@ ma_fild01,179,260,2 script Festival Helper Boy#pin 4_M_BARYO_BOY,{
mes "[Isco]";
mes "He he... I'm slow with numbers. I get lost when it's over 50. How many will you give me?";
next;
- input .@amount;
+ input(.@amount);
if (.@amount < 1 || .@amount > 50) {
mes "[Isco]";
mes "Sigh~ I told you I'm not good with numbers.";
diff --git a/npc/re/quests/quests_mora.txt b/npc/re/quests/quests_mora.txt
index 34293d200..46fdcbddd 100644
--- a/npc/re/quests/quests_mora.txt
+++ b/npc/re/quests/quests_mora.txt
@@ -3618,7 +3618,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
mes "You... I saw. Feeling. I saw. Feeling.";
mes "You... Name?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
mes "[Fishee]";
mes .@inputstr$+" do.";
mes "No know. No remember..";
@@ -3756,7 +3756,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
} else if (questprogress(5017)) {
mes "How will you bully the creature?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
mes "You do ^0000FF"+.@inputstr$+"^000000 to bully the unidentified creature.";
next;
setquest 5029;
@@ -4311,7 +4311,7 @@ mora,118,86,0 duplicate(???#mora) ???#ep14_muk05 CLEAR_NPC,2,2
next;
mes "What was the name of the unidentified creature?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ != "Fishee") {
mes "[???]";
mes "No Family. "+.@inputstr$+" No.";
diff --git a/npc/re/woe-fe/invest_main.txt b/npc/re/woe-fe/invest_main.txt
index 6a65a9c78..e42959aa7 100644
--- a/npc/re/woe-fe/invest_main.txt
+++ b/npc/re/woe-fe/invest_main.txt
@@ -151,18 +151,19 @@ function script F_Invest_Abyss {
mes "Please choose between 1 to 200.";
mes "Please enter 0 to cancel.";
next;
- input .@units;
+ input(.@units);
if (.@units < 0 || .@units > 200) {
mes getarg(1);
mes "You've exceeded the amount per investment.";
mes "Please try again.";
close;
- } else if (.@units == 0) {
+ }
+ if (.@units == 0) {
mes getarg(1);
mes "Canceled.";
close;
- } else
- break;
+ }
+ break;
case 5:
mes getarg(1);
mes "Canceled.";
@@ -199,18 +200,19 @@ function script F_Invest_Abyss {
mes "Please choose between 1 to 20.";
mes "Please enter 0 to cancel.";
next;
- input .@tickets;
+ input(.@tickets);
if (.@tickets < 0 || .@tickets > 20) {
mes getarg(1);
mes "You've exceeded the amount per investment.";
mes "Please try again.";
close;
- } else if (.@tickets == 0) {
+ }
+ if (.@tickets == 0) {
mes getarg(1);
mes "Canceled.";
close;
- } else
- break;
+ }
+ break;
case 4:
mes getarg(1);
mes "Canceled.";
diff --git a/src/char/char.c b/src/char/char.c
index cad28b373..c5afc0f63 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -2273,6 +2273,8 @@ static int char_char_married(int pl1, int pl2)
static int char_char_child(int parent_id, int child_id)
{
+ if (parent_id == 0 || child_id == 0) // Failsafe, avoild querys and fix EXP bug dividing with lower level chars
+ return 0;
if( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `child` FROM `%s` WHERE `char_id` = '%d'", char_db, parent_id) )
Sql_ShowDebug(inter->sql_handle);
else if( SQL_SUCCESS == SQL->NextRow(inter->sql_handle) )
@@ -2292,6 +2294,8 @@ static int char_char_child(int parent_id, int child_id)
static int char_char_family(int cid1, int cid2, int cid3)
{
+ if (cid1 == 0 || cid2 == 0 || cid3 == 0) //Failsafe, and avoid querys where there is no sense to keep executing if any of the inputs are 0
+ return 0;
if( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `char_id`,`partner_id`,`child` FROM `%s` WHERE `char_id` IN ('%d','%d','%d')", char_db, cid1, cid2, cid3) )
Sql_ShowDebug(inter->sql_handle);
else while( SQL_SUCCESS == SQL->NextRow(inter->sql_handle) )
diff --git a/src/common/HPMDataCheck.h b/src/common/HPMDataCheck.h
index 1e1d8068f..d63ed7b99 100644
--- a/src/common/HPMDataCheck.h
+++ b/src/common/HPMDataCheck.h
@@ -666,6 +666,7 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "PACKET_ZC_ACK_LEAVE_GUILD1", sizeof(struct PACKET_ZC_ACK_LEAVE_GUILD1), SERVER_TYPE_MAP },
{ "PACKET_ZC_ACK_LEAVE_GUILD2", sizeof(struct PACKET_ZC_ACK_LEAVE_GUILD2), SERVER_TYPE_MAP },
{ "PACKET_ZC_ACK_OPEN_WRITE_MAIL", sizeof(struct PACKET_ZC_ACK_OPEN_WRITE_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ACK_RANKING_sub", sizeof(struct PACKET_ZC_ACK_RANKING_sub), SERVER_TYPE_MAP },
{ "PACKET_ZC_ACK_REMOVE_ITEM_MAIL", sizeof(struct PACKET_ZC_ACK_REMOVE_ITEM_MAIL), SERVER_TYPE_MAP },
{ "PACKET_ZC_ACK_REQMAKINGITEM", sizeof(struct PACKET_ZC_ACK_REQMAKINGITEM), SERVER_TYPE_MAP },
{ "PACKET_ZC_ACK_REQNAME_TITLE", sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE), SERVER_TYPE_MAP },
@@ -735,6 +736,7 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "PACKET_ZC_SEARCH_STORE_INFO_ACK_sub", sizeof(struct PACKET_ZC_SEARCH_STORE_INFO_ACK_sub), SERVER_TYPE_MAP },
{ "PACKET_ZC_SKILL_SCALE", sizeof(struct PACKET_ZC_SKILL_SCALE), SERVER_TYPE_MAP },
{ "PACKET_ZC_SPRITE_CHANGE", sizeof(struct PACKET_ZC_SPRITE_CHANGE), SERVER_TYPE_MAP },
+ { "PACKET_ZC_STATUS_CHANGE_ACK", sizeof(struct PACKET_ZC_STATUS_CHANGE_ACK), SERVER_TYPE_MAP },
{ "PACKET_ZC_STYLE_CHANGE_RES", sizeof(struct PACKET_ZC_STYLE_CHANGE_RES), SERVER_TYPE_MAP },
{ "PACKET_ZC_UI_ACTION", sizeof(struct PACKET_ZC_UI_ACTION), SERVER_TYPE_MAP },
{ "PACKET_ZC_UPDATE_ITEM_FROM_BUYING_STORE", sizeof(struct PACKET_ZC_UPDATE_ITEM_FROM_BUYING_STORE), SERVER_TYPE_MAP },
diff --git a/src/common/packets/packets2019_len_main.h b/src/common/packets/packets2019_len_main.h
index 3ec006750..bfcb7c159 100644
--- a/src/common/packets/packets2019_len_main.h
+++ b/src/common/packets/packets2019_len_main.h
@@ -3757,7 +3757,7 @@ packetLen(0x0a39, 36) // CH_MAKE_CHAR
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1) // ZC_HAT_EFFECT
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -3901,7 +3901,7 @@ packetLen(0x0a74, 8)
packetLen(0x0a76, 80)
// Packet: 0x0a77
-packetLen(0x0a77, 15)
+packetLen(0x0a77, 15) // CZ_CAMERA_INFO
// Packet: 0x0a78
packetLen(0x0a78, 15)
@@ -4270,7 +4270,7 @@ packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
packetLen(0x0af5, 3)
// Packet: 0x0af6
-packetLen(0x0af6, 88)
+packetLen(0x0af6, 88) // ZC_ACK_RANKING
// Packet: 0x0af7
packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
@@ -4534,5 +4534,137 @@ packetLen(0x0b32, -1)
packetLen(0x0b33, 17)
#endif
+// Packet: 0x0b34
+#if PACKETVER >= 20190724
+packetLen(0x0b34, 50)
+#elif PACKETVER >= 20190703
+packetLen(0x0b34, 26)
+#endif
+
+// Packet: 0x0b35
+#if PACKETVER >= 20190703
+packetLen(0x0b35, 3)
+#endif
+
+// Packet: 0x0b36
+#if PACKETVER >= 20190717
+packetLen(0x0b36, -1)
+#endif
+
+// Packet: 0x0b37
+#if PACKETVER >= 20190724
+packetLen(0x0b37, -1)
+#endif
+
+// Packet: 0x0b38
+#if PACKETVER >= 20190724
+packetLen(0x0b38, -1)
+#endif
+
+// Packet: 0x0b39
+#if PACKETVER >= 20190724
+packetLen(0x0b39, -1)
+#endif
+
+// Packet: 0x0b3a
+#if PACKETVER >= 20190724
+packetLen(0x0b3a, 4)
+#endif
+
+// Packet: 0x0b3b
+#if PACKETVER >= 20190724
+packetLen(0x0b3b, 4)
+#endif
+
+// Packet: 0x0b3c
+#if PACKETVER >= 20190724
+packetLen(0x0b3c, 4)
+#endif
+
+// Packet: 0x0b3d
+#if PACKETVER >= 20190724
+packetLen(0x0b3d, -1)
+#endif
+
+// Packet: 0x0b3e
+#if PACKETVER >= 20190724
+packetLen(0x0b3e, -1)
+#endif
+
+// Packet: 0x0b3f
+#if PACKETVER >= 20190724
+packetLen(0x0b3f, 64)
+#endif
+
+// Packet: 0x0b40
+#if PACKETVER >= 20190724
+packetLen(0x0b40, -1)
+#endif
+
+// Packet: 0x0b41
+#if PACKETVER >= 20190724
+packetLen(0x0b41, 41)
+#endif
+
+// Packet: 0x0b42
+#if PACKETVER >= 20190724
+packetLen(0x0b42, 30)
+#endif
+
+// Packet: 0x0b43
+#if PACKETVER >= 20190724
+packetLen(0x0b43, 47)
+#endif
+
+// Packet: 0x0b44
+#if PACKETVER >= 20190724
+packetLen(0x0b44, 32)
+#endif
+
+// Packet: 0x0b45
+#if PACKETVER >= 20190724
+packetLen(0x0b45, 32)
+#endif
+
+// Packet: 0x0b46
+#if PACKETVER >= 20190724
+packetLen(0x0b46, 10)
+#endif
+
+// Packet: 0x0b47
+#if PACKETVER >= 20190724
+packetLen(0x0b47, 14)
+#endif
+
+// Packet: 0x0b48
+#if PACKETVER >= 20190724
+packetLen(0x0b48, 18)
+#endif
+
+// Packet: 0x0b49
+#if PACKETVER >= 20190724
+packetLen(0x0b49, 4)
+#endif
+
+// Packet: 0x0b4a
+#if PACKETVER >= 20190724
+packetLen(0x0b4a, 6)
+#endif
+
+// Packet: 0x0b4b
+#if PACKETVER >= 20190724
+packetLen(0x0b4b, 4)
+#endif
+
+// Packet: 0x0b4c
+#if PACKETVER >= 20190724
+packetLen(0x0b4c, 2)
+#endif
+
+// Packet: 0x0b4d
+#if PACKETVER >= 20190724
+packetLen(0x0b4d, 6)
+#endif
+
#endif /* COMMON_PACKETS2019_LEN_MAIN_H */
diff --git a/src/common/packets/packets2019_len_re.h b/src/common/packets/packets2019_len_re.h
index 24741a353..33aa7a524 100644
--- a/src/common/packets/packets2019_len_re.h
+++ b/src/common/packets/packets2019_len_re.h
@@ -3763,7 +3763,7 @@ packetLen(0x0a39, 36) // CH_MAKE_CHAR
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1) // ZC_HAT_EFFECT
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -3907,7 +3907,7 @@ packetLen(0x0a74, 8)
packetLen(0x0a76, 80)
// Packet: 0x0a77
-packetLen(0x0a77, 15)
+packetLen(0x0a77, 15) // CZ_CAMERA_INFO
// Packet: 0x0a78
packetLen(0x0a78, 15)
@@ -4276,7 +4276,7 @@ packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
packetLen(0x0af5, 3)
// Packet: 0x0af6
-packetLen(0x0af6, 88)
+packetLen(0x0af6, 88) // ZC_ACK_RANKING
// Packet: 0x0af7
packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
@@ -4546,5 +4546,137 @@ packetLen(0x0b32, -1)
packetLen(0x0b33, 17)
#endif
+// Packet: 0x0b34
+#if PACKETVER >= 20190724
+packetLen(0x0b34, 50)
+#elif PACKETVER >= 20190703
+packetLen(0x0b34, 26)
+#endif
+
+// Packet: 0x0b35
+#if PACKETVER >= 20190703
+packetLen(0x0b35, 3)
+#endif
+
+// Packet: 0x0b36
+#if PACKETVER >= 20190717
+packetLen(0x0b36, -1)
+#endif
+
+// Packet: 0x0b37
+#if PACKETVER >= 20190724
+packetLen(0x0b37, -1)
+#endif
+
+// Packet: 0x0b38
+#if PACKETVER >= 20190724
+packetLen(0x0b38, -1)
+#endif
+
+// Packet: 0x0b39
+#if PACKETVER >= 20190724
+packetLen(0x0b39, -1)
+#endif
+
+// Packet: 0x0b3a
+#if PACKETVER >= 20190724
+packetLen(0x0b3a, 4)
+#endif
+
+// Packet: 0x0b3b
+#if PACKETVER >= 20190724
+packetLen(0x0b3b, 4)
+#endif
+
+// Packet: 0x0b3c
+#if PACKETVER >= 20190724
+packetLen(0x0b3c, 4)
+#endif
+
+// Packet: 0x0b3d
+#if PACKETVER >= 20190724
+packetLen(0x0b3d, -1)
+#endif
+
+// Packet: 0x0b3e
+#if PACKETVER >= 20190724
+packetLen(0x0b3e, -1)
+#endif
+
+// Packet: 0x0b3f
+#if PACKETVER >= 20190724
+packetLen(0x0b3f, 64)
+#endif
+
+// Packet: 0x0b40
+#if PACKETVER >= 20190724
+packetLen(0x0b40, -1)
+#endif
+
+// Packet: 0x0b41
+#if PACKETVER >= 20190724
+packetLen(0x0b41, 41)
+#endif
+
+// Packet: 0x0b42
+#if PACKETVER >= 20190724
+packetLen(0x0b42, 30)
+#endif
+
+// Packet: 0x0b43
+#if PACKETVER >= 20190724
+packetLen(0x0b43, 47)
+#endif
+
+// Packet: 0x0b44
+#if PACKETVER >= 20190724
+packetLen(0x0b44, 32)
+#endif
+
+// Packet: 0x0b45
+#if PACKETVER >= 20190724
+packetLen(0x0b45, 32)
+#endif
+
+// Packet: 0x0b46
+#if PACKETVER >= 20190724
+packetLen(0x0b46, 10)
+#endif
+
+// Packet: 0x0b47
+#if PACKETVER >= 20190724
+packetLen(0x0b47, 14)
+#endif
+
+// Packet: 0x0b48
+#if PACKETVER >= 20190724
+packetLen(0x0b48, 18)
+#endif
+
+// Packet: 0x0b49
+#if PACKETVER >= 20190724
+packetLen(0x0b49, 4)
+#endif
+
+// Packet: 0x0b4a
+#if PACKETVER >= 20190724
+packetLen(0x0b4a, 6)
+#endif
+
+// Packet: 0x0b4b
+#if PACKETVER >= 20190724
+packetLen(0x0b4b, 4)
+#endif
+
+// Packet: 0x0b4c
+#if PACKETVER >= 20190724
+packetLen(0x0b4c, 2)
+#endif
+
+// Packet: 0x0b4d
+#if PACKETVER >= 20190724
+packetLen(0x0b4d, 6)
+#endif
+
#endif /* COMMON_PACKETS2019_LEN_RE_H */
diff --git a/src/common/packets/packets2019_len_zero.h b/src/common/packets/packets2019_len_zero.h
index 85824232d..7b9310cf2 100644
--- a/src/common/packets/packets2019_len_zero.h
+++ b/src/common/packets/packets2019_len_zero.h
@@ -3757,7 +3757,7 @@ packetLen(0x0a39, 36) // CH_MAKE_CHAR
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1) // ZC_HAT_EFFECT
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -3901,7 +3901,7 @@ packetLen(0x0a74, 8)
packetLen(0x0a76, 80)
// Packet: 0x0a77
-packetLen(0x0a77, 15)
+packetLen(0x0a77, 15) // CZ_CAMERA_INFO
// Packet: 0x0a78
packetLen(0x0a78, 15)
@@ -4270,7 +4270,7 @@ packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
packetLen(0x0af5, 3)
// Packet: 0x0af6
-packetLen(0x0af6, 88)
+packetLen(0x0af6, 88) // ZC_ACK_RANKING
// Packet: 0x0af7
packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
@@ -4527,9 +4527,136 @@ packetLen(0x0b33, 17)
#endif
// Packet: 0x0b34
-#if PACKETVER >= 20190626
+#if PACKETVER >= 20190724
+packetLen(0x0b34, 50)
+#elif PACKETVER >= 20190626
packetLen(0x0b34, 26)
#endif
+// Packet: 0x0b35
+#if PACKETVER >= 20190709
+packetLen(0x0b35, 3)
+#endif
+
+// Packet: 0x0b36
+#if PACKETVER >= 20190709
+packetLen(0x0b36, -1)
+#endif
+
+// Packet: 0x0b37
+#if PACKETVER >= 20190724
+packetLen(0x0b37, -1)
+#endif
+
+// Packet: 0x0b38
+#if PACKETVER >= 20190724
+packetLen(0x0b38, -1)
+#endif
+
+// Packet: 0x0b39
+#if PACKETVER >= 20190724
+packetLen(0x0b39, -1)
+#endif
+
+// Packet: 0x0b3a
+#if PACKETVER >= 20190724
+packetLen(0x0b3a, 4)
+#endif
+
+// Packet: 0x0b3b
+#if PACKETVER >= 20190724
+packetLen(0x0b3b, 4)
+#endif
+
+// Packet: 0x0b3c
+#if PACKETVER >= 20190724
+packetLen(0x0b3c, 4)
+#endif
+
+// Packet: 0x0b3d
+#if PACKETVER >= 20190724
+packetLen(0x0b3d, -1)
+#endif
+
+// Packet: 0x0b3e
+#if PACKETVER >= 20190724
+packetLen(0x0b3e, -1)
+#endif
+
+// Packet: 0x0b3f
+#if PACKETVER >= 20190724
+packetLen(0x0b3f, 64)
+#endif
+
+// Packet: 0x0b40
+#if PACKETVER >= 20190724
+packetLen(0x0b40, -1)
+#endif
+
+// Packet: 0x0b41
+#if PACKETVER >= 20190724
+packetLen(0x0b41, 41)
+#endif
+
+// Packet: 0x0b42
+#if PACKETVER >= 20190724
+packetLen(0x0b42, 30)
+#endif
+
+// Packet: 0x0b43
+#if PACKETVER >= 20190724
+packetLen(0x0b43, 47)
+#endif
+
+// Packet: 0x0b44
+#if PACKETVER >= 20190724
+packetLen(0x0b44, 32)
+#endif
+
+// Packet: 0x0b45
+#if PACKETVER >= 20190724
+packetLen(0x0b45, 32)
+#endif
+
+// Packet: 0x0b46
+#if PACKETVER >= 20190724
+packetLen(0x0b46, 10)
+#endif
+
+// Packet: 0x0b47
+#if PACKETVER >= 20190724
+packetLen(0x0b47, 14)
+#endif
+
+// Packet: 0x0b48
+#if PACKETVER >= 20190724
+packetLen(0x0b48, 18)
+#endif
+
+// Packet: 0x0b49
+#if PACKETVER >= 20190724
+packetLen(0x0b49, 4)
+#endif
+
+// Packet: 0x0b4a
+#if PACKETVER >= 20190724
+packetLen(0x0b4a, 6)
+#endif
+
+// Packet: 0x0b4b
+#if PACKETVER >= 20190724
+packetLen(0x0b4b, 4)
+#endif
+
+// Packet: 0x0b4c
+#if PACKETVER >= 20190724
+packetLen(0x0b4c, 2)
+#endif
+
+// Packet: 0x0b4d
+#if PACKETVER >= 20190724
+packetLen(0x0b4d, 6)
+#endif
+
#endif /* COMMON_PACKETS2019_LEN_ZERO_H */
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index a2db15f6c..2fac5b4a4 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -2232,26 +2232,56 @@ ACMD(refine)
memset(atcmd_output, '\0', sizeof(atcmd_output));
if (!*message || sscanf(message, "%12d %12d", &position, &refine_level) < 2) {
- clif->message(fd, msg_fd(fd,996)); // Please enter a position and an amount (usage: @refine <equip position> <+/- amount>).
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,997), EQP_HEAD_LOW); // %d: Lower Headgear
+ clif->message(fd, msg_fd(fd, 996)); // Please enter a position and an amount (usage: @refine <equip position> <+/- amount>).
+#if PACKETVER > 20100707
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1515), -3); // %d: Refine All Equip (Shadow)
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,998), EQP_HAND_R); // %d: Right Hand
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1514), -2); // %d: Refine All Equip (Costume)
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,999), EQP_GARMENT); // %d: Garment
+#endif
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1513), -1); // %d: Refine All Equip (General)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 997), EQP_HEAD_LOW); // %d: Headgear (Low)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 998), EQP_HAND_R); // Hand (Right)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 999), EQP_GARMENT); // %d: Garment
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1000), EQP_ACC_L); // Accessory (Left)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1001), EQP_ARMOR); // %d: Body Armor
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1002), EQP_HAND_L); // Hand (Left)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1003), EQP_SHOES); // %d: Shoes
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1004), EQP_ACC_R); // Accessory (Right)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1005), EQP_HEAD_TOP); // %d: Headgear (Top)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1006), EQP_HEAD_MID); // %d: Headgear (Mid)
+#if PACKETVER > 20100707
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1503), EQP_COSTUME_HEAD_TOP); // %d: Costume Headgear (Top)
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1000), EQP_ACC_L); // %d: Left Accessory
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1504), EQP_COSTUME_HEAD_MID); // %d: Costume Headgear (Mid)
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1001), EQP_ARMOR); // %d: Body Armor
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1505), EQP_COSTUME_HEAD_LOW); // %d: Costume Headgear (Low)
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1002), EQP_HAND_L); // %d: Left Hand
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1506), EQP_COSTUME_GARMENT); // %d: Costume Garment
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1003), EQP_SHOES); // %d: Shoes
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1507), EQP_SHADOW_ARMOR); // %d: Shadow Armor
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1004), EQP_ACC_R); // %d: Right Accessory
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1508), EQP_SHADOW_WEAPON); // %d: Shadow Weapon
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1005), EQP_HEAD_TOP); // %d: Top Headgear
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1509), EQP_SHADOW_SHIELD); // %d: Shadow Shield
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1006), EQP_HEAD_MID); // %d: Mid Headgear
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1510), EQP_SHADOW_SHOES); // %d: Shadow Shoes
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1511), EQP_SHADOW_ACC_R); // %d: Shadow Accessory (Right)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1512), EQP_SHADOW_ACC_L); // %d: Shadow Accessory (Left)
+ clif->message(fd, atcmd_output);
+#endif
clif->message(fd, atcmd_output);
return false;
}
@@ -2263,22 +2293,33 @@ ACMD(refine)
int idx = sd->equip_index[j];
if (idx < 0)
continue;
- if(j == EQI_AMMO) continue; /* can't equip ammo */
- if(j == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == idx)
+ if (j == EQI_AMMO)
+ continue; /* can't equip ammo */
+ if (j == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == idx)
+ continue;
+ if (j == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == idx)
+ continue;
+ if (j == EQI_HEAD_TOP && (sd->equip_index[EQI_HEAD_MID] == idx || sd->equip_index[EQI_HEAD_LOW] == idx))
continue;
- if(j == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == idx)
+ if (j == EQI_COSTUME_MID && sd->equip_index[EQI_COSTUME_LOW] == idx)
continue;
- if(j == EQI_HEAD_TOP && (sd->equip_index[EQI_HEAD_MID] == idx || sd->equip_index[EQI_HEAD_LOW] == idx))
+ if (j == EQI_COSTUME_TOP && (sd->equip_index[EQI_COSTUME_MID] == idx || sd->equip_index[EQI_COSTUME_LOW] == idx))
continue;
- if(position && !(sd->status.inventory[idx].equip & position))
+ if (position == -3 && !itemdb_is_shadowequip(sd->status.inventory[idx].equip))
+ continue;
+ else if (position == -2 && !itemdb_is_costumeequip(sd->status.inventory[idx].equip))
+ continue;
+ else if (position == -1 && (itemdb_is_costumeequip(sd->status.inventory[idx].equip) || itemdb_is_shadowequip(sd->status.inventory[idx].equip)))
+ continue;
+ else if (position && !(sd->status.inventory[idx].equip & position))
continue;
final_refine = cap_value(sd->status.inventory[idx].refine + refine_level, 0, MAX_REFINE);
if (sd->status.inventory[idx].refine != final_refine) {
sd->status.inventory[idx].refine = final_refine;
current_position = sd->status.inventory[idx].equip;
- pc->unequipitem(sd, idx, PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
+ pc->unequipitem(sd, idx, PCUNEQUIPITEM_RECALC | PCUNEQUIPITEM_FORCE);
clif->refine(fd, 0, idx, sd->status.inventory[idx].refine);
clif->delitem(sd, idx, 1, DELITEM_MATERIALCHANGE);
clif->additem(sd, idx, 1, 0);
@@ -2289,11 +2330,11 @@ ACMD(refine)
}
if (count == 0)
- clif->message(fd, msg_fd(fd,166)); // No item has been refined.
+ clif->message(fd, msg_fd(fd, 166)); // No item has been refined.
else if (count == 1)
- clif->message(fd, msg_fd(fd,167)); // 1 item has been refined.
+ clif->message(fd, msg_fd(fd, 167)); // 1 item has been refined.
else {
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,168), count); // %d items have been refined.
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 168), count); // %d items have been refined.
clif->message(fd, atcmd_output);
}
@@ -6752,6 +6793,9 @@ ACMD(mute)
*------------------------------------------*/
ACMD(refresh)
{
+ if (sd->npc_id > 0)
+ return false;
+
clif->refresh(sd);
return true;
}
@@ -6763,7 +6807,8 @@ ACMD(refreshall)
iter = mapit_getallusers();
for (iter_sd = BL_UCAST(BL_PC, mapit->first(iter)); mapit->exists(iter); iter_sd = BL_UCAST(BL_PC, mapit->next(iter)))
- clif->refresh(iter_sd);
+ if (iter_sd->npc_id <= 0)
+ clif->refresh(iter_sd);
mapit->free(iter);
return true;
}
diff --git a/src/map/atcommand.h b/src/map/atcommand.h
index 4fbf6b93a..f1da2760a 100644
--- a/src/map/atcommand.h
+++ b/src/map/atcommand.h
@@ -41,7 +41,7 @@ struct config_setting_t;
* Defines
**/
#define ATCOMMAND_LENGTH 50
-#define MAX_MSG 1503
+#define MAX_MSG 1516
#define msg_txt(idx) atcommand->msg(idx)
#define msg_sd(sd,msg_number) atcommand->msgsd((sd),(msg_number))
#define msg_fd(fd,msg_number) atcommand->msgfd((fd),(msg_number))
diff --git a/src/map/battle.c b/src/map/battle.c
index c40c3afac..7fa1567e7 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -7436,6 +7436,7 @@ static const struct battle_data {
{ "critical_max_limit", &battle_config.critical_max, SHRT_MAX, 1, INT_MAX, },
{ "hit_min_limit", &battle_config.hit_min, 1, 1, INT_MAX, },
{ "hit_max_limit", &battle_config.hit_max, SHRT_MAX, 1, INT_MAX, },
+ { "autoloot_adjust", &battle_config.autoloot_adjust, 0, 0, 1, },
};
static bool battle_set_value_sub(int index, int value)
diff --git a/src/map/battle.h b/src/map/battle.h
index 0ff5135d8..4f70c697b 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -605,6 +605,8 @@ struct Battle_Config {
int critical_max;
int hit_min;
int hit_max;
+
+ int autoloot_adjust;
};
/* criteria for battle_config.idletime_critera */
diff --git a/src/map/clif.c b/src/map/clif.c
index 7c9a68b2b..3b7691ae4 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -3951,17 +3951,16 @@ static void clif_arrow_create_list(struct map_session_data *sd)
/// 1 = success
static void clif_statusupack(struct map_session_data *sd, int type, int ok, int val)
{
- int fd;
-
nullpo_retv(sd);
+ int fd = sd->fd;
- fd=sd->fd;
- WFIFOHEAD(fd,packet_len(0xbc));
- WFIFOW(fd,0)=0xbc;
- WFIFOW(fd,2)=type;
- WFIFOB(fd,4)=ok;
- WFIFOB(fd,5)=cap_value(val,0,UINT8_MAX);
- WFIFOSET(fd,packet_len(0xbc));
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_STATUS_CHANGE_ACK));
+ struct PACKET_ZC_STATUS_CHANGE_ACK *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_STATUS_CHANGE_ACK;
+ p->sp = type;
+ p->ok = ok;
+ p->value = cap_value(val, 0, UINT8_MAX);
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_STATUS_CHANGE_ACK));
}
/// Notifies the client about the result of a request to equip an item (ZC_REQ_WEAR_EQUIP_ACK).
@@ -15723,60 +15722,95 @@ static void clif_parse_PVPInfo(int fd, struct map_session_data *sd)
/// Ranking list
/// ranking pointlist { <name>.24B <point>.L }*10
-static void clif_ranklist_sub(unsigned char *buf, enum fame_list_type type)
+static void clif_ranklist_sub(struct PACKET_ZC_ACK_RANKING_sub *ranks, enum fame_list_type type)
{
- const char* name;
- struct fame_list* list;
- int i;
+#if !(PACKETVER_RE_NUM >= 20190703 || PACKETVER_ZERO_NUM >= 20190724)
+ nullpo_retv(ranks);
- nullpo_retv(buf);
- switch( type ) {
+ struct fame_list* list;
+ switch (type) {
case RANKTYPE_BLACKSMITH: list = pc->smith_fame_list; break;
case RANKTYPE_ALCHEMIST: list = pc->chemist_fame_list; break;
case RANKTYPE_TAEKWON: list = pc->taekwon_fame_list; break;
default: return; // Unsupported
}
+ int i;
// Packet size limits this list to 10 elements. [Skotlex]
- for( i = 0; i < 10 && i < MAX_FAME_LIST; i++ ) {
- if( list[i].id > 0 ) {
- if( strcmp(list[i].name, "-") == 0 && (name = map->charid2nick(list[i].id)) != NULL ) {
- strncpy(WBUFP(buf, 24 * i), name, NAME_LENGTH);
+ for (i = 0; i < 10 && i < MAX_FAME_LIST; i++) {
+ if (list[i].id > 0) {
+ const char* name;
+ if (strcmp(list[i].name, "-") == 0 && (name = map->charid2nick(list[i].id)) != NULL) {
+ strncpy(ranks[i].name, name, NAME_LENGTH);
} else {
- strncpy(WBUFP(buf, 24 * i), list[i].name, NAME_LENGTH);
+ strncpy(ranks[i].name, list[i].name, NAME_LENGTH);
}
} else {
- strncpy(WBUFP(buf, 24 * i), "None", 5);
+ strncpy(ranks[i].name, "None", 5);
}
- WBUFL(buf, 24 * 10 + i * 4) = list[i].fame; //points
+ ranks[i].points = list[i].fame; //points
}
- for( ;i < 10; i++ ) { // In case the MAX is less than 10.
- strncpy(WBUFP(buf, 24 * i), "Unavailable", 12);
- WBUFL(buf, 24 * 10 + i * 4) = 0;
+ for (;i < 10; i++) { // In case the MAX is less than 10.
+ strncpy(ranks[i].name, "Unavailable", 12);
+ ranks[i].points = 0;
}
+#endif
+}
+
+static void clif_ranklist_sub2(uint32 *chars, uint32 *points, enum fame_list_type type)
+{
+#if PACKETVER_RE_NUM >= 20190703 || PACKETVER_ZERO_NUM >= 20190724
+ nullpo_retv(chars);
+ nullpo_retv(points);
+
+ struct fame_list* list;
+ switch (type) {
+ case RANKTYPE_BLACKSMITH: list = pc->smith_fame_list; break;
+ case RANKTYPE_ALCHEMIST: list = pc->chemist_fame_list; break;
+ case RANKTYPE_TAEKWON: list = pc->taekwon_fame_list; break;
+ default: return; // Unsupported
+ }
+
+ int i;
+ // Packet size limits this list to 10 elements. [Skotlex]
+ for (i = 0; i < 10 && i < MAX_FAME_LIST; i++) {
+ if (list[i].id > 0) {
+ chars[i] = list[i].id;
+ } else {
+ chars[i] = 0;
+ }
+ points[i] = list[i].fame; //points
+ }
+ for (;i < 10; i++) { // In case the MAX is less than 10.
+ chars[i] = 0;
+ points[i] = 0;
+ }
+#endif
}
/// 097d <RankingType>.W {<CharName>.24B <point>L}*10 <mypoint>L (ZC_ACK_RANKING)
static void clif_ranklist(struct map_session_data *sd, enum fame_list_type type)
{
-#if PACKETVER >= 20120502
- int fd;
- int len = packet_len(0x97d);
-
+#if PACKETVER_MAIN_NUM >= 20130605 || PACKETVER_RE_NUM >= 20130529 || defined(PACKETVER_ZERO)
nullpo_retv(sd);
- fd = sd->fd;
- WFIFOHEAD(fd, len);
- WFIFOW(fd, 0) = 0x97d;
- WFIFOW(fd, 2) = type;
- clif_ranklist_sub(WFIFOP(fd,4), type);
+ int fd = sd->fd;
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_ACK_RANKING));
+ struct PACKET_ZC_ACK_RANKING *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_ACK_RANKING;
+ p->rankType = type;
+#if PACKETVER_RE_NUM >= 20190703 || PACKETVER_ZERO_NUM >= 20190724
+ clif->ranklist_sub2(p->chars, p->points, type);
+#else
+ clif->ranklist_sub(p->ranks, type);
+#endif
if (pc->famelist_type(sd->job) == type) {
- WFIFOL(fd, 284) = sd->status.fame; //mypoint
+ p->myPoints = sd->status.fame; //mypoint
} else {
- WFIFOL(fd, 284) = 0; //mypoint
+ p->myPoints = 0; //mypoint
}
- WFIFOSET(fd, len);
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_ACK_RANKING));
#endif
}
@@ -15826,14 +15860,16 @@ static void clif_update_rankingpoint(struct map_session_data *sd, enum fame_list
/// 0219 { <name>.24B }*10 { <point>.L }*10
static void clif_blacksmith(struct map_session_data *sd)
{
+#if !(PACKETVER_MAIN_NUM >= 20130605 || PACKETVER_RE_NUM >= 20130529 || defined(PACKETVER_ZERO))
int fd;
nullpo_retv(sd);
fd = sd->fd;
WFIFOHEAD(fd,packet_len(0x219));
WFIFOW(fd,0) = 0x219;
- clif_ranklist_sub(WFIFOP(fd, 2), RANKTYPE_BLACKSMITH);
+ clif->ranklist_sub(WFIFOP(fd, 2), RANKTYPE_BLACKSMITH);
WFIFOSET(fd, packet_len(0x219));
+#endif
}
static void clif_parse_Blacksmith(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -15863,14 +15899,16 @@ static void clif_fame_blacksmith(struct map_session_data *sd, int points)
/// 021a { <name>.24B }*10 { <point>.L }*10
static void clif_alchemist(struct map_session_data *sd)
{
+#if !(PACKETVER_MAIN_NUM >= 20130605 || PACKETVER_RE_NUM >= 20130529 || defined(PACKETVER_ZERO))
int fd;
nullpo_retv(sd);
fd = sd->fd;
WFIFOHEAD(fd,packet_len(0x21a));
WFIFOW(fd,0) = 0x21a;
- clif_ranklist_sub(WFIFOP(fd,2), RANKTYPE_ALCHEMIST);
+ clif->ranklist_sub(WFIFOP(fd,2), RANKTYPE_ALCHEMIST);
WFIFOSET(fd, packet_len(0x21a));
+#endif
}
static void clif_parse_Alchemist(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -15900,14 +15938,16 @@ static void clif_fame_alchemist(struct map_session_data *sd, int points)
/// 0226 { <name>.24B }*10 { <point>.L }*10
static void clif_taekwon(struct map_session_data *sd)
{
+#if !(PACKETVER_MAIN_NUM >= 20130605 || PACKETVER_RE_NUM >= 20130529 || defined(PACKETVER_ZERO))
int fd;
nullpo_retv(sd);
fd = sd->fd;
WFIFOHEAD(fd,packet_len(0x226));
WFIFOW(fd,0) = 0x226;
- clif_ranklist_sub(WFIFOP(fd,2), RANKTYPE_TAEKWON);
+ clif->ranklist_sub(WFIFOP(fd,2), RANKTYPE_TAEKWON);
WFIFOSET(fd, packet_len(0x226));
+#endif
}
static void clif_parse_Taekwon(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -21943,53 +21983,47 @@ static void clif_skill_scale(struct block_list *bl, int src_id, int x, int y, ui
/// 0A3B <Length>.W <AID>.L <Status>.B { <HatEffectId>.W }
static void clif_hat_effect(struct block_list *bl, struct block_list *tbl, enum send_target target)
{
-#if PACKETVER >= 20150422
- unsigned char *buf;
- int len, i;
- struct map_session_data *sd;
-
+#if PACKETVER_MAIN_NUM >= 20150507 || PACKETVER_RE_NUM >= 20150429 || defined(PACKETVER_ZERO)
nullpo_retv(bl);
-
- sd = BL_CAST(BL_PC, bl);
-
+ struct map_session_data *sd = BL_CAST(BL_PC, bl);
nullpo_retv(sd);
- len = 9 + VECTOR_LENGTH(sd->hatEffectId) * 2;
-
- buf = (unsigned char*)aMalloc(len);
+ const int len = sizeof(struct PACKET_ZC_HAT_EFFECT) + VECTOR_LENGTH(sd->hatEffectId) * 2;
+ struct PACKET_ZC_HAT_EFFECT *p = aMalloc(len);
- WBUFW(buf, 0) = 0xa3b;
- WBUFW(buf, 2) = len;
- WBUFL(buf, 4) = bl->id;
- WBUFB(buf, 8) = 1;
+ p->packetType = HEADER_ZC_HAT_EFFECT;
+ p->packetLength = len;
+ p->aid = bl->id;
+ p->status = 1;
- for( i = 0; i < VECTOR_LENGTH(sd->hatEffectId); i++ ){
- WBUFW(buf, 9 + i * 2) = VECTOR_INDEX(sd->hatEffectId, i);
+ for (int i = 0; i < VECTOR_LENGTH(sd->hatEffectId); i++) {
+ p->effects[i] = VECTOR_INDEX(sd->hatEffectId, i);
}
if (tbl != NULL) {
- clif->send(buf, len, tbl, target);
+ clif->send(p, len, tbl, target);
} else {
- clif->send(buf, len, bl, target);
+ clif->send(p, len, bl, target);
}
-
- aFree(buf);
+ aFree(p);
#endif
}
static void clif_hat_effect_single(struct block_list *bl, uint16 effectId, bool enable){
-#if PACKETVER >= 20150422
- unsigned char buf[13];
-
+#if PACKETVER_MAIN_NUM >= 20150507 || PACKETVER_RE_NUM >= 20150429 || defined(PACKETVER_ZERO)
nullpo_retv(bl);
- WBUFW(buf,0) = 0xa3b;
- WBUFW(buf,2) = 13;
- WBUFL(buf,4) = bl->id;
- WBUFB(buf,8) = enable;
- WBUFL(buf,9) = effectId;
+ const int len = sizeof(struct PACKET_ZC_HAT_EFFECT) + 2;
+ struct PACKET_ZC_HAT_EFFECT *p = aMalloc(len);
- clif->send(buf, 13, bl, AREA);
+ p->packetType = HEADER_ZC_HAT_EFFECT;
+ p->packetLength = len;
+ p->aid = bl->id;
+ p->status = enable;
+ p->effects[0] = effectId;
+
+ clif->send(p, len, bl, AREA);
+ aFree(p);
#endif
}
@@ -23127,6 +23161,8 @@ void clif_defaults(void)
clif->fame_alchemist = clif_fame_alchemist;
clif->fame_taekwon = clif_fame_taekwon;
clif->ranklist = clif_ranklist;
+ clif->ranklist_sub = clif_ranklist_sub;
+ clif->ranklist_sub2 = clif_ranklist_sub2;
clif->pRanklist = clif_parse_ranklist;
clif->update_rankingpoint = clif_update_rankingpoint;
clif->hotkeys = clif_hotkeys_send;
diff --git a/src/map/clif.h b/src/map/clif.h
index 5c28f80dd..ca7ae35b0 100644
--- a/src/map/clif.h
+++ b/src/map/clif.h
@@ -56,6 +56,7 @@ struct unit_data;
struct view_data;
struct achievement_data; // map/achievement.h
struct s_refine_requirement;
+struct PACKET_ZC_ACK_RANKING_sub;
enum clif_messages;
enum rodex_add_item;
@@ -849,6 +850,8 @@ struct clif_interface {
void (*fame_alchemist) (struct map_session_data *sd, int points);
void (*fame_taekwon) (struct map_session_data *sd, int points);
void (*ranklist) (struct map_session_data *sd, enum fame_list_type type);
+ void (*ranklist_sub) (struct PACKET_ZC_ACK_RANKING_sub *ranks, enum fame_list_type type);
+ void (*ranklist_sub2) (uint32 *chars, uint32 *points, enum fame_list_type type);
void (*update_rankingpoint) (struct map_session_data *sd, enum fame_list_type type, int points);
void (*pRanklist) (int fd, struct map_session_data *sd);
void (*hotkeys) (struct map_session_data *sd, int tab);
diff --git a/src/map/messages_main.h b/src/map/messages_main.h
index 5057071a8..4f75d5071 100644
--- a/src/map/messages_main.h
+++ b/src/map/messages_main.h
@@ -24,7 +24,7 @@
/* This file is autogenerated, please do not commit manual changes
-Latest version: 20190619
+Latest version: 20190724
*/
enum clif_messages {
@@ -21712,9 +21712,13 @@ AP
관리영지 "%s"(으)로 이동하시겠습니까?
(1회 이동 시 마다 1,000제니가 소모됩니다.
공성전 시간에는 제니의 소모가 100배로 증가합니다.)
-20190619 to latest
+20190619 to 20190619
관리영지 "%s"(으)로 이동하시겠습니까?
이동 시 마다 %d제니가 소모됩니다.
+20190703 to latest
+관리영지 "%s"(으)로 이동하시겠습니까?
+이동 시 마다 %d제니가 소모됩니다.
+(공성전 시간에는 %d제니가 소모됩니다.)
*/
MSG_ID_E2F = 0xe2f,
/*20190522 to latest
@@ -21725,8 +21729,10 @@ AP
상업도: %d / %d
*/
MSG_ID_E30 = 0xe30,
-/*20190522 to latest
+/*20190522 to 20190717
공성 영지 내에서는 다른 공성 영지로 이동 할 수 없습니다.
+20190717 to latest
+공성 영지에서는 사용할 수 없는 기능입니다.
*/
MSG_ID_E31 = 0xe31,
#endif
@@ -21736,6 +21742,47 @@ AP
*/
MSG_ID_E32 = 0xe32,
#endif
+#if PACKETVER >= 20190703
+/*20190703 to latest
+접속하신 IP는 라그나로크 제로 이용이 불가능합니다.
+고객센터 또는 홈페이지로 문의해 주십시오.
+*/
+ MSG_ID_E33 = 0xe33,
+#endif
+#if PACKETVER >= 20190717
+/*20190717 to latest
+탑승/장착 해제
+*/
+ MSG_ID_E34 = 0xe34,
+/*20190717 to latest
+가져오기
+*/
+ MSG_ID_E35 = 0xe35,
+/*20190717 to latest
+직전 노점에 등록된 아이템 정보를 가져옵니다.
+*/
+ MSG_ID_E36 = 0xe36,
+/*20190717 to latest
+서버 이슈로 인해 로그인이 제한되고 있습니다.
+*/
+ MSG_ID_E37 = 0xe37,
+/*20190717 to latest
+메시지
+*/
+ MSG_ID_E38 = 0xe38,
+/*20190717 to latest
++18 이상만 플레이가 가능합니다.
+*/
+ MSG_ID_E39 = 0xe39,
+/*20190717 to latest
+3시간 이상의 게임 플레이를 권장하지 않습니다.
+*/
+ MSG_ID_E3A = 0xe3a,
+/*20190717 to latest
+AP가 부족합니다.
+*/
+ MSG_ID_E3B = 0xe3b,
+#endif
};
#endif /* MAP_MESSAGES_MAIN_H */
diff --git a/src/map/messages_re.h b/src/map/messages_re.h
index ad3766101..6a20844e4 100644
--- a/src/map/messages_re.h
+++ b/src/map/messages_re.h
@@ -24,7 +24,7 @@
/* This file is autogenerated, please do not commit manual changes
-Latest version: 20190619
+Latest version: 20190717
*/
enum clif_messages {
@@ -21191,9 +21191,13 @@ AP
관리영지 "%s"(으)로 이동하시겠습니까?
(1회 이동 시 마다 1,000제니가 소모됩니다.
공성전 시간에는 제니의 소모가 100배로 증가합니다.)
-20190619 to latest
+20190619 to 20190626
관리영지 "%s"(으)로 이동하시겠습니까?
이동 시 마다 %d제니가 소모됩니다.
+20190703 to latest
+관리영지 "%s"(으)로 이동하시겠습니까?
+이동 시 마다 %d제니가 소모됩니다.
+(공성전 시간에는 %d제니가 소모됩니다.)
*/
MSG_ID_E2F = 0xe2f,
/*20190522 to latest
@@ -21204,8 +21208,10 @@ AP
상업도: %d / %d
*/
MSG_ID_E30 = 0xe30,
-/*20190522 to latest
+/*20190522 to 20190703
공성 영지 내에서는 다른 공성 영지로 이동 할 수 없습니다.
+20190717 to latest
+공성 영지에서는 사용할 수 없는 기능입니다.
*/
MSG_ID_E31 = 0xe31,
#endif
@@ -21215,6 +21221,47 @@ AP
*/
MSG_ID_E32 = 0xe32,
#endif
+#if PACKETVER >= 20190703
+/*20190703 to latest
+접속하신 IP는 라그나로크 제로 이용이 불가능합니다.
+고객센터 또는 홈페이지로 문의해 주십시오.
+*/
+ MSG_ID_E33 = 0xe33,
+#endif
+#if PACKETVER >= 20190717
+/*20190717 to latest
+탑승/장착 해제
+*/
+ MSG_ID_E34 = 0xe34,
+/*20190717 to latest
+가져오기
+*/
+ MSG_ID_E35 = 0xe35,
+/*20190717 to latest
+직전 노점에 등록된 아이템 정보를 가져옵니다.
+*/
+ MSG_ID_E36 = 0xe36,
+/*20190717 to latest
+서버 이슈로 인해 로그인이 제한되고 있습니다.
+*/
+ MSG_ID_E37 = 0xe37,
+/*20190717 to latest
+메시지
+*/
+ MSG_ID_E38 = 0xe38,
+/*20190717 to latest
++18 이상만 플레이가 가능합니다.
+*/
+ MSG_ID_E39 = 0xe39,
+/*20190717 to latest
+3시간 이상의 게임 플레이를 권장하지 않습니다.
+*/
+ MSG_ID_E3A = 0xe3a,
+/*20190717 to latest
+AP가 부족합니다.
+*/
+ MSG_ID_E3B = 0xe3b,
+#endif
};
#endif /* MAP_MESSAGES_RE_H */
diff --git a/src/map/messages_zero.h b/src/map/messages_zero.h
index 601c065a9..b9ddb229c 100644
--- a/src/map/messages_zero.h
+++ b/src/map/messages_zero.h
@@ -24,7 +24,7 @@
/* This file is autogenerated, please do not commit manual changes
-Latest version: 20190626
+Latest version: 20190724
*/
enum clif_messages {
@@ -17811,8 +17811,10 @@ AP
상업도: %d / %d
*/
MSG_ID_E30 = 0xe30,
-/*20190515 to latest
+/*20190515 to 20190717
공성 영지 내에서는 다른 공성 영지로 이동 할 수 없습니다.
+20190724 to latest
+공성 영지에서는 사용할 수 없는 기능입니다.
*/
MSG_ID_E31 = 0xe31,
#endif
@@ -17827,6 +17829,54 @@ AP
*/
MSG_ID_E33 = 0xe33,
#endif
+#if PACKETVER >= 20190709
+/*20190709 to latest
+탑승/장착 해제
+*/
+ MSG_ID_E34 = 0xe34,
+/*20190709 to latest
+가져오기
+*/
+ MSG_ID_E35 = 0xe35,
+/*20190709 to latest
+직전 노점에 등록된 아이템 정보를 가져옵니다.
+*/
+ MSG_ID_E36 = 0xe36,
+/*20190709 to latest
+서버 이슈로 인해 로그인이 제한되고 있습니다.
+*/
+ MSG_ID_E37 = 0xe37,
+/*20190709 to latest
+메시지
+*/
+ MSG_ID_E38 = 0xe38,
+/*20190709 to latest
++18 이상만 플레이가 가능합니다.
+*/
+ MSG_ID_E39 = 0xe39,
+/*20190709 to latest
+3시간 이상의 게임 플레이를 권장하지 않습니다.
+*/
+ MSG_ID_E3A = 0xe3a,
+/*20190709 to latest
+AP가 부족합니다.
+*/
+ MSG_ID_E3B = 0xe3b,
+#endif
+#if PACKETVER >= 20190724
+/*20190724 to latest
+제련도가 높아서 조합할 수 없습니다.
+*/
+ MSG_ID_E3C = 0xe3c,
+/*20190724 to latest
+제련도가 조합에 필요한 요구치보다 높습니다.
+*/
+ MSG_ID_E3D = 0xe3d,
+/*20190724 to latest
+'카드가 끼워져있거나 인챈트 되어 있습니다.
+*/
+ MSG_ID_E3E = 0xe3e,
+#endif
};
#endif /* MAP_MESSAGES_ZERO_H */
diff --git a/src/map/mob.c b/src/map/mob.c
index 8511f8523..939d062af 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -2570,7 +2570,7 @@ static int mob_dead(struct mob_data *md, struct block_list *src, int type)
// Announce first, or else ditem will be freed. [Lance]
// By popular demand, use base drop rate for autoloot code. [Skotlex]
- mob->item_drop(md, dlist, ditem, 0, md->db->dropitem[i].p, homkillonly);
+ mob->item_drop(md, dlist, ditem, 0, battle_config.autoloot_adjust ? drop_rate : md->db->dropitem[i].p, homkillonly);
}
// Ore Discovery [Celest]
@@ -5547,6 +5547,29 @@ static int mob_final_ratio_sub(union DBKey key, struct DBData *data, va_list ap)
return 0;
}
+static int mob_reload_sub_mob(struct mob_data *md, va_list args)
+{
+ nullpo_ret(md);
+ md->db = mob_db(md->class_);
+
+ status_calc_mob(md, SCO_FIRST);
+
+ // If the view data was not overwritten manually
+ if (md->vd != NULL) {
+ // Get the new view data from the mob database
+ md->vd = mob_get_viewdata(md->class_);
+
+ // If they are spawned right now
+ if (md->bl.prev != NULL) {
+ // Respawn all mobs on client side so that they are displayed correctly(if their view id changed)
+ clif->clearunit_area(&md->bl, CLR_OUTSIGHT);
+ clif->spawn(&md->bl);
+ }
+ }
+
+ return 0;
+}
+
static void mob_reload(void)
{
int i;
@@ -5570,6 +5593,7 @@ static void mob_reload(void)
mob->destroy_drop_groups();
mob->load(false);
+ map->foreachmob(mob->reload_sub_mob);
}
/**
@@ -5726,6 +5750,7 @@ void mob_defaults(void)
/* */
mob->reload = mob_reload;
+ mob->reload_sub_mob = mob_reload_sub_mob;
mob->init = do_init_mob;
mob->final = do_final_mob;
/* */
diff --git a/src/map/mob.h b/src/map/mob.h
index b63efd272..0a7489c47 100644
--- a/src/map/mob.h
+++ b/src/map/mob.h
@@ -488,6 +488,7 @@ struct mob_interface {
int (*init) (bool mimimal);
int (*final) (void);
void (*reload) (void);
+ int (*reload_sub_mob) (struct mob_data *md, va_list args);
/* */
struct mob_db* (*db) (int index);
struct mob_chat* (*chat) (short id);
diff --git a/src/map/packets_keys_main.h b/src/map/packets_keys_main.h
index 5bd66d66b..601c7dc86 100644
--- a/src/map/packets_keys_main.h
+++ b/src/map/packets_keys_main.h
@@ -37,7 +37,7 @@
packetKeys(0x49357d72,0x22c370a1,0x5f836591);
#endif
-// 2010-11-23aRagexeRE, 2010-11-24aRagexeRE, 2010-11-24bRagexeRE, 2010-11-25aRagexeRE, 2010-11-26aRagexeRE, 2010-11-30aRagexeRE, 2010-12-07aRagexeRE, 2010-12-14aRagexeRE, 2010-12-21aRagexeRE, 2010-12-23aRagexeRE, 2010-12-28aRagexeRE, 2011-01-04aRagexeRE, 2011-01-05aRagexeRE, 2011-01-11aRagexeRE, 2011-01-18aRagexeRE, 2011-01-25aRagexeRE, 2011-01-26aRagexeRE, 2011-01-26bRagexeRE, 2011-01-31aRagexeRE, 2011-01-31bRagexeRE, 2011-01-31cRagexeRE, 2011-02-08aRagexeRE, 2011-02-15aRagexeRE, 2011-02-22aRagexeRE, 2011-02-23aRagexeRE, 2011-02-23bRagexeRE, 2011-02-24aRagexeRE, 2011-02-25aRagexeRE, 2011-02-28aRagexeRE, 2011-03-08aRagexeRE, 2011-03-09aRagexeRE, 2011-03-09bRagexeRE, 2011-03-09cRagexeRE, 2011-03-09dRagexeRE, 2011-03-15aRagexeRE, 2011-03-22aRagexeRE, 2011-03-29aRagexeRE, 2011-03-30aRagexeRE, 2011-03-30cRagexeRE, 2011-04-05aRagexeRE, 2011-04-12aRagexeRE, 2011-04-19aRagexeRE, 2011-04-20aRagexeRE, 2011-04-26aRagexeRE, 2011-04-27aRagexeRE, 2011-05-03aRagexeRE, 2011-05-11aRagexeRE, 2011-05-17bRagexeRE, 2011-05-24aRagexeRE, 2011-05-26aRagexeRE, 2011-05-31aRagexeRE, 2011-06-07aRagexeRE, 2011-06-08aRagexeRE, 2011-06-08bRagexeRE, 2011-06-08cRagexeRE, 2011-06-09aRagexeRE, 2011-06-14bRagexeRE, 2011-06-22aRagexeRE, 2011-06-28aRagexeRE, 2011-07-06aRagexeRE, 2011-07-13aRagexeRE, 2011-07-13bRagexeRE, 2011-07-13cRagexeRE, 2011-07-19aRagexeRE, 2011-07-26aRagexeRE, 2011-08-03aRagexeRE, 2011-08-03bRagexeRE, 2011-08-10aRagexeRE, 2013-12-23aRagexeRE, 2014-05-08aRagexe, 2014-05-08aRagexeRE, 2014-06-11eRagexe, 2015-02-25hRagexe, 2018-03-15aRagexe, 2018-03-21aRagexe, 2018-03-21aRagexeRE, 2018-03-28bRagexe, 2018-03-28bRagexeRE, 2018-04-04bRagexe, 2018-04-04cRagexeRE, 2018-04-18aRagexe, 2018-04-18bRagexeRE, 2018-04-25cRagexe, 2018-04-25cRagexeRE, 2018-05-02bRagexe, 2018-05-02bRagexeRE, 2018-05-02dRagexeRE, 2018-05-09aRagexe, 2018-05-16cRagexe, 2018-05-16cRagexeRE, 2018-05-23aRagexe, 2018-05-23aRagexeRE, 2018-05-30aRagexe, 2018-05-30bRagexeRE, 2018-05-30cRagexeRE, 2018-06-05bRagexe, 2018-06-05bRagexeRE, 2018-06-12aRagexeRE, 2018-06-12bRagexeRE, 2018-06-20cRagexe, 2018-06-20dRagexeRE, 2018-06-20eRagexe, 2018-06-20eRagexeRE, 2018-06-21aRagexe, 2018-06-21aRagexeRE, 2018-07-04aRagexe, 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexe, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexe, 2018-07-18cRagexeRE, 2018-08-01cRagexe, 2018-08-01cRagexeRE, 2018-08-08bRagexe, 2018-08-08bRagexeRE, 2018-08-22cRagexe, 2018-08-22cRagexeRE, 2018-08-29aRagexe, 2018-08-29aRagexeRE, 2018-08-29bRagexeRE, 2018-08-31aRagexe, 2018-09-12dRagexe, 2018-09-12dRagexeRE, 2018-09-19aRagexe, 2018-09-19aRagexeRE, 2018-10-02aRagexe, 2018-10-02aRagexeRE, 2018-10-02bRagexe, 2018-10-02bRagexeRE, 2018-10-17_02aRagexe, 2018-10-17_02aRagexeRE, 2018-10-17_03aRagexe, 2018-10-17_03aRagexeRE, 2018-10-17bRagexe, 2018-10-17bRagexeRE, 2018-10-24bRagexe, 2018-10-31aRagexe, 2018-10-31bRagexe, 2018-10-31cRagexeRE, 2018-11-07aRagexe, 2018-11-07aRagexeRE, 2018-11-14cRagexe, 2018-11-14cRagexeRE, 2018-11-14dRagexe, 2018-11-14dRagexeRE, 2018-11-21bRagexe, 2018-11-21cRagexeRE, 2018-11-28aRagexe, 2018-11-28aRagexeRE, 2018-11-28bRagexe, 2018-11-28cRagexe, 2018-12-05aRagexe, 2018-12-05bRagexeRE, 2018-12-12aRagexe, 2018-12-12aRagexeRE, 2018-12-12bRagexe, 2018-12-12bRagexeRE, 2018-12-19bRagexe, 2018-12-19bRagexeRE, 2018-12-26aRagexe, 2018-12-26aRagexeRE, 2019-01-09aRagexe, 2019-01-09bRagexeRE, 2019-01-16bRagexe, 2019-01-16bRagexeRE, 2019-01-16cRagexe, 2019-01-16cRagexeRE, 2019-01-23dRagexe, 2019-01-23dRagexeRE, 2019-02-13IRagexeRE, 2019-02-13bRagexe, 2019-02-13eRagexe, 2019-02-20aRagexeRE, 2019-02-27aRagexe, 2019-02-27bRagexeRE, 2019-02-28aRagexe, 2019-02-28aRagexeRE, 2019-03-06bRagexe, 2019-03-06bRagexeRE, 2019-03-06cRagexe, 2019-03-06cRagexeRE, 2019-03-13aRagexe, 2019-03-20aRagexe, 2019-03-20aRagexeRE, 2019-03-22aRagexe, 2019-03-22aRagexeRE, 2019-03-27bRagexe, 2019-03-27bRagexeRE, 2019-04-03aRagexe, 2019-04-03bRagexeRE, 2019-04-03cRagexeRE, 2019-04-17aRagexe, 2019-04-17cRagexeRE, 2019-04-18aRagexe, 2019-04-18aRagexeRE, 2019-05-08cRagexe, 2019-05-08dRagexeRE, 2019-05-08eRagexeRE, 2019-05-22bRagexe, 2019-05-22bRagexeRE, 2019-05-22cRagexe, 2019-05-22cRagexeRE, 2019-05-23aRagexe, 2019-05-29aRagexe, 2019-05-29bRagexeRE, 2019-05-29cRagexe, 2019-05-29cRagexeRE, 2019-05-30aRagexe, 2019-05-30aRagexeRE, 2019-06-05JRagexeRE, 2019-06-05KRagexe, 2019-06-05LRagexeRE, 2019-06-05fRagexe, 2019-06-05hRagexeRE, 2019-06-19bRagexe, 2019-06-19cRagexeRE, 2019-06-19eRagexe, 2019-06-19hRagexe, 2019-06-26bRagexeRE
+// 2010-11-23aRagexeRE, 2010-11-24aRagexeRE, 2010-11-24bRagexeRE, 2010-11-25aRagexeRE, 2010-11-26aRagexeRE, 2010-11-30aRagexeRE, 2010-12-07aRagexeRE, 2010-12-14aRagexeRE, 2010-12-21aRagexeRE, 2010-12-23aRagexeRE, 2010-12-28aRagexeRE, 2011-01-04aRagexeRE, 2011-01-05aRagexeRE, 2011-01-11aRagexeRE, 2011-01-18aRagexeRE, 2011-01-25aRagexeRE, 2011-01-26aRagexeRE, 2011-01-26bRagexeRE, 2011-01-31aRagexeRE, 2011-01-31bRagexeRE, 2011-01-31cRagexeRE, 2011-02-08aRagexeRE, 2011-02-15aRagexeRE, 2011-02-22aRagexeRE, 2011-02-23aRagexeRE, 2011-02-23bRagexeRE, 2011-02-24aRagexeRE, 2011-02-25aRagexeRE, 2011-02-28aRagexeRE, 2011-03-08aRagexeRE, 2011-03-09aRagexeRE, 2011-03-09bRagexeRE, 2011-03-09cRagexeRE, 2011-03-09dRagexeRE, 2011-03-15aRagexeRE, 2011-03-22aRagexeRE, 2011-03-29aRagexeRE, 2011-03-30aRagexeRE, 2011-03-30cRagexeRE, 2011-04-05aRagexeRE, 2011-04-12aRagexeRE, 2011-04-19aRagexeRE, 2011-04-20aRagexeRE, 2011-04-26aRagexeRE, 2011-04-27aRagexeRE, 2011-05-03aRagexeRE, 2011-05-11aRagexeRE, 2011-05-17bRagexeRE, 2011-05-24aRagexeRE, 2011-05-26aRagexeRE, 2011-05-31aRagexeRE, 2011-06-07aRagexeRE, 2011-06-08aRagexeRE, 2011-06-08bRagexeRE, 2011-06-08cRagexeRE, 2011-06-09aRagexeRE, 2011-06-14bRagexeRE, 2011-06-22aRagexeRE, 2011-06-28aRagexeRE, 2011-07-06aRagexeRE, 2011-07-13aRagexeRE, 2011-07-13bRagexeRE, 2011-07-13cRagexeRE, 2011-07-19aRagexeRE, 2011-07-26aRagexeRE, 2011-08-03aRagexeRE, 2011-08-03bRagexeRE, 2011-08-10aRagexeRE, 2013-12-23aRagexeRE, 2014-05-08aRagexe, 2014-05-08aRagexeRE, 2014-06-11eRagexe, 2015-02-25hRagexe, 2018-03-15aRagexe, 2018-03-21aRagexe, 2018-03-21aRagexeRE, 2018-03-28bRagexe, 2018-03-28bRagexeRE, 2018-04-04bRagexe, 2018-04-04cRagexeRE, 2018-04-18aRagexe, 2018-04-18bRagexeRE, 2018-04-25cRagexe, 2018-04-25cRagexeRE, 2018-05-02bRagexe, 2018-05-02bRagexeRE, 2018-05-02dRagexeRE, 2018-05-09aRagexe, 2018-05-16cRagexe, 2018-05-16cRagexeRE, 2018-05-23aRagexe, 2018-05-23aRagexeRE, 2018-05-30aRagexe, 2018-05-30bRagexeRE, 2018-05-30cRagexeRE, 2018-06-05bRagexe, 2018-06-05bRagexeRE, 2018-06-12aRagexeRE, 2018-06-12bRagexeRE, 2018-06-20cRagexe, 2018-06-20dRagexeRE, 2018-06-20eRagexe, 2018-06-20eRagexeRE, 2018-06-21aRagexe, 2018-06-21aRagexeRE, 2018-07-04aRagexe, 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexe, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexe, 2018-07-18cRagexeRE, 2018-08-01cRagexe, 2018-08-01cRagexeRE, 2018-08-08bRagexe, 2018-08-08bRagexeRE, 2018-08-22cRagexe, 2018-08-22cRagexeRE, 2018-08-29aRagexe, 2018-08-29aRagexeRE, 2018-08-29bRagexeRE, 2018-08-31aRagexe, 2018-09-12dRagexe, 2018-09-12dRagexeRE, 2018-09-19aRagexe, 2018-09-19aRagexeRE, 2018-10-02aRagexe, 2018-10-02aRagexeRE, 2018-10-02bRagexe, 2018-10-02bRagexeRE, 2018-10-17_02aRagexe, 2018-10-17_02aRagexeRE, 2018-10-17_03aRagexe, 2018-10-17_03aRagexeRE, 2018-10-17bRagexe, 2018-10-17bRagexeRE, 2018-10-24bRagexe, 2018-10-31aRagexe, 2018-10-31bRagexe, 2018-10-31cRagexeRE, 2018-11-07aRagexe, 2018-11-07aRagexeRE, 2018-11-14cRagexe, 2018-11-14cRagexeRE, 2018-11-14dRagexe, 2018-11-14dRagexeRE, 2018-11-21bRagexe, 2018-11-21cRagexeRE, 2018-11-28aRagexe, 2018-11-28aRagexeRE, 2018-11-28bRagexe, 2018-11-28cRagexe, 2018-12-05aRagexe, 2018-12-05bRagexeRE, 2018-12-12aRagexe, 2018-12-12aRagexeRE, 2018-12-12bRagexe, 2018-12-12bRagexeRE, 2018-12-19bRagexe, 2018-12-19bRagexeRE, 2018-12-26aRagexe, 2018-12-26aRagexeRE, 2019-01-09aRagexe, 2019-01-09bRagexeRE, 2019-01-16bRagexe, 2019-01-16bRagexeRE, 2019-01-16cRagexe, 2019-01-16cRagexeRE, 2019-01-23dRagexe, 2019-01-23dRagexeRE, 2019-02-13IRagexeRE, 2019-02-13bRagexe, 2019-02-13eRagexe, 2019-02-20aRagexeRE, 2019-02-27aRagexe, 2019-02-27bRagexeRE, 2019-02-28aRagexe, 2019-02-28aRagexeRE, 2019-03-06bRagexe, 2019-03-06bRagexeRE, 2019-03-06cRagexe, 2019-03-06cRagexeRE, 2019-03-13aRagexe, 2019-03-20aRagexe, 2019-03-20aRagexeRE, 2019-03-22aRagexe, 2019-03-22aRagexeRE, 2019-03-27bRagexe, 2019-03-27bRagexeRE, 2019-04-03aRagexe, 2019-04-03bRagexeRE, 2019-04-03cRagexeRE, 2019-04-17aRagexe, 2019-04-17cRagexeRE, 2019-04-18aRagexe, 2019-04-18aRagexeRE, 2019-05-08cRagexe, 2019-05-08dRagexeRE, 2019-05-08eRagexeRE, 2019-05-22bRagexe, 2019-05-22bRagexeRE, 2019-05-22cRagexe, 2019-05-22cRagexeRE, 2019-05-23aRagexe, 2019-05-29aRagexe, 2019-05-29bRagexeRE, 2019-05-29cRagexe, 2019-05-29cRagexeRE, 2019-05-30aRagexe, 2019-05-30aRagexeRE, 2019-06-05JRagexeRE, 2019-06-05KRagexe, 2019-06-05LRagexeRE, 2019-06-05fRagexe, 2019-06-05hRagexeRE, 2019-06-19bRagexe, 2019-06-19cRagexeRE, 2019-06-19eRagexe, 2019-06-19hRagexe, 2019-06-26bRagexeRE, 2019-07-03aRagexe, 2019-07-03bRagexeRE, 2019-07-17aRagexe, 2019-07-17cRagexeRE, 2019-07-17dRagexe, 2019-07-17dRagexeRE, 2019-07-24aRagexe, 2019-07-24bRagexeRE
#if PACKETVER == 20101123 || \
PACKETVER == 20101124 || \
PACKETVER == 20101125 || \
@@ -155,7 +155,10 @@
PACKETVER == 20190530 || \
PACKETVER == 20190605 || \
PACKETVER == 20190619 || \
- PACKETVER >= 20190626
+ PACKETVER == 20190626 || \
+ PACKETVER == 20190703 || \
+ PACKETVER == 20190717 || \
+ PACKETVER >= 20190724
packetKeys(0x00000000,0x00000000,0x00000000);
#endif
diff --git a/src/map/packets_keys_zero.h b/src/map/packets_keys_zero.h
index 458037f6f..8eea0214c 100644
--- a/src/map/packets_keys_zero.h
+++ b/src/map/packets_keys_zero.h
@@ -30,7 +30,7 @@
/* This file is autogenerated, please do not commit manual changes */
-// 2017-10-18aRagexe_zero, 2017-10-19aRagexe_zero, 2017-10-23aRagexe_zero, 2017-10-23bRagexe_zero, 2017-10-23cRagexe_zero, 2017-10-24aRagexe_2_zero, 2017-10-24aRagexe_zero, 2017-10-25bRagexe_zero, 2017-10-27aRagexe_zero, 2017-10-27bRagexe_zero, 2017-10-30aRagexe_zero, 2017-10-31aRagexe_zero, 2017-11-09aRagexe_zero, 2017-11-13aRagexe_zero, 2017-11-13bRagexe_zero, 2018-03-15aRagexe_zero, 2018-03-21aRagexe_zero, 2018-03-21bRagexe_zero, 2018-03-28_1aRagexe_zero, 2018-03-28cRagexe_zero, 2018-04-11aRagexe_zero, 2018-04-25_3aRagexe_zero, 2018-05-09_3aRagexe_zero, 2018-05-23aRagexe_zero, 2018-06-05bRagexe_zero, 2018-06-05cRagexe_zero, 2018-06-27aRagexe_zero, 2018-07-03aRagexe_zero, 2018-07-11_2aRagexe_zero, 2018-07-25_2aRagexe_zero, 2018-08-01aRagexe_zero, 2018-08-08_2aRagexe_zero, 2018-08-22aRagexe_zero, 2018-08-29aRagexe_zero, 2018-09-05aRagexe_zero, 2018-09-12aRagexe_zero, 2018-09-19aRagexe_zero, 2018-09-28aRagexe_zero, 2018-10-10_2aRagexe_zero, 2018-10-24_2aRagexe_zero, 2018-11-14aRagexe_zero, 2018-11-20aRagexe_zero, 2018-11-28aRagexe_zero, 2018-12-12aRagexe_zero, 2018-12-19aRagexe_zero, 2018-12-26_2aRagexe_zero, 2019-01-16_2aRagexe_zero, 2019-01-17_1aRagexe_zero, 2019-01-30_2aRagexe_zero, 2019-02-13aRagexe_zero, 2019-02-20aRagexe_zero, 2019-02-27aRagexe_zero, 2019-03-13aRagexe_zero, 2019-03-27_2aRagexe_zero, 2019-03-27_3aRagexe_zero, 2019-04-03aRagexe_zero, 2019-04-10bRagexe_zero, 2019-04-24aRagexe_zero, 2019-05-02aRagexe_zero, 2019-05-08_2aRagexe_zero, 2019-05-08aRagexe_zero, 2019-05-15aRagexe_zero, 2019-05-29aRagexe_zero, 2019-05-30aRagexe_zero, 2019-06-05_2aRagexe_zero, 2019-06-26_2aRagexe_zero
+// 2017-10-18aRagexe_zero, 2017-10-19aRagexe_zero, 2017-10-23aRagexe_zero, 2017-10-23bRagexe_zero, 2017-10-23cRagexe_zero, 2017-10-24aRagexe_2_zero, 2017-10-24aRagexe_zero, 2017-10-25bRagexe_zero, 2017-10-27aRagexe_zero, 2017-10-27bRagexe_zero, 2017-10-30aRagexe_zero, 2017-10-31aRagexe_zero, 2017-11-09aRagexe_zero, 2017-11-13aRagexe_zero, 2017-11-13bRagexe_zero, 2018-03-15aRagexe_zero, 2018-03-21aRagexe_zero, 2018-03-21bRagexe_zero, 2018-03-28_1aRagexe_zero, 2018-03-28cRagexe_zero, 2018-04-11aRagexe_zero, 2018-04-25_3aRagexe_zero, 2018-05-09_3aRagexe_zero, 2018-05-23aRagexe_zero, 2018-06-05bRagexe_zero, 2018-06-05cRagexe_zero, 2018-06-27aRagexe_zero, 2018-07-03aRagexe_zero, 2018-07-11_2aRagexe_zero, 2018-07-25_2aRagexe_zero, 2018-08-01aRagexe_zero, 2018-08-08_2aRagexe_zero, 2018-08-22aRagexe_zero, 2018-08-29aRagexe_zero, 2018-09-05aRagexe_zero, 2018-09-12aRagexe_zero, 2018-09-19aRagexe_zero, 2018-09-28aRagexe_zero, 2018-10-10_2aRagexe_zero, 2018-10-24_2aRagexe_zero, 2018-11-14aRagexe_zero, 2018-11-20aRagexe_zero, 2018-11-28aRagexe_zero, 2018-12-12aRagexe_zero, 2018-12-19aRagexe_zero, 2018-12-26_2aRagexe_zero, 2019-01-16_2aRagexe_zero, 2019-01-17_1aRagexe_zero, 2019-01-30_2aRagexe_zero, 2019-02-13aRagexe_zero, 2019-02-20aRagexe_zero, 2019-02-27aRagexe_zero, 2019-03-13aRagexe_zero, 2019-03-27_2aRagexe_zero, 2019-03-27_3aRagexe_zero, 2019-04-03aRagexe_zero, 2019-04-10bRagexe_zero, 2019-04-24aRagexe_zero, 2019-05-02aRagexe_zero, 2019-05-08_2aRagexe_zero, 2019-05-08aRagexe_zero, 2019-05-15aRagexe_zero, 2019-05-29aRagexe_zero, 2019-05-30aRagexe_zero, 2019-06-05_2aRagexe_zero, 2019-06-26_2aRagexe_zero, 2019-06-26_3aRagexe_zero, 2019-07-09aRagexe_zero, 2019-07-10_3aRagexe_zero, 2019-07-17aRagexe_zero, 2019-07-24aRagexe_zero
#if PACKETVER == 20171018 || \
PACKETVER == 20171019 || \
PACKETVER == 20171023 || \
@@ -86,7 +86,11 @@
PACKETVER == 20190529 || \
PACKETVER == 20190530 || \
PACKETVER == 20190605 || \
- PACKETVER >= 20190626
+ PACKETVER == 20190626 || \
+ PACKETVER == 20190709 || \
+ PACKETVER == 20190710 || \
+ PACKETVER == 20190717 || \
+ PACKETVER >= 20190724
packetKeys(0x00000000,0x00000000,0x00000000);
#endif
diff --git a/src/map/packets_shuffle_main.h b/src/map/packets_shuffle_main.h
index 11672ad6d..1fef4cd25 100644
--- a/src/map/packets_shuffle_main.h
+++ b/src/map/packets_shuffle_main.h
@@ -9727,7 +9727,7 @@
packet(0x0967,clif->pSolveCharName,2); // CZ_REQNAME_BYGID // 6
#endif
-// 2018-11-21bRagexe, 2018-11-28aRagexe, 2018-11-28bRagexe, 2018-11-28cRagexe, 2018-12-05aRagexe, 2018-12-12aRagexe, 2018-12-12bRagexe, 2018-12-19bRagexe, 2018-12-26aRagexe, 2019-01-09aRagexe, 2019-01-16bRagexe, 2019-01-16cRagexe, 2019-01-23dRagexe, 2019-02-13bRagexe, 2019-02-13eRagexe, 2019-02-27aRagexe, 2019-02-28aRagexe, 2019-03-06bRagexe, 2019-03-06cRagexe, 2019-03-13aRagexe, 2019-03-20aRagexe, 2019-03-22aRagexe, 2019-03-27bRagexe, 2019-04-03aRagexe, 2019-04-17aRagexe, 2019-04-18aRagexe, 2019-05-08cRagexe, 2019-05-22bRagexe, 2019-05-22cRagexe, 2019-05-23aRagexe, 2019-05-29aRagexe, 2019-05-29cRagexe, 2019-05-30aRagexe, 2019-06-05fRagexe, 2019-06-05KRagexe, 2019-06-19bRagexe
+// 2018-11-21bRagexe, 2018-11-28aRagexe, 2018-11-28bRagexe, 2018-11-28cRagexe, 2018-12-05aRagexe, 2018-12-12aRagexe, 2018-12-12bRagexe, 2018-12-19bRagexe, 2018-12-26aRagexe, 2019-01-09aRagexe, 2019-01-16bRagexe, 2019-01-16cRagexe, 2019-01-23dRagexe, 2019-02-13bRagexe, 2019-02-13eRagexe, 2019-02-27aRagexe, 2019-02-28aRagexe, 2019-03-06bRagexe, 2019-03-06cRagexe, 2019-03-13aRagexe, 2019-03-20aRagexe, 2019-03-22aRagexe, 2019-03-27bRagexe, 2019-04-03aRagexe, 2019-04-17aRagexe, 2019-04-18aRagexe, 2019-05-08cRagexe, 2019-05-22bRagexe, 2019-05-22cRagexe, 2019-05-23aRagexe, 2019-05-29aRagexe, 2019-05-29cRagexe, 2019-05-30aRagexe, 2019-06-05fRagexe, 2019-06-05KRagexe, 2019-06-19bRagexe, 2019-06-19eRagexe, 2019-06-19hRagexe, 2019-07-03aRagexe, 2019-07-17aRagexe, 2019-07-17dRagexe, 2019-07-24aRagexe
#if PACKETVER == 20181121 || \
PACKETVER == 20181128 || \
PACKETVER == 20181205 || \
@@ -9754,7 +9754,10 @@
PACKETVER == 20190529 || \
PACKETVER == 20190530 || \
PACKETVER == 20190605 || \
- PACKETVER >= 20190619
+ PACKETVER == 20190619 || \
+ PACKETVER == 20190703 || \
+ PACKETVER == 20190717 || \
+ PACKETVER >= 20190724
packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
diff --git a/src/map/packets_shuffle_re.h b/src/map/packets_shuffle_re.h
index d45782743..ce789b837 100644
--- a/src/map/packets_shuffle_re.h
+++ b/src/map/packets_shuffle_re.h
@@ -9663,7 +9663,7 @@
packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 12
#endif
-// 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexeRE, 2018-08-01cRagexeRE, 2018-08-08bRagexeRE, 2018-08-22cRagexeRE, 2018-08-29aRagexeRE, 2018-08-29bRagexeRE, 2018-09-12dRagexeRE, 2018-09-19aRagexeRE, 2018-10-02aRagexeRE, 2018-10-02bRagexeRE, 2018-10-17_02aRagexeRE, 2018-10-17_03aRagexeRE, 2018-10-17bRagexeRE, 2018-10-31cRagexeRE, 2018-11-07aRagexeRE, 2018-11-14cRagexeRE, 2018-11-14dRagexeRE, 2018-11-21cRagexeRE, 2018-11-28aRagexeRE, 2018-12-05bRagexeRE, 2018-12-12aRagexeRE, 2018-12-12bRagexeRE, 2018-12-19bRagexeRE, 2018-12-26aRagexeRE, 2019-01-09bRagexeRE, 2019-01-16bRagexeRE, 2019-01-16cRagexeRE, 2019-01-23dRagexeRE, 2019-02-13IRagexeRE, 2019-02-20aRagexeRE, 2019-02-27bRagexeRE, 2019-02-28aRagexeRE, 2019-03-06bRagexeRE, 2019-03-06cRagexeRE, 2019-03-20aRagexeRE, 2019-03-22aRagexeRE, 2019-03-27bRagexeRE, 2019-04-03bRagexeRE, 2019-04-03cRagexeRE, 2019-04-17cRagexeRE, 2019-04-18aRagexeRE, 2019-05-08dRagexeRE, 2019-05-08eRagexeRE, 2019-05-22bRagexeRE, 2019-05-22cRagexeRE, 2019-05-29bRagexeRE, 2019-05-29cRagexeRE, 2019-05-30aRagexeRE, 2019-06-05hRagexeRE, 2019-06-05JRagexeRE, 2019-06-05LRagexeRE, 2019-06-19cRagexeRE, 2019-06-26bRagexeRE
+// 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexeRE, 2018-08-01cRagexeRE, 2018-08-08bRagexeRE, 2018-08-22cRagexeRE, 2018-08-29aRagexeRE, 2018-08-29bRagexeRE, 2018-09-12dRagexeRE, 2018-09-19aRagexeRE, 2018-10-02aRagexeRE, 2018-10-02bRagexeRE, 2018-10-17_02aRagexeRE, 2018-10-17_03aRagexeRE, 2018-10-17bRagexeRE, 2018-10-31cRagexeRE, 2018-11-07aRagexeRE, 2018-11-14cRagexeRE, 2018-11-14dRagexeRE, 2018-11-21cRagexeRE, 2018-11-28aRagexeRE, 2018-12-05bRagexeRE, 2018-12-12aRagexeRE, 2018-12-12bRagexeRE, 2018-12-19bRagexeRE, 2018-12-26aRagexeRE, 2019-01-09bRagexeRE, 2019-01-16bRagexeRE, 2019-01-16cRagexeRE, 2019-01-23dRagexeRE, 2019-02-13IRagexeRE, 2019-02-20aRagexeRE, 2019-02-27bRagexeRE, 2019-02-28aRagexeRE, 2019-03-06bRagexeRE, 2019-03-06cRagexeRE, 2019-03-20aRagexeRE, 2019-03-22aRagexeRE, 2019-03-27bRagexeRE, 2019-04-03bRagexeRE, 2019-04-03cRagexeRE, 2019-04-17cRagexeRE, 2019-04-18aRagexeRE, 2019-05-08dRagexeRE, 2019-05-08eRagexeRE, 2019-05-22bRagexeRE, 2019-05-22cRagexeRE, 2019-05-29bRagexeRE, 2019-05-29cRagexeRE, 2019-05-30aRagexeRE, 2019-06-05hRagexeRE, 2019-06-05JRagexeRE, 2019-06-05LRagexeRE, 2019-06-19cRagexeRE, 2019-06-26bRagexeRE, 2019-07-03bRagexeRE, 2019-07-17cRagexeRE, 2019-07-17dRagexeRE, 2019-07-24bRagexeRE
#if PACKETVER == 20180704 || \
PACKETVER == 20180711 || \
PACKETVER == 20180718 || \
@@ -9704,7 +9704,10 @@
PACKETVER == 20190530 || \
PACKETVER == 20190605 || \
PACKETVER == 20190619 || \
- PACKETVER >= 20190626
+ PACKETVER == 20190626 || \
+ PACKETVER == 20190703 || \
+ PACKETVER == 20190717 || \
+ PACKETVER >= 20190724
packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
diff --git a/src/map/packets_shuffle_zero.h b/src/map/packets_shuffle_zero.h
index 74afda803..6e42253fe 100644
--- a/src/map/packets_shuffle_zero.h
+++ b/src/map/packets_shuffle_zero.h
@@ -742,7 +742,7 @@
packet(0x0968,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
#endif
-// 2018-11-14aRagexe_zero, 2018-11-20aRagexe_zero, 2018-11-28aRagexe_zero, 2018-12-12aRagexe_zero, 2018-12-19aRagexe_zero, 2018-12-26_2aRagexe_zero, 2019-01-16_2aRagexe_zero, 2019-01-17_1aRagexe_zero, 2019-01-30_2aRagexe_zero, 2019-02-13aRagexe_zero, 2019-02-20aRagexe_zero, 2019-02-27aRagexe_zero, 2019-03-13aRagexe_zero, 2019-03-27_2aRagexe_zero, 2019-03-27_3aRagexe_zero, 2019-04-03aRagexe_zero, 2019-04-10bRagexe_zero, 2019-04-24aRagexe_zero, 2019-05-02aRagexe_zero, 2019-05-08_2aRagexe_zero, 2019-05-08aRagexe_zero, 2019-05-15aRagexe_zero, 2019-05-29aRagexe_zero, 2019-05-30aRagexe_zero, 2019-06-05_2aRagexe_zero, 2019-06-26_2aRagexe_zero
+// 2018-11-14aRagexe_zero, 2018-11-20aRagexe_zero, 2018-11-28aRagexe_zero, 2018-12-12aRagexe_zero, 2018-12-19aRagexe_zero, 2018-12-26_2aRagexe_zero, 2019-01-16_2aRagexe_zero, 2019-01-17_1aRagexe_zero, 2019-01-30_2aRagexe_zero, 2019-02-13aRagexe_zero, 2019-02-20aRagexe_zero, 2019-02-27aRagexe_zero, 2019-03-13aRagexe_zero, 2019-03-27_2aRagexe_zero, 2019-03-27_3aRagexe_zero, 2019-04-03aRagexe_zero, 2019-04-10bRagexe_zero, 2019-04-24aRagexe_zero, 2019-05-02aRagexe_zero, 2019-05-08_2aRagexe_zero, 2019-05-08aRagexe_zero, 2019-05-15aRagexe_zero, 2019-05-29aRagexe_zero, 2019-05-30aRagexe_zero, 2019-06-05_2aRagexe_zero, 2019-06-26_2aRagexe_zero, 2019-06-26_3aRagexe_zero, 2019-07-09aRagexe_zero, 2019-07-10_3aRagexe_zero, 2019-07-17aRagexe_zero, 2019-07-24aRagexe_zero
#if PACKETVER == 20181114 || \
PACKETVER == 20181120 || \
PACKETVER == 20181128 || \
@@ -766,7 +766,11 @@
PACKETVER == 20190529 || \
PACKETVER == 20190530 || \
PACKETVER == 20190605 || \
- PACKETVER >= 20190626
+ PACKETVER == 20190626 || \
+ PACKETVER == 20190709 || \
+ PACKETVER == 20190710 || \
+ PACKETVER == 20190717 || \
+ PACKETVER >= 20190724
packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26
packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5
packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36
diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h
index 9022dd66d..59f148c94 100644
--- a/src/map/packets_struct.h
+++ b/src/map/packets_struct.h
@@ -3480,6 +3480,58 @@ struct PACKET_ZC_REFINE_STATUS {
DEFINE_PACKET_HEADER(ZC_REFINE_STATUS, 0x0ada);
#endif
+#if PACKETVER_RE_NUM >= 20190703 || PACKETVER_ZERO_NUM >= 20190724
+struct PACKET_ZC_ACK_RANKING_sub {
+ char name[NAME_LENGTH];
+ uint32 points;
+} __attribute__((packed));
+
+struct PACKET_ZC_ACK_RANKING {
+ int16 packetType;
+ int16 rankType;
+ uint32 chars[10];
+ uint32 points[10];
+ uint32 myPoints;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_RANKING, 0x0af6);
+#elif PACKETVER_MAIN_NUM >= 20130605 || PACKETVER_RE_NUM >= 20130529 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_ACK_RANKING_sub {
+ char name[NAME_LENGTH];
+ uint32 points;
+} __attribute__((packed));
+
+struct PACKET_ZC_ACK_RANKING {
+ int16 packetType;
+ int16 rankType;
+ struct PACKET_ZC_ACK_RANKING_sub ranks[10];
+ uint32 myPoints;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_RANKING, 0x097d);
+#else
+struct PACKET_ZC_ACK_RANKING_sub {
+ char name[NAME_LENGTH];
+ uint32 points;
+} __attribute__((packed));
+#endif
+
+struct PACKET_ZC_STATUS_CHANGE_ACK {
+ int16 packetType;
+ uint16 sp;
+ uint8 ok;
+ uint8 value;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_STATUS_CHANGE_ACK, 0x00bc);
+
+#if PACKETVER_MAIN_NUM >= 20150507 || PACKETVER_RE_NUM >= 20150429 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_HAT_EFFECT {
+ int16 packetType;
+ int16 packetLength;
+ uint32 aid;
+ int8 status;
+ uint16 effects[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_HAT_EFFECT, 0x0a3b);
+#endif
#if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute
#pragma pack(pop)
diff --git a/src/map/pc.c b/src/map/pc.c
index fb023b2a4..6caafa806 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -7359,34 +7359,33 @@ static int pc_maxparameterincrease(struct map_session_data *sd, int type)
*/
static bool pc_statusup(struct map_session_data *sd, int type, int increase)
{
- int max_increase = 0, current = 0, needed_points = 0, final_value = 0;
-
nullpo_ret(sd);
+ int realIncrease = increase;
// check conditions
- if (type < SP_STR || type > SP_LUK || increase <= 0) {
- clif->statusupack(sd, type, 0, 0);
+ if (type < SP_STR || type > SP_LUK || realIncrease <= 0) {
+ clif->statusupack(sd, type, 0, increase);
return false;
}
// check limits
- current = pc->getstat(sd, type);
- max_increase = pc->maxparameterincrease(sd, type);
- increase = cap_value(increase, 0, max_increase); // cap to the maximum status points available
- if (increase <= 0 || current + increase > pc_maxparameter(sd)) {
- clif->statusupack(sd, type, 0, 0);
+ int current = pc->getstat(sd, type);
+ int max_increase = pc->maxparameterincrease(sd, type);
+ realIncrease = cap_value(realIncrease, 0, max_increase); // cap to the maximum status points available
+ if (realIncrease <= 0 || current + realIncrease > pc_maxparameter(sd)) {
+ clif->statusupack(sd, type, 0, increase);
return false;
}
// check status points
- needed_points = pc->need_status_point(sd, type, increase);
+ int needed_points = pc->need_status_point(sd, type, realIncrease);
if (needed_points < 0 || needed_points > sd->status.status_point) { // Sanity check
- clif->statusupack(sd, type, 0, 0);
+ clif->statusupack(sd, type, 0, increase);
return false;
}
// set new values
- final_value = pc->setstat(sd, type, current + increase);
+ int final_value = pc->setstat(sd, type, current + realIncrease);
sd->status.status_point -= needed_points;
status_calc_pc(sd, SCO_NONE);
diff --git a/src/map/script.c b/src/map/script.c
index c1e210d27..20b4c238a 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -16589,6 +16589,8 @@ static BUILDIN(isequippedcnt)
if(j == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == index) continue;
if(j == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == index) continue;
if(j == EQI_HEAD_TOP && (sd->equip_index[EQI_HEAD_MID] == index || sd->equip_index[EQI_HEAD_LOW] == index)) continue;
+ if(j == EQI_COSTUME_MID && sd->equip_index[EQI_COSTUME_LOW] == index) continue;
+ if(j == EQI_COSTUME_TOP && (sd->equip_index[EQI_COSTUME_MID] == index || sd->equip_index[EQI_COSTUME_LOW] == index)) continue;
if(!sd->inventory_data[index])
continue;
@@ -16642,6 +16644,8 @@ static BUILDIN(isequipped)
if(j == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == index) continue;
if(j == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == index) continue;
if(j == EQI_HEAD_TOP && (sd->equip_index[EQI_HEAD_MID] == index || sd->equip_index[EQI_HEAD_LOW] == index)) continue;
+ if(j == EQI_COSTUME_MID && sd->equip_index[EQI_COSTUME_LOW] == index) continue;
+ if(j == EQI_COSTUME_TOP && (sd->equip_index[EQI_COSTUME_MID] == index || sd->equip_index[EQI_COSTUME_LOW] == index)) continue;
if(!sd->inventory_data[index])
continue;
diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc
index b59d80b9c..2f3642a18 100644
--- a/src/plugins/HPMHooking/HPMHooking.Defs.inc
+++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc
@@ -1296,6 +1296,10 @@ typedef void (*HPMHOOK_pre_clif_fame_taekwon) (struct map_session_data **sd, int
typedef void (*HPMHOOK_post_clif_fame_taekwon) (struct map_session_data *sd, int points);
typedef void (*HPMHOOK_pre_clif_ranklist) (struct map_session_data **sd, enum fame_list_type *type);
typedef void (*HPMHOOK_post_clif_ranklist) (struct map_session_data *sd, enum fame_list_type type);
+typedef void (*HPMHOOK_pre_clif_ranklist_sub) (struct PACKET_ZC_ACK_RANKING_sub **ranks, enum fame_list_type *type);
+typedef void (*HPMHOOK_post_clif_ranklist_sub) (struct PACKET_ZC_ACK_RANKING_sub *ranks, enum fame_list_type type);
+typedef void (*HPMHOOK_pre_clif_ranklist_sub2) (uint32 **chars, uint32 **points, enum fame_list_type *type);
+typedef void (*HPMHOOK_post_clif_ranklist_sub2) (uint32 *chars, uint32 *points, enum fame_list_type type);
typedef void (*HPMHOOK_pre_clif_update_rankingpoint) (struct map_session_data **sd, enum fame_list_type *type, int *points);
typedef void (*HPMHOOK_post_clif_update_rankingpoint) (struct map_session_data *sd, enum fame_list_type type, int points);
typedef void (*HPMHOOK_pre_clif_pRanklist) (int *fd, struct map_session_data **sd);
@@ -5298,6 +5302,8 @@ typedef int (*HPMHOOK_pre_mob_final) (void);
typedef int (*HPMHOOK_post_mob_final) (int retVal___);
typedef void (*HPMHOOK_pre_mob_reload) (void);
typedef void (*HPMHOOK_post_mob_reload) (void);
+typedef int (*HPMHOOK_pre_mob_reload_sub_mob) (struct mob_data **md, va_list args);
+typedef int (*HPMHOOK_post_mob_reload_sub_mob) (int retVal___, struct mob_data *md, va_list args);
typedef struct mob_db* (*HPMHOOK_pre_mob_db) (int *index);
typedef struct mob_db* (*HPMHOOK_post_mob_db) (struct mob_db* retVal___, int index);
typedef struct mob_chat* (*HPMHOOK_pre_mob_chat) (short *id);
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index 454a5229c..fa5bb7cc2 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -886,6 +886,10 @@ struct {
struct HPMHookPoint *HP_clif_fame_taekwon_post;
struct HPMHookPoint *HP_clif_ranklist_pre;
struct HPMHookPoint *HP_clif_ranklist_post;
+ struct HPMHookPoint *HP_clif_ranklist_sub_pre;
+ struct HPMHookPoint *HP_clif_ranklist_sub_post;
+ struct HPMHookPoint *HP_clif_ranklist_sub2_pre;
+ struct HPMHookPoint *HP_clif_ranklist_sub2_post;
struct HPMHookPoint *HP_clif_update_rankingpoint_pre;
struct HPMHookPoint *HP_clif_update_rankingpoint_post;
struct HPMHookPoint *HP_clif_pRanklist_pre;
@@ -3866,6 +3870,8 @@ struct {
struct HPMHookPoint *HP_mob_final_post;
struct HPMHookPoint *HP_mob_reload_pre;
struct HPMHookPoint *HP_mob_reload_post;
+ struct HPMHookPoint *HP_mob_reload_sub_mob_pre;
+ struct HPMHookPoint *HP_mob_reload_sub_mob_post;
struct HPMHookPoint *HP_mob_db_pre;
struct HPMHookPoint *HP_mob_db_post;
struct HPMHookPoint *HP_mob_chat_pre;
@@ -7673,6 +7679,10 @@ struct {
int HP_clif_fame_taekwon_post;
int HP_clif_ranklist_pre;
int HP_clif_ranklist_post;
+ int HP_clif_ranklist_sub_pre;
+ int HP_clif_ranklist_sub_post;
+ int HP_clif_ranklist_sub2_pre;
+ int HP_clif_ranklist_sub2_post;
int HP_clif_update_rankingpoint_pre;
int HP_clif_update_rankingpoint_post;
int HP_clif_pRanklist_pre;
@@ -10653,6 +10663,8 @@ struct {
int HP_mob_final_post;
int HP_mob_reload_pre;
int HP_mob_reload_post;
+ int HP_mob_reload_sub_mob_pre;
+ int HP_mob_reload_sub_mob_post;
int HP_mob_db_pre;
int HP_mob_db_post;
int HP_mob_chat_pre;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index da2f81541..07bbbb4d8 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -467,6 +467,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->fame_alchemist, HP_clif_fame_alchemist) },
{ HP_POP(clif->fame_taekwon, HP_clif_fame_taekwon) },
{ HP_POP(clif->ranklist, HP_clif_ranklist) },
+ { HP_POP(clif->ranklist_sub, HP_clif_ranklist_sub) },
+ { HP_POP(clif->ranklist_sub2, HP_clif_ranklist_sub2) },
{ HP_POP(clif->update_rankingpoint, HP_clif_update_rankingpoint) },
{ HP_POP(clif->pRanklist, HP_clif_pRanklist) },
{ HP_POP(clif->hotkeys, HP_clif_hotkeys) },
@@ -1982,6 +1984,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mob->init, HP_mob_init) },
{ HP_POP(mob->final, HP_mob_final) },
{ HP_POP(mob->reload, HP_mob_reload) },
+ { HP_POP(mob->reload_sub_mob, HP_mob_reload_sub_mob) },
{ HP_POP(mob->db, HP_mob_db) },
{ HP_POP(mob->chat, HP_mob_chat) },
{ HP_POP(mob->makedummymobdb, HP_mob_makedummymobdb) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index b31959ff4..30bc8b8ca 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -11539,6 +11539,58 @@ void HP_clif_ranklist(struct map_session_data *sd, enum fame_list_type type) {
}
return;
}
+void HP_clif_ranklist_sub(struct PACKET_ZC_ACK_RANKING_sub *ranks, enum fame_list_type type) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_ranklist_sub_pre > 0) {
+ void (*preHookFunc) (struct PACKET_ZC_ACK_RANKING_sub **ranks, enum fame_list_type *type);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ranklist_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_ranklist_sub_pre[hIndex].func;
+ preHookFunc(&ranks, &type);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.ranklist_sub(ranks, type);
+ }
+ if (HPMHooks.count.HP_clif_ranklist_sub_post > 0) {
+ void (*postHookFunc) (struct PACKET_ZC_ACK_RANKING_sub *ranks, enum fame_list_type type);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ranklist_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_ranklist_sub_post[hIndex].func;
+ postHookFunc(ranks, type);
+ }
+ }
+ return;
+}
+void HP_clif_ranklist_sub2(uint32 *chars, uint32 *points, enum fame_list_type type) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_ranklist_sub2_pre > 0) {
+ void (*preHookFunc) (uint32 **chars, uint32 **points, enum fame_list_type *type);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ranklist_sub2_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_ranklist_sub2_pre[hIndex].func;
+ preHookFunc(&chars, &points, &type);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.ranklist_sub2(chars, points, type);
+ }
+ if (HPMHooks.count.HP_clif_ranklist_sub2_post > 0) {
+ void (*postHookFunc) (uint32 *chars, uint32 *points, enum fame_list_type type);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ranklist_sub2_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_ranklist_sub2_post[hIndex].func;
+ postHookFunc(chars, points, type);
+ }
+ }
+ return;
+}
void HP_clif_update_rankingpoint(struct map_session_data *sd, enum fame_list_type type, int points) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_update_rankingpoint_pre > 0) {
@@ -51154,6 +51206,39 @@ void HP_mob_reload(void) {
}
return;
}
+int HP_mob_reload_sub_mob(struct mob_data *md, va_list args) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_mob_reload_sub_mob_pre > 0) {
+ int (*preHookFunc) (struct mob_data **md, va_list args);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_reload_sub_mob_pre; hIndex++) {
+ va_list args___copy; va_copy(args___copy, args);
+ preHookFunc = HPMHooks.list.HP_mob_reload_sub_mob_pre[hIndex].func;
+ retVal___ = preHookFunc(&md, args___copy);
+ va_end(args___copy);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ va_list args___copy; va_copy(args___copy, args);
+ retVal___ = HPMHooks.source.mob.reload_sub_mob(md, args___copy);
+ va_end(args___copy);
+ }
+ if (HPMHooks.count.HP_mob_reload_sub_mob_post > 0) {
+ int (*postHookFunc) (int retVal___, struct mob_data *md, va_list args);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_reload_sub_mob_post; hIndex++) {
+ va_list args___copy; va_copy(args___copy, args);
+ postHookFunc = HPMHooks.list.HP_mob_reload_sub_mob_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, md, args___copy);
+ va_end(args___copy);
+ }
+ }
+ return retVal___;
+}
struct mob_db* HP_mob_db(int index) {
int hIndex = 0;
struct mob_db* retVal___ = NULL;