summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-01-15 13:12:08 -0200
committerJesusaves <cpntb1@ymail.com>2019-01-15 13:12:08 -0200
commitb9d322983311fcf59fa6815c3c7ff4ab2eb9cc98 (patch)
treef5af237df591ec29b384d913f55c6427b0a588bb /npc
parent29b7120b0c0dfbf2396f6c63e64a620a36b4e5e8 (diff)
downloadserverdata-b9d322983311fcf59fa6815c3c7ff4ab2eb9cc98.tar.gz
serverdata-b9d322983311fcf59fa6815c3c7ff4ab2eb9cc98.tar.bz2
serverdata-b9d322983311fcf59fa6815c3c7ff4ab2eb9cc98.tar.xz
serverdata-b9d322983311fcf59fa6815c3c7ff4ab2eb9cc98.zip
Fix several bugs with requestitem(), because hercules does overwork
Diffstat (limited to 'npc')
-rw-r--r--npc/014-2/mouboo.txt2
-rw-r--r--npc/019-1/well.txt10
-rw-r--r--npc/items/shovel.txt1
3 files changed, 9 insertions, 4 deletions
diff --git a/npc/014-2/mouboo.txt b/npc/014-2/mouboo.txt
index 69343a46c..746a1bf94 100644
--- a/npc/014-2/mouboo.txt
+++ b/npc/014-2/mouboo.txt
@@ -54,6 +54,7 @@ L_Begin:
.@id = requestitem();
// If ID is invalid, there's not enough items, it is bound = Cannot bury
+ if (.@id < 1) close;
if (.@id < 1 || countitem(.@id) < 1 || checkbound(.@id) || getiteminfo(.@id, ITEMINFO_TYPE) != IT_HEALING) {
if (checkbound(.@id))
mesc l("You cannot part with this item!");
@@ -107,6 +108,7 @@ L_Begin:
.@id = requestitem();
// If ID is invalid, there's not enough items, it is bound = Cannot bury
+ if (.@id < 1) close;
if (.@id < 1 || countitem(.@id) < 1 || getiteminfo(.@id, ITEMINFO_TYPE) != IT_WEAPON) {
if (getiteminfo(.@id, ITEMINFO_TYPE) != IT_WEAPON)
mesc l("This is not a weapon. Wait, you don't want to explode it, right?!");
diff --git a/npc/019-1/well.txt b/npc/019-1/well.txt
index 28022b1d8..f1d0b40de 100644
--- a/npc/019-1/well.txt
+++ b/npc/019-1/well.txt
@@ -62,10 +62,12 @@ L_Throw:
.@id = requestitem();
// If ID is invalid, there's not enough items, it is bound = Cannot bury
- if (.@id < 1 || countitem(.@id) < 1 || checkbound(.@id) || !getiteminfo(.@id, ITEMINFO_MAXCHANCE)) {
- if (.@id < 1)
- mesc l("You give up.");
- else if (checkbound(.@id))
+ if (.@id < 1) {
+ mesc l("You give up.");
+ close;
+ }
+ if (countitem(.@id) < 1 || checkbound(.@id) || !getiteminfo(.@id, ITEMINFO_MAXCHANCE)) {
+ if (checkbound(.@id))
mesc l("You cannot drop this item!");
else if (!getiteminfo(.@id, ITEMINFO_MAXCHANCE))
mesc l("This item is too precious, you cannot part with it!");
diff --git a/npc/items/shovel.txt b/npc/items/shovel.txt
index b12d7e897..e56488cdd 100644
--- a/npc/items/shovel.txt
+++ b/npc/items/shovel.txt
@@ -167,6 +167,7 @@ function script shovel_scatter {
// If ID is invalid, there's not enough items, it is an Iron Shovel, it is bound = Cannot bury
// GMs bypass rarity check. (A trade restriction check would be better)
+ if (.@id < 1) close;
if (.@id < 1 || countitem(.@id) < 1 || .@id == IronShovel || checkbound(.@id) ||
(!is_gm() && !getiteminfo(.@id, ITEMINFO_MAXCHANCE))
) {