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)