2011-05-05 00:31:39 +00:00

204 lines
6.9 KiB
INI

#textdomain wesnoth-multiplayer
#define RANDOM_SIDE
[multiplayer_side]
id=Random
name= _"Random"
image="units/random-dice.png"
{MAGENTA_IS_THE_TEAM_COLOR}
random_faction=yes
[/multiplayer_side]
#enddef
#define QUICK_4MP_LEADERS
# This makes all leaders with 4 MP receive the quick trait, except ones with
# unit.variables.dont_make_me_quick=yes (boolean)
[event]
name=prestart
[store_unit]
[filter]
canrecruit=yes
[filter_wml]
max_moves=4
[/filter_wml]
[/filter]
kill=yes
variable=leaders_to_make_quick
[/store_unit]
{FOREACH leaders_to_make_quick i}
[if]
# The variable check is done here instead of in the [store_unit]
# so that all boolean values work
[variable]
name=leaders_to_make_quick[$i].variables.dont_make_me_quick
boolean_equals=yes
[/variable]
[then]
[unstore_unit]
variable=leaders_to_make_quick[$i]
[/unstore_unit]
[/then]
[else]
[set_variables]
name=temp
[literal]
{TRAIT_QUICK}
[/literal]
[/set_variables]
[set_variables]
name=leaders_to_make_quick[$i].modifications.trait
mode=append
[insert_tag]
name=literal
variable=temp.trait
[/insert_tag]
[/set_variables]
{CLEAR_VARIABLE leaders_to_make_quick[$i].max_moves,leaders_to_make_quick[$i].moves,leaders_to_make_quick[$i].max_hitpoints,leaders_to_make_quick[$i].hitpoints}
[unstore_unit]
variable=leaders_to_make_quick[$i]
[/unstore_unit]
[/else]
[/if]
{NEXT i}
{CLEAR_VARIABLE leaders_to_make_quick,temp}
[/event]
#enddef
#define TURNS_OVER_ADVANTAGE
[event]
name=time over
[lua]
code=<<
local function all_sides()
local function f(s, i)
i = i + 1
local t = wesnoth.get_side(i)
return t and i, t
end
return f, nil, 0
end
local income_factor = 5
local side_num = -1
local total_score = -1
local side_comparison = ""
for side, team in all_sides() do
repeat -- ugly hack to convert 'break' into 'continue'
if team.__cfg.hidden then
break
end
local income = team.total_income * income_factor
local units = 0
-- Calc the total unit-score here
for i, unit in ipairs( wesnoth.get_units { side = side } ) do
if not unit.__cfg.canrecruit then
wesnoth.fire("unit_worth", { id = unit.id })
units = units + wesnoth.get_variable("unit_worth")
end
end
-- Up to here
local total = units + team.gold + income
local r, g, b = 255, 255, 255
if team.__cfg.colour == 1 then r, g, b = 255, 0, 0
elseif team.__cfg.colour == 2 then r, g, b = 0, 0, 255
elseif team.__cfg.colour == 3 then r, g, b = 0, 255, 0
elseif team.__cfg.colour == 4 then r, g, b = 155, 48, 255
elseif team.__cfg.colour == 5 then r, g, b = 0, 0, 0
elseif team.__cfg.colour == 6 then r, g, b = 165, 42, 42
elseif team.__cfg.colour == 7 then r, g, b = 255, 165, 0
elseif team.__cfg.colour == 8 then r, g, b = 255, 255, 255
elseif team.__cfg.colour == 9 then r, g, b = 0, 128, 128 end
side_comparison = side_comparison ..
string.format("<span foreground=\"#%02x%02x%02x\">Side %d</span>: Income score = %d Unit score = %d Gold = %d\nGrand total: <b>%d</b>\n",
r, g, b, side, income, units, team.gold, total)
if total > total_score then
colour = string.format("#%02x%02x%02x", r, g, b)
side_num = side
total_score = total
end
until true -- end ugly hack
end
side_comparison = side_comparison ..
string.format("\n<span foreground=\"%s\">Side %d</span> has the advantage.", colour, side_num)
wesnoth.fire("message", { message = side_comparison, speaker = "narrator", image = "wesnoth-icon.png"})
>>
[/lua]
[/event]
#enddef
# These macros make things easier for UMC eras which are additions to or modifications of the default eras.
# If anything gets changed or added to the default eras, please do it in the code included in these macros.
#define ERA_DEFAULT
{RANDOM_SIDE}
{multiplayer/factions/loyalists-default.cfg}
{multiplayer/factions/rebels-default.cfg}
{multiplayer/factions/northerners-default.cfg}
{multiplayer/factions/undead-default.cfg}
{multiplayer/factions/knalgans-default.cfg}
{multiplayer/factions/drakes-default.cfg}
{QUICK_4MP_LEADERS}
{TURNS_OVER_ADVANTAGE}
#enddef
[era]
id=era_default
name= _ "Default"
{ERA_DEFAULT}
[/era]
#define ERA_HEROES
{RANDOM_SIDE}
{multiplayer/factions/loyalists-aoh.cfg}
{multiplayer/factions/rebels-aoh.cfg}
{multiplayer/factions/northerners-aoh.cfg}
{multiplayer/factions/undead-aoh.cfg}
{multiplayer/factions/knalgans-aoh.cfg}
{multiplayer/factions/drakes-aoh.cfg}
{QUICK_4MP_LEADERS}
{TURNS_OVER_ADVANTAGE}
#enddef
[era]
id=era_heroes
name= _ "Age of Heroes"
{ERA_HEROES}
[/era]
#define ERA_KHALIFATE
{RANDOM_SIDE}
{multiplayer/factions/loyalists-default.cfg}
{multiplayer/factions/rebels-default.cfg}
{multiplayer/factions/northerners-default.cfg}
{multiplayer/factions/undead-default.cfg}
{multiplayer/factions/knalgans-default.cfg}
{multiplayer/factions/drakes-default.cfg}
{multiplayer/factions/khalifate-default.cfg}
{QUICK_4MP_LEADERS}
{TURNS_OVER_ADVANTAGE}
#enddef
[era]
id=era_khalifate
name= _ "Default + Khalifate"
{ERA_KHALIFATE}
[/era]