diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-01-15 13:12:08 -0200 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-01-15 13:12:08 -0200 |
commit | b9d322983311fcf59fa6815c3c7ff4ab2eb9cc98 (patch) | |
tree | f5af237df591ec29b384d913f55c6427b0a588bb /npc | |
parent | 29b7120b0c0dfbf2396f6c63e64a620a36b4e5e8 (diff) | |
download | serverdata-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.txt | 2 | ||||
-rw-r--r-- | npc/019-1/well.txt | 10 | ||||
-rw-r--r-- | npc/items/shovel.txt | 1 |
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)) ) { |