164 lines
12 KiB
Lua
164 lines
12 KiB
Lua
--[[
|
||
Illarion Server
|
||
|
||
This program is free software: you can redistribute it and/or modify it under
|
||
the terms of the GNU Affero General Public License as published by the Free
|
||
Software Foundation, either version 3 of the License, or (at your option) any
|
||
later version.
|
||
|
||
This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||
PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
||
details.
|
||
|
||
You should have received a copy of the GNU Affero General Public License along
|
||
with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
]]
|
||
local M = {}
|
||
|
||
local function isOnIsle(user) --Is on the twin eyes isle past the second bridge
|
||
if user.pos.x > 900 and user.pos.y > 900 and user.pos.x < 950 and user.pos.y < 950 then
|
||
return true
|
||
end
|
||
end
|
||
|
||
M.isOnIsle = isOnIsle
|
||
|
||
local function isInMushroomCluster(user) -- Is in the mushroom cluster in dewy swamps
|
||
if user.pos == position(923, 667, 0) then
|
||
return true
|
||
end
|
||
end
|
||
|
||
local function isUnderMevrannonTree(user) --Forest north of Runewick fields, special tree
|
||
if user.pos == position(849, 770, 0) then
|
||
return true
|
||
end
|
||
end
|
||
|
||
local function onTheEldanOakStone(user) --Narguns plain forest, on rock next to eldan oak
|
||
if user.pos == position(524, 223, 0) then
|
||
return true
|
||
end
|
||
end
|
||
|
||
local function inUsharasGarden(user) -- In the underground garden of Ushara
|
||
if user.pos.x > 742 and user.pos.y > 266 and user.pos.x < 808 and user.pos.y < 313 and user.pos.z == -3 then
|
||
return true
|
||
end
|
||
end
|
||
|
||
local function inLibertyQuarry(user) -- in the iron mine of Cadomyr
|
||
if user.pos.x > 150 and user.pos.y > 584 and user.pos.x < 180 and user.pos.y < 617 and user.pos.z == 0 then
|
||
return true
|
||
end
|
||
end
|
||
|
||
M.isUnderMevrannonTree = isUnderMevrannonTree
|
||
|
||
M.onTheEldanOakStone = onTheEldanOakStone
|
||
|
||
M.isInMushroomCluster = isInMushroomCluster
|
||
|
||
M.inUsharasGarden = inUsharasGarden
|
||
|
||
M.inLibertyQuarry = inLibertyQuarry
|
||
|
||
function M.addEffect( myEffect, user)
|
||
if isOnIsle(user) then
|
||
user:inform("Das muss es sein die Zwillingsaugen-Inseln, von denen Fianna gesprochen hat. Wenn du hier eine Weile meditierst, solltest du die Antwort finden, die du suchst.", "This must be it, the Twin Eyes Islands that Fianna spoke of. So long as you meditate here for some time, you should find the answer you seek." )
|
||
elseif isInMushroomCluster(user) then
|
||
user:inform("Du scheinst den Pilzkreis gefunden zu haben, von dem Fianna gesprochen hat. Jetzt bleibt nur noch, dich hinzusetzen und zu meditieren.", "You seem to have found the mushroom cluster Fianna spoke of. Now all that's left to do is to sit down and meditate.")
|
||
elseif isUnderMevrannonTree(user) then
|
||
user:inform("Dies m<>ssen die s<>dlichen <20>ste des goldenen Baumes sein, von dem Fianna gesprochen hat. Jetzt bleibt nur noch, sich hinzusetzen und zu meditieren, bis du die Stimme der Natur zu dir sprechen h<>rst.", "This must be the southern branches of the golden tree that Fianna spoke of. Now all there's left to do is to sit and meditate until you hear the voice of nature speak to you.")
|
||
elseif inUsharasGarden(user) then
|
||
user:inform("Wenn du Usharas Garten betrittst, ist das Gef<65>hl von Lebenskraft zun<75>chst fast <20>berw<72>ltigend. Doch schon bald l<>sst es dich f<>hlen, als w<>rst du zu Hause, im Einklang mit der Natur. Du solltest einen Platz finden, dich hinsetzen und <20>ber diese Empfindung in den Tiefen der Erde meditieren.", "As you enter Ushara's garden, the sense of vitality is almost overwhelming at first. Yet soon enough, it makes you feel like you're at home, attuned with nature. You should find a place to sit down and meditate on this sensation in the depths of the earth.")
|
||
elseif inLibertyQuarry(user) then
|
||
user:inform("Der Staub, das Klirren von Spitzhacken, Steinschutt. Wie soll man hier <20>berhaupt meditieren? Dennoch musst du dich arrangieren und einen Ort finden, um dich zu konzentrieren, wenn du weiterkommen willst.", "The dust, the clinking of pickaxes, stone debris. How is one even supposed to meditate in here? Still, you must make do and find a place to concentrate if you want to proceed further.")
|
||
elseif onTheEldanOakStone(user) then
|
||
user:inform("Als du dich auf den Felsen setzt, h<>rst du die Ger<65>usche von Tieren in deiner N<>he und in der Ferne, die dich umgeben. Vermischt mit dem Rauschen des Windes in den Bl<42>ttern und dem Flie<69>en des Wassers im Fluss k<>nntest du sp<73>ren, wie eine gewisse Verbindung zur Natur in dir zu wachsen beginnt.", "As you sit down on the rock, you hear the sound of animals near and far surrounding you near and far. Mixed in with the noise of wind rustling through the leaves and water flowing through the river, you may feel at certain connection to nature begin to grow.")
|
||
end
|
||
end
|
||
|
||
|
||
|
||
function M.callEffect( myEffect, user)
|
||
|
||
local foundCalls, calls = myEffect:findValue("calls")
|
||
|
||
if (not foundCalls or calls < 1) then
|
||
|
||
if not calls then
|
||
calls = 0
|
||
end
|
||
|
||
myEffect:addValue("calls", calls+1)
|
||
|
||
if isOnIsle(user) then
|
||
user:inform("W<EFBFBD>hrend du auf der Insel bleibst, sp<73>rst du, wie du dich allm<6C>hlich auf die Natur um dich herum einstimmst. Es sollte nicht mehr lange dauern.", "As you stay on the isle you feel yourself gradually attune to the nature around you. It shouldn't be much longer now.")
|
||
myEffect.nextCalled = 600
|
||
return true
|
||
elseif isInMushroomCluster(user) then
|
||
user:inform("W<EFBFBD>hrend du im Kreis der Pilze sitzt, sp<73>rst du, wie du dich nach und nach auf die Natur um dich herum einstimmst. Es sollte jetzt nicht mehr lange dauern.", "As you sit inside the circle of mushrooms you feel yourself gradually attune to the nature around you. It shouldn't be much longer now.")
|
||
myEffect.nextCalled = 600
|
||
return true
|
||
elseif isUnderMevrannonTree(user) then
|
||
user:inform("W<EFBFBD>hrend du unter den goldenen Bl<42>ttern sitzt, sp<73>rst du, wie du dich allm<6C>hlich mit der Natur um dich herum in Einklang bringst. Es sollte nicht mehr lange dauern.", "As you sit under the golden leaves you feel yourself gradually attune to the nature around you. It shouldn't be much longer now.")
|
||
myEffect.nextCalled = 600
|
||
return true
|
||
elseif inUsharasGarden(user) then
|
||
user:inform("<EFBFBD>berall um dich herum sp<73>rst du die tiefen, uralten Kr<4B>fte der Natur und Usharas Segen. Ein <20>berw<72>ltigendes Gef<65>hl von Geborgenheit, Ehrfurcht und tiefem Respekt vor der Natur kann dich erf<72>llen, w<>hrend du meditierst. Es sollte nicht mehr lange dauern, bis die Offenbarung <20>ber dich hereinbricht.", "All around you, you feel the deep ancient forces of nature and Ushara's blessings. An overwhelming sense of comfort, awe and deep respect of nature might fill you as you meditate. It shouldn't be much longer now, until revalation is upon you.")
|
||
myEffect.nextCalled = 600
|
||
return true
|
||
elseif inLibertyQuarry(user) then
|
||
user:inform("Du kannst sp<73>ren, dass es nicht mehr lange dauern sollte. Das Klirren hallt <20>berall um dich herum wider, die Vibration des Bodens unter dir - alles beginnt auf seltsame Weise zu? resonieren.", "You can feel it shouldn't be much longer now. The clinking sounds echoing all around you, the vibration of the ground beneath you, it's all beginning to strangely.. resonate.")
|
||
myEffect.nextCalled = 600
|
||
return true
|
||
elseif onTheEldanOakStone(user) then
|
||
user:inform("W<EFBFBD>hrend du den Rindern beim Grasen zusiehst und das Bl<42>ken der Schafe h<>rst, f<>hlt es sich fast so an, als w<>rden sie zu dir sprechen. Nur noch einen Augenblick l<>nger, vielleicht wirst du etwas begreifen.", "Watching the cattle graze, hearing the sheep bleat. It almost feels like they are speaking to you. Just a moment longer now, maybe you'll grasp something.")
|
||
myEffect.nextCalled = 600
|
||
return true
|
||
end
|
||
|
||
end
|
||
|
||
if not isOnIsle(user) and not isInMushroomCluster(user) and not isUnderMevrannonTree(user) and not inUsharasGarden(user) and not inLibertyQuarry(user) and not onTheEldanOakStone(user) then
|
||
user:inform("Du hast den Meditationsplatz zu fr<66>h verlassen. Du musst zur<75>ckkehren und von vorne beginnen, wenn du mit dem Tutorial fortfahren m<>chtest.", "You left the meditation spot too soon. You must return and start again if you wish to proceed with the tutorial.")
|
||
return false
|
||
end
|
||
|
||
if isOnIsle(user) then
|
||
user:setQuestProgress(692, 2)
|
||
user:inform("Nachdem du einige Zeit hier verbracht hast, f<>hlst du dich in Frieden; eins mit der Natur. Du kannst sie sogar zu dir fl<66>stern h<>ren, und du kannst den Ausdruck \"Cor Valis\" erkennen, der vom Wind getragen wird. Was k<>nnte er bedeuten? Du solltest zu Fianna zur<75>ckkehren und sie fragen.", "After spending some time here, you feel yourself at peace; one with nature. You can even hear it whisper to you, and you can make out the phrase \"Cor Valis\" carried on the wind. What could it mean? You should return to Fianna and ask.")
|
||
end
|
||
|
||
if isInMushroomCluster(user) then
|
||
user:setQuestProgress(694, 4)
|
||
user:inform("Hat dieser Pilz gerade mit dir gesprochen oder wirst du verr<72>ckt? In jedem Fall hast du pl<70>tzlich das Gef<65>hl, dass du einige Sumpfblumen mitbringen solltest, bevor du zu Fianna zur<75>ckkehrst. Es sollten welche in der N<>he sein, wenn du sie ernten kannst.", "Did that mushroom just speak to you or are you going mad? In either case, you suddenly have the sensation you should bring some marsh flowers back with you before returning to Fianna. There should be some nearby, if you are able to harvest them.")
|
||
end
|
||
|
||
if isUnderMevrannonTree(user) then
|
||
user:setQuestProgress(693, 4)
|
||
user:inform("Vom Wind getragen und durch die goldenen Bl<42>tter <20>ber dir geweht, erreichen dich Worte einer l<>ngst verlorenen Sprache. Du stellst fest, dass du die Worte nicht wiederholen kannst, doch ihre Bedeutung ist dir irgendwie klar, und du wei<65>t, was du als N<>chstes tun musst. Bevor du zu Fianna zur<75>ckkehrst, solltest du einige vierbl<62>ttrige Einbeere sammeln - gibt es in Yewdale im Westen nicht welche?", "Carried by the wind and blown through the golden leaves above, words of a language long lost make their way to your ears. You find yourself unable to repeat the words, yet their meaning are somehow clear to you and you know what you must do next. Before returning to Fianna, you should gather some fourleafed oneberries- Doesn't Yewdale to the west have some? ")
|
||
end
|
||
|
||
if inUsharasGarden(user) then
|
||
user:setQuestProgress(695, 4)
|
||
user:inform("Die Tiefen der Natur rufen nach dir, du kannst es sp<73>ren. Der alte Pfad der Natur und ihrer Verflechtungen zeigt dir, wie du die tiefsten Weaves aller Art nutzen kannst. Du wirst einige Bulbsponge-Pilze sammeln m<>ssen, bevor du zu Fianna zur<75>ckkehrst.", "The depths of nature call out to you, you can feel it. The old path of nature and its weaves, telling you how to harness the deepest weaves of all. You'll need to gather some bulbsponge mushrooms, before making your way back to Fianna.")
|
||
end
|
||
|
||
if inLibertyQuarry(user) then
|
||
user:setQuestProgress(697, 4)
|
||
user:inform("Die Echos des Klangs prallen von Wand zu Wand, Vibrationen umgeben dich. Natur ist nicht nur Pflanzenwelt, sondern auch Stein, Sand und Erde, und diese Wahrheit wird dir klar, w<>hrend du lernst, die Weaves des Steins zu nutzen. Du brauchst faulige Baumrinde, bevor du zu Fianna zur<75>ckkehrst.", "The echoes of sound bounce wall to wall, vibrations all around you. Nature is not only plantlife but also stone, sand, and earth, and that truth becomes clear as you learn to harness the weaves of stone. You will need some rotten tree bark before returning to Fianna.")
|
||
end
|
||
|
||
if onTheEldanOakStone(user) then
|
||
user:setQuestProgress(696, 4)
|
||
user:inform("Du sp<73>rst, wie eine neue Kraft der Natur durch dich str<74>mt ? wie seltsam. Das Bl<42>ken ringsum, die Schritte der Hufe und das ferne Heulen der W<>lfe ? spricht das alles tats<74>chlich zu dir, oder bist du dem Wahnsinn verfallen? Wie dem auch sei, irgendwie wei<65>t du, dass du mit 10 Tannensetzlingen nach Fianna zur<75>ckkehren musst.", "You feel a new force of nature coursing through you, how peculiar. The bleating all around, the steps of hooves and distant howl of wolves - is it all truly speaking to you or have you gone mad? In either case, you somehow know you must return to Fianna with 10 fir tree sprouts.")
|
||
end
|
||
|
||
return false
|
||
end
|
||
|
||
return M
|
||
|