diff --git a/800OTClient/data/things/772/Tibia.dat b/800OTClient/data/things/772/Tibia.dat
index 5b6f2ce..9096745 100644
Binary files a/800OTClient/data/things/772/Tibia.dat and b/800OTClient/data/things/772/Tibia.dat differ
diff --git a/800OTClient/data/things/772/Tibia.spr b/800OTClient/data/things/772/Tibia.spr
index 4aeb632..a8825fe 100644
Binary files a/800OTClient/data/things/772/Tibia.spr and b/800OTClient/data/things/772/Tibia.spr differ
diff --git a/800OTClient/modules/game_outfit/outfit.lua b/800OTClient/modules/game_outfit/outfit.lua
index 32d2ce5..0827085 100644
--- a/800OTClient/modules/game_outfit/outfit.lua
+++ b/800OTClient/modules/game_outfit/outfit.lua
@@ -38,8 +38,8 @@ end
function setupTables()
configOptions = {
- {id = "addon1", text = "Addon 1", checked = false, enabled = g_game.getClientVersion() >= 780},
- {id = "addon2", text = "Addon 2", checked = false, enabled = g_game.getClientVersion() >= 780},
+ {id = "addon1", text = "Addon 1", checked = false, enabled = g_game.getFeature(GamePlayerAddons)},
+ {id = "addon2", text = "Addon 2", checked = false, enabled = g_game.getFeature(GamePlayerAddons)},
{id = "mount", text = "Mount", checked = false, enabled = g_game.getFeature(GamePlayerMounts)},
{id = "wings", text = "Wings", checked = false, enabled = g_game.getFeature(GameWingsAndAura)},
{id = "aura", text = "Aura", checked = false, enabled = g_game.getFeature(GameWingsAndAura)},
diff --git a/800OTClient/otclientv8.log b/800OTClient/otclientv8.log
index 3e2a6b6..8a09357 100644
--- a/800OTClient/otclientv8.log
+++ b/800OTClient/otclientv8.log
@@ -5345,3 +5345,58 @@ stack traceback:
[C]: in function '__index'
/modules/game_outfit/outfit.lua:355: in function 'onElementSelect'
/layouts/retro/styles/40-outfitwindow.otui:151: [@onClick]:2: in function
+Exiting application..
+GPU Radeon RX 580 Series (ATI Technologies Inc.)
+OpenGL 4.6.13596 Compatibility Profile Context 20.10.35.02 27.20.1034.6
+[Atlas] Texture size is: 4096x4096 (max: 16384x16384)
+Found work dir at 'C:/Users/erika/source/repos/Sabrehaven/800OTClient/'
+== application started at Apr 18 2022 16:06:08
+OTCv8 3.1 rev 163 (dev) made by otclient.net built on Mar 31 2022 for arch x86
+Connecting to: 127.0.0.1:7171
+Login to 127.0.0.1:7172
+ERROR: protected lua call failed: /modules/game_outfit/outfit.lua:836: attempt to index field 'addon1' (a nil value)
+stack traceback:
+ [C]: in function '__index'
+ /modules/game_outfit/outfit.lua:836: in function
+ERROR: protected lua call failed: /modules/game_outfit/outfit.lua:836: attempt to index field 'addon1' (a nil value)
+stack traceback:
+ [C]: in function '__index'
+ /modules/game_outfit/outfit.lua:836: in function
+Exiting application..
+GPU Radeon RX 580 Series (ATI Technologies Inc.)
+OpenGL 4.6.13596 Compatibility Profile Context 20.10.35.02 27.20.1034.6
+[Atlas] Texture size is: 4096x4096 (max: 16384x16384)
+Found work dir at 'C:/Users/erika/source/repos/Sabrehaven/800OTClient/'
+== application started at Apr 18 2022 16:10:05
+OTCv8 3.1 rev 163 (dev) made by otclient.net built on Mar 31 2022 for arch x86
+Connecting to: 127.0.0.1:7171
+Login to 127.0.0.1:7172
+Login to 127.0.0.1:7172
+Login to 127.0.0.1:7172
+Login to 127.0.0.1:7172
+Login to 127.0.0.1:7172
+Login to 127.0.0.1:7172
+Login to 127.0.0.1:7172
+ERROR: lua function callback failed: /modules/game_battle/battle.lua:357: attempt to compare nil with number
+stack traceback:
+ [C]: in function '__lt'
+ /modules/game_battle/battle.lua:357: in function
+ [C]: in function 'sort'
+ /modules/game_battle/battle.lua:355: in function 'sortCreatures'
+ /modules/game_battle/battle.lua:263: in function 'checkCreatures'
+ /modules/game_battle/battle.lua:224: in function
+Login to 127.0.0.1:7172
+Login to 127.0.0.1:7172
+Exiting application..
+GPU Radeon RX 580 Series (ATI Technologies Inc.)
+OpenGL 4.6.13596 Compatibility Profile Context 20.10.35.02 27.20.1034.6
+[Atlas] Texture size is: 4096x4096 (max: 16384x16384)
+Found work dir at 'C:/Users/erika/source/repos/Sabrehaven/800OTClient/'
+== application started at Apr 18 2022 18:15:15
+OTCv8 3.1 rev 163 (dev) made by otclient.net built on Mar 31 2022 for arch x86
+Connecting to: 127.0.0.1:7171
+Login to 127.0.0.1:7172
+Login to 127.0.0.1:7172
+Login to 127.0.0.1:7172
+Login to 127.0.0.1:7172
+Login to 127.0.0.1:7172
diff --git a/New Text Document.txt b/New Text Document.txt
index ce58b84..2a1a259 100644
--- a/New Text Document.txt
+++ b/New Text Document.txt
@@ -1 +1 @@
-next: 17745
\ No newline at end of file
+next: 17751
\ No newline at end of file
diff --git a/data/XML/quests.xml b/data/XML/quests.xml
index 2a550d9..21b3a50 100644
--- a/data/XML/quests.xml
+++ b/data/XML/quests.xml
@@ -577,12 +577,11 @@
-
+
-
-
+
diff --git a/data/actions/scripts/inquisition/holyWater.lua b/data/actions/scripts/inquisition/holyWater.lua
index 70887a4..7fe635a 100644
--- a/data/actions/scripts/inquisition/holyWater.lua
+++ b/data/actions/scripts/inquisition/holyWater.lua
@@ -1,8 +1,8 @@
local doorPosition = Position(32260, 32791, 7)
-local shadowNexusPosition = Position(33115, 31702, 12)
+local shadowNexusPosition = Position(33117, 31708, 12)
local effectPositions = {
- Position(33113, 31702, 12),
- Position(33116, 31702, 12)
+ Position(33116, 31708, 12),
+ Position(33118, 31708, 12)
}
local function revertItem(position, itemId, transformId)
@@ -58,13 +58,13 @@ function onUse(player, item, fromPosition, target, toPosition, isHotkey)
end
-- Shadow Nexus
- if isInArray({8753, 8755, 8757}, target.itemid) then
+ if isInArray({7925, 7927, 7929}, target.itemid) then
target:transform(target.itemid + 1)
target:decay()
nexusMessage(player, player:getName() .. ' damaged the shadow nexus! You can\'t damage it while it\'s burning.')
- shadowNexusPosition:sendMagicEffect(CONST_ME_HOLYAREA)
+ shadowNexusPosition:sendMagicEffect(CONST_ME_ENERGYHIT)
- elseif target.itemid == 8759 then
+ elseif target.itemid == 7931 then
if player:getStorageValue(12160) < 22 then
-- The Inquisition Questlog- 'Mission 7: The Shadow Nexus'
player:setStorageValue(12167, 2)
@@ -72,7 +72,7 @@ function onUse(player, item, fromPosition, target, toPosition, isHotkey)
end
for i = 1, #effectPositions do
- effectPositions[i]:sendMagicEffect(CONST_ME_HOLYAREA)
+ effectPositions[i]:sendMagicEffect(CONST_ME_ENERGYHIT)
end
nexusMessage(player, player:getName() .. ' destroyed the shadow nexus! In 20 seconds it will return to its original state.')
diff --git a/data/creaturescripts/creaturescripts.xml b/data/creaturescripts/creaturescripts.xml
index ea042fc..ded3b3d 100644
--- a/data/creaturescripts/creaturescripts.xml
+++ b/data/creaturescripts/creaturescripts.xml
@@ -12,4 +12,5 @@
+
diff --git a/data/creaturescripts/scripts/inquisitionQuestBosses.lua b/data/creaturescripts/scripts/inquisitionQuestBosses.lua
new file mode 100644
index 0000000..a8b6666
--- /dev/null
+++ b/data/creaturescripts/scripts/inquisitionQuestBosses.lua
@@ -0,0 +1,39 @@
+local bosses = {
+ ['ushuriel'] = 200,
+ ['zugurosh'] = 201,
+ ['madareth'] = 202,
+ ['latrivan'] = 203,
+ ['golgordan'] = 203,
+ ['annihilon'] = 204,
+ ['hellgorak'] = 205
+}
+
+function onKill(player, target)
+ local targetMonster = target:getMonster()
+ if not targetMonster then
+ return true
+ end
+
+ local targetName = targetMonster:getName():lower()
+ local bossStorage = bosses[targetName]
+ if not bossStorage then
+ return true
+ end
+
+ local newValue = 2
+ if targetName == 'latrivan' or targetName == 'golgordan' then
+ local currentValue = 0
+ if Game.getStorageValue(bossStorage) then
+ currentValue = Game.getStorageValue(bossStorage)
+ end
+
+ newValue = math.max(0, currentValue) + 1
+ end
+ Game.setStorageValue(bossStorage, newValue)
+
+ if newValue >= 2 then
+ player:say('You now have 3 minutes to exit this room through the teleporter. It will bring you to the next room.', TALKTYPE_MONSTER_SAY)
+ addEvent(Game.setStorageValue, 3 * 60 * 1000, bossStorage, 0)
+ end
+ return true
+end
\ No newline at end of file
diff --git a/data/creaturescripts/scripts/login.lua b/data/creaturescripts/scripts/login.lua
index 55d71e6..7f26151 100644
--- a/data/creaturescripts/scripts/login.lua
+++ b/data/creaturescripts/scripts/login.lua
@@ -322,6 +322,7 @@ function onLogin(player)
player:registerEvent("FirstItems")
player:registerEvent("RegenerateStamina")
player:registerEvent("InquisitionUngreez")
+ player:registerEvent("InquisitionBosses")
return true
end
diff --git a/data/items800/items.srv b/data/items800/items.srv
index c4ef687..e2338ed 100644
--- a/data/items800/items.srv
+++ b/data/items800/items.srv
@@ -33814,12 +33814,88 @@ Name = "the ring of the count"
Flags = {Take}
Attributes = {Weight=75,SlotType=RING}
+TypeID = 7925
+Name = "the shadow nexus"
+Flags = {Unpass,Unmove,Unthrow,Unlay}
+Attributes = {Brightness=3,LightColor=5}
+
+TypeID = 7926
+Name = "the shadow nexus"
+Flags = {Unpass,Unmove,Unthrow,Unlay,Expire}
+Attributes = {Brightness=3,LightColor=5,ExpireTarget=7927,TotalExpireTime=30}
+
+TypeID = 7927
+Name = "the shadow nexus"
+Flags = {Unpass,Unmove,Unthrow,Unlay,Expire}
+Attributes = {Brightness=3,LightColor=5,ExpireTarget=7925,TotalExpireTime=20}
+
+TypeID = 7928
+Name = "the shadow nexus"
+Flags = {Unpass,Unmove,Unthrow,Unlay,Expire}
+Attributes = {Brightness=3,LightColor=5,ExpireTarget=7929,TotalExpireTime=30}
+
+TypeID = 7929
+Name = "the shadow nexus"
+Flags = {Unpass,Unmove,Unthrow,Unlay,Expire}
+Attributes = {Brightness=3,LightColor=5,ExpireTarget=7925,TotalExpireTime=20}
+
+TypeID = 7930
+Name = "the shadow nexus"
+Flags = {Unpass,Unmove,Unthrow,Unlay,Expire}
+Attributes = {Brightness=3,LightColor=5,ExpireTarget=7931,TotalExpireTime=30}
+
+TypeID = 7931
+Name = "the shadow nexus"
+Flags = {Unpass,Unmove,Unthrow,Unlay,Expire}
+Attributes = {Brightness=3,LightColor=5,ExpireTarget=7925,TotalExpireTime=20}
+
TypeID = 8023
Name = "a royal crossbow"
Description = "It is a bit heavy due to the iron mounting, but very precise"
Flags = {Take,Distance}
Attributes = {Weight=12000,SlotType=TWOHANDED,Range=6,AmmoType=BOLT,ExtraHitChance=3,Attack=5}
+TypeID = 8026
+Name = "a warsinger bow"
+Flags = {Take,Distance}
+Attributes = {Weight=4500,SlotType=TWOHANDED,Range=7,AmmoType=ARROW,ExtraHitChance=5,Attack=3}
+
+TypeID = 8053
+Name = "a fireborn giant armor"
+Flags = {Take,Armor}
+Attributes = {Weight=12000,SlotType=BODY,ArmorValue=15,AbsorbFire=5,SwordBoost=2}
+
+TypeID = 8060
+Name = "a master archer's armor"
+Flags = {Take,Armor}
+Attributes = {Weight=6900,SlotType=BODY,ArmorValue=15,DistanceBoost=3}
+
+TypeID = 8062
+Name = "a robe of the underworld"
+Flags = {Take,Armor}
+Attributes = {Weight=3100,SlotType=BODY,ArmorValue=12,AbsorbPhysical=12}
+
+TypeID = 8090
+Name = "a spellbook of dark mysteries"
+Description = "It shows your spells and can also shield against attacks when worn"
+Flags = {Take,Shield}
+Attributes = {Weight=2850,Defense=16,MagicBoost=3}
+
+TypeID = 8096
+Name = "a hellforged axe"
+Flags = {MultiUse,Take,Weapon}
+Attributes = {Weight=8800,WeaponType=AXE,Attack=51,Defense=28}
+
+TypeID = 8100
+Name = "an obsidian truncheon"
+Flags = {MultiUse,Take,Weapon}
+Attributes = {Weight=6500,WeaponType=CLUB,Attack=50,Defense=30}
+
+TypeID = 8102
+Name = "an emerald sword"
+Flags = {MultiUse,Take,Weapon}
+Attributes = {Weight=4100,WeaponType=SWORD,Attack=49,Defense=33}
+
TypeID = 8109
Name = "remains of a vampire lord"
Flags = {Container,Unmove,Corpse,Expire}
diff --git a/data/monster/800/annihilon.xml b/data/monster/800/annihilon.xml
new file mode 100644
index 0000000..638dde9
--- /dev/null
+++ b/data/monster/800/annihilon.xml
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/monster/800/golgordan.xml b/data/monster/800/golgordan.xml
new file mode 100644
index 0000000..477cbd9
--- /dev/null
+++ b/data/monster/800/golgordan.xml
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/monster/800/hellgorak.xml b/data/monster/800/hellgorak.xml
new file mode 100644
index 0000000..4d94e87
--- /dev/null
+++ b/data/monster/800/hellgorak.xml
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/monster/800/latrivan.xml b/data/monster/800/latrivan.xml
new file mode 100644
index 0000000..977887b
--- /dev/null
+++ b/data/monster/800/latrivan.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/monster/800/madareth.xml b/data/monster/800/madareth.xml
new file mode 100644
index 0000000..23f7b4d
--- /dev/null
+++ b/data/monster/800/madareth.xml
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/monster/800/ushuriel.xml b/data/monster/800/ushuriel.xml
new file mode 100644
index 0000000..70c541c
--- /dev/null
+++ b/data/monster/800/ushuriel.xml
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/monster/800/zugurosh.xml b/data/monster/800/zugurosh.xml
new file mode 100644
index 0000000..65345b5
--- /dev/null
+++ b/data/monster/800/zugurosh.xml
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/monster/monsters.xml b/data/monster/monsters.xml
index 3423962..1c99c1e 100644
--- a/data/monster/monsters.xml
+++ b/data/monster/monsters.xml
@@ -248,4 +248,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data/movements/movements.xml b/data/movements/movements.xml
index d3b494b..72aef2f 100644
--- a/data/movements/movements.xml
+++ b/data/movements/movements.xml
@@ -395,6 +395,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -641,6 +655,14 @@
+
+
+
+
+
+
+
+
diff --git a/data/movements/scripts/inquisition/arcanum_1.lua b/data/movements/scripts/inquisition/arcanum_1.lua
new file mode 100644
index 0000000..1caeb1b
--- /dev/null
+++ b/data/movements/scripts/inquisition/arcanum_1.lua
@@ -0,0 +1,16 @@
+function onStepIn(creature, item, position, fromPosition)
+ local player = creature:getPlayer()
+ if not player then
+ return true
+ end
+
+ doRelocate(item:getPosition(),{x = 33091, y = 31781, z = 15})
+ item:getPosition():sendMagicEffect(11)
+ Game.sendMagicEffect({x = 33091, y = 31781, z = 15}, 11)
+end
+
+function onAddItem(item, tileitem, position)
+ doRelocate(item:getPosition(),{x = 33091, y = 31781, z = 15})
+ item:getPosition():sendMagicEffect(11)
+ Game.sendMagicEffect({x = 33091, y = 31781, z = 15}, 11)
+end
diff --git a/data/movements/scripts/inquisition/arcanum_1_back.lua b/data/movements/scripts/inquisition/arcanum_1_back.lua
new file mode 100644
index 0000000..bda8a28
--- /dev/null
+++ b/data/movements/scripts/inquisition/arcanum_1_back.lua
@@ -0,0 +1,16 @@
+function onStepIn(creature, item, position, fromPosition)
+ local player = creature:getPlayer()
+ if not player then
+ return true
+ end
+
+ doRelocate(item:getPosition(),{x = 33061, y = 31752, z = 15})
+ item:getPosition():sendMagicEffect(11)
+ Game.sendMagicEffect({x = 33061, y = 31752, z = 15}, 11)
+end
+
+function onAddItem(item, tileitem, position)
+ doRelocate(item:getPosition(),{x = 33061, y = 31752, z = 15})
+ item:getPosition():sendMagicEffect(11)
+ Game.sendMagicEffect({x = 33061, y = 31752, z = 15}, 11)
+end
diff --git a/data/movements/scripts/inquisition/arcanum_2.lua b/data/movements/scripts/inquisition/arcanum_2.lua
new file mode 100644
index 0000000..6a31296
--- /dev/null
+++ b/data/movements/scripts/inquisition/arcanum_2.lua
@@ -0,0 +1,16 @@
+function onStepIn(creature, item, position, fromPosition)
+ local player = creature:getPlayer()
+ if not player then
+ return true
+ end
+
+ doRelocate(item:getPosition(),{x = 33149, y = 31782, z = 15})
+ item:getPosition():sendMagicEffect(11)
+ Game.sendMagicEffect({x = 33149, y = 31782, z = 15}, 11)
+end
+
+function onAddItem(item, tileitem, position)
+ doRelocate(item:getPosition(),{x = 33149, y = 31782, z = 15})
+ item:getPosition():sendMagicEffect(11)
+ Game.sendMagicEffect({x = 33149, y = 31782, z = 15}, 11)
+end
diff --git a/data/movements/scripts/inquisition/arcanum_2_back.lua b/data/movements/scripts/inquisition/arcanum_2_back.lua
new file mode 100644
index 0000000..b0f3293
--- /dev/null
+++ b/data/movements/scripts/inquisition/arcanum_2_back.lua
@@ -0,0 +1,16 @@
+function onStepIn(creature, item, position, fromPosition)
+ local player = creature:getPlayer()
+ if not player then
+ return true
+ end
+
+ doRelocate(item:getPosition(),{x = 33090, y = 31759, z = 15})
+ item:getPosition():sendMagicEffect(11)
+ Game.sendMagicEffect({x = 33090, y = 31759, z = 15}, 11)
+end
+
+function onAddItem(item, tileitem, position)
+ doRelocate(item:getPosition(),{x = 33090, y = 31759, z = 15})
+ item:getPosition():sendMagicEffect(11)
+ Game.sendMagicEffect({x = 33090, y = 31759, z = 15}, 11)
+end
diff --git a/data/movements/scripts/inquisition/arcanum_3.lua b/data/movements/scripts/inquisition/arcanum_3.lua
new file mode 100644
index 0000000..b362fc3
--- /dev/null
+++ b/data/movements/scripts/inquisition/arcanum_3.lua
@@ -0,0 +1,16 @@
+function onStepIn(creature, item, position, fromPosition)
+ local player = creature:getPlayer()
+ if not player then
+ return true
+ end
+
+ doRelocate(item:getPosition(),{x = 33192, y = 31686, z = 14})
+ item:getPosition():sendMagicEffect(11)
+ Game.sendMagicEffect({x = 33192, y = 31686, z = 14}, 11)
+end
+
+function onAddItem(item, tileitem, position)
+ doRelocate(item:getPosition(),{x = 33192, y = 31686, z = 14})
+ item:getPosition():sendMagicEffect(11)
+ Game.sendMagicEffect({x = 33192, y = 31686, z = 14}, 11)
+end
diff --git a/data/movements/scripts/inquisition/entrance.lua b/data/movements/scripts/inquisition/entrance.lua
new file mode 100644
index 0000000..d8d18af
--- /dev/null
+++ b/data/movements/scripts/inquisition/entrance.lua
@@ -0,0 +1,38 @@
+local throneStorages = {
+ 17679,
+ 17680,
+ 17681,
+ 17682,
+ 17683,
+ 17684,
+ 17685
+}
+
+local function hasTouchedOneThrone(player)
+ for i = 1, #throneStorages do
+ if player:getStorageValue(throneStorages[i]) == 1 then
+ return true
+ end
+ end
+ return false
+end
+
+function onStepIn(creature, item, position, fromPosition)
+ local player = creature:getPlayer()
+ if not player then
+ return true
+ end
+
+ if not hasTouchedOneThrone(player) or player:getLevel() < 100 or player:getStorageValue(12160) < 20 then
+ player:teleportTo(fromPosition)
+ position:sendMagicEffect(CONST_ME_TELEPORT)
+ fromPosition:sendMagicEffect(CONST_ME_TELEPORT)
+ return true
+ end
+
+ local destination = Position(33168, 31683, 15)
+ player:teleportTo(destination)
+ position:sendMagicEffect(CONST_ME_TELEPORT)
+ destination:sendMagicEffect(CONST_ME_TELEPORT)
+ return true
+end
\ No newline at end of file
diff --git a/data/movements/scripts/inquisition/entrance_back.lua b/data/movements/scripts/inquisition/entrance_back.lua
new file mode 100644
index 0000000..b362fc3
--- /dev/null
+++ b/data/movements/scripts/inquisition/entrance_back.lua
@@ -0,0 +1,16 @@
+function onStepIn(creature, item, position, fromPosition)
+ local player = creature:getPlayer()
+ if not player then
+ return true
+ end
+
+ doRelocate(item:getPosition(),{x = 33192, y = 31686, z = 14})
+ item:getPosition():sendMagicEffect(11)
+ Game.sendMagicEffect({x = 33192, y = 31686, z = 14}, 11)
+end
+
+function onAddItem(item, tileitem, position)
+ doRelocate(item:getPosition(),{x = 33192, y = 31686, z = 14})
+ item:getPosition():sendMagicEffect(11)
+ Game.sendMagicEffect({x = 33192, y = 31686, z = 14}, 11)
+end
diff --git a/data/movements/scripts/inquisition/teleportMain.lua b/data/movements/scripts/inquisition/teleportMain.lua
new file mode 100644
index 0000000..69ef3bd
--- /dev/null
+++ b/data/movements/scripts/inquisition/teleportMain.lua
@@ -0,0 +1,68 @@
+local teleports = {
+ [2150] = {text = 'Entering Ushuriel\'s ward.', newPos = Position(33158, 31728, 11), storage = 0, alwaysSetStorage = true}, -- to ushuriel ward
+ [2151] = {text = 'Entering the Crystal Caves.', bossStorage = 200, newPos = Position(33069, 31782, 13), storage = 1}, -- from ushuriel ward
+ [2152] = {text = 'Escaping back to the Retreat.', newPos = Position(33165, 31709, 14)}, -- from crystal caves
+ [2153] = {text = 'Entering the Crystal Caves.', newPos = Position(33069, 31782, 13), storage = 1}, -- to crystal caves
+ [2154] = {text = 'Entering the Sunken Caves.', newPos = Position(33169, 31755, 13)}, -- to sunken caves
+ [2155] = {text = 'Entering the Mirror Maze of Madness.', newPos = Position(33065, 31772, 10)}, -- from sunken caves
+ [2156] = {text = 'Entering Zugurosh\'s ward.', newPos = Position(33124, 31692, 11)}, -- to zugurosh ward
+ [2157] = {text = 'Entering the Blood Halls.', bossStorage = 201, newPos = Position(33372, 31613, 14), storage = 2}, -- from zugurosh ward
+ [2158] = {text = 'Escaping back to the Retreat.', newPos = Position(33165, 31709, 14)}, -- from blood halls
+ [2159] = {text = 'Entering the Blood Halls.', newPos = Position(33372, 31613, 14), storage = 2}, -- to blood halls
+ [2160] = {text = 'Entering the Foundry.', newPos = Position(33356, 31589, 11)}, -- to foundry
+ [2161] = {text = 'Entering Madareth\'s ward.', newPos = Position(33197, 31767, 11)}, -- to madareth ward
+ [2162] = {text = 'Entering the Vats.', bossStorage = 202, newPos = Position(33153, 31782, 12), storage = 3}, -- from madareth ward
+ [2163] = {text = 'Escaping back to the Retreat.', newPos = Position(33165, 31709, 14)}, -- from vats
+ [2164] = {text = 'Entering the Vats.', newPos = Position(33153, 31782, 12), storage = 3}, -- to vats
+ [2165] = {text = 'Entering the Battlefield.', newPos = Position(33250, 31632, 13)}, -- to battlefield
+ [2166] = {text = 'Entering the Vats.', newPos = Position(33233, 31758, 12)}, -- from battlefield
+ [2167] = {text = 'Entering the Demon Forge.', newPos = Position(33232, 31733, 11)}, -- to brothers ward
+ [2168] = {text = 'Entering the Arcanum.', bossStorage = 203, newPos = Position(33038, 31753, 15), storage = 4}, -- from demon forge
+ [2169] = {text = 'Escaping back to the Retreat.', newPos = Position(33165, 31709, 14)}, -- from arcanum
+ [2170] = {text = 'Entering the Arcanum.', newPos = Position(33038, 31753, 15), storage = 4}, -- to arcanum
+ [2171] = {text = 'Entering the Soul Wells.', newPos = Position(33093, 31575, 11)}, -- to soul wells
+ [2172] = {text = 'Entering the Arcanum.', newPos = Position(33186, 31759, 15)}, -- from soul wells
+ [2173] = {text = 'Entering the Annihilon\'s ward.', newPos = Position(33197, 31703, 11)}, -- to annihilon ward
+ [2174] = {text = 'Entering the Hive.', bossStorage = 204, newPos = Position(33199, 31686, 12), storage = 5}, -- from annihilon ward
+ [2175] = {text = 'Escaping back to the Retreat.', newPos = Position(33165, 31709, 14)}, -- from hive
+ [2176] = {text = 'Entering the Hive.', newPos = Position(33199, 31686, 12), storage = 5}, -- to hive
+ [2177] = {text = 'Entering the Hellgorak\'s ward.', newPos = Position(33104, 31734, 11)}, -- to hellgorak ward
+ [2178] = {text = 'Entering the Shadow Nexus. Abandon all Hope.', bossStorage = 205, newPos = Position(33110, 31682, 12), storage = 6}, -- from hellgorak ward
+ [2179] = {text = 'Escaping back to the Retreat.', newPos = Position(33165, 31709, 14)}, -- from shadow nexus
+ [2180] = {text = 'Entering the Blood Halls.', newPos = Position(33357, 31589, 12)} -- from foundry to blood halls
+}
+
+function onStepIn(creature, item, position, fromPosition)
+ local player = creature:getPlayer()
+ if not player then
+ return true
+ end
+
+ local teleport = teleports[item:getMovementId()]
+ if teleport.alwaysSetStorage and player:getStorageValue(12176) < teleport.storage then
+ player:setStorageValue(12176, teleport.storage)
+ end
+
+ if teleport.bossStorage then
+ if Game.getStorageValue(teleport.bossStorage) and Game.getStorageValue(teleport.bossStorage) >= 2 then
+ if player:getStorageValue(12176) < teleport.storage then
+ player:setStorageValue(12176, teleport.storage)
+ end
+ else
+ player:teleportTo(Position(33165, 31709, 14))
+ player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
+ player:say('Escaping back to the Retreat.', TALKTYPE_MONSTER_SAY)
+ return true
+ end
+ elseif teleport.storage and player:getStorageValue(12176) < teleport.storage then
+ player:teleportTo(fromPosition)
+ player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
+ player:say('You don\'t have enough energy to enter this portal', TALKTYPE_MONSTER_SAY)
+ return true
+ end
+
+ player:teleportTo(teleport.newPos)
+ player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
+ player:say(teleport.text, TALKTYPE_MONSTER_SAY)
+ return true
+end
\ No newline at end of file
diff --git a/data/movements/scripts/misc/floorchange.lua b/data/movements/scripts/misc/floorchange.lua
index 236712b..c3a7848 100644
--- a/data/movements/scripts/misc/floorchange.lua
+++ b/data/movements/scripts/misc/floorchange.lua
@@ -77,6 +77,10 @@ local list = {
[5691] = {x = 1, y = 0, z = 1},
[5731] = {x = 0, y = 0, z = 1},
[5763] = {x = 0, y = 0, z = 1},
+ [6127] = {x = 0, y = -1, z = 1},
+ [6128] = {x = 0, y = 1, z = 1},
+ [6129] = {x = 0, y = -1, z = 1},
+ [6130] = {x = 0, y = 1, z = 1},
[6172] = {x = 0, y = 0, z = 1},
[6173] = {x = 0, y = 0, z = 1},
}
diff --git a/data/npc/henricus.npc b/data/npc/henricus.npc
index c74691a..cdedf71 100644
--- a/data/npc/henricus.npc
+++ b/data/npc/henricus.npc
@@ -104,13 +104,10 @@ topic=4 -> "I expected better from you."
"mission",QuestValue(12160)=21 -> "Your current mission is to destroy the shadow nexus in the Demon Forge. Are you done with that mission?", topic=5
"mission",QuestValue(12160)=22 -> *
"yes",QuestValue(12160)=22,topic=5 -> "Incredible! You're a true defender of faith! I grant you the title of a High Inquisitor for your noble deeds. From now on you can obtain the blessing of the inquisition which makes the pilgrimage of ashes obsolete ...",
- "The blessing of the inquisition will bestow upon you all available blessings. Also, don't forget to ask me about your outfit to receive the final addon as demon hunter.",SetQuestValue(12167,3),SetQuestValue(12160,23)
+ "The blessing of the inquisition will bestow upon you all available blessings. Also, here is the final addon for your demon hunter outfit.",SetQuestValue(12167,3),SetQuestValue(12160,23),SetQuestValue(12160,24),SetQuestValue(12167,4),AddOutfitAddon(288,2),AddOutfitAddon(289,2),EffectOpp(13)
"yes",topic=5 -> "You haven't done your mission yet."
topic=5 -> "Come back when you have destroyed the shadow nexus."
-"mission",QuestValue(12160)=23 -> "Here is the final addon for your demon hunter outfit. Congratulations!",SetQuestValue(12160,24),SetQuestValue(12167,4),AddOutfitAddon(288,2),AddOutfitAddon(289,2),EffectOpp(13)
-"outfit",QuestValue(12160)=23 -> *
-
"mission",QuestValue(12160)=24 -> "Currently we have no missions for you brave fellow."
"bless",QuestValue(12160)=24 -> Price=60000, "Do you want to receive all blessings for %P gold?", Topic=6
diff --git a/data/world800/map-spawn.xml b/data/world800/map-spawn.xml
index a11e860..fd4aaaa 100644
--- a/data/world800/map-spawn.xml
+++ b/data/world800/map-spawn.xml
@@ -30308,6 +30308,9 @@
+
+
+
@@ -30481,6 +30484,11 @@
+
+
+
+
+
@@ -30549,6 +30557,7 @@
+
@@ -30565,11 +30574,7 @@
-
-
-
-
-
+
@@ -30578,7 +30583,6 @@
-
@@ -30603,6 +30607,9 @@
+
+
+
@@ -30648,7 +30655,6 @@
-
@@ -35843,6 +35849,10 @@
+
+
+
+
@@ -36127,17 +36137,13 @@
+
+
+
-
-
-
-
-
-
-
@@ -39817,33 +39823,28 @@
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
@@ -39853,9 +39854,11 @@
-
-
+
+
+
+
@@ -39864,8 +39867,13 @@
-
-
+
+
+
+
+
+
+
@@ -39877,11 +39885,6 @@
-
-
-
-
-
@@ -39889,23 +39892,20 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
+
@@ -39915,8 +39915,9 @@
-
-
+
+
+
@@ -46898,12 +46899,10 @@
-
-
@@ -46916,7 +46915,6 @@
-
diff --git a/data/world800/map.otbm b/data/world800/map.otbm
index 7bdc06c..4e17e37 100644
Binary files a/data/world800/map.otbm and b/data/world800/map.otbm differ