diff --git a/data/actions/actions.xml b/data/actions/actions.xml
index 68b3572..7b12ada 100644
--- a/data/actions/actions.xml
+++ b/data/actions/actions.xml
@@ -97,6 +97,7 @@
+
@@ -159,6 +160,7 @@
+
@@ -174,7 +176,8 @@
-
+
+
@@ -325,6 +328,10 @@
+
+
+
+
@@ -341,6 +348,10 @@
+
+
+
+
@@ -359,6 +370,10 @@
+
+
+
+
@@ -400,6 +415,14 @@
+
+
+
+
+
+
+
+
@@ -437,6 +460,14 @@
+
+
+
+
+
+
+
+
@@ -474,4 +505,12 @@
+
+
+
+
+
+
+
+
diff --git a/data/actions/scripts/misc/catch_fish.lua b/data/actions/scripts/misc/catch_fish.lua
new file mode 100644
index 0000000..fce7433
--- /dev/null
+++ b/data/actions/scripts/misc/catch_fish.lua
@@ -0,0 +1,16 @@
+function onUse(player, item, fromPosition, target, toPosition, isHotkey)
+ if target.itemid ~= 5553 then
+ return false
+ end
+
+ if math.random(2) ~= 1 then
+ player:say("The golden fish escaped.", TALKTYPE_MONSTER_SAY)
+ return true
+ end
+
+ player:say("You catch a golden fish in the bowl.", TALKTYPE_MONSTER_SAY)
+ item:transform(5929)
+ target:remove()
+ toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE)
+ return true
+end
diff --git a/data/actions/scripts/misc/doors.lua b/data/actions/scripts/misc/doors.lua
index 1d0cd4d..179a82a 100644
--- a/data/actions/scripts/misc/doors.lua
+++ b/data/actions/scripts/misc/doors.lua
@@ -1,5 +1,5 @@
local lockedDoors = {
- 1628, 1631, 1650, 1653, 1668, 1671, 1682, 1691, 5006, 5007, 5097, 5106, 5115, 5124, 5133, 5136, 5139, 5142, 5277, 5280, 5732, 5735
+ 1628, 1631, 1650, 1653, 1668, 1671, 1682, 1691, 5006, 5007, 5097, 5106, 5115, 5124, 5133, 5136, 5139, 5142, 5277, 5280, 5732, 5735, 6191, 6194, 6248, 6251
}
local closedNormalDoors = {
@@ -43,6 +43,14 @@ local closedNormalDoors = {
[5516] = 5517,
[5733] = 5734,
[5736] = 5737,
+ [6192] = 6193,
+ [6195] = 6196,
+ [6197] = 6198,
+ [6199] = 6200,
+ [6249] = 6250,
+ [6252] = 6253,
+ [6254] = 6255,
+ [6256] = 6257,
}
local openVerticalDoors = {
@@ -81,6 +89,14 @@ local openVerticalDoors = {
[5515] = 5514,
[5737] = 5736,
[5748] = 5749,
+ [6193] = 6192,
+ [6198] = 6197,
+ [6202] = 6201,
+ [6206] = 6205,
+ [6250] = 6249,
+ [6255] = 6254,
+ [6259] = 6258,
+ [6263] = 6262,
}
local openHorizontalDoors = {
@@ -119,6 +135,14 @@ local openHorizontalDoors = {
[5517] = 5516,
[5734] = 5733,
[5746] = 5745,
+ [6196] = 6195,
+ [6200] = 6199,
+ [6204] = 6203,
+ [6208] = 6207,
+ [6253] = 6252,
+ [6257] = 6256,
+ [6261] = 6260,
+ [6265] = 6264,
}
local levelDoors = {
@@ -137,6 +161,10 @@ local levelDoors = {
[5129] = 5130,
[5291] = 5292,
[5293] = 5294,
+ [6205] = 6206,
+ [6207] = 6208,
+ [6262] = 6263,
+ [6264] = 6265,
}
local questDoors = {
@@ -155,6 +183,10 @@ local questDoors = {
[5289] = 5290,
[5745] = 5746,
[5749] = 5748,
+ [6201] = 6202,
+ [6203] = 6204,
+ [6258] = 6259,
+ [6260] = 6261,
}
local passthrough = {
diff --git a/data/actions/scripts/misc/furniture_parcels.lua b/data/actions/scripts/misc/furniture_parcels.lua
index f0f84cd..5fb3ae6 100644
--- a/data/actions/scripts/misc/furniture_parcels.lua
+++ b/data/actions/scripts/misc/furniture_parcels.lua
@@ -40,6 +40,8 @@ local parcels = {
[5086] = 5046,
[5087] = 5055,
[5088] = 5056,
+ [6114] = 6111,
+ [6115] = 6109,
}
function onUse(player, item, fromPosition, target, toPosition)
diff --git a/data/actions/scripts/misc/key.lua b/data/actions/scripts/misc/key.lua
index a0937e0..a411be5 100644
--- a/data/actions/scripts/misc/key.lua
+++ b/data/actions/scripts/misc/key.lua
@@ -39,6 +39,14 @@ local closedDoors = {
[5733] = 5732,
[5735] = 5737,
[5736] = 5735,
+ [6191] = 6193,
+ [6192] = 6191,
+ [6194] = 6196,
+ [6195] = 6194,
+ [6248] = 6250,
+ [6249] = 6248,
+ [6251] = 6253,
+ [6252] = 6251,
}
local openDoors = {
@@ -62,6 +70,10 @@ local openDoors = {
[5282] = 5280,
[5734] = 5732,
[5737] = 5735,
+ [6193] = 6191,
+ [6196] = 6194,
+ [6250] = 6248,
+ [6253] = 6251,
}
function onUse(player, item, fromPosition, target, toPosition)
diff --git a/data/items780/items.srv b/data/items780/items.srv
index 769b318..eb09b21 100644
--- a/data/items780/items.srv
+++ b/data/items780/items.srv
@@ -26816,7 +26816,7 @@ Flags = {Container,Take}
Attributes = {Capacity=8,Weight=800,SlotType=BACKPACK}
TypeID = 5928
-Name = "an empty goldfish bowl" # TODO: implement functionality like in tibia wiki
+Name = "an empty goldfish bowl"
Flags = {Take}
Attributes = {Weight=3200}
@@ -26971,7 +26971,7 @@ Attributes = {Weight=200}
TypeID = 5957
Name = "a lottery ticket"
-Description = "It has not been used yet" # TODO: Implement like in tibia wiki
+Description = "It has not been used yet"
Flags = {Take}
Attributes = {Weight=120}
@@ -27649,7 +27649,7 @@ Attributes = {Weight=50}
TypeID = 6092
Name = "a very noble-looking watch"
Flags = {Take,Expire}
-Attributes = {Weight=50,ExpireTarget=6091,TotalExpireTime=259200} # TODO: Implement functionality like in tibia wiki
+Attributes = {Weight=50,ExpireTarget=6091,TotalExpireTime=259200}
TypeID = 6093
Name = "a crystal ring"
@@ -27762,13 +27762,13 @@ Attributes = {Weight=50}
TypeID = 6114
Name = "an armor rack kit"
-Description = "Use it in your house to construct an armor rack" # TODO: Implement like in tibia wiki
+Description = "Use it in your house to construct an armor rack"
Flags = {Take,Unpass}
Attributes = {Weight=3500}
TypeID = 6115
Name = "a weapon rack kit"
-Description = "Use it in your house to construct a weapon rack" # TODO: Implement like in tibia wiki
+Description = "Use it in your house to construct a weapon rack"
Flags = {Take,Unpass}
Attributes = {Weight=3500}
diff --git a/data/items792/items.srv b/data/items792/items.srv
index 7541b02..de66900 100644
--- a/data/items792/items.srv
+++ b/data/items792/items.srv
@@ -26816,7 +26816,7 @@ Flags = {Container,Take}
Attributes = {Capacity=8,Weight=800,SlotType=BACKPACK}
TypeID = 5928
-Name = "an empty goldfish bowl" # TODO: implement functionality like in tibia wiki
+Name = "an empty goldfish bowl"
Flags = {Take}
Attributes = {Weight=3200}
@@ -26971,7 +26971,7 @@ Attributes = {Weight=200}
TypeID = 5957
Name = "a lottery ticket"
-Description = "It has not been used yet" # TODO: Implement like in tibia wiki
+Description = "It has not been used yet"
Flags = {Take}
Attributes = {Weight=120}
@@ -27649,7 +27649,7 @@ Attributes = {Weight=50}
TypeID = 6092
Name = "a very noble-looking watch"
Flags = {Take,Expire}
-Attributes = {Weight=50,ExpireTarget=6091,TotalExpireTime=259200} # TODO: Implement functionality like in tibia wiki
+Attributes = {Weight=50,ExpireTarget=6091,TotalExpireTime=259200}
TypeID = 6093
Name = "a crystal ring"
@@ -27762,13 +27762,13 @@ Attributes = {Weight=50}
TypeID = 6114
Name = "an armor rack kit"
-Description = "Use it in your house to construct an armor rack" # TODO: Implement like in tibia wiki
+Description = "Use it in your house to construct an armor rack"
Flags = {Take,Unpass}
Attributes = {Weight=3500}
TypeID = 6115
Name = "a weapon rack kit"
-Description = "Use it in your house to construct a weapon rack" # TODO: Implement like in tibia wiki
+Description = "Use it in your house to construct a weapon rack"
Flags = {Take,Unpass}
Attributes = {Weight=3500}
@@ -28030,30 +28030,29 @@ TypeID = 6174
Name = "a tree archway"
Flags = {Top,Unmove}
-# TODO: nuo cia reikia pradeti tikrinti
TypeID = 6175
Name = "a tree archway"
Flags = {Top,Unmove}
TypeID = 6176
Name = "a branch"
-Flags = {Bottom,Unpass,Unmove}
+Flags = {Bottom,Unpass,Unmove,Unlay}
TypeID = 6177
Name = "a tree hole"
-Flags = {Bottom,Unpass,Unmove}
+Flags = {Bottom,Unpass,Unmove,Unlay}
TypeID = 6178
Name = "a tree hole"
-Flags = {Bottom,Unpass,Unmove}
+Flags = {Bottom,Unpass,Unmove,Unlay}
TypeID = 6179
Name = "a tree"
-Flags = {Unpass,Unmove}
+Flags = {Unpass,Unmove,Unlay}
TypeID = 6180
Name = "a tree"
-Flags = {Unpass,Unmove}
+Flags = {Unpass,Unmove,Unlay}
TypeID = 6181
Name = "a large branch"
@@ -28089,83 +28088,89 @@ Flags = {Top,Unmove}
TypeID = 6189
Name = "a branch"
-Flags = {Bottom,Unpass,Unmove}
+Flags = {Bottom,Unpass,Unmove,Unlay}
TypeID = 6190
Name = "a branch"
-Flags = {Bottom,Unpass,Unmove}
+Flags = {Bottom,Unpass,Unmove,Unlay}
TypeID = 6191
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Description = "It is locked"
+Flags = {UseEvent,Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6192
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6193
Name = "an open door"
-Flags = {Top,Unmove}
+Flags = {Top,Door,Unmove}
TypeID = 6194
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Description = "It is locked"
+Flags = {UseEvent,Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6195
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6196
Name = "an open door"
-Flags = {Top,Unmove}
+Flags = {Top,Door,Unmove}
TypeID = 6197
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6198
Name = "an open door"
-Flags = {Top,Unmove}
+Flags = {Top,Door,Unmove}
TypeID = 6199
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6200
Name = "an open door"
-Flags = {Top,Unmove}
+Flags = {Top,Door,Unmove}
TypeID = 6201
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Description = "The door seems to be sealed against unwanted intruders"
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6202
Name = "an open door"
-Flags = {Top,Unmove}
+Flags = {Top,SeparationEvent,Door,Unmove}
TypeID = 6203
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Description = "The door seems to be sealed against unwanted intruders"
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6204
Name = "an open door"
-Flags = {Top,Unmove}
+Flags = {Top,SeparationEvent,Door,Unmove}
TypeID = 6205
Name = "a gate of expertise"
-Flags = {Unpass,Unmove}
+Description = "Only the worthy may pass"
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6206
Name = "a gate of expertise"
-Flags = {Top,Unmove}
+Flags = {Door,Top,SeparationEvent,Unmove}
TypeID = 6207
Name = "a gate of expertise"
-Flags = {Unpass,Unmove}
+Description = "Only the worthy may pass"
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6208
Name = "a gate of expertise"
-Flags = {Top,Unmove}
+Flags = {Door,Top,SeparationEvent,Unmove}
TypeID = 6209
Name = "a rope bridge"
@@ -28174,11 +28179,11 @@ Attributes = {Waypoints=100}
TypeID = 6210
Name = "a rope bridge"
-Flags = {Clip,Unpass,Unmove}
+Flags = {Clip,Unpass,Unmove,Unlay}
TypeID = 6211
Name = "a rope bridge"
-Flags = {Clip,Unpass,Unmove}
+Flags = {Clip,Unpass,Unmove,Unlay}
TypeID = 6212
Name = "a rope bridge"
@@ -28187,11 +28192,11 @@ Attributes = {Waypoints=100}
TypeID = 6213
Name = "a rope bridge"
-Flags = {Clip,Unpass,Unmove}
+Flags = {Clip,Unpass,Unmove,Unlay}
TypeID = 6214
Name = "a rope bridge"
-Flags = {Clip,Unpass,Unmove}
+Flags = {Clip,Unpass,Unmove,Unlay}
TypeID = 6215
Name = "grass"
@@ -28327,75 +28332,81 @@ Flags = {Bottom,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6248
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Description = "It is locked"
+Flags = {UseEvent,Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6249
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6250
Name = "an open door"
-Flags = {Top,Unmove}
+Flags = {Top,Door,Unmove}
TypeID = 6251
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Description = "It is locked"
+Flags = {UseEvent,Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6252
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6253
Name = "an open door"
-Flags = {Top,Unmove}
+Flags = {Top,Door,Unmove}
TypeID = 6254
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6255
Name = "an open door"
-Flags = {Top,Unmove}
+Flags = {Top,Door,Unmove}
TypeID = 6256
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6257
Name = "an open door"
-Flags = {Top,Unmove}
+Flags = {Top,Door,Unmove}
TypeID = 6258
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Description = "The door seems to be sealed against unwanted intruders"
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6259
Name = "an open door"
-Flags = {Top,Unmove}
+Flags = {Top,SeparationEvent,Door,Unmove}
TypeID = 6260
Name = "a closed door"
-Flags = {Unpass,Unmove}
+Description = "The door seems to be sealed against unwanted intruders"
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6261
Name = "an open door"
-Flags = {Top,Unmove}
+Flags = {Top,SeparationEvent,Door,Unmove}
TypeID = 6262
Name = "a gate of expertise"
-Flags = {Unpass,Unmove}
+Description = "Only the worthy may pass"
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6263
Name = "a gate of expertise"
-Flags = {Top,Unmove}
+Flags = {Door,Top,SeparationEvent,Unmove}
TypeID = 6264
Name = "a gate of expertise"
-Flags = {Unpass,Unmove}
+Description = "Only the worthy may pass"
+Flags = {Door,Unpass,Unmove,Unthrow,Unlay}
TypeID = 6265
Name = "a gate of expertise"
-Flags = {Top,Unmove}
+Flags = {Door,Top,SeparationEvent,Unmove}
TypeID = 6266
Name = "metal trash"
@@ -28437,6 +28448,8 @@ TypeID = 6275
Name = "an archway"
Flags = {Top,Unmove}
+# TODO: pradeti nuo cia
+
TypeID = 6276
Name = "a lump of cake dough"
Flags = {Cumulative,Take}
diff --git a/data/movements/movements.xml b/data/movements/movements.xml
index cc8d7e4..2db0f4b 100644
--- a/data/movements/movements.xml
+++ b/data/movements/movements.xml
@@ -676,6 +676,14 @@
+
+
+
+
+
+
+
+
diff --git a/data/movements/scripts/misc/doors.lua b/data/movements/scripts/misc/doors.lua
index 6b64a9b..34b65da 100644
--- a/data/movements/scripts/misc/doors.lua
+++ b/data/movements/scripts/misc/doors.lua
@@ -14,6 +14,10 @@ local verticalDoors = {
[5288] = 5287,
[5292] = 5291,
[5748] = 5749,
+ [6202] = 6201,
+ [6206] = 6205,
+ [6259] = 6258,
+ [6263] = 6262,
}
local horizontalDoors = {
@@ -32,6 +36,10 @@ local horizontalDoors = {
[5290] = 5289,
[5294] = 5293,
[5746] = 5745,
+ [6204] = 6203,
+ [6208] = 6207,
+ [6261] = 6260,
+ [6265] = 6264,
}
function onStepOut(creature, item, fromPosition, toPosition)