forked from github/server
Bugfixes WdW Sphinx und Phoenix
This commit is contained in:
parent
cabc4d6d95
commit
1162b6a795
|
@ -67,7 +67,7 @@
|
||||||
<param name="study.expensivemigrants" value="1"/>
|
<param name="study.expensivemigrants" value="1"/>
|
||||||
<param name="alliance.skilllimit" value="15"/>
|
<param name="alliance.skilllimit" value="15"/>
|
||||||
<param name="alliance.restricted" value="fight guard stealth money"/>
|
<param name="alliance.restricted" value="fight guard stealth money"/>
|
||||||
<param name="alliance.auto" value="fight"/>
|
<param name="alliance.auto" value="fight guard stealth money "/>
|
||||||
<param name="alliance.transferquit" value="true"/>
|
<param name="alliance.transferquit" value="true"/>
|
||||||
</game>
|
</game>
|
||||||
|
|
||||||
|
|
|
@ -4,10 +4,12 @@ function update_phoenix()
|
||||||
local u
|
local u
|
||||||
for u in f.units do
|
for u in f.units do
|
||||||
if u.race=="phoenix" then
|
if u.race=="phoenix" then
|
||||||
|
print("The phoenix is in " .. u.region.name() .. "(" .. u.region.x .. "," .. u.region.y .. ")")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
print("The phoenix has not been found and needs to be regenerated")
|
||||||
f = get_faction(0)
|
f = get_faction(0)
|
||||||
if (f~=nil) then
|
if (f~=nil) then
|
||||||
local r
|
local r
|
||||||
|
@ -25,7 +27,9 @@ function update_phoenix()
|
||||||
local u = add_unit(f, r)
|
local u = add_unit(f, r)
|
||||||
u.race = "phoenix"
|
u.race = "phoenix"
|
||||||
u.name = "Der Phönix"
|
u.name = "Der Phönix"
|
||||||
|
u.number = 1
|
||||||
-- TODO: generate an appropriate region message
|
-- TODO: generate an appropriate region message
|
||||||
|
print("The phoenix has been generated in " .. u.region.name .. "(" .. u.region.x .. "," .. u.region.y .. ")")
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
--
|
||||||
|
-- www.websudoku.com
|
||||||
|
-- Evil Puzzle 9,558,581,844
|
||||||
|
--
|
||||||
|
|
||||||
function init_sphinxhints()
|
function init_sphinxhints()
|
||||||
|
|
||||||
for f in factions() do
|
for f in factions() do
|
||||||
|
@ -20,10 +25,6 @@ end
|
||||||
|
|
||||||
function sphinx_handler()
|
function sphinx_handler()
|
||||||
|
|
||||||
local function send_nohint(u, usphinx)
|
|
||||||
usphinx:add_order("botschaft einheit " .. itoa36(u.id) .. " \"Lass mich noch etwas ueber ein neues Raetsel nachdenken!\"")
|
|
||||||
end
|
|
||||||
|
|
||||||
local function send_gotHint(u, usphinx)
|
local function send_gotHint(u, usphinx)
|
||||||
usphinx:add_order("botschaft einheit " .. itoa36(u.id) .. " \"Du hast diese Woche bereits einen Hinweis erhalten!\"")
|
usphinx:add_order("botschaft einheit " .. itoa36(u.id) .. " \"Du hast diese Woche bereits einen Hinweis erhalten!\"")
|
||||||
end
|
end
|
||||||
|
@ -32,34 +33,78 @@ function sphinx_handler()
|
||||||
hintText = {}
|
hintText = {}
|
||||||
possibleHint = {}
|
possibleHint = {}
|
||||||
|
|
||||||
hintText[0] = "Das Schiff des Elfen hat ein rotes Segel"
|
hintText[0] = "Eins! Neun! Vier"
|
||||||
hintText[1] = "Der Zwerg hat eine Nuss dabei"
|
hintText[1] = "Sechs! Eins! Zwei"
|
||||||
hintText[2] = "Die Katze führt eine Hellebarde"
|
hintText[2] = "Vier! Neun! Sieben"
|
||||||
hintText[3] = "Das Schiff mit dem grünen Segel liegt links neben dem mit einem weissen Segel"
|
hintText[3] = "Sieben! Eins! Neun"
|
||||||
hintText[4] = "Auf dem Schiff mit grünen Segeln kam der Speerkämpfer"
|
hintText[4] = "Nenne mir die Summe der beiden Diagonalen"
|
||||||
hintText[5] = "Der Krieger mit dem Kreis im Wappen hat einen Keks"
|
hintText[5] = "Fünf! Fünf! Sechs"
|
||||||
hintText[6] = "Der Krieger des mittleren Schiffs hat ein Schwert"
|
hintText[6] = "Sieben! Zwei! Fünf"
|
||||||
hintText[7] = "Auf dem gelben Segel prankt ein Kreuz als Wappen"
|
hintText[7] = "Sechs! Zwei! Sieben"
|
||||||
hintText[8] = "Der Mensch kam mit dem ersten Schiff"
|
hintText[8] = "Zwei! Zwei! Zwei"
|
||||||
hintText[9] = "Das Schiff mit dem Stern im Wappen liegt neben dem der einen Mandelkern hat"
|
hintText[9] = "Acht! Sechs! Eins"
|
||||||
hintText[10] = "Das Schiff des Kriegers, der ein Apfel hat, liegt neben dem, der ein Kreuz als Wappen hat"
|
hintText[10] = "Fünf! Acht! Vier"
|
||||||
hintText[11] = "Der Krieger mit dem Turm im Wappen trägt eine Axt"
|
hintText[11] = "Acht! Sieben! Drei"
|
||||||
hintText[12] = "Das Schiff des Menschen liegt neben dem blauen Schiff"
|
hintText[12] = "Sechs! Fünf! Vier"
|
||||||
hintText[13] = "Das Insekt trägt einen Baum als Wappen"
|
hintText[13] = "Eins! Zwei! Drei"
|
||||||
hintText[14] = "Das Schiff mit dem Stern im Wappen liegt neben dem des Kriegers, der einen Zweihänder führt"
|
hintText[14] = "Vier! Fünf! Neun"
|
||||||
|
hintText[15] = "Acht! Acht! Neun"
|
||||||
|
hintText[16] = "Zwei! Drei! Eins"
|
||||||
|
hintText[17] = "Fünf! Zwei! Neun"
|
||||||
|
hintText[18] = "Zwei! Vier! Sieben"
|
||||||
|
hintText[19] = "Neun! Eins! Eins"
|
||||||
|
hintText[20] = "Eins! Vier! Fünf"
|
||||||
|
hintText[21] = "Neun! Sechs! Acht"
|
||||||
|
hintText[22] = "Drei! Neun! Neun"
|
||||||
|
hintText[23] = "Neun! Acht! Fünf"
|
||||||
|
hintText[24] = "Vier! Acht! Sechs"
|
||||||
|
hintText[25] = "Drei! Acht! Drei"
|
||||||
|
|
||||||
for i=0,4,1 do
|
numhints = 26
|
||||||
possibleHint[i] = tonumber(u.faction:get_variable("sphinxhint"..tostring(i)))
|
turn = get_turn()
|
||||||
end
|
-- hint = turn%26
|
||||||
|
hint = turn - (math.floor(turn/numhints)*numhints)
|
||||||
|
|
||||||
hint = math.random(0,4)
|
print("sphinx turn=" .. turn .. ", hint=" .. hint .. "\n")
|
||||||
|
|
||||||
usphinx:add_order("botschaft einheit " .. itoa36(u.id) .. " \"" .. hintText[possibleHint[hint]] .. "!\"")
|
usphinx:add_order("botschaft einheit " .. itoa36(u.id) .. " \"" .. hintText[hint] .. "!\"")
|
||||||
end
|
end
|
||||||
|
|
||||||
local function msg_handler(u, evt)
|
local function msg_handler(u, evt)
|
||||||
|
str = evt:get_string(0)
|
||||||
u2 = evt:get_unit(1)
|
u2 = evt:get_unit(1)
|
||||||
send_nohint(u2, u)
|
if string.lower(str) == "hinweis" then
|
||||||
|
if u2.faction:get_variable("sphinxGotHint"..itoa36(u.id)) ~= nil then
|
||||||
|
send_gotHint(u2)
|
||||||
|
else
|
||||||
|
send_hint(u2, u)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
tokens = {}
|
||||||
|
for token in string.gfind(str, "%a+") do
|
||||||
|
table.insert(tokens, token)
|
||||||
|
end
|
||||||
|
-- index starts with 1 in lua
|
||||||
|
if table.getn(tokens) == 2 and string.lower(tokens[1]) == "antwort" then
|
||||||
|
if string.lower(tokens[2]) == "999999" then
|
||||||
|
-- Botschaft in alle Regionen
|
||||||
|
local m = message("msg_event")
|
||||||
|
m:set_string("string", "Das Rätsel der Sphinx ist gelöst! Die Sphinx wird sich eine neue Heimat und ein neues Rätsel suchen.")
|
||||||
|
for r in regions() do
|
||||||
|
m:send_region(r)
|
||||||
|
end
|
||||||
|
-- Region terraformen
|
||||||
|
terraform(u2.region.x, u.region.y, "plain")
|
||||||
|
u2.region.set_resource(u2.region, "tree", 721)
|
||||||
|
u2.region.set_resource(u2.region, "peasant", 2312)
|
||||||
|
u2.add_item(u2, "trappedairelemental", 5)
|
||||||
|
-- Neues Raetsel fuer beide Sphinxe!
|
||||||
|
-- Sphinx neu platzieren
|
||||||
|
-- Hint-Attribute von allen Allianzen loeschen
|
||||||
|
else
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local f = get_faction(atoi36("ycx9"))
|
local f = get_faction(atoi36("ycx9"))
|
||||||
|
@ -76,24 +121,20 @@ function sphinx_handler()
|
||||||
end
|
end
|
||||||
|
|
||||||
function sphinx_weekly()
|
function sphinx_weekly()
|
||||||
-- local f = get_faction(atoi36("ycx9"))
|
local f = get_faction(atoi36("ycx9"))
|
||||||
-- local u = get_unit(atoi36("si7z"))
|
local u = get_unit(atoi36("si7z"))
|
||||||
-- if u ~= nil and u.faction == f then
|
if u ~= nil and u.faction == f then
|
||||||
-- u.region:add_notice("Eine Botschaft von Sphinx (si7z): Mit einer Botschaft \"Hinweis\" gebe ich euch einen Hinweis, mit einer Botschaft \"Antwort <Eure Antwort>\" könnt ihr mir eure Antwort mitteilen. Doch Vorsicht, falsche Antworten werde ich bestrafen!")
|
u.region:add_notice("Eine Botschaft von Sphinx (si7z): Mit einer Botschaft \"Hinweis\" gebe ich euch einen Hinweis, mit einer Botschaft \"Antwort <Eure Antwort>\" könnt ihr mir eure Antwort mitteilen. Doch Vorsicht, falsche Antworten werde ich bestrafen!")
|
||||||
-- u.region:add_notice("Eine Botschaft von Sphinx (si7z): Fünf Krieger kamen auf ihren Schiffen in die Ebene der Helden, wollten um die Ehre ringen. Jedes Schiff trug ein anderes Segel, auf dem das Wappen des Kriegers prankte. Ein jeder trug seine liebste Waffe und das Signum seines Volkes und doch war keiner gleich.")
|
end
|
||||||
-- u.region:add_notice("Eine Botschaft von Sphinx (si7z): Wer hat den Schneeball?")
|
|
||||||
-- end
|
|
||||||
|
|
||||||
-- local u = get_unit(atoi36("qcph"))
|
local u = get_unit(atoi36("qcph"))
|
||||||
-- if u ~= nil and u.faction == f then
|
if u ~= nil and u.faction == f then
|
||||||
-- u.region:add_notice("Eine Botschaft von Sphinx (qcph): Mit einer Botschaft \"Hinweis\" gebe ich euch einen Hinweis, mit einer Botschaft \"Antwort <Eure Antwort>\" könnt ihr mir eure Antwort mitteilen. Doch Vorsicht, falsche Antworten werde ich bestrafen!")
|
u.region:add_notice("Eine Botschaft von Sphinx (qcph): Mit einer Botschaft \"Hinweis\" gebe ich euch einen Hinweis, mit einer Botschaft \"Antwort <Eure Antwort>\" könnt ihr mir eure Antwort mitteilen. Doch Vorsicht, falsche Antworten werde ich bestrafen!")
|
||||||
-- u.region:add_notice("Eine Botschaft von Sphinx (qcph): Fünf Krieger kamen auf ihren Schiffen in die Ebene der Helden, wollten um die Ehre ringen. Jedes Schiff trug ein anderes Segel, auf dem das Wappen des Kriegers prankte. Ein jeder trug seine liebste Waffe und das Signum seines Volkes und doch war keiner gleich.")
|
end
|
||||||
-- u.region:add_notice("Eine Botschaft von Sphinx (qcph): Wer hat den Schneeball?")
|
|
||||||
-- end
|
|
||||||
|
|
||||||
-- for faction in factions() do
|
for faction in factions() do
|
||||||
-- faction:delete_variable("sphinxGotHintsi7z");
|
faction:delete_variable("sphinxGotHintsi7z");
|
||||||
-- faction:delete_variable("sphinx2GotHintqcph");
|
faction:delete_variable("sphinx2GotHintqcph");
|
||||||
-- end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue