snowglobe error messages. todo: testing (how?)

This commit is contained in:
Enno Rehling 2015-12-31 14:43:38 +01:00
parent e7c23b15db
commit 4952f212b8
2 changed files with 43 additions and 8 deletions

View file

@ -14,7 +14,36 @@
your faction with a $resource($item,1).</text>
</message>
<message name="target_region_invalid">
<type>
<arg name="unit" type="unit"/>
<arg name="region" type="region"/>
<arg name="command" type="order"/>
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - Ungültige Zielregion."</text>
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - invalid target region."</text>
</type>
</message>
<message name="missing_direction">
<type>
<arg name="unit" type="unit"/>
<arg name="region" type="region"/>
<arg name="command" type="order"/>
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - keine Richtung angegeben."</text>
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - no direction was specified."</text>
</type>
</message>
<message name="target_region_not_empty">
<type>
<arg name="unit" type="unit"/>
<arg name="region" type="region"/>
<arg name="command" type="order"/>
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - In der Zielregion befinden sich noch Einheiten."</text>
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - There are units in the target region."</text>
</type>
</message>
<message name="force_leave_ship" section="events">
<type>
<arg name="unit" type="unit"/>

View file

@ -6,6 +6,15 @@ local function get_direction(locale, token)
return nil
end
local function error_message(msg, u, ord)
local msg = message.create(msg)
msg:set_unit("unit", u)
msg:set_region("region", u.region)
msg:set_order("command", ord)
msg:send_faction(u.faction)
return -1
end
function use_snowglobe(u, amount, token, ord)
local transform = {
ocean = "glacier",
@ -17,8 +26,7 @@ function use_snowglobe(u, amount, token, ord)
if direction then
local r = u.region:next(direction)
if r.units() then
-- message "target region not empty"
return -1
return error_message('target_region_not_empty', u, ord)
end
if r then
local trans = transform[r.terrain]
@ -26,15 +34,13 @@ function use_snowglobe(u, amount, token, ord)
r.terrain = trans
return 1
else
-- message "invalid terrain"
return error_message('target_region_invalid', u, ord)
end
else
-- message "invalid terrain"
return error_message('target_region_invalid', u, ord)
end
else
-- message "need to specify direction"
end
return -1
return error_message('missing_direction', u, ord)
end
function use_snowman(u, amount)