From c7c4a194c1cd7558dea0fb77d6a88471f0209a94 Mon Sep 17 00:00:00 2001 From: ErikasKontenis Date: Fri, 15 Apr 2022 18:14:12 +0300 Subject: [PATCH] inquisition till eclipse --- 800OTClient/data/things/772/Tibia.dat | Bin 249435 -> 249447 bytes 800OTClient/otclientv8.log | 21 +++++ data/actions/actions.xml | 3 + .../actions/scripts/inquisition/holyWater.lua | 75 ++++++++++++++++++ data/items800/items.srv | 7 +- data/npc/grof.npc | 3 + data/npc/henricus.npc | 5 ++ data/npc/kulag.npc | 3 + data/npc/miles.npc | 16 ++++ data/npc/tim.npc | 5 ++ data/npc/uzon.npc | 4 + data/npc/walter.npc | 5 ++ 12 files changed, 144 insertions(+), 3 deletions(-) create mode 100644 data/actions/scripts/inquisition/holyWater.lua create mode 100644 data/npc/miles.npc diff --git a/800OTClient/data/things/772/Tibia.dat b/800OTClient/data/things/772/Tibia.dat index 4efa049594bd147183b1006b61ed25138a43245a..bab30f9b16371b4cd0d3a214130a01c9022c5307 100644 GIT binary patch delta 44 vcmcaThyVE;epchCxz1*dtgWn!t*lI2S(#()c-RI0GeW>T?d?f+%s=}9EU^rV delta 31 ncmaDphyV5*epchCxz47ItgWn!t*lI2S(#()w&&R~|Lg| + + + diff --git a/data/actions/scripts/inquisition/holyWater.lua b/data/actions/scripts/inquisition/holyWater.lua new file mode 100644 index 0000000..1ee3e40 --- /dev/null +++ b/data/actions/scripts/inquisition/holyWater.lua @@ -0,0 +1,75 @@ +local doorPosition = Position(32260, 32791, 7) +local shadowNexusPosition = Position(33115, 31702, 12) +local effectPositions = { + Position(33113, 31702, 12), + Position(33116, 31702, 12) +} + +local function revertItem(position, itemId, transformId) + local item = Tile(position):getItemById(itemId) + if item then + item:transform(transformId) + end +end + +local function nexusMessage(player, message) + local spectators = Game.getSpectators(shadowNexusPosition, false, true, 3, 3) + for i = 1, #spectators do + player:say(message, TALKTYPE_MONSTER_YELL, false, spectators[i], shadowNexusPosition) + end +end + +function onUse(player, item, fromPosition, target, toPosition, isHotkey) + -- Eclipse + if target.actionid == 2000 then + item:remove(1) + toPosition:sendMagicEffect(CONST_ME_FIREAREA) + -- The Inquisition Questlog- 'Mission 2: Eclipse' + player:setStorageValue(12162, 2) + player:setStorageValue(12160, 5) + return true + + -- Haunted Ruin + elseif target.actionid == 2003 then + if player:getStorageValue(12160) ~= 12 then + return true + end + + Game.createMonster('Pirate Ghost', toPosition) + item:remove(1) + + -- The Inquisition Questlog- 'Mission 4: The Haunted Ruin' + player:setStorageValue(12160, 13) + player:setStorageValue(12164, 2) + + local doorItem = Tile(doorPosition):getItemById(8697) + if doorItem then + doorItem:transform(8696) + end + addEvent(revertItem, 10 * 1000, doorPosition, 8696, 8697) + return true + end + + -- Shadow Nexus + if isInArray({8753, 8755, 8757}, 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) + + elseif target.itemid == 8759 then + if player:getStorageValue(12160) < 22 then + -- The Inquisition Questlog- 'Mission 7: The Shadow Nexus' + player:setStorageValue(12167, 2) + player:setStorageValue(12160, 22) + end + + for i = 1, #effectPositions do + effectPositions[i]:sendMagicEffect(CONST_ME_HOLYAREA) + end + + nexusMessage(player, player:getName() .. ' destroyed the shadow nexus! In 20 seconds it will return to its original state.') + item:remove(1) + end + return true +end \ No newline at end of file diff --git a/data/items800/items.srv b/data/items800/items.srv index c9ad1c5..07df01f 100644 --- a/data/items800/items.srv +++ b/data/items800/items.srv @@ -33813,6 +33813,7 @@ Name = "the market" Flags = {Unmove} TypeID = 7478 -Name = "your store inbox" -Flags = {Container,Unmove} -Attributes = {Capacity=30} \ No newline at end of file +Name = "a special flask" +Description = "It contains holy water from the white raven monastery" +Flags = {Take} +Attributes = {Weight=180} \ No newline at end of file diff --git a/data/npc/grof.npc b/data/npc/grof.npc index 3b60ac4..2a0fe9d 100644 --- a/data/npc/grof.npc +++ b/data/npc/grof.npc @@ -8,4 +8,7 @@ Radius = 3 Behaviour = { @"guards-thais.ndb" + +"trouble",QuestValue(12170)<1,QuestValue(12161)>=1 -> "I think it'll rain soon and I left some laundry out for drying.",topic=4 +"authorities",topic=4 -> "Yes I'm pretty sure they have failed to send the laundry police to take care of it, you fool.",SetQuestValue(12161, QuestValue(12161) + 1),SetQuestValue(12170,1),EffectOpp(13) } diff --git a/data/npc/henricus.npc b/data/npc/henricus.npc index d5ebba8..18b8c06 100644 --- a/data/npc/henricus.npc +++ b/data/npc/henricus.npc @@ -54,4 +54,9 @@ topic=1 -> "Uh? Whatever." "yes",topic=2 -> "You haven't done your mission yet." topic=2 -> "I expected better from you." +"mission",QuestValue(12160)=3 -> "Listen, we have information about a heretic coven that hides in a mountain called the Big Old One. The witches reach this cursed place on flying brooms and think they are safe there. ...", + "I've arranged a flying carpet that will bring you to their hideout. Travel to Femor Hills and tell the carpet pilot the codeword 'eclipse' ...", + "He'll bring you to your destination. At their meeting place, you'll find a cauldron in which they cook some forbidden brew ...", + "Use this vial of holy water to destroy the brew. Also steal their grimoire and bring it to me.",SetQuestValue(12160,4),SetQuestValue(12162,1),Create(7478) +"mission",QuestValue(12160)=4 -> "Your current mission is to destroy the brew in the eclipse." } diff --git a/data/npc/kulag.npc b/data/npc/kulag.npc index 0de8240..9357b64 100644 --- a/data/npc/kulag.npc +++ b/data/npc/kulag.npc @@ -8,4 +8,7 @@ Radius = 2 Behaviour = { @"guards-thais.ndb" + +"trouble",QuestValue(12171)<1,QuestValue(12161)>=1 -> "You adventurers become more and more of a pest.",topic=4 +"authorities",topic=4 -> "They should throw you all into jail instead of giving you all those quests and rewards an honest watchman can only dream about.",SetQuestValue(12161, QuestValue(12161) + 1),SetQuestValue(12171,1),EffectOpp(13) } diff --git a/data/npc/miles.npc b/data/npc/miles.npc new file mode 100644 index 0000000..fcb4025 --- /dev/null +++ b/data/npc/miles.npc @@ -0,0 +1,16 @@ +# GIMUD - Graphical Interface Multi User Dungeon +# Miles.npc: Datenbank für die Stadtwache am Westtor + +Name = "Miles, the guard" +Outfit = (131,19-19-19-19-0) +Home = [32431,32173,05] +Radius = 2 + +Behaviour = { +@"guards-thais.ndb" + +"trouble",QuestValue(12172)<1,QuestValue(12161)>=1 -> "I'm fine. There's no trouble at all.",topic=2 +"foresight of the authorities",topic=2 -> "Well, of course. We live in safety and peace.",topic=3 +"also for the gods",topic=3 -> "I think the gods are looking after us and their hands shield us from evil.",topic=4 +"trouble will arise in the near future",topic=4 -> "I think the gods and the government do their best to keep away harm from the citizens.",SetQuestValue(12161, QuestValue(12161) + 1),SetQuestValue(12172,1),EffectOpp(13) +} diff --git a/data/npc/tim.npc b/data/npc/tim.npc index e05fa75..35c12b1 100644 --- a/data/npc/tim.npc +++ b/data/npc/tim.npc @@ -8,4 +8,9 @@ Radius = 4 Behaviour = { @"guards-thais.ndb" + +"trouble",QuestValue(12173)<1,QuestValue(12161)>=1 -> "Ah, well. Just this morning my new toothbrush fell into the toilet.",topic=2 +"authorities",topic=2 -> "What do you mean? Of course they will immediately send someone with extra long and thin arms to retrieve it!",topic=3 +"avoided",topic=3 -> "Your humour might let end you up beaten in some dark alley, you know? No, I don't think someone could have prevented that accident!",topic=4 +"gods would allow",topic=4 -> "It's not a drama!! I think there is just no god who's responsible for toothbrush safety, that's all!",SetQuestValue(12161, QuestValue(12161) + 1),SetQuestValue(12173,1),EffectOpp(13) } diff --git a/data/npc/uzon.npc b/data/npc/uzon.npc index 68fcb96..762ec69 100644 --- a/data/npc/uzon.npc +++ b/data/npc/uzon.npc @@ -71,4 +71,8 @@ Topic=2,"yes",Premium,CountMoney>=Price -> "Hold on!", DeleteMoney, Idle, Effect Topic=2,"yes",CountMoney>=Price -> "I'm sorry, but you need a premium account in order to enter Edron." Topic=2,"yes" -> "You don't have enough money." Topic=2 -> "You shouldn't miss the experience." + +"eclipse",QuestValue(12160)=4 -> "Oh no, so the time has come? Do you really want me to fly you to this unholy place?", Topic=5 +Topic=5,"yes" -> "Hold on!", Idle, EffectOpp(11), Teleport(32659,31915,0), EffectOpp(11) +Topic=5 -> "You shouldn't miss the experience." } diff --git a/data/npc/walter.npc b/data/npc/walter.npc index 225b1e9..263a006 100644 --- a/data/npc/walter.npc +++ b/data/npc/walter.npc @@ -8,4 +8,9 @@ Radius = 2 Behaviour = { @"guards-thais.ndb" + +"trouble",QuestValue(12174)<1,QuestValue(12161)>=1 -> "I think there is a pickpocket in town.",topic=2 +"authorities",topic=2 -> "Well, sooner or later we will get hold of that delinquent. That's for sure.",topic=3 +"avoided",topic=3 -> "You can't tell by a person's appearance who is a pickpocket and who isn't. You simply can't close the city gates for everyone.",topic=4 +"gods allow",topic=4 -> "If the gods had created the world a paradise, no one had to steal at all.",SetQuestValue(12161, QuestValue(12161) + 1),SetQuestValue(12174,1),EffectOpp(13) }