Merge branch 'master' of github.com:wesnoth/wesnoth

This commit is contained in:
Alexander van Gessel 2014-02-28 06:01:02 +01:00
commit cb86f5e868
39 changed files with 745 additions and 1315 deletions

View file

@ -11,6 +11,10 @@ Version 1.11.10+dev:
* WML files whose names contain spaces are ignored.
* Bug #21722: Event handlers with multiple names never fired.
* User interface:
* Corrected most of the issues left with the new default theme.
* Reintroduced the alignment, race and side being shown in the sidebar.
* Adjusted the theme to the size and shape of the new minimap frame images.
* Certain changes to the used text colors, sizes and alignment.
* Non-team labels no longer remove team labels that were present in the
same hex.
* New colors for the Light Red and Dark Red minimap markers.

View file

@ -126,6 +126,97 @@ function ai_helper.print_ts_delta(start_time, ...)
return ts, delta
end
----- AI execution helper functions ------
function ai_helper.checked_action_error(action, error_code)
wesnoth.message('Lua AI error', 'If you see this message, something has gone wrong. Please report this on the Wesnoth forums, ideally with a replay and/or savegame.')
error(action .. ' could not be executed. Error code: ' .. error_code)
end
function ai_helper.checked_attack(ai, attacker, defender, weapon)
local check = ai.check_attack(attacker, defender, weapon)
if (not check.ok) then
ai_helper.checked_action_error('ai.attack', check.status)
return
end
ai.attack(attacker, defender, weapon)
end
function ai_helper.checked_move_core(ai, unit, x, y, move_type)
local check = ai.check_move(unit, x, y)
if (not check.ok) then
-- The following errors are not fatal:
-- E_EMPTY_MOVE = 2001
-- E_AMBUSHED = 2005
-- E_NOT_REACHED_DESTINATION = 2007
if (check.status ~= 2001) and (check.status ~= 2005) and (check.status ~= 2007) then
ai_helper.checked_action_error(move_type, check.status)
return
end
end
if (move_type == 'ai.move_full') then
ai.move_full(unit, x, y)
else
ai.move(unit, x, y)
end
end
function ai_helper.checked_move_full(ai, unit, x, y)
ai_helper.checked_move_core(ai, unit, x, y, 'ai.move_full')
end
function ai_helper.checked_move(ai, unit, x, y)
ai_helper.checked_move_core(ai, unit, x, y, 'ai.move')
end
function ai_helper.checked_recruit(ai, unit_type, x, y)
local check = ai.check_recruit(unit_type, x, y)
if (not check.ok) then
ai_helper.checked_action_error('ai.recruit', check.status)
return
end
ai.recruit(unit_type, x, y)
end
function ai_helper.checked_stopunit_all(ai, unit)
local check = ai.check_stopunit(unit)
if (not check.ok) then
ai_helper.checked_action_error('ai.stopunit_all', check.status)
return
end
ai.stopunit_all(unit)
end
function ai_helper.checked_stopunit_attacks(ai, unit)
local check = ai.check_stopunit(unit)
if (not check.ok) then
ai_helper.checked_action_error('ai.stopunit_attacks', check.status)
return
end
ai.stopunit_attacks(unit)
end
function ai_helper.checked_stopunit_moves(ai, unit)
local check = ai.check_stopunit(unit)
if (not check.ok) then
ai_helper.checked_action_error('ai.stopunit_moves', check.status)
return
end
ai.stopunit_moves(unit)
end
----- General functionality and maths helper functions ------
function ai_helper.filter(input, condition)
@ -1006,7 +1097,7 @@ function ai_helper.move_unit_out_of_way(ai, unit, cfg)
if (max_rating > -9e99) then
--W.message { speaker = unit.id, message = 'Moving out of way' }
ai.move(unit, best_hex[1], best_hex[2])
ai_helper.checked_move(ai, unit, best_hex[1], best_hex[2])
end
end
@ -1024,9 +1115,9 @@ function ai_helper.movefull_stopunit(ai, unit, x, y)
local next_hop = ai_helper.next_hop(unit, x, y)
if next_hop and ((next_hop[1] ~= unit.x) or (next_hop[2] ~= unit.y)) then
ai.move_full(unit, next_hop[1], next_hop[2])
ai_helper.checked_move_full(ai, unit, next_hop[1], next_hop[2])
else
ai.stopunit_moves(unit)
ai_helper.checked_stopunit_moves(ai, unit)
end
end
@ -1053,9 +1144,9 @@ function ai_helper.movefull_outofway_stopunit(ai, unit, x, y, cfg)
local next_hop = ai_helper.next_hop(unit, x, y)
if next_hop and ((next_hop[1] ~= unit.x) or (next_hop[2] ~= unit.y)) then
ai.move_full(unit, next_hop[1], next_hop[2])
ai_helper.checked_move_full(ai, unit, next_hop[1], next_hop[2])
else
ai.stopunit_moves(unit)
ai_helper.checked_stopunit_moves(ai, unit)
end
end

View file

@ -82,9 +82,11 @@ function ca_big_animals:execution(ai, cfg)
--AH.put_labels(reach_map)
if (best_hex[1] ~= unit.x) or (best_hex[2] ~= unit.y) then
ai.move(unit, best_hex[1], best_hex[2]) -- partial move only
AH.checked_move(ai, unit, best_hex[1], best_hex[2]) -- partial move only
if (not unit) or (not unit.valid) then return end
else -- If animal did not move, we need to stop it (also delete the goal)
ai.stopunit_moves(unit)
AH.checked_stopunit_moves(ai, unit)
if (not unit) or (not unit.valid) then return end
unit.variables.goal_x = nil
unit.variables.goal_y = nil
end
@ -106,9 +108,8 @@ function ca_big_animals:execution(ai, cfg)
end
end
if target.id then
ai.attack(unit, target)
AH.checked_attack(ai, unit, target)
end
end
end

View file

@ -1,3 +1,4 @@
local AH = wesnoth.require "ai/lua/ai_helper.lua"
local H = wesnoth.require "lua/helper.lua"
local ca_bottleneck_attack = {}
@ -71,10 +72,10 @@ function ca_bottleneck_attack:execution(ai, cfg, self)
if self.data.bottleneck_attacks_done then
local units = wesnoth.get_units { side = wesnoth.current.side, formula = '$this_unit.attacks_left > 0' }
for i,u in ipairs(units) do
ai.stopunit_attacks(u)
AH.checked_stopunit_attacks(ai, u)
end
else
ai.attack(self.data.attacker, self.data.target, self.data.weapon)
AH.checked_attack(ai, self.data.attacker, self.data.target, self.data.weapon)
end
self.data.attacker, self.data.target, self.data.weapon = nil, nil, nil

View file

@ -491,20 +491,21 @@ function ca_bottleneck_move:execution(ai, cfg, self)
}
end
for i,u in ipairs(units) do
ai.stopunit_moves(u)
AH.checked_stopunit_moves(ai, u)
end
else
--print("Moving unit:",self.data.unit.id, self.data.unit.x, self.data.unit.y, " ->", best_hex[1], best_hex[2], " -- turn:", wesnoth.current.turn)
if (self.data.unit.x ~= self.data.hex[1]) or (self.data.unit.y ~= self.data.hex[2]) then -- test needed for level-up move
ai.move(self.data.unit, self.data.hex[1], self.data.hex[2]) -- don't want full move, as this might be stepping out of the way
AH.checked_move(ai, self.data.unit, self.data.hex[1], self.data.hex[2]) -- don't want full move, as this might be stepping out of the way
end
if (not self.data.unit) or (not self.data.unit.valid) then return end
-- If this is a move for a level-up attack, do the attack also
if self.data.lu_defender then
--print("Level-up attack",self.data.unit.id, self.data.lu_defender.id, self.data.lu_weapon)
ai.attack(self.data.unit, self.data.lu_defender, self.data.lu_weapon)
AH.checked_attack(ai, self.data.unit, self.data.lu_defender, self.data.lu_weapon)
end
end

View file

@ -45,7 +45,7 @@ function ca_coward:execution(ai, cfg)
-- if no enemies are within reach: keep unit from doing anything and exit
if not enemies[1] then
ai.stopunit_all(unit)
AH.checked_stopunit_all(ai, unit)
return
end
@ -116,10 +116,9 @@ function ca_coward:execution(ai, cfg)
if (mx ~= unit.x or my ~= unit.y) then
AH.movefull_stopunit(ai, unit, mx, my)
end
if (not unit) or (not unit.valid) then return end
-- Get unit again, just in case it was killed by a moveto event
local unit = wesnoth.get_units{ id = cfg.id }[1]
if unit then ai.stopunit_all(unit) end
AH.checked_stopunit_all(ai, unit)
end
return ca_coward

View file

@ -98,7 +98,7 @@ function ca_forest_animals_move:execution(ai, cfg)
local rand = math.random(#reachable_terrain)
-- This is not a full move, as running away might happen next
if (unit.x ~= reachable_terrain[rand][1]) or (unit.y ~= reachable_terrain[rand][2]) then
ai.move(unit, reachable_terrain[rand][1], reachable_terrain[rand][2])
AH.checked_move(ai, unit, reachable_terrain[rand][1], reachable_terrain[rand][2])
end
else -- or if no close reachable terrain was found, move toward the closest
local locs = wesnoth.get_locations(wander_terrain)
@ -114,7 +114,7 @@ function ca_forest_animals_move:execution(ai, cfg)
local next_hop = AH.next_hop(unit, x, y)
--print(next_hop[1], next_hop[2])
if (unit.x ~= next_hop[1]) or (unit.y ~= next_hop[2]) then
ai.move(unit, next_hop[1], next_hop[2])
AH.checked_move(ai, unit, next_hop[1], next_hop[2])
end
end
end
@ -122,9 +122,14 @@ function ca_forest_animals_move:execution(ai, cfg)
-- Now we check for close enemies again, as we might just have moved within reach of some
local close_enemies = {}
for j,e in ipairs(enemies) do
if (H.distance_between(unit.x, unit.y, e.x, e.y) <= unit.max_moves+1) then
table.insert(close_enemies, e)
-- We use a trick here to exclude the case when the unit might have been
-- removed in an event above
if unit and unit.valid then
for j,e in ipairs(enemies) do
if (H.distance_between(unit.x, unit.y, e.x, e.y) <= unit.max_moves+1) then
table.insert(close_enemies, e)
end
end
end
--print(' #close_enemies after move', #close_enemies, #enemies, unit.id)
@ -155,7 +160,6 @@ function ca_forest_animals_move:execution(ai, cfg)
AH.movefull_stopunit(ai, unit, farthest_hex)
-- If this is a rabbit ending on a hole -> disappears
if (unit.type == rabbit_type) and hole_map:get(farthest_hex[1], farthest_hex[2]) then
wesnoth.put_unit(farthest_hex[1], farthest_hex[2])
local command = "wesnoth.put_unit(x1, y1)"
ai.synced_command(command, farthest_hex[1], farthest_hex[2])
end
@ -163,8 +167,7 @@ function ca_forest_animals_move:execution(ai, cfg)
-- Finally, take moves away, as only partial move might have been done
-- Also attacks, as these units never attack
if unit and unit.valid then ai.stopunit_all(unit) end
-- Need this ^ test here because bunnies might have disappeared
if unit and unit.valid then AH.checked_stopunit_all(ai, unit) end
end
end

View file

@ -55,13 +55,15 @@ function ca_forest_animals_tusker_attack:execution(ai, cfg)
end)
--print('attacker', attacker.x, attacker.y, ' -> ', best_hex[1], best_hex[2])
AH.movefull_stopunit(ai, attacker, best_hex)
if (not attacker) or (not attacker.valid) then return end
if (not target) or (not target.valid) then return end
-- If adjacent, attack
local dist = H.distance_between(attacker.x, attacker.y, target.x, target.y)
if (dist == 1) then
ai.attack(attacker, target)
AH.checked_attack(ai, attacker, target)
else
ai.stopunit_attacks(attacker)
AH.checked_stopunit_attacks(ai, attacker)
end
end

View file

@ -41,7 +41,7 @@ function ca_forest_animals_tusklet_move:execution(ai, cfg)
AH.movefull_stopunit(ai, tusklet, best_hex)
-- Also make sure tusklets never attack
ai.stopunit_all(tusklet)
if tusklet and tusklet.valid then AH.checked_stopunit_all(ai, tusklet) end
end
end

View file

@ -202,10 +202,11 @@ function ca_goto:execution(ai, cfg, self)
end
if closest_hex then
ai.move_full(best_unit, closest_hex[1], closest_hex[2])
AH.checked_move_full(ai, best_unit, closest_hex[1], closest_hex[2])
else
ai.stopunit_moves(best_unit)
AH.checked_stopunit_moves(ai, best_unit)
end
if (not best_unit) or (not best_unit.valid) then return end
-- If release_unit_at_goal= or release_all_units_at_goal= key is set:
-- Check if the unit made it to one of the goal hexes

View file

@ -126,14 +126,14 @@ function ca_hang_out:execution(ai, cfg, self)
-- respective best locations already, we take moves away from all units
if (max_rating == -9e99) then
for i,u in ipairs(units) do
ai.stopunit_moves(u)
AH.checked_stopunit_moves(ai, u)
-- Also remove the markers
u.variables.mai_hangout_moved = nil
if u and u.valid then u.variables.mai_hangout_moved = nil end
end
else
-- Otherwise move unit and mark as having been used
ai.move(best_unit, best_hex[1], best_hex[2])
best_unit.variables.mai_hangout_moved = true
AH.checked_move(ai, best_unit, best_hex[1], best_hex[2])
if best_unit and best_unit.valid then best_unit.variables.mai_hangout_moved = true end
end
end

View file

@ -67,7 +67,7 @@ function ca_herding_attack_close_enemy:execution(ai, cfg)
--print('Dog moving in to attack')
AH.movefull_stopunit(ai, best_dog, best_hex)
if H.distance_between(best_dog.x, best_dog.y, best_enemy.x, best_enemy.y) == 1 then
ai.attack(best_dog, best_enemy)
AH.checked_attack(ai, best_dog, best_enemy)
end
return
end

View file

@ -83,10 +83,10 @@ function ca_herding_herd_sheep:execution(ai, cfg)
-- If it's already in the best position, we just take moves away from it
-- (to avoid black-listing of CA, in the worst case)
if (best_hex[1] == best_dog.x) and (best_hex[2] == best_dog.y) then
ai.stopunit_moves(best_dog)
AH.checked_stopunit_moves(ai, best_dog)
else
--print('Dog moving to herd sheep')
ai.move(best_dog, best_hex[1], best_hex[2]) -- partial move only
AH.checked_move(ai, best_dog, best_hex[1], best_hex[2]) -- partial move only
end
end

View file

@ -43,7 +43,7 @@ function ca_herding_sheep_move:execution(ai, cfg)
if herding_area:get(x, y) or (not dogs[1]) or ((x == sheep.x) and (y == sheep.y)) then
AH.movefull_stopunit(ai, sheep, x, y)
else
ai.move(sheep, x, y)
AH.checked_move(ai, sheep, x, y)
end
end

View file

@ -27,7 +27,7 @@ local function hunter_attack_weakest_adj_enemy(ai, unit)
if target.id then
--W.message { speaker = unit.id, message = 'Attacking weakest adjacent enemy' }
ai.attack(unit, target)
AH.checked_attack(ai, unit, target)
if target.valid then
return 'attacked'
else
@ -113,9 +113,11 @@ function ca_hunter:execution(ai, cfg)
--AH.put_labels(reach_map)
if (best_hex[1] ~= unit.x) or (best_hex[2] ~= unit.y) then
ai.move(unit, best_hex[1], best_hex[2]) -- partial move only
AH.checked_move(ai, unit, best_hex[1], best_hex[2]) -- partial move only
if (not unit) or (not unit.valid) then return end
else -- If hunter did not move, we need to stop it (also delete the goal)
ai.stopunit_moves(unit)
AH.checked_stopunit_moves(ai, unit)
if (not unit) or (not unit.valid) then return end
unit.variables.goal_x, unit.variables.goal_y = nil, nil
end
@ -149,6 +151,7 @@ function ca_hunter:execution(ai, cfg)
if next_hop then
--print(next_hop[1], next_hop[2])
AH.movefull_stopunit(ai, unit, next_hop)
if (not unit) or (not unit.valid) then return end
-- If there's an enemy on the 'home' hex and we got right next to it, attack that enemy
if (H.distance_between(cfg.home_x, cfg.home_y, next_hop[1], next_hop[2]) == 1) then
@ -157,16 +160,18 @@ function ca_hunter:execution(ai, cfg)
if cfg.show_messages then
W.message { speaker = unit.id, message = 'Get out of my home!' }
end
ai.attack(unit, enemy)
AH.checked_attack(ai, unit, enemy)
if (not unit) or (not unit.valid) then return end
end
end
end
-- We also attack the weakest adjacent enemy, if still possible
hunter_attack_weakest_adj_enemy(ai, unit)
if (not unit) or (not unit.valid) then return end
-- If the unit got home, start the resting counter
if unit.valid and (unit.x == cfg.home_x) and (unit.y == cfg.home_y) then
if (unit.x == cfg.home_x) and (unit.y == cfg.home_y) then
unit.variables.hunting_status = 'resting'
unit.variables.resting_until = wesnoth.current.turn + (cfg.rest_turns or 3)
if cfg.show_messages then
@ -181,13 +186,15 @@ function ca_hunter:execution(ai, cfg)
-- If we got here, the only remaining action is resting
if (unit.variables.hunting_status == 'resting') then
-- So all we need to do is take moves away from the unit
ai.stopunit_moves(unit)
AH.checked_stopunit_moves(ai, unit)
if (not unit) or (not unit.valid) then return end
-- However, we do also attack the weakest adjacent enemy, if still possible
hunter_attack_weakest_adj_enemy(ai, unit)
if (not unit) or (not unit.valid) then return end
-- If this is the last turn of resting, we also remove the status and turn variable
if unit.valid and (unit.hitpoints >= unit.max_hitpoints) and (unit.variables.resting_until <= wesnoth.current.turn) then
if (unit.hitpoints >= unit.max_hitpoints) and (unit.variables.resting_until <= wesnoth.current.turn) then
unit.variables.hunting_status = nil
unit.variables.resting_until = nil
if cfg.show_messages then

View file

@ -63,11 +63,13 @@ function ca_lurkers:execution(ai, cfg)
local rand = math.random(1, rattack_nt_target:size())
local dst = rattack_nt_target:to_stable_pairs()
AH.movefull_stopunit(ai, me, dst[rand])
ai.attack(dst[rand][1], dst[rand][2], target.x, target.y)
if (not me) or (not me.valid) then return end
AH.checked_attack(ai, me, target)
attacked = true
break
end
end
if (not me) or (not me.valid) then return end
-- If unit has moves left (that is, it didn't attack), go to random wander terrain hex
-- Check first that unit wasn't killed in the attack
@ -91,9 +93,10 @@ function ca_lurkers:execution(ai, cfg)
end
AH.movefull_stopunit(ai, me, dst)
end
if (not me) or (not me.valid) then return end
-- If the unit has moves or attacks left at this point, take them away
if me and me.valid then ai.stopunit_all(me) end
AH.checked_stopunit_all(ai, me)
end
return ca_lurkers

View file

@ -156,7 +156,10 @@ function ca_messenger_attack:execution(ai, cfg, self)
local defender = wesnoth.get_unit(self.data.best_attack.target.x, self.data.best_attack.target.y)
AH.movefull_stopunit(ai, attacker, self.data.best_attack.dst.x, self.data.best_attack.dst.y)
ai.attack(attacker, defender)
if (not attacker) or (not attacker.valid) then return end
if (not defender) or (not defender.valid) then return end
AH.checked_attack(ai, attacker, defender)
self.data.best_attack = nil
end

View file

@ -58,10 +58,11 @@ function ca_messenger_move:execution(ai, cfg, self)
--print(next_hop[1], next_hop[2])
if next_hop and ((next_hop[1] ~= messenger.x) or (next_hop[2] ~= messenger.y)) then
ai.move(messenger, next_hop[1], next_hop[2])
AH.checked_move(ai, messenger, next_hop[1], next_hop[2])
else
ai.stopunit_moves(messenger)
AH.checked_stopunit_moves(ai, messenger)
end
if (not messenger) or (not messenger.valid) then return end
-- We also test whether an attack without retaliation or with little damage is possible
if (not H.get_child(messenger.__cfg, 'attack')) then return end
@ -100,7 +101,7 @@ function ca_messenger_move:execution(ai, cfg, self)
end
if max_rating > -9e99 then
ai.attack(messenger, best_tar, best_weapon)
AH.checked_attack(ai, messenger, best_tar, best_weapon)
else
-- Otherwise, always attack enemy on last waypoint
local waypoint_x = AH.split(cfg.waypoint_x, ",")
@ -113,12 +114,13 @@ function ca_messenger_move:execution(ai, cfg, self)
}[1]
if target then
ai.attack(messenger, target)
AH.checked_attack(ai, messenger, target)
end
end
if (not messenger) or (not messenger.valid) then return end
-- Finally, make sure unit is really done after this
ai.stopunit_attacks(messenger)
AH.checked_stopunit_attacks(ai, messenger)
end
return ca_messenger_move

View file

@ -114,16 +114,17 @@ function ca_patrol:execution(ai, cfg, self)
if cfg.one_time_only and
(patrol.x == waypoints[n_wp][1]) and (patrol.y == waypoints[n_wp][2])
then
ai.stopunit_moves(patrol)
AH.checked_stopunit_moves(ai, patrol)
else -- otherwise move toward next WP
local x, y = wesnoth.find_vacant_tile(self.data[patrol.id..'_x'], self.data[patrol.id..'_y'], patrol)
local nh = AH.next_hop(patrol, x, y)
if nh and ((nh[1] ~= patrol.x) or (nh[2] ~= patrol.y)) then
ai.move(patrol, nh[1], nh[2])
AH.checked_move(ai, patrol, nh[1], nh[2])
else
ai.stopunit_moves(patrol)
AH.checked_stopunit_moves(ai, patrol)
end
end
if (not patrol) or (not patrol.valid) then return end
end
-- Attack unit on the last waypoint under all circumstances if cfg.one_time_only is set
@ -148,13 +149,13 @@ function ca_patrol:execution(ai, cfg, self)
if next(enemies) then
for i,v in ipairs(enemies) do
ai.attack(patrol, v)
AH.checked_attack(ai, patrol, v)
break
end
end
if (not patrol) or (not patrol.valid) then return end
-- Check that patrol is not killed
if patrol and patrol.valid then ai.stopunit_all(patrol) end
AH.checked_stopunit_all(ai, patrol)
end
return ca_patrol

View file

@ -127,7 +127,10 @@ function ca_protect_unit_attack:execution(ai, cfg, self)
local defender = wesnoth.get_unit(self.data.best_attack.target.x, self.data.best_attack.target.y)
AH.movefull_stopunit(ai, attacker, self.data.best_attack.dst.x, self.data.best_attack.dst.y)
ai.attack(attacker, defender)
if (not attacker) or (not attacker.valid) then return end
if (not defender) or (not defender.valid) then return end
AH.checked_attack(ai, attacker, defender)
self.data.best_attack = nil
end

View file

@ -103,7 +103,7 @@ end
function ca_recruit_random:execution(ai, cfg)
-- Let this function blacklist itself if the chosen recruit is too expensive
if wesnoth.unit_types[recruit].cost <= wesnoth.sides[wesnoth.current.side].gold then
ai.recruit(recruit)
AH.checked_recruit(ai, recruit)
end
end

View file

@ -79,7 +79,10 @@ function ca_simple_attack:execution(ai, cfg, self)
local defender = wesnoth.get_unit(self.data.attack.target.x, self.data.attack.target.y)
AH.movefull_outofway_stopunit(ai, attacker, self.data.attack.dst.x, self.data.attack.dst.y)
ai.attack(attacker, defender, (cfg.weapon or -1))
if (not attacker) or (not attacker.valid) then return end
if (not defender) or (not defender.valid) then return end
AH.checked_attack(ai, attacker, defender, (cfg.weapon or -1))
self.data.attack = nil
end

View file

@ -44,7 +44,7 @@ function ca_stationed_guardian:execution(ai, cfg)
-- if no enemies are within 'distance': keep unit from doing anything and exit
if not enemies[1] then
--print("No enemies close -> sleeping:",unit.id)
ai.stopunit_moves(unit)
AH.checked_stopunit_moves(ai, unit)
return
end
@ -92,9 +92,9 @@ function ca_stationed_guardian:execution(ai, cfg)
if (best_defense ~= -9e99) then
--print("Attack at:",attack_loc[1],attack_loc[2],best_defense)
AH.movefull_stopunit(ai, unit, attack_loc)
-- There should be an ai.check_attack_action() here in case something weird is
-- done in a 'moveto' event.
ai.attack(unit, target)
if (not unit) or (not unit.valid) then return end
if (not target) or (not target.valid) then return end
AH.checked_attack(ai, unit, target)
else -- otherwise move toward that enemy
--print("Cannot reach target, moving toward it")
local reach = wesnoth.find_reach(unit)
@ -125,9 +125,9 @@ function ca_stationed_guardian:execution(ai, cfg)
AH.movefull_stopunit(ai, unit, nh)
end
-- Get unit again, just in case something was done to it in a 'moveto' or 'attack' event
local unit = wesnoth.get_units{ id = cfg.id }[1]
if unit then ai.stopunit_moves(unit) end
if (not unit) or (not unit.valid) then return end
AH.checked_stopunit_moves(ai, unit)
-- If there are attacks left and unit ended up next to an enemy, we'll leave this to RCA AI
end

View file

@ -136,7 +136,7 @@ function ca_wolves_multipacks_attack:execution(ai, cfg)
end
local a_x, a_y, d_x, d_y = attacker.x, attacker.y, defender.x, defender.y
ai.attack(attacker, defender)
AH.checked_attack(ai, attacker, defender)
-- Remove the labels, if one of the units died
if cfg.show_pack_number then
if (not attacker.valid) then W.label { x = a_x, y = a_y, text = "" } end
@ -182,7 +182,7 @@ function ca_wolves_multipacks_attack:execution(ai, cfg)
W.label { x = w.x, y = w.y, text = "" }
end
AH.movefull_stopunit(ai, w, best_hex)
if cfg.show_pack_number then
if cfg.show_pack_number and w and w.valid then
WMPF.color_label(w.x, w.y, pack_number)
end
end

View file

@ -132,7 +132,7 @@ function ca_wolves_multipacks_wander:execution(ai, cfg)
W.label { x = w.x, y = w.y, text = "" }
end
AH.movefull_stopunit(ai, w, best_hex)
if cfg.show_pack_number then
if cfg.show_pack_number and w and w.valid then
WMPF.color_label(w.x, w.y, k)
end
end

View file

@ -84,7 +84,8 @@ function ca_zone_guardian:execution(ai, cfg)
if (best_defense ~= -9e99) then
--print("Attack at:",attack_loc[1],attack_loc[2],best_defense)
AH.movefull_stopunit(ai, unit, attack_loc)
ai.attack(unit, target)
if (not unit) or (not unit.valid) then return end
AH.checked_attack(ai, unit, target)
else -- otherwise move toward that enemy
--print("Cannot reach target, moving toward it")
local reach = wesnoth.find_reach(unit)
@ -153,10 +154,9 @@ function ca_zone_guardian:execution(ai, cfg)
AH.movefull_stopunit(ai, unit, nh)
end
end
if (not unit) or (not unit.valid) then return end
-- Get unit again, just in case something was done to it in a 'moveto' or 'attack' event
local unit = wesnoth.get_units{ id = cfg.id }[1]
if unit then ai.stopunit_moves(unit) end
AH.checked_stopunit_moves(ai, unit)
-- If there are attacks left and unit ended up next to an enemy, we'll leave this to RCA AI
end

View file

@ -1,53 +1,65 @@
border_size=1
usage=map
Hh^Fp, Hh^Fp, Hh^Fp, Hh^Fp, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Ds, Ww, Ww, Ww, Ww, Ww, Ww, Hhd, Hh, Hh, Hh, Hh, Gg, Gg, Gg, Gg, Gg, Gg, Gs, Hh, Hh, Hh, Hhd, Hhd, Hhd, Hhd, Hhd, Hhd, Ms, Ms, Ms, Aa^Fpa, Aa^Fpa, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms
Hh^Fp, Hh^Fp, Gll^Fp, Gs^Fms, Re^Gvs, Gs^Fms, Gll^Fp, Gll^Fp, Ds, Ww, Ww, Ww, Ww, Ww, Ww, Hhd, Gll, Hh, Gg, Gg, Gs, Gg, Gg, Gg^Es, Hh, Gs, Hh, Hh, Hh, Hhd, Mm, Hhd, Gll^Fp, Hhd, Ms, Ms, Ms, Ms, Ms, Aa^Fpa, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms
Hh^Fp, Hh^Fms, Gll^Fp, Re^Gvs, Re^Gvs, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fms, Ds, Ww, Ww, Ww, Ww, Ww, Gd, Gd, Gg, Gg, Gg, Gg, Gg, Gs, Hh, Mm, Hh, Hhd, Hhd, Hhd, Mm, Mm, Mm, Gll^Fp, Gll^Fp, Aa^Fpa, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms
Hh^Fp, Hh^Fp, Gs^Fms, Re^Gvs, Gs^Fp, Re^Ve, Gll^Fp, Gll^Fp, Gs^Fms, Ds, Ww, Ww, Ww, Wwr, Ww, Ww^Es, Gs, Gg, Gs, Gg, Rb, Rb, Hhd, Hhd, Mm, Hhd, Hhd, Hhd, Hhd^Fp, Hhd, Hhd^Fp, Mm, Gll^Fp, Gll^Fp, Hhd^Fp, Mm, Aa^Fpa, Ha^Vhha, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms
Hh^Fms, Hh^Fms, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Em, Gs^Fms, Ds^Es, Ds, Ww, Ww, Ww, Ww, Ds, Gg^Es, Gg, Gg^Efm, Gg, Gg, Rb, Rb^Vc, Re, Hhd, Hhd^Fp, Hhd, Hh, Hhd, Hhd, Gd^Fp, Hhd, Gll^Fp, Hhd, Hhd^Fp, Gd^Fp, Hhd^Fp, Ms, Aa^Fpa, Ms, Ms, Ha^Vhha, Ms, Ms, Ms, Ha^Vhha, Ms, Ms, Ms, Ms, Ms
Gs^Fms, Gs^Fms, Gg^Efm, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fds, Rd, Ds, Ww, Ww, Ww, Ww, Ww, Ww, Gg, Gs, Gs, Gg, Gg^Es, Gg, Re, Gs, Gll^Fp, Gd, Gs^Fet, Gs^Es, Hhd, Gd, Hhd, Hh, Hhd, Hhd, Hhd^Fp, Hhd, Aa^Fpa, Mm, Mm, Mm, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms
Gs^Fms, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Uf, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fms, Ds, Ww, Ww^Vm, Ww, Ww, Ww, Gg, Gs, Gs, Gg, Gg, Hh, Gs, Hh, Gd, Hhd, Gd, Hh, Gd, Hhd, Mm, Mm, Hh, Mm, Hhd, Mm, Hhd, Mm, Mm, Mm, Mm, Aa^Vea, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms
Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fms, Gs^Fms, Gg^Fet, Ds, Ww, Ww, Ww, Ww, Ww, Gg, Gg, Gs, Hh, Gs, Hh, Hh, Hhd, Hhd, Mm, Mm, Hh, Hhd, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms
Mm, Gs^Fms, Gll^Fp, Gs^Fms, Ss, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Ds, Ww, Ww, Ww, Ww, Wwf^Es, Wwf^Es, Gg, Hh, Gg, Hh, Gs, Hh, Gd, Hhd, Mm, Hhd, Hh, Hhd, Hhd, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Gd^Fmf, Ms, Aa^Vea, Ms, Ms, Ms, Ms, Ms
Mm, Mm, Mm, Gs^Fms, Gs^Fms, Gs^Fms, Wwg^Es, Gs^Fms, Ww, Ds, Ww, Ww, Wwf^Es, Wwrg, Wwf^Es, Wwrg, Wwf^Es, Gg, Gg, Gg, Hh, Gs, Hh, Hhd, Hhd, Hhd, Hh, Hh, Hhd, Hhd, Hhd, Mm, Hhd, Mm, Gll^Fp, Mm, Gll^Fp, Mm, Hh^Fp, Mm, Hhd^Fmf, Mm, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp
Mm, Mm, Mm, Gs^Fms, Ss, Gs^Fms, Gs^Efm, Ww, Ww^Bw|, Ww, Ww, Rd, Rd, Wwf^Es, Wwf, Wwf^Es, Wwf^Es, Gg, Gs, Gg, Hh, Hh, Hh, Hhd, Hh, Hh, Hh, Hh, Hh, Hhd, Hh, Hhd, Hh, Hh^Fp, Hhd, Hh^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gd^Fp, Gd^Fp, Gd^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp
Mm, Mm, Ss, Gs^Uf, Gs^Fds, Gs^Fms, Gs^Fms, Ww, Gs, Ww, Gd, Rd, Gd, Wwrg, Wwf^Es, Wwrg, Wwg^Es, Gg, Gg, Gg, Gg^Es, Hh, Gg, Hh, Gg, Hh, Gs, Gs, Gg, Hh, Gg, Hh, Gg, Hh, Gs, Gll^Fp, Gg, Gll^Fp, Gs, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Em, Gll^Fp, Gll^Fp, Gll^Fp
Gs^Fds, Gs^Fds, Gs^Fms, Gll^Fp, Gs^Fms, Ss, Gs^Fds, Gs^Fms, Gs^Efm, Gs^Fms, Gs, Gd, Gs, Gs, Gg, Wwg^Es, Ww, Ww, Ww, Gg, Gs, Gg, Gs, Gg, Gg, Gg, Gg, Gg, Gs^Fds, Gs, Gg, Gg, Gg, Gg, Gg, Rp^Ve, Rp, Gg, Gg, Gg, Rrc, Gs^Fms, Rrc, Gs^Fms, Rr^Ve, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp
Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Rb, Gs^Fms, Gs, Gs, Gg, Gg^Es, Gg, Gg, Ww, Ww^Es, Ww, Gg, Gll^Fp, Gs^Fds, Gll^Fp, Gs, Gll^Fp, Gs, Gll^Fp, Gs^Fds, Gll^Fp, Gs^Fds, Gll^Fp, Gs^Fms, Gll^Fp, Gg^Es, Gll^Fp, Gg, Rp, Gg, Rrc, Rrc, Gs^Fms, Rrc, Gs^Fms, Rrc, Rrc, Rrc, Rrc, Rrc, Rrc, Rrc
Gs^Fds, Ss, Gs^Fds, Gs^Fms, Gg^Efm, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Rr^Ve, Rr, Gs, Gg, Gg, Gll^Fp, Gs^Fds, Gs^Fds, Ww, Ww, Ww, Ww, Gll^Fp, Gs^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fms, Re^Ve, Gs^Fms, Gll^Fp, Gs^Fms, Rrc, Rrc, Gs^Vhs, Gs^Em, Gs^Fms, Rr^Ve, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Re^Ve, Gs^Fds, Re, Gs^Fms, Re, Re, Gs, Rr, Rr, Gs, Gll^Fp, Gs^Fds, Gs^Fds, Ww, Ww^Es, Ww^Es, Ww, Gs^Fms, Gs^Fds, Gs^Fms, Hh^Fds, Hh^Fms, Re^Vhs, Gs^Fms, Gs^Fet, Gs^Fms, Gs^Fms, Gs^Fms, Re, Gs^Fms, Rrc, Rrc, Gs^Fms, Rp, Rp, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gll^Fp, Hh^Fp, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Gs^Fds, Gs^Fds, Gs^Gvs, Re^Gvs, Gs^Fds, Re, Gs^Fms, Re, Gs^Fds, Gs^Fds, Gg, Gg, Rp, Gs, Gs^Fds, Gs^Fds, Hh, Gs^Fds, Ww, Ww, Wo^Es, Ww^Es, Wwr, Gs^Fms, Hh^Fms, Hh, Gll^Fp, Re, Gs^Efm, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fms, Re^Vhs, Rrc, Gg, Gs^Fms, Rp^Ve, Rp, Gll^Fp, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Em, Gs^Fms, Gs^Fms
Gs^Fds, Gs^Fms, Re^Ve, Gd^Gvs, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Hh^Fds, Gs^Fds, Gs^Fds, Gg, Gs^Fds, Rp, Gs^Fds, Gs^Fms, Gll^Fp, Gs^Fds, Ww^Es, Ww^Es, Wwr, Wwr, Wo^Es, Gs^Fds, Ww^Es, Gs^Fds, Gs^Fms, Re^Ve, Rp, Rp^Ve, Rp, Gs^Fms, Rrc, Rrc, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Efm, Gll^Fp, Rp, Rr^Ve, Gs^Fms, Gg, Gs^Ve, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Gs^Fds, Gs^Fds, Re, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gll^Fp, Hh, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Rp, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fds, Ww^Es, Gs^Fds, Wo^Es, Wo^Es, Ww^Es, Wwr, Gs^Fms, Gs^Fms, Gll^Fp, Gll^Fp, Rp, Gs^Fms, Rrc, Gs, Gs^Em, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Gs^Fds, Gs^Fms, Gg, Rp, Rp, Gs^Em, Gg^Gvs, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Gs^Fds, Gll^Fp, Gs^Fds, Re, Gll^Fp, Gs^Fds, Gs^Fds, Hh^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Rp, Rp, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Ww^Es, Wwr, Wwr, Wo^Es, Gs^Fds, Gs^Fms, Gll^Fp, Gs^Fms, Gs^Fms, Ww, Rrc, Ww, Gs^Fms, Gs^Fms, Gll^Fp, Gll^Fp, Ss, Gs^Fms, Gs^Fms, Gs, Gd, Gg^Fet, Gs, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Gs^Fds, Gs^Fds, Re, Re, Gs^Fds, Gs^Fds, Hh^Fds, Hh^Fms, Gs^Fds, Gs^Fds, Gg, Gs^Fds, Rp, Rp, Gs^Fds, Rrc^Ve, Hh, Gs^Fds, Hh, Gs^Fds, Ss, Wwg^Es, Gs^Fds, Wo^Es, Wo^Es, Ww^Es, Wwr, Gs^Fms, Ww, Gs^Fds, Ww, Ww^Bsb|, Ww, Gs^Fds, Ww, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Gs^Ve, Gs, Gs, Rp, Gd, Gg, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms
Gs^Fds, Gs^Fds, Re^Gvs, Gs^Fds, Ss, Gs^Fds, Gs^Fds, Hh, Gs^Fms, Gs^Fds, Rp, Rp, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gd^Fdw, Gs^Fms, Gs^Fds, Hh^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Ww^Es, Wwr, Wwr, Wo^Es, Gs^Fds, Ww, Ww, Cv^Fet, Ww^Bsb|, Cv^Fet, Ww, Ww, Gs^Fds, Gs^Fds, Gs^Fms, Gll^Fp, Gs^Efm, Gs^Fms, Gs^Fms, Gll^Fp, Rp, Gll^Fp, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms
Gs^Fds, Re^Gvs, Re^Gvs, Gs^Fds, Gs^Fds, Ss, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fds, Rp, Gll^Fp, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Ww^Es, Gs^Fds, Wo^Es, Wo, Ww, Ww, Ww, Cv, Rp, Cv, Ww, Ww, Ww, Ww, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Em, Gs^Fms, Gd, Rp, Gg^Gvs, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Gs^Fds, Re^Ve, Gs^Fds, Gs^Fds, Gs^Fds, Ss, Hh^Fp, Gs^Fms, Gs^Fds, Gs^Fds, Rp, Hh^Fp, Hh^Fms, Hh^Fds, Gll^Em, Gll^Fp, Gll^Fp, Gs^Fds, Gs, Gs, Gs, Re^Ve, Re^Gvs, Gs^Fds, Gs^Fds, Ww, Ww, Ww, Cv^Fet, Cv, Gs, Gs, Gs, Cv, Cv^Fet, Ww, Ww, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fms, Rp^Ve, Gs^Fms, Gg^Gvs, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Gs^Fds, Gs^Fds, Hh^Fms, Gs^Fds, Hh^Fms, Hh^Fds, Hh^Fms, Hh^Fms, Gs^Fds, Gs^Fds, Rp, Gll^Fp, Gs^Fds, Hh^Fms, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Gs, Gs^Fet, Gll^Emf, Re^Gvs, Re^Gvs, Re, Ww, Ww, Ww, Ww, Cv, Gg^Ve, Gs^Efm, Kv, Gs^Efm, Gg^Ve, Cv, Ww, Ww, Ww, Ww, Gs^Fms, Ss, Gs^Fp, Rp, Rp, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Hh^Fp, Hhd, Mm, Hhd, Hh^Fms, Gs^Fds, Re^Gvs, Gs^Fds, Gs^Fds, Gg^Efm, Gg, Rp, Gs^Fds, Hh, Gs^Fms, Gs^Fds, Gs^Fds, Gg^Ve, Gg^Efm, Gll^Emf, Ss, Gs^Vhs, Gs^Fds, Re, Ww, Ww^Es, Ww, Cv, Gg^Emf, Gg^Efm, Gs^Efm, Wwt^Ewf, Gs^Efm, Gg^Efm, Gg^Emf, Cv, Ww, Ww, Ww, Gs^Fms, Gs^Fp, Rp, Gs^Fms, Gs^Fds, Gs^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Hhd, Mm, Mm, Mm, Hhd, Gs^Fds, Re^Gvs, Re^Gvs, Gs^Fds, Gs^Fds, Gs^Fds, Rp, Gll^Fp, Hh^Fds, Hh^Fds, Hh, Gs^Fds, Gg^Efm, Gs^Fds, Ss, Ss, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Ww, Ww, Cv, Cv, Kv, Cv, Gs^Efm, Cv, Kv, Cv, Cv, Ww, Ww, Gs^Fms, Gs^Fms, Gs^Fms, Rp^Ve, Rp, Gs^Fms, Gll^Fp, Hh^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Mm, Mm, Mm, Mm, Hh^Fms, Gs^Fds, Re, Re^Ve, Re, Re, Re, Rp, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fp, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Ww, Ww, Cv^Fet, Ww, Wwg, Cv, Gs, Cv, Wwg, Wwr, Cv^Fet, Ww, Ww, Gs^Fds, Hh^Fds, Gll^Fp, Gs^Fms, Rp, Gll^Fp, Gs^Fms, Gs^Fms, Gg^Gvs, Gs^Fms, Gs^Fms, Gs^Fms
Hhd, Mm, Wwf, Hh^Fds, Re, Re^Ve, Re, Gll^Fp, Gs^Fds, Gs^Fds, Gs, Rp, Gs^Fds, Gs^Fds, Hh, Hh^Fms, Re^Gvs, Gs^Fds, Gll^Fp, Gs^Fms, Gs^Fds, Gs^Fds, Mm, Gs^Fds, Gs^Fds, Ww, Wwf, Ww, Ww, Cv, Cv, Gs, Cv, Cv, Ww, Ww, Wo^Es, Ww^Es, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Vhs, Rp, Rp^Ve, Gg^Gvs, Gg^Gvs, Gs^Fms, Gs^Fms, Gs^Fms
Gs^Fds, Hh^Fds, Wwf, Hh^Fms, Re, Gll^Fp, Cv, Cv, Gs^Fds, Gs^Fms, Rp, Rp, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fp, Re^Ve, Gs^Emf, Gll^Fp, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Ww, Ww, Cv^Fet, Ww, Rp, Ww, Cv^Fet, Ww, Wwr, Wo^Es, Wwr, Wwr, Gs^Fms, Ww^Es, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Gs^Fds, Gs^Fds, Ss, Ss, Re^Ve, Gll^Fp, Cv, Kv, Gs^Fds, Gs^Fds, Rp, Gg^Efm, Gs^Fms, Gs^Fds, Gs^Fds, Re^Gvs, Re^Gvs, Gg^Efm, Gs, Gs^Fds, Gs^Es, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Em, Gs^Fds, Gs^Fds, Ww, Gs^Fds, Ww, Ww, Ww^Bsb|, Ww, Ww, Gs^Fds, Wo^Es, Wwr, Wwr, Wo^Es, Gs^Fds, Ww^Es, Gs^Fds, Ww^Es, Hh^Fp, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Gs^Fms, Ss^Ewl, Ss, Gs^Emf, Gs^Fds, Gs^Fds, Cv, Cv, Gs^Fds, Gs^Fds, Gs^Fds, Rp, Gs^Fds, Gll^Fp, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Gs, Gs^Fds, Gs, Gs^Vhs, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Ww, Cv^Fet, Ww^Bsb|, Cv^Fet, Ww, Gs^Fds, Ww^Es, Gs^Fds, Wo^Es, Wwr, Wwr, Wo^Es, Wwr, Wo^Es, Gs^Fds, Ww^Es, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Gs^Fms, Gs^Fms, Gs^Fds, Wwf, Wwf, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gg^Em, Rp, Gs^Fms, Gs^Fds, Gll^Fp, Hh, Gs^Fds, Hh, Hh^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Gs^Fms, Hh, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Gs^Fds, Rrc, Gs^Fds, Gs^Fds, Hh^Fds, Gs^Fds, Wwf, Ww^Es, Gs^Vhs, Wo^Es, Wwr, Wo^Es, Wwr, Wwr, Wo^Es, Wot^Es, Wot^Es, Wot^Es, Wot^Es, Wot^Es
Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Ss, Gg^Emf, Ss, Ss, Gs^Fds, Gs^Fds, Rp, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Hh^Fds, Hh^Fds, Gs^Fds, Gs^Fds, Ss, Gs^Fds, Hh, Gs^Fms, Gll^Fp, Gs^Fds, Re^Gvs, Re^Gvs, Gs^Fds, Gs^Fds, Gg^Es, Rrc, Gg, Hh^Fds, Gs^Fds, Gs^Fds, Wwf, Gs^Fds, Gs^Fds, Ww^Es, Gs^Fds, Ww^Es, Gs^Fms, Wo^Es, Re^Ve, Wo^Es, Wo^Es, Wo^Es, Wo^Es, Wo^Es
Gs^Fms, Gll^Fp, Gll^Fp, Gs^Fms, Gs^Fds, Ss, Ss, Gs^Fds, Ss, Ss, Rp, Rp, Gs^Fds, Hh, Hh^Fds, Gs^Fds, Hh^Fds, Gs^Fms, Gs^Em, Ss, Ss, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fds, Gg^Ve, Gs^Fds, Gs, Rrc, Rrc, Gg, Gs^Fds, Gs^Fds, Wwf, Hh^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Ww^Es, Re, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds
Hh^Fds, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Ss, Rp, Ss, Rp, Ss^Bw/, Ss^Bw|, Ss, Ss, Ss, Hh^Fds, Hh^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Vhs, Gs, Gd^Fdw, Gd^Fdw, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Rrc, Rrc, Gs^Fds, Gs, Gs^Fds, Gg^Efm, Gs^Fds, Wwf, Hh^Fms, Gs^Fds, Gll^Fp, Hh^Fms, Hh^Fds, Gs^Fds, Hh^Fds, Gs^Fds, Re, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds
Hh^Fds, Hh^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Rp, Gs^Fds, Rp, Gs^Fds, Ss, Rp, Ss, Gs^Fds, Gs^Fds, Gd^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Hh, Gg^Efm, Gg^Efm, Gs^Fds, Gs^Fds, Gd^Fdw, Gs^Fds, Gs^Fds, Rrc, Gs^Vhs, Rrc, Gg, Gs^Fds, Gs^Vhs, Gs^Fds, Gs^Fds, Hh^Fds, Wwf, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fds, Gll^Fp, Hh^Fms, Hh^Fds, Re^Es, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Hh^Fds, Hh^Fds, Gs^Fds, Re^Gvs, Re^Gvs, Re^Gvs, Gs^Efm, Rr^Ve, Gs^Es, Gs^Fds, Rp, Gs, Gs^Fds, Gd^Fds, Gd^Fdw, Gd^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Rrc, Rrc, Gs^Fds, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Hh^Fds, Wwf, Wwf, Hh^Fms, Re^Vhs, Re, Re, Re, Re, Re, Re, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Gs^Fds, Gs^Fds, Gs^Fds, Re^Gvs, Gs^Fds, Re^Gvs, Gs^Fds, Gs^Es, Gs^Fds, Gs^Fds, Gs, Rp, Gs^Fds, Gd^Fdw, Gd^Fms, Gd^Fds, Gs^Fds, Gs^Fds, Rp, Gs^Fms, Rp, Rp, Rr, Gs^Fds, Rrc, Gs^Fds, Gs^Fms, Gs^Fds, Hh^Fds, Gs^Fds, Wwf, Wwf, Hh^Fms, Wwf, Gs^Fds, Gs^Fds, Gs^Fds, Re, Gll^Fp, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Re, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Em, Gs^Fds, Gs^Fds
Gs^Fds, Gs^Es, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Gll^Fp, Gs^Fds, Gs, Rp, Rb, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Rp, Gs^Fds, Rb, Gs^Fds, Gs^Ve, Gs^Fds, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fds, Mm, Mm, Wwf, Hh^Fds, Gs^Fms, Re^Ve, Re, Re, Re, Re, Gs^Fds, Gs^Fds, Gs^Fds, Re^Emf, Re^Gvs, Re^Ve, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds
Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Ss, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Rb, Rb, Rr^Ve, Rp, Rp, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Rrc, Gs^Fds, Gs^Fds, Gs^Fms, Hh^Fds, Wwf, Wwf, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Efm, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Mm, Gs^Fds, Gs^Fds, Re^Gvs, Gs^Efm, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Hh^Fds, Hh^Fds, Gg^Fet, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fms, Hh^Fds, Hh^Fds, Gs^Fds, Gs^Fds, Re^Ve, Gd, Gs^Fds, Gs^Fms, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Gs^Fds, Rrc, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Gll^Fp, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gg^Fet, Mm, Gs^Fms, Gll^Fp, Gs^Fds, Gs^Fds, Re^Ve, Gs^Efm, Gs^Fds, Gs^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms
Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Ss^Ewl, Gs^Fds, Ss, Hh^Fds, Mm, Mm, Gs^Fds, Gs^Fds, Gg^Ve, Gd, Gd, Gd, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Em, Gll^Fp, Gs^Fds, Hh^Fds, Mm, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Hh, Gs^Fds, Mm, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms
Gs^Fds, Gs^Efm, Gs^Fds, Ss^Ewl, Wwg^Ewl, Ss^Ewl, Gs^Fds, Hh^Fds, Hh^Fds, Mm, Gll^Fp, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Hh^Fds, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Hd^Es, Ds, Hhd, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Mm, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms
Gs^Fds, Gs^Fds, Ss, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Hh^Fds, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Ds, Gs^Fds, Gs^Fds, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fms, Gll^Fp, Gs^Fds, Gs^Fds, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms
Gs^Fds, Gs^Fds, Ss, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Hh^Fds, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fms, Gll^Fp, Gs^Fms, Gs^Fds, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms
Ss^Ewl, Ss^Ewl, Ss, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Hh^Fds, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fms, Gll^Fp, Gs^Fds, Gs^Fds, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms
Ss^Ewl, Ss^Ewl, Ss^Ewl, Ss^Ewl, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Hh^Fds, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fms, Gll^Fp, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms
Ss^Ewl, Ss^Ewl, Ss, Ss^Ewl, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Hh^Fds, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms
Ss^Ewl, Ss^Ewl, Ss, Ss^Ewl, Ss^Ewl, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gs^Fds, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Hh^Fds, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fms, Gll^Fp, Gs^Fds, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms
Hh^Fp, Hh^Fp, Hh^Fp, Hh^Fp, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Ds, Ww, Ww, Ww, Ww, Ww, Ww, Hhd, Hh, Hh, Hh, Hh, Gg, Gg, Gg, Gg, Gg, Gg, Gs, Hh, Hh, Hh, Hh, Hhd, Hhd, Hhd, Hhd, Hhd, Ms, Aa^Fpa, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm
Hh^Fp, Hh^Fp, Hh^Fp, Hh^Fp, Hh^Fp, Gs^Fms, Gs^Fms, Ds, Ds, Wwr, Ww, Ww, Ww, Ww, Ww, Hhd, Ww, Hh, Hh, Hh, Gg, Gg, Gg, Gg, Gg, Hh, Gg, Gs, Hh, Hh, Hhd, Hhd, Hh, Hhd, Hhd, Hhd, Ms, Ms, Ms, Aa^Fpa, Aa^Fpa, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm
Hh^Fp, Hh^Fp, Hh^Fp, Hh^Fp, Gs^Fms, Gs^Fms, Gs^Fms, Ds, Ww, Ww, Ww, Ww, Ww, Ww, Ww, Ww, Hhd, Hh, Hh, Gg, Gg, Gg, Gg, Gg^Efm, Gg, Gs, Gs, Hh, Hh, Hhd, Hh, Hhd, Hhd, Hhd, Hhd, Hhd, Ms, Ms, Aa^Fpa, Aa^Fpa, Ms, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm
Hh^Fp, Hh^Fp, Hh^Fp, Hh^Fp, Hh^Fp, Gs^Fms, Gs^Fms, Ds, Ds, Ww, Ww, Ww, Ww, Ww, Hhd, Hh, Hhd, Hh, Hh, Hh, Gg, Gg, Gg, Gg, Gg, Gg, Gs, Hhd, Gs, Hhd, Gs, Hh, Hhd, Hh, Hhd, Hhd, Ms, Ms, Aa^Fpa, Aa^Fpa, Aa^Fpa, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm
Hh^Fp, Hh^Fp, Gs^Fms, Gs^Fms, Hh^Fp, Gs^Fms, Gs^Fms, Gs^Fms, Ds, Ww, Ww, Ww, Ww, Ww, Ww, Hh, Hh, Hh, Hh, Hh, Gg, Gg, Gg^Efm, Gg, Gg, Hh, Hhd, Hh, Hhd, Hh, Hh, Hhd, Hhd, Hhd, Hhd, Hhd, Aa^Fpa, Aa^Fpa, Aa^Fpa, Ms, Aa^Fpa, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm
Hh^Fp, Hh^Fp, Hh^Fp, Hh^Fp, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Ds, Ww, Ww, Ww, Ww, Ww, Hhd, Hh, Ww, Hh, Hh, Gg, Gg, Gg, Gg, Gg, Gg, Hh, Gg, Gs, Hh, Hhd, Hhd, Hhd, Hhd, Hhd, Hhd, Hhd, Ms, Ms, Ms, Aa^Fpa, Ms, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm
Hh^Fp, Hh^Fp, Hh^Fp, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Ds, Ww, Ww, Ww, Ww, Ww, Ww, Hhd, Hhd, Hh, Hh, Hh, Hh, Gg, Gg, Gg, Gg, Gg, Gg^Efm, Gg, Hh, Hhd, Hhd, Hhd, Hh, Hhd, Hhd, Hhd, Hhd, Ms, Ms, Aa^Fpa, Ms, Aa^Fpa, Ms, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm
Hh^Fp, Hh^Fp, Gll^Fp, Gs^Fms, Re^Gvs, Gs^Fms, Gll^Fp, Gll^Fp, Gs^Fms, Ww, Ww, Ww, Ww, Ww, Ww, Hh, Gll, Gg, Gg, Gg, Gs, Gg, Gg, Gg^Es, Hh, Gs, Hh, Hh, Hh, Hhd, Mm, Hhd, Gll^Fp, Hhd, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm
Hh^Fp, Hh^Fms, Gll^Fp, Re^Gvs, Re^Gvs, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fms, Ds, Ww, Ww, Ww, Ww, Ww, Gd, Gd, Gg, Gg, Gg, Gg, Gg, Gs, Hh, Mm, Hh, Hhd, Hhd, Hhd, Mm, Mm, Mm, Gll^Fp, Gll^Fp, Aa^Fpa, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm
Hh^Fp, Hh^Fp, Gs^Fms, Re^Gvs, Gs^Fp, Re^Ve, Gll^Fp, Gll^Fp, Gs^Fms, Ds, Ww, Ww, Ww, Wwr, Ww, Ww^Es, Gs, Gg, Gs, Gg, Rb, Rb, Hhd, Hhd, Mm, Hhd, Hhd, Hhd, Hhd^Fp, Hhd, Hhd^Fp, Mm, Gll^Fp, Gll^Fp, Hhd^Fp, Mm, Aa^Fpa, Ha^Vhha, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm
Hh^Fms, Hh^Fms, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Em, Gs^Fms, Ds^Es, Ds, Ww, Ww, Ww, Ww, Ds, Gg^Es, Gg, Gg^Efm, Gg, Gg, Rb, Rb^Vc, Re, Hhd, Hhd^Fp, Hhd, Hh, Hhd, Hhd, Gd^Fp, Hhd, Gll^Fp, Hhd, Hhd^Fp, Gd^Fp, Hhd^Fp, Ms, Aa^Fpa, Ms, Ms, Ha^Vhha, Ms, Ms, Ms, Ha^Vhha, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm
Gs^Fms, Gs^Fms, Gg^Efm, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fds, Rd, Ds, Ww, Ww, Ww, Ww, Ww, Ww, Gg, Gs, Gs, Gg, Gg^Es, Gg, Re, Gs, Gll^Fp, Gd, Gs^Fet, Gs^Es, Hhd, Gd, Hhd, Hh, Hhd, Hhd, Hhd^Fp, Hhd, Aa^Fpa, Mm, Mm, Mm, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm
Gs^Fms, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Uf, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fms, Ds, Ww, Ww^Vm, Ww, Ww, Ww, Gg, Gs, Gs, Gg, Gg, Hh, Gs, Hh, Gd, Hhd, Gd, Hh, Gd, Hhd, Mm, Mm, Hh, Mm, Hhd, Mm, Hhd, Mm, Mm, Mm, Mm, Aa^Vea, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm
Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fms, Gs^Fms, Gg^Fet, Ds, Ww, Ww, Ww, Ww, Ww, Gg, Gg, Gs, Hh, Gs, Hh, Hh, Hhd, Hhd, Mm, Mm, Hh, Hhd, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms^Xm, Ms, Ms^Xm, Ms, Ms
Mm, Gs^Fms, Gll^Fp, Gs^Fms, Ss, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Ds, Ww, Ww, Ww, Ww, Wwf^Es, Wwf^Es, Gg, Hh, Gg, Hh, Gs, Hh, Gd, Hhd, Mm, Hhd, Hh, Hhd, Hhd, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Mm, Gd^Fmf, Ms, Aa^Vea, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms
Mm, Mm, Mm, Gs^Fms, Gs^Fms, Gs^Fms, Wwg^Es, Gs^Fms, Ww, Ds, Ww, Ww, Wwf^Es, Wwrg, Wwf^Es, Wwrg, Wwf^Es, Gg, Gg, Gg, Hh, Gs, Hh, Hhd, Hhd, Hhd, Hh, Hh, Hhd, Hhd, Hhd, Mm, Hhd, Mm, Gll^Fp, Mm, Gll^Fp, Mm, Hh^Fp, Mm, Hhd^Fmf, Mm, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms
Mm, Mm, Mm, Gs^Fms, Ss, Gs^Fms, Gs^Efm, Ww, Ww^Bw|, Ww, Ww, Rd, Rd, Wwf^Es, Wwf, Wwf^Es, Ww^Es, Gg, Gs, Gg, Hh, Hh, Hh, Hhd, Hh, Hh, Hh, Hh, Hh, Hhd, Hh, Hhd, Hh, Hh^Fp, Hhd, Hh^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gd^Fp, Gd^Fp, Gd^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms
Mm, Mm, Ss, Gs^Uf, Gs^Fds, Gs^Fms, Gs^Fms, Ww, Gs, Ww, Gd, Rd, Gd, Wwrg, Ww^Es, Wwr, Wo^Es, Gg, Gg, Gg, Gg^Es, Hh, Gg, Hh, Gg, Hh, Gs, Gs, Gg, Hh, Gg, Hh, Gg, Hh, Gs, Gll^Fp, Gg, Gll^Fp, Gs, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Em, Gll^Fp, Gg^Es, Gll^Fp, Gll^Fp, Ms, Gg^Es, Ms, Gll^Fp, Ms, Gll^Fp, Ms, Gg^Em, Gll^Fp, Gll^Fp, Gll^Fp
Gs^Fds, Gs^Fds, Gs^Fms, Gll^Fp, Gs^Fms, Ss, Gs^Fds, Gs^Fms, Gs^Efm, Gs^Fms, Gs, Gd, Gs, Gs, Gg, Wo, Wo, Wo, Ww, Gg, Gs, Gg, Gs, Gg, Gg, Gg, Gg, Gg, Gs^Fds, Gs, Gg, Gg, Gg, Gg, Gg, Rp^Ve, Rp, Gg, Gg, Gg, Rrc, Gs^Fms, Rrc, Gs^Fms, Rr^Ve, Gll^Fp, Gg, Gs^Fms, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fms, Gll^Fp, Gg, Gs^Fms, Gs^Fms, Gll^Fp, Gll^Fp, Gll^Fp
Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Rb, Gs^Fms, Gs, Gs, Gg, Gg^Es, Gg, Gg, Ww, Ww^Es, Wo, Gg, Gll^Fp, Gs^Fds, Gll^Fp, Gs, Gll^Fp, Gs, Gll^Fp, Gs^Fds, Gll^Fp, Gs^Fds, Gll^Fp, Gs^Fms, Gll^Fp, Gg^Es, Gll^Fp, Gg, Rp, Gg, Rrc, Rrc, Gs^Fms, Rrc, Gs^Fms, Rrc, Rrc, Rrc, Rrc, Gs^Fms, Gg, Gg^Em, Gs^Fms, Gs^Fms, Gg^Em, Gs^Fms, Gll^Fp, Gg, Gll^Fp, Gg, Gs^Fms, Gll^Fp, Rrc, Rrc
Gs^Fds, Ss, Gs^Fds, Gs^Fms, Gg^Efm, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Rr^Ve, Rr, Gs, Gg, Gg, Gll^Fp, Gs^Fds, Gs^Fds, Wo, Ww, Ww, Ww, Gll^Fp, Gs^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fms, Re^Ve, Gs^Fms, Gll^Fp, Gs^Fms, Rrc, Rrc, Gs^Vhs, Gs^Em, Gs^Fms, Rr^Ve, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Rrc, Gll^Fp, Gll^Fp, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gg, Gll^Fp, Gs^Fms, Gg, Gs^Fms, Gg, Rrc, Gg, Gs^Fms
Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Re^Ve, Gs^Fds, Re, Gs^Fms, Re, Re, Gs, Rr, Rr, Gs, Gll^Fp, Gs^Fds, Gs^Fds, Ww, Ww^Es, Ww^Es, Ww, Gs^Fms, Gs^Fds, Gs^Fms, Hh^Fds, Hh^Fms, Re^Vhs, Gs^Fms, Gs^Fet, Gs^Fms, Gs^Fms, Gs^Fms, Re, Gs^Fms, Rrc, Rrc, Gs^Fms, Rp, Rp, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gll^Fp, Hh^Fp, Gs^Fms, Gs^Fms, Rrc, Rrc, Rrc, Rrc, Gll^Fp, Rrc, Gll^Fp, Rrc, Gll^Fp, Rrc, Rrc, Rrc, Rrc, Md, Gs^Fms
Gs^Fds, Gs^Fds, Gs^Gvs, Re^Gvs, Gs^Fds, Re, Gs^Fms, Re, Gs^Fds, Gs^Fds, Gg, Gg, Rp, Gs, Gs^Fds, Gs^Fds, Hh, Gs^Fds, Ww, Ww, Wo^Es, Ww^Es, Wwr, Gs^Fms, Hh^Fms, Hh, Gll^Fp, Re, Gs^Efm, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fms, Re^Vhs, Rrc, Gg, Gs^Fms, Rp^Ve, Rp, Gll^Fp, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Em, Gs^Fms, Gs^Fms, Gs^Fms, Rrc, Gs^Fms, Rrc, Gs^Fms, Rrc, Gg, Gg, Gg, Md, Md, Md
Gs^Fds, Gs^Fms, Re^Ve, Gd^Gvs, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Hh^Fds, Gs^Fds, Gs^Fds, Gg, Gs^Fds, Rp, Gs^Fds, Gs^Fms, Gll^Fp, Gs^Fds, Ww^Es, Ww^Es, Wwr, Wwr, Wo^Es, Gs^Fds, Ww^Es, Gs^Fds, Gs^Fms, Re^Ve, Rp, Rp^Ve, Rp, Gs^Fms, Rrc, Rrc, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Efm, Gll^Fp, Rp, Rr^Ve, Gs^Fms, Gg, Gs^Ve, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Md, Md, Md, Md, Md, Md
Gs^Fds, Gs^Fds, Re, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gll^Fp, Hh, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Rp, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fds, Ww^Es, Gs^Fds, Wo^Es, Wo^Es, Ww^Es, Wwr, Gs^Fms, Gs^Fms, Gll^Fp, Gll^Fp, Rp, Gs^Fms, Rrc, Gs, Gs^Em, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Gs^Fds, Gs^Fms, Gg, Rp, Rp, Gs^Em, Gg^Gvs, Gs^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Gs, Hh^Fms, Hh^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Gs^Fms, Md, Md, Md, Md, Md, Md
Gs^Fds, Gll^Fp, Gs^Fds, Re, Gll^Fp, Gs^Fds, Gs^Fds, Hh^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Rp, Rp, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Ww^Es, Wwr, Wwr, Wo^Es, Gs^Fds, Gs^Fms, Gll^Fp, Gs^Fms, Gs^Fms, Ww, Rrc, Ww, Gs^Fms, Gs^Fms, Gll^Fp, Gll^Fp, Ss, Gs^Fms, Gs^Fms, Gs, Gd, Gg^Fet, Gs, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Md, Md, Md, Md, Md, Md, Md, Md
Gs^Fds, Gs^Fds, Re, Re, Gs^Fds, Gs^Fds, Hh^Fds, Hh^Fms, Gs^Fds, Gs^Fds, Gg, Gs^Fds, Rp, Rp, Gs^Fds, Rrc^Ve, Hh, Gs^Fds, Hh, Gs^Fds, Ss, Wwg^Es, Gs^Fds, Wo^Es, Wo^Es, Ww^Es, Wwr, Gs^Fms, Ww, Gs^Fds, Ww, Ww^Bsb|, Ww, Gs^Fds, Ww, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Gs^Ve, Gs, Gs, Rp, Gd, Gg, Hh^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Md, Md, Md, Md, Md, Md, Md, Md
Gs^Fds, Gs^Fds, Re^Gvs, Gs^Fds, Ss, Gs^Fds, Gs^Fds, Hh, Gs^Fms, Gs^Fds, Rp, Rp, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gd^Fdw, Gs^Fms, Gs^Fds, Hh^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Ww^Es, Wwr, Wwr, Wo^Es, Gs^Fds, Ww, Ww, Cv^Fet, Ww^Bsb|, Cv^Fet, Ww, Ww, Gs^Fds, Gs^Fds, Gs^Fms, Gll^Fp, Gs^Efm, Gs^Fms, Gs^Fms, Gll^Fp, Rp, Gll^Fp, Hh^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gg, Hh^Fms, Hh^Fms, Hh^Fms, Md, Md, Md, Md, Md, Md, Md
Gs^Fds, Re^Gvs, Re^Gvs, Gs^Fds, Gs^Fds, Ss, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fds, Rp, Gll^Fp, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Ww^Es, Gs^Fds, Wo^Es, Wo, Ww, Ww, Ww, Cv, Rp, Cv, Ww, Ww, Ww, Ww, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Em, Gs^Fms, Gd, Rp, Gg^Gvs, Gs^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Md, Md, Md, Md, Md, Md, Md, Md
Gs^Fds, Re^Ve, Gs^Fds, Gs^Fds, Gs^Fds, Ss, Hh^Fp, Gs^Fms, Gs^Fds, Gs^Fds, Rp, Hh^Fp, Hh^Fms, Hh^Fds, Gll^Em, Gll^Fp, Gll^Fp, Gs^Fds, Gs, Gs, Gs, Re^Ve, Re^Gvs, Gs^Fds, Gs^Fds, Ww, Ww, Ww, Cv^Fet, Cv, Gs, Gs, Gs, Cv, Cv^Fet, Ww, Ww, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fms, Rp^Ve, Gs^Fms, Gg^Gvs, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Md, Md, Md, Md, Md, Md, Md, Md
Gs^Fds, Gs^Fds, Hh^Fms, Gs^Fds, Hh^Fms, Hh^Fds, Hh^Fms, Hh^Fms, Gs^Fds, Gs^Fds, Rp, Gll^Fp, Gs^Fds, Hh^Fms, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Gs, Gs^Fet, Gll^Emf, Re^Gvs, Re^Gvs, Re, Ww, Ww, Ww, Ww, Cv, Gg^Ve, Gs^Efm, Kv, Gs^Efm, Gg^Ve, Cv, Ww, Ww, Ww, Ww, Gs^Fms, Ss, Gs^Fp, Rp, Rp, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Md, Md, Md, Md, Md, Md, Md
Hh^Fp, Hhd, Mm, Hhd, Hh^Fms, Gs^Fds, Re^Gvs, Gs^Fds, Gs^Fds, Gg^Efm, Gg, Rp, Gs^Fds, Hh, Gs^Fms, Gs^Fds, Gs^Fds, Gg^Ve, Gg^Efm, Gll^Emf, Ss, Gs^Vhs, Gs^Fds, Re, Ww, Ww^Es, Ww, Cv, Gg^Emf, Gg^Efm, Gs^Efm, Wwt^Ewf, Gs^Efm, Gg^Efm, Gg^Emf, Cv, Ww, Ww, Ww, Gs^Fms, Gs^Fp, Rp, Gs^Fms, Gs^Fds, Gs^Fms, Hh^Fms, Hh^Fms, Gs, Hh^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Gs^Fms, Md, Md, Md, Md, Md, Md, Md
Hhd, Mm, Mm, Mm, Hhd, Gs^Fds, Re^Gvs, Re^Gvs, Gs^Fds, Gs^Fds, Gs^Fds, Rp, Gll^Fp, Hh^Fds, Hh^Fds, Hh, Gs^Fds, Gg^Efm, Gs^Fds, Ss, Ss, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Ww, Ww, Cv, Cv, Kv, Cv, Gs^Efm, Cv, Kv, Cv, Cv, Ww, Ww, Gs^Fms, Gs^Fms, Gs^Fms, Rp^Ve, Rp, Gs^Fms, Gll^Fp, Hh^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Md, Md, Md, Md, Md, Md
Mm, Mm, Mm, Mm, Hh^Fms, Gs^Fds, Re, Re^Ve, Re, Re, Re, Rp, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fp, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Ww, Ww, Cv^Fet, Ww, Wwg, Cv, Gs, Cv, Wwg, Wwr, Cv^Fet, Ww, Ww, Gs^Fds, Hh^Fds, Gll^Fp, Gs^Fms, Rp, Gll^Fp, Gs^Fms, Gs^Fms, Gg^Gvs, Gs^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Hh^Fms, Md, Md, Md, Md, Md, Md
Hhd, Mm, Wwf, Hh^Fds, Re, Re^Ve, Re, Gll^Fp, Gs^Fds, Gs^Fds, Gs, Rp, Gs^Fds, Gs^Fds, Hh, Hh^Fms, Re^Gvs, Gs^Fds, Gll^Fp, Gs^Fms, Gs^Fds, Gs^Fds, Mm, Gs^Fds, Gs^Fds, Ww, Wwf, Ww, Ww, Cv, Cv, Gs, Cv, Cv, Ww, Ww, Wo^Es, Ww^Es, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Vhs, Rp, Rp^Ve, Gg^Gvs, Gg^Gvs, Gs^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Md, Md, Md, Md, Md
Gs^Fds, Hh^Fds, Wwf, Hh^Fms, Re, Gll^Fp, Cv, Cv, Gs^Fds, Gs^Fms, Rp, Rp, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fp, Re^Ve, Gs^Emf, Gll^Fp, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Ww, Ww, Cv^Fet, Ww, Rp, Ww, Cv^Fet, Ww, Wwr, Wo^Es, Wwr, Wwr, Gs^Fms, Ww^Es, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Md, Md, Md, Md, Md
Gs^Fds, Gs^Fds, Ss, Ss, Re^Ve, Gll^Fp, Cv, Kv, Gs^Fds, Gs^Fds, Rp, Gg^Efm, Gs^Fms, Gs^Fds, Gs^Fds, Re^Gvs, Re^Gvs, Gg^Efm, Gs, Gs^Fds, Gs^Es, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Em, Gs^Fds, Gs^Fds, Ww, Gs^Fds, Ww, Ww, Ww^Bsb|, Ww, Ww, Gs^Fds, Wo^Es, Wwr, Wwr, Wo^Es, Gs^Fds, Ww^Es, Gs^Fds, Ww^Es, Hh^Fp, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gg, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Hh^Fms, Md, Md, Md, Md, Md
Gs^Fms, Ss^Ewl, Ss, Gs^Emf, Gs^Fds, Gs^Fds, Cv, Cv, Gs^Fds, Gs^Fds, Gs^Fds, Rp, Gs^Fds, Gll^Fp, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Gs, Gs^Fds, Gs, Gs^Vhs, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Ww, Cv^Fet, Ww^Bsb|, Cv^Fet, Ww, Gs^Fds, Ww^Es, Gs^Fds, Wo^Es, Wwr, Wwr, Wo^Es, Wwr, Wo^Es, Gs^Fds, Ww^Es, Gs^Fms, Gs^Fms, Gs^Fms, Gg, Gg, Gs^Fms, Gs, Gs^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Gs, Md, Md, Md, Md, Md
Gs^Fms, Gs^Fms, Gs^Fds, Wwf, Wwf, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gg^Em, Rp, Gs^Fms, Gs^Fds, Gll^Fp, Hh, Gs^Fds, Hh, Hh^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Gs^Fms, Hh, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Gs^Fds, Rrc, Gs^Fds, Gs^Fds, Hh^Fds, Gs^Fds, Wwf, Ww^Es, Gs^Vhs, Wo^Es, Wwr, Wo^Es, Wwr, Wwr, Wo^Es, Wo, Wo^Es, Gs, Gs, Gs^Fms, Gg, Gs^Fms, Gg, Gg, Gs^Fms, Gg, Gs^Fms, Gg, Gg, Gg, Gg, Gg
Gs^Fms, Gs^Fms, Gs^Fds, Hh, Gs^Fds, Ss, Gg^Emf, Ss, Ss, Gs^Fds, Gs^Fds, Rp, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Hh^Fds, Hh^Fds, Gs^Fds, Gs^Fds, Ss, Gs^Fds, Hh, Gs^Fms, Gll^Fp, Gs^Fds, Re^Gvs, Re^Gvs, Gs^Fds, Gs^Fds, Gg^Es, Rrc, Gg, Hh^Fds, Gs^Fds, Gs^Fds, Wwf, Gs^Fds, Gs^Fds, Ww^Es, Gs^Fds, Ww^Es, Gs^Fms, Wo^Es, Re^Ve, Wo^Es, Wo, Wo, Wo, Gg, Wo, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Gg, Wo, Wo
Gs^Fms, Gll^Fp, Gll^Fp, Gs^Fms, Gs^Fds, Ss, Ss, Gs^Fds, Ss, Ss, Rp, Rp, Gg, Hh, Hh^Fds, Gs^Fds, Hh^Fds, Gs^Fms, Gs^Em, Ss, Ss, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fds, Gg^Ve, Gg, Gs, Rrc, Rrc, Gg, Gs^Fds, Gs^Fds, Wwf, Hh^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Ww^Es, Re, Gg, Gs^Fds, Wo, Wo, Wo, Wo, Wo, Wo, Wo, Wo, Wo, Wo, Wo, Wo, Wo, Wo, Wo
Hh^Fds, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Ss, Rp, Ss, Rp, Ss^Bw/, Ss^Bw|, Ss, Ss, Ss, Hh^Fds, Hh^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Em, Gs^Vhs, Gs, Gd^Fdw, Gd^Fdw, Gs^Fds, Gs^Fds, Gs^Fds, Gg, Rrc, Rrc, Gg, Gs, Gs^Fds, Gg^Efm, Gs^Fds, Wwf, Hh^Fms, Gs^Fds, Gll^Fp, Hh^Fms, Hh^Fds, Gs^Fds, Hh^Fds, Gs^Fds, Re, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Wo, Gs^Fds, Wo, Wo, Wo, Wo, Wo, Wo, Wo, Wo, Wo, Gs^Fds, Gs^Fds
Hh^Fds, Hh^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Rp, Gs^Fds, Rp, Gs^Fds, Ss, Rp, Ss, Gs^Fds, Gs^Fds, Gd^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Hh, Gg^Efm, Gg^Efm, Gs^Fds, Gs^Fds, Gd^Fdw, Gs^Fds, Gs^Fds, Rrc, Gs^Vhs, Rrc, Gg, Gs^Fds, Gs^Vhs, Gs^Fds, Gs^Fds, Hh^Fds, Wwf, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fds, Gll^Fp, Hh^Fms, Hh^Fds, Re^Es, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms
Hh^Fds, Hh^Fds, Gs^Fds, Re^Gvs, Re^Gvs, Re^Gvs, Gs^Efm, Rr^Ve, Gs^Es, Gs^Fds, Rp, Gs, Gs^Fds, Gd^Fds, Gd^Fdw, Gd^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Rrc, Rrc, Gs^Fds, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Hh^Fds, Wwf, Wwf, Hh^Fms, Re^Vhs, Re, Re, Re, Re, Re, Re, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms
Gs^Fds, Gs^Fds, Gs^Fds, Re^Gvs, Gs^Fds, Re^Gvs, Gs^Fds, Gs^Es, Gs^Fds, Gs^Fds, Gs, Rp, Gs^Fds, Gd^Fdw, Gd^Fms, Gd^Fds, Gs^Fds, Gs^Fds, Rp, Gs^Fms, Rp, Rp, Rr, Gs^Fds, Rrc, Gs^Fds, Gs^Fms, Gs^Fds, Hh^Fds, Gs^Fds, Wwf, Wwf, Hh^Fms, Wwf, Gs^Fds, Gs^Fds, Gs^Fds, Re, Gll^Fp, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Re, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Em, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fms, Gll^Fp, Ss, Hh^Fms, Gs^Fms, Gs^Fds, Gs^Fds
Gs^Fds, Gs^Es, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gs^Fds, Gs^Fds, Gll^Fp, Gs^Fds, Gs, Rp, Rb, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Rp, Gs^Fds, Rb, Gs^Fds, Gs^Ve, Gg, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fds, Mm, Mm, Wwf, Hh^Fds, Gs^Fms, Re^Ve, Re, Re, Re, Re, Gs^Fds, Gs^Fds, Gs^Fds, Re^Emf, Re^Gvs, Re^Ve, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fms, Ss, Gs^Fds, Hh^Fms, Ss, Gs^Fms, Ss, Gs^Fds
Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Ss, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Rb, Rb, Rr^Ve, Rp, Rp, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Rrc, Gs^Fds, Gs^Fds, Gs^Fms, Hh^Fds, Wwf, Wwf, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Efm, Gs^Fds, Gg, Gs^Fds, Gs^Fds, Mm, Gs^Fds, Gs^Fds, Re^Gvs, Gs^Efm, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fds, Hh^Fms, Hh^Fms, Ss, Gll^Fp, Hh^Fms, Ss, Hh^Fms, Gs^Fms
Hh^Fds, Hh^Fds, Gg^Fet, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fds, Gg, Hh^Fds, Hh^Fds, Gs^Fds, Gs^Fds, Re^Ve, Gd, Gs^Fds, Gs^Fms, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Gg, Rrc, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Gll^Fp, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gg^Fet, Mm, Gs^Fms, Gll^Fp, Gs^Fds, Gs^Fds, Re^Ve, Gs^Efm, Gs^Fds, Gs^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Gll^Fp, Ss, Ss, Ss, Gs^Fds, Gll^Fp, Gs^Fds, Hh^Fms, Ss, Hh^Fms, Hh^Fms
Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Ss^Ewl, Gs^Fds, Ss, Hh^Fds, Mm, Mm, Gs^Fds, Gs^Fds, Gg^Ve, Gd, Gd, Gd, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Em, Gs^Fds, Gll^Fp, Gll^Fp, Mm, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Hh, Gs^Fds, Mm, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Ss, Gs^Fms, Gll^Fp, Hh^Fms, Hh^Fms, Hh^Fms, Ss, Gs^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Gs^Fds, Ss, Hh^Fms
Gs^Fds, Gs^Efm, Gs^Fds, Ss^Ewl, Wwg^Ewl, Ss^Ewl, Gs^Fds, Hh^Fds, Hh^Fds, Mm, Gll^Fp, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Hh^Fds, Hh^Fds, Gs^Fds, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Hd^Es, Ds, Hhd, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Mm, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fms, Gs^Fds, Gs^Fds, Gs^Fds, Hh^Fms, Hh^Fms, Gs^Fds, Hh^Fms, Ss, Gs^Fms, Ss, Gll^Fp, Gs^Fms, Hh^Fms, Ss, Gs^Fds, Ss, Ss, Ss, Ss, Ss, Ss
Gs^Fds, Gs^Fds, Ss, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Hh^Fds, Gs^Fds, Gll^Fp, Rrc, Gs^Fds, Gs^Fds, Gs^Fds, Wwf, Ds, Gs^Fds, Gs^Fds, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fms, Gll^Fp, Gs^Fds, Gs^Fds, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Ss, Ss, Hh^Fms, Gs^Fms, Ss, Ss, Hh^Fms, Ww^Ewf, Ss, Ss, Ss, Ww^Ewl, Ww^Ewl, Ss, Ss, Ss
Gs^Fds, Gs^Fds, Ss, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Hh^Fds, Gll^Fp, Rrc, Rrc, Gs^Fds, Gs^Fds, Wwf, Wwf, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gll^Fp, Gs^Fms, Gll^Fp, Gs^Fds, Gs^Fds, Hh^Fms, Hh^Fms, Gll^Fp, Gs^Fms, Gs^Fms, Hh^Fms, Ss, Gs^Fms, Gs^Fms, Ss, Ss, Ss, Ss, Ss, Ss, Hh^Fms, Ww^Ewl, Hh^Fms, Ss, Ss
Ss^Ewl, Ss^Ewl, Ss, Ss^Ewl, Ss^Ewl, Gs^Fds, Gll^Fp, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gll^Fp, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gg, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Hh^Fds, Gs^Fds, Hh^Fds, Gg, Rrc, Gs^Fds, Gg, Wwf, Ds, Wwf, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gll^Fp, Gll^Fp, Hh^Fms, Ss, Gs^Fms, Ss, Ss, Hh^Fms, Gs^Fms, Ww^Ewl, Gs^Fms, Gs^Fds, Gll^Fp, Ss, Gs^Fds, Gs^Fms, Ss, Ss, Ss, Ss, Ss, Ss, Ss, Ss, Ss
Ss^Ewl, Gs^Fds, Ss, Ss^Ewl, Ss^Ewl, Ss^Ewl, Ss^Ewl, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gll^Fp, Gll^Fp, Ss^Ewl, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Hh^Fds, Gll^Fp, Gg, Gs, Rrc, Gg, Ds, Wwf, Wwf, Wwf, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gll^Fp, Gll^Fp, Hh^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Ss, Ss, Ss, Ww^Ewl, Ss, Hh^Fms, Gs^Fms, Ss, Ss, Ss, Ss, Ss, Ww^Ewl, Ss
Ss, Ss, Ss^Ewl, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gs^Fds, Gs^Fds, Gs^Fds, Gll^Fp, Gs^Fds, Ss^Ewl, Gll^Uf, Ss^Ewl, Gs^Fds, Gll^Fp, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Gs^Fds, Gs^Fds, Gg, Rrc, Rrc, Gg, Wwf, Ds, Wwf, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fms, Gll^Fp, Gll^Uf, Hh^Fms, Hh^Fms, Gs^Fms, Hh^Fms, Gs^Fds, Ww^Ewf, Ss, Ss, Ss, Ss, Ss, Ss, Ss, Ss, Ss, Ww^Ewl, Ss, Ss, Ss, Ss, Ss, Ss, Ss
Ss^Ewl, Ss^Ewl, Ss^Ewl, Gll^Fp, Ss^Ewl, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Gs^Fds, Ss^Ewl, Ss^Ewl, Gs^Fds, Ss^Ewl, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Hh^Fds, Gll^Fp, Hh^Fds, Rrc, Gs, Gg, Gg, Wwf, Wwf, Ds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Fms, Gll^Fp, Hh^Fms, Gs^Fds, Hh^Fms, Gs^Fms, Hh^Fms, Ss, Hh^Fms, Hh^Fms, Ss, Ww^Ewl, Ss, Ss, Hh^Fms, Ss, Ss, Ss, Ww^Ewf, Ss, Ww^Ewf, Ss, Ss, Ss, Ss, Ss
Ss^Ewl, Gll^Fp, Ss, Ss^Ewl, Gll^Fp, Gll^Fp, Gll^Fp, Ss^Ewl, Gll^Fp, Ss^Ewl, Ss^Ewl, Gs^Fds, Gll^Fp, Ss^Ewl, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Gll^Fp, Gll^Fp, Gs^Fds, Gll^Fp, Gll^Fp, Rrc, Gg, Gg, Wwf, Wwf, Wwf, Wwf, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fms, Gs^Fms, Hh^Fms, Gs^Fms, Hh^Fms, Ss, Gs^Fms, Hh^Fms, Ss, Ss, Ss, Ss, Ss, Ss, Ww^Ewl, Ss, Ss, Ww^Ewl, Ss, Gs^Fds, Ss, Ww^Ewl, Ww^Ewl, Ss, Gs^Fms, Ss, Ww^Ewl
Ss^Ewl, Gs^Fds, Ss, Ss^Ewl, Ss^Ewl, Gs^Fds, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gll^Fp, Gll^Fp, Ss^Ewl, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Ss^Ewl, Gll^Fp, Ss^Ewl, Gll^Fp, Gll^Fp, Gs^Fds, Rrc, Rrc, Gg, Gg, Wwf, Wwf, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fms, Ss, Hh^Fms, Ss, Gs^Fms, Hh^Fms, Gs^Fds, Ss, Ss, Ss, Ss, Ss, Ss, Ss, Gll^Fp, Gs^Fds, Ww^Ewl, Ss, Ss, Ss, Ss, Ss, Ss, Ss, Ss, Ss, Ss
Ss^Ewl, Gll^Fp, Ss^Ewl, Ss^Ewl, Gs^Fds, Gll^Fp, Gll^Fp, Ss^Ewl, Gll^Fp, Gs^Fds, Ss^Ewl, Ss^Ewl, Gll^Fp, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Rrc, Gg, Gg, Gg, Wwf, Wwf, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fds, Hh^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Gs^Fms, Hh^Fms, Ss, Ww^Ewl, Ss, Ss, Gs^Fms, Ss, Ww^Ewl, Ss, Gs^Fds, Hh^Fms, Ss, Ss, Ss, Ss, Ss, Hh^Fms, Ww^Ewf, Ww^Ewl, Ww^Ewl, Ss, Ww^Ewl
Ss^Ewl, Gll^Fp, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gll^Fp, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Ss^Ewl, Gll^Fp, Gll^Fp, Gll^Fp, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Rrc, Hh, Gg, Gg, Wwf, Wwf, Wwf, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fds, Hh^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Gs^Fms, Ss, Ss, Ss, Ss, Ss, Ww^Ewl, Ss, Ww^Ewl, Ss, Ww^Ewl, Ww^Ewl, Ww^Ewl, Hh^Fms, Ww^Ewl, Ss, Ss, Ss, Ss, Ss, Ss
Ss^Ewl, Ss^Ewl, Ss^Ewl, Ss^Ewl, Gs^Fds, Ss^Ewl, Ss^Ewl, Gll^Fp, Gs^Fds, Gll^Fp, Gll^Fp, Ss, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Rrc, Rrc, Gg, Wwf, Wwf, Gs^Fds, Wwf, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fds, Gll^Fp, Hh^Fms, Gs^Fds, Gs^Fms, Hh^Fms, Gs^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Ss, Gs^Fds, Ss, Ss, Ss, Ss, Ss, Gll^Fp, Ww^Ewl, Ss, Ss, Hh^Fms, Ss, Ss, Ss, Ss, Ss, Ww^Ewl
Ss, Ss^Ewl, Gll^Fp, Ss^Ewl, Gs^Fds, Gs^Fds, Ss^Ewl, Gs^Fds, Ss, Gs^Fds, Gs^Fds, Ss^Ewl, Ss^Ewl, Gll^Fp, Ss^Ewl, Gll^Fp, Gs^Fds, Gll^Fp, Gll^Fp, Gll^Fp, Gll^Fp, Gg, Rrc, Gg, Gg, Wwf, Gs^Fds, Wwf, Ds, Gs^Fds, Gs^Fds, Gs^Fds, Gs^Fms, Gs^Fms, Gs^Fds, Gs^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Hh^Fms, Ss, Ss, Ss, Gs^Fds, Hh^Fms, Ss, Gll^Fp, Ss, Ss, Ss, Ww^Ewf, Ss, Ss, Ww^Ewf, Hh^Fms, Ww^Ewl, Ss, Ss, Ss

View file

@ -1,53 +1,65 @@
border_size=1
usage=map
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, Ke, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ko, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Co, Co, Co, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Co, Co, Co, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ke, Ce, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, Ce, Ke, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Rp^Dr, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ce, Ce, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, Ce, Ce, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, Ce, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ce, Ke, Ce, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ce, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ce, Ke, Ce, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ce, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, Ke, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, Ce, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ko, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Co, Co, Co, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Co, Co, Co, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ke, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ce, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, Ce, Ke, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Rp^Dr, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, Ce, Ce, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, Ce, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ce, Ke, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ce, Ke, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, Ce, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f
_f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f, _f

View file

@ -68,21 +68,21 @@
extra_recruit=Elvish Fighter, Elvish Archer, Elvish Scout
fog=no
shroud=no
x=41
y=16
x=46
y=21
#ifndef MULTIPLAYER
{PLAYER_GOLD}
[unit]
{LANDAR}
extra_recruit=Elvish Fighter, Elvish Archer, Elvish Scout
x=45
y=29
y=35
[/unit]
[unit]
{CLEODIL}
extra_recruit=Elvish Shaman, Elvish Scout, Wose
x=47
y=22
y=28
[/unit]
#else
{MULTIPLAYER_GOLD}
@ -119,14 +119,48 @@
#endif
recruit=Elvish Fighter, Elvish Archer, Elvish Scout
x=33
y=26
y=32
#ifndef MULTIPLAYER
[unit]
{EL_ISOMITHIR}
x=29
y=26
y=32
[/unit]
[unit]
type=Elvish Marshal
id="Eradion"
canrecruit=yes
name= _ "Eradion"
x=13
y=35
[/unit]
# [side]
# #TODO use the macro from characters
# allow_player=no
# controller=ai
# team_name=player
# user_team_name= _ "Player"
# #TODO Maybe define some fitting traits for him
# random_traits=yes
# controller=ai
# {ai/aliases/stable_singleplayer.cfg}
# [ai]
# {AI_SIMPLE_ALWAYS_ASPECT villages_per_scout 20}
# {AI_SIMPLE_ALWAYS_ASPECT aggression 0.0}
# {AI_SIMPLE_ALWAYS_ASPECT caution 0.75}
# {AI_SIMPLE_ALWAYS_ASPECT grouping defensive}
# [/ai]
# {GOLD 280 320 400}
# recruit=Elvish Fighter, Elvish Archer, Elvish Scout, Elvish Captain, Elvish Hero, Elvish Sorceress, Elvish Marksman, Elvish Ranger, Elvish Druid
# [/side]
# {STARTING_VILLAGES_AREA 3 13 35 15}
#endif
{GOLD 250 300 400}
@ -140,34 +174,6 @@
[/event]
{STARTING_VILLAGES_ALL 2}
# [side]
# #TODO use the macro from characters
# side=3
# allow_player=no
# controller=ai
# team_name=player
# user_team_name= _ "Player"
# type=Elvish Marshal
# id="Eradion"
# name= _ "Eradion"
# canrecruit=yes
# #TODO Maybe define some fitting traits for him
# random_traits=yes
# x=13
# y=35
# controller=ai
# {ai/aliases/stable_singleplayer.cfg}
# [ai]
# {AI_SIMPLE_ALWAYS_ASPECT villages_per_scout 20}
# {AI_SIMPLE_ALWAYS_ASPECT aggression 0.0}
# {AI_SIMPLE_ALWAYS_ASPECT caution 0.75}
# {AI_SIMPLE_ALWAYS_ASPECT grouping defensive}
# [/ai]
# {GOLD 280 320 400}
# recruit=Elvish Fighter, Elvish Archer, Elvish Scout, Elvish Captain, Elvish Hero, Elvish Sorceress, Elvish Marksman, Elvish Ranger, Elvish Druid
# [/side]
# {STARTING_VILLAGES_AREA 3 13 35 15}
### /ALLIES ###
### ENEMIES ###
@ -192,8 +198,8 @@
id=Mordrum
name= _ "Mordrum"
canrecruit=yes
x=7
y=3
x=6
y=4
#ifdef HARD
extra_recruit=Naga Fighter, Naga Warrior, Naga Myrmidon, Water Serpent
#endif
@ -234,19 +240,13 @@
[/unit]
[unit]
# side=5
# allow_player=no
# controller=ai
# team_name=orcs
# user_team_name= _ "Enemies"
# {ORC_SETUP}
type=Orcish Warlord
id=Urug-Pir
name=_ "Urug-Pir"
profile=portraits/orcs/transparent/grunt-2.png
canrecruit=yes
x=6
y=17
y=23
#ifdef HARD
extra_recruit=Orcish Archer, Orcish Crossbowman, Orcish Slurbow, Orcish Assassin, Orcish Slayer, Orcish Grunt, Orcish Warrior, Orcish Warlord, Goblin Spearman, Goblin Impaler, Goblin Rouser, Wolf Rider, Goblin Knight, Goblin Pillager, Direwolf Rider
#endif
@ -269,13 +269,7 @@
[/ai]
[/unit]
[unit]
#side=6
#allow_player=no
#controller=ai
#team_name=orcs
#user_team_name= _ "Enemies"
#{TROLL_SETUP}
[unit]
type=Great Troll
id=Truugl
name= _ "Truugl"
@ -310,88 +304,7 @@
[/unit]
[/side]
#TODO try to tune the troll ai to not start a suicide run against the wood border.
# [event]
# name=turn 2
# first_time_only=no
# [message]
# id=Truugl
# message= _ "Stay in the hills."
# [/message]
# {MODIFY_AI_ADD_SIMPLE_ALWAYS_ASPECT 6 aggression 0.3}
# # {MODIFY_AI_ADD_SIMPLE_ALWAYS_ASPECT 5 aggression 0.3}
# {MODIFY_AI_ADD_SIMPLE_ALWAYS_ASPECT 6 caution 0.4}
# # {MODIFY_AI_ADD_SIMPLE_ALWAYS_ASPECT 5 caution 0.4}
# {MODIFY_AI_ADD_GOAL 6 (
# [goal]
# name=protect_location
# [criteria]
# terrain=H*,H*^*
# [/criteria]
# value=200
# [/goal]
# )}
# # {MODIFY_AI_ADD_GOAL 5 (
# # [goal]
# # [criteria]
# # id=Mutaf-uru
# # [/criteria]
# # value=200
# # [/goal]
# # )}
# [/event]
# [side]
# side=7
# allow_player=no
# controller=ai
# team_name=orcs
# user_team_name= _ "Enemies"
# {ORC_SETUP}
# # type=Orcish Warlord
# # id=Grubr
# # name= _ "Grubr"
# # profile=portraits/orcs/transparent/grunt-3.png
# # canrecruit=yes
# # x=25
# # y=42
# # #ifdef HARD
# # recruit=Orcish Archer, Orcish Crossbowman, Orcish Slurbow, Orcish Assassin, Orcish Slayer, Orcish Grunt, Orcish Warrior, Orcish Warlord, Goblin Spearman, Goblin Impaler, Goblin Rouser, Wolf Rider, Goblin Knight, Goblin Pillager, Direwolf Rider
# # #endif
# # #ifdef NORMAL
# # recruit=Orcish Archer, Orcish Crossbowman, Orcish Assassin, Orcish Slayer, Orcish Grunt, Orcish Warrior, Goblin Spearman, Goblin Impaler, Goblin Rouser, Wolf Rider, Goblin Knight, Goblin Pillager
# # #endif
# # #ifdef EASY
# # recruit=Orcish Archer, Orcish Crossbowman, Orcish Assassin, Orcish Grunt, Orcish Warrior, Goblin Spearman, Wolf Rider, Goblin Knight, Goblin Pillager
# # #endif
# # {GOLD 400 550 650}
# # {INCOME 4 8 12}
# # {ai/aliases/stable_singleplayer.cfg}
# # [ai]
# # {AI_NO_SCOUTS}
# # {AI_SIMPLE_ALWAYS_ASPECT recruitment_ignore_bad_movement yes}
# # {AI_SIMPLE_ALWAYS_ASPECT recruitment_pattern "scout,fighter,fighter,archer,mixed fighter"}
# # {AI_SIMPLE_NIGHT_ASPECT aggression 0.75}
# # {AI_SIMPLE_NIGHT_ASPECT caution 0.0}
# # {AI_SIMPLE_NIGHT_ASPECT attack_depth 5}
# # {AI_SIMPLE_NIGHT_ASPECT grouping offensive}
# # [/ai]
# [/side]
# ### /ENEMIES ####
#### Side for Olurf ####
# [side]
# side=8
# {DWARF_SETUP}
# allow_player=no
# controller=null
# persistent=yes
# save_id=Olurf
# no_leader=yes
# faction=Custom
# hidden=yes
# [/side]
#### /Side for Olurf ####
### /ENEMIES ####
#ifdef MULTIPLAYER
[side]
@ -416,13 +329,6 @@
x=47
y=22
[/side]
# [event]
# name=prestart
# [allow_recruit]
# side=9
# type={ELVES}, Elvish Captain, Elvish Hero, Elvish Sorceress, Elvish Marksman, Elvish Ranger, Elvish Druid
# [/allow_recruit]
# [/event]
#endif
#### Objectives and corresponding events ####
@ -564,168 +470,43 @@
message= _ "Well crush those weak elves and Ill get da stone!"
[/message]
[message]
id=Kalenz
id=El_Isomitir
message= _ "These are hardened orc and troll veterans. Men, prepare for a long, difficult fight..."
[/message]
[/event]
### INTRO ####
### AI_CONTROLLER ###
# #ifdef MULTIPLAYER
# {AI_CONTROLLER (kalenz) 1 2 ()}
# {AI_CONTROLLER (landar) 9 3 ()}
# #else
# {AI_CONTROLLER (kalenz) 1 2,3 ()}
# #endif
# [event]
# name=start
# [message]
# speaker=narrator
# message= _ "In this scenario, you may change the behavior of an allied sides AI using a context menu brought up by clicking on the allied sides leader."
# image=wesnoth-icon.png
# [/message]
# {AI_CONTROLLER_ALLOW_LEADER_CONTROL 1 2}
# #ifdef MULTIPLAYER
# {AI_CONTROLLER_ALLOW_LEADER_CONTROL 9 3}
# #else
# {AI_CONTROLLER_ALLOW_LEADER_CONTROL 1 3}
# #endif
# [/event]
# [event]
# name=victory
# {AI_CONTROLLER (kalenz) () () ()}
# #ifdef MULTIPLAYER
# {AI_CONTROLLER (landar) () () ()}
# #endif
# #disable the ai controller
# [/event]
# ### /AI_CONTROLLER ###
### /INTRO ####
### OLURF ###
#define PLACE_A
10,10#enddef
#define PLACE_B
20,20#enddef
[event]
name=olurf
[unit]
#ifndef MULTIPLAYER
side=1
#else
side=8
#endif
{OLURF}
x=$olurf_entry.x
y=$olurf_entry.y
[/unit]
{OLURF_PARTY}
#ifndef MULTIPLAYER
{MODIFY_UNIT (side=8) side 1}
{TRANSFER_VILLAGE_OWNERSHIP 8 1}
#endif
####ifndef MULTIPLAYER
#### {MODIFY_UNIT (side=8) side 1}
#### {TRANSFER_VILLAGE_OWNERSHIP 8 1}
######endif
{OLURF_SPEAK}
#TODO clean up
##ifndef MULTIPLAYER
# [message]
# speaker=narrator
# image=wesnoth-icon.png
# message= _ "Now that Olurf and his tribe joined you, you are able to recruit Dwarves."
# [/message]
##endif
[objectives]
{OBJECTIVES}
#undef OBJECTIVES
[objective]
description= _ "Death of Olurf"
condition=lose
[/objective]
[/objectives]
[/event]
#ifndef MULTIPLAYER
#Olurf arrives at turn 12.
[event]
#ifndef DEBUG_MODE
name=turn 12
#else
name=turn 2
#endif
[message]
id=Kalenz
message= _ "Its Olurf! He made it!"
[/message]
[message]
speaker=narrator
image=wesnoth-icon.png
message= _ "Where do you want Olurf to deploy?"
[/message]
# wmllint: local spelling Telfar
[message]
speaker=narrator
image=wesnoth-icon.png
message= _ "In the forested hills on the west bank of the river Telfar?"
[/message]
{HIGHLIGHT_IMAGE 2 2 scenery/signpost.png ()}
# wmllint: local spelling Karmarth
[message]
speaker=narrator
image=wesnoth-icon.png
message= _ "Or on the east bank of the river in the Karmarth Hills?"
[/message]
{HIGHLIGHT_IMAGE 40 5 scenery/signpost.png ()}
[message]
speaker=narrator
image=wesnoth-icon.png
message= _ "Choose the deployment of Olurf and his forces!"
[option]
message= _"Forested hills on the west bank of the river Telfar"
[command]
{VARIABLE olurf_entry.x 2}
{VARIABLE olurf_entry.y 2}
[/command]
[/option]
[option]
message= _ "The Karmarth Hills"
[command]
{VARIABLE olurf_entry.x 40}
{VARIABLE olurf_entry.y 5}
[/command]
[/option]
[/message]
[fire_event]
name=olurf
[/fire_event]
[/event]
#endif
[event]
name=victory
[if]
[not]
[have_unit]
id=Olurf
[/have_unit]
[/not]
[then]
{VARIABLE olurf_entry.x 40}
{VARIABLE olurf_entry.y 5}
[fire_event]
name=olurf
[/fire_event]
[/then]
[/if]
{VARIABLE olurf_entry.x 40}
{VARIABLE olurf_entry.y 5}
[fire_event]
name=olurf
[/fire_event]
[/event]
### /OLURF ###

View file

@ -81,6 +81,12 @@
name = "Eugen Jiresch (euschn)"
comment = "savegame improvements"
[/entry]
[entry]
name = "Fabian Müller"
ircuser = "fendrin, fabi"
wikiuser = "fabi"
email = "fabianmueller5_at_gmx.de"
[/entry]
[entry]
name = "Gabriel Morin (gabba)"
comment = "Whiteboard project, naming hotseat players, delay shroud updates on game start."

View file

@ -6,22 +6,31 @@
# defined with rect=):
# http://www.wesnoth.org/forum/viewtopic.php?p=213708#213708
#define DEFAULT_FONT_NORMAL
14#enddef
#define DEFAULT_FONT_SMALL
12#enddef
#define DEFAULT_FONT_TINY
10#enddef
#define DEFAULT_FONT_REALLYTINY
9#enddef
#define DEFAULT_FONT_NORMAL_HEIGHT
18#enddef
#define DEFAULT_FONT_SMALL_HEIGHT
16#enddef
#define DEFAULT_FONT_TINY_HEIGHT
14#enddef
#define DEFAULT_FONT_REALLYTINY_HEIGHT
13#enddef
{themes/macros.cfg}
[theme]
id=Default
name= _ "theme^Default"
description= _ "Default theme."
#define DEFAULT_FONT_NORMAL
14 #enddef
#define DEFAULT_FONT_SMALL
12 #enddef
#define DEFAULT_FONT_TINY
10 #enddef
#define DEFAULT_FONT_REALLYTINY
9 #enddef
{themes/macros.cfg}
[resolution]
id=1024x768
width=1024
@ -32,27 +41,27 @@
id=screen
rect="0,0,1024,768"
[/screen]
[panel]
id=top-panel
image=themes/classic/menubar.png
ref=screen
rect="=,=,=,+26"
rect="=,=,=,+27"
xanchor=top
yanchor=fixed
[/panel]
[main_map]
id=main-map
rect="=,+0,+842,768"
xanchor=left
yanchor=top
[/main_map]
{MAIN_MAP_BORDER}
# rightside panel
[panel]
id=sidebar-panel
image=themes/classic/sidebar.png
@ -60,14 +69,11 @@
xanchor=right
yanchor=top
[/panel]
{MINIMAP_THEME}
{STATUS_BOX =+3 +3 +122 +36 tod terrain-description-box-botleft right fixed}
{STATUS_BOX =+0 +3 +122 +36 tod terrain-description-box-botleft right fixed}
{STATUS_BOX =+0 +5 +72 +72 unit tod-box-botleft right fixed}
[menu]
id=menu-main
title= _ "Menu"
@ -78,14 +84,14 @@
xanchor=fixed
yanchor=fixed
[/menu]
[menu]
title= _ "Back to..."
id=menu-autosaves
button=false
items=AUTOSAVES
[/menu]
[menu]
id=actions-menu
title= _ "Actions"
@ -95,16 +101,16 @@
xanchor=fixed
yanchor=fixed
[/menu]
{STATUS_BOX +5 =+0 +80 +15 turn actions-menu fixed fixed}
{STATUS_BOX +3 =+0 +76 +15 gold turn-box-topright fixed fixed}
{STATUS_BOX +3 =+0 +71 +15 villages gold-box-topright fixed fixed}
{STATUS_BOX +3 =+0 +71 +15 units villages-box-topright fixed fixed}
{STATUS_BOX +3 =+0 +90 +15 upkeep units-box-topright fixed fixed}
{STATUS_BOX +5 =+0 +75 +15 turn actions-menu fixed fixed}
{STATUS_BOX +3 =+0 +75 +15 gold turn-box-topright fixed fixed}
{STATUS_BOX +3 =+0 +70 +15 villages gold-box-topright fixed fixed}
{STATUS_BOX +3 =+0 +65 +15 units villages-box-topright fixed fixed}
{STATUS_BOX +3 =+0 +85 +15 upkeep units-box-topright fixed fixed}
{STATUS_BOX +3 =+0 +85 +15 income upkeep-box-topright fixed fixed}
{COUNTDOWN_THEME}
[menu]
is_context_menu=true
items=wml,undo,redo,wbexecuteaction,wbdeleteaction,wbbumpupaction,wbbumpdownaction,wbsupposedead,describeunit,renameunit,createunit,changeside,killunit,describeterrain,labelteamterrain,labelterrain,clearlabels,speak,continue,recruit,recall,wbtoggle,delayshroud,updateshroud,cycle,endturn
items=wml,undo,redo,wbexecuteaction,wbdeleteaction,wbbumpupaction,wbbumpdownaction,wbsupposedead,describeterrain,describeunit,renameunit,createunit,changeside,killunit,labelteamterrain,labelterrain,clearlabels,speak,continue,recruit,recall,wbtoggle,delayshroud,updateshroud,cycle,endturn
[/menu]
[action]
id=button-endturn
@ -113,7 +119,7 @@
title2= _ "End Scenario"
items=endturn
ref=sidebar-panel
rect="-172,-50,+168,+44"
rect="-173,-50,+168,+44"
xanchor=right
yanchor=bottom
[/action]
@ -124,7 +130,7 @@
font_size={DEFAULT_FONT_TINY}
text= _ "HP"
ref=unit-box-topright
rect="+4,=-1,1022,+12"
rect="+4,=-1,+30,+12"
xanchor=right
yanchor=fixed
[/label]
@ -133,7 +139,7 @@
font_size={DEFAULT_FONT_TINY}
text= _ "XP"
# FIXME: should be ref=unit-hp
rect="=,+14,=,+12"
rect="=,+14,+60,+12"
xanchor=right
yanchor=fixed
[/label]
@ -141,8 +147,8 @@
id=label-mp
font_size={DEFAULT_FONT_TINY}
text= _ "MP"
# FIXME: should be ref=unit-hp
rect="=,+14,=-30,+12"
# FIXME: should be ref=unit-xp
rect="=,+14,=,+12"
xanchor=right
yanchor=fixed
[/label]
@ -150,7 +156,7 @@
id=label-def
font_size={DEFAULT_FONT_TINY}
text= _ "def"
# FIXME: should be ref=unit-hp
# FIXME: should be ref=unit-mp
rect="+1,=,=,+12"
xanchor=right
yanchor=fixed
@ -160,6 +166,7 @@
id=gold-icon
icon=themes/gold.png
text= _ "gold"
font_rgb=160,160,160
ref=gold-box-center
rect="=+1,=-1,+17,+17"
xanchor=fixed
@ -247,24 +254,25 @@
[/time_of_day]
[tod_stats]
id=tod-stats
font_size={DEFAULT_FONT_SMALL}
rect="+3,=-1,+64,+17"
font_size={DEFAULT_FONT_NORMAL}
rect="+3,=+8,+64,+{DEFAULT_FONT_NORMAL_HEIGHT}"
xanchor=right
yanchor=fixed
[/tod_stats]
[unit_alignment]
ref=tod-stats
id=unit-alignment
font_size={DEFAULT_FONT_SMALL}
rect="=,+0,=,+16"
xanchor=right
yanchor=fixed
[/unit_alignment]
# TODO think about alignment right of tod image
# [unit_alignment]
# ref=tod-stats
# id=unit-alignment
# font_size={DEFAULT_FONT_SMALL}
# rect="=,+0,=,+16"
# xanchor=right
# yanchor=fixed
# [/unit_alignment]
[unit_status]
id=unit-status
font_size={DEFAULT_FONT_SMALL}
#ref=label-hp
rect="=-25,+10,1022,+16"
ref=label-hp
rect="+10,=-2,1022,+16"
xanchor=right
yanchor=fixed
[/unit_status]
@ -372,11 +380,19 @@
id=unit-description
font_size={DEFAULT_FONT_NORMAL}
ref=unit-box-botleft
rect="=+3,+5,+200,+18"
rect="=+3,+5,+135,+18"
xanchor=right
yanchor=fixed
[/unit_name]
[unit_side]
id=unit-side
font_size={DEFAULT_FONT_SMALL}
rect="+0,=,+35,+16"
xanchor=right
yanchor=fixed
[/unit_side]
[unit_type]
ref=unit-description
id=unit-type
font_size={DEFAULT_FONT_SMALL}
rect="=,+0,+140,+16"
@ -392,35 +408,49 @@
xanchor=right
yanchor=fixed
[/unit_level]
#[unit_race]
# id=unit-race
# font_size={DEFAULT_FONT_SMALL}
# rect="=,+0,=,+16"
# prefix= " "
# xanchor=right
# yanchor=fixed
#[/unit_race]
[unit_traits]
[unit_alignment]
prefix= " "
#font_rgb=200,200,300
font_rgb=145,130,93
#, 255
ref=unit-type
id=unit-traits
id=unit-alignment
font_size={DEFAULT_FONT_SMALL}
rect="=,+0,1022,+16"
rect="=,+0,=,+16"
xanchor=right
yanchor=fixed
[/unit_traits]
[/unit_alignment]
[unit_abilities]
prefix= " "
# prefix_literal=" "
font_rgb=245,230,193
id=unit-abilities
font_size={DEFAULT_FONT_SMALL}
rect="=,+0,=,+16"
xanchor=right
yanchor=fixed
[/unit_abilities]
[unit_race]
id=unit-race
font_size={DEFAULT_FONT_SMALL}
rect="=,+0,=,+16"
xanchor=right
yanchor=fixed
[/unit_race]
[unit_traits]
#ref=unit-type
id=unit-traits
prefix= " "
font_size={DEFAULT_FONT_SMALL}
rect="=,+0,1022,+16"
xanchor=right
yanchor=fixed
[/unit_traits]
[unit_vision]
id=unit-vision
font_size={DEFAULT_FONT_SMALL}
rect="=,+0,=+2,+16"
#prefix= _ "statuspanel^vision"
#prefix_literal=": "
font_size={DEFAULT_FONT_TINY}
ref=label-xp
rect="+0,=,=+60,+40"
xanchor=right
yanchor=fixed
[/unit_vision]
@ -429,8 +459,7 @@
font_size={DEFAULT_FONT_SMALL}
ref=label-hp
rect="=,+0,+94,+14"
#prefix=hp
#prefix_literal=" "
prefix_literal=" "
xanchor=right
yanchor=fixed
[/unit_hp]
@ -439,8 +468,7 @@
font_size={DEFAULT_FONT_SMALL}
ref=label-xp
rect="=,+0,=,+14"
#prefix=xp
#prefix_literal=" "
prefix_literal=" "
xanchor=right
yanchor=fixed
[/unit_xp]
@ -449,8 +477,7 @@
id=unit-moves
font_size={DEFAULT_FONT_SMALL}
rect="=,+0,=,+16"
#prefix= _ "statuspanel^moves"
#prefix_literal=": "
prefix_literal=" "
xanchor=right
yanchor=fixed
[/unit_moves]
@ -467,19 +494,11 @@
# current position not usable, overlays with the status indication (like slow)
# please find a better place (yes, I know that this is barely possible...)
# [unit_side]
# id=unit-side
# font_size={DEFAULT_FONT_SMALL}
# ref=unit-xp
# rect="=,+0,=,+16"
# xanchor=right
# yanchor=fixed
# [/unit_side]
[unit_weapons]
id=unit-weapons
font_size={DEFAULT_FONT_SMALL}
ref=unit-vision
rect="=+0,+0,=,710"
ref=unit-traits
rect="=+0,+12,=,705"
xanchor=right
yanchor=top
[/unit_weapons]
@ -494,127 +513,62 @@
width=1024
height=600
# use right pane with a smaller minimap
[change]
id=minimap-panel
image=themes/classic/minimap-800.png
rect="843,=+2,+181,+155"
[/change]
# increase size in middle panel since minimap is smaller
# reduce size of minimap
[change]
id=mini-map
rect="=+51,=+10,=-14,+131"
[/change]
[remove]
id=map-zoom-slider
[/remove]
[change]
id=minimap-button-1
ref=minimap-panel
rect="=+15,=+5,+25,+25"
[/change]
[change]
id=minimap-button-2
#ref=zoom_default_button_editor
rect="=,-1,25,+25"
[/change]
[change]
id=minimap-button-3
#ref=zoom_in_button_editor
rect="=,-1,+25,+25"
[/change]
[change]
id=minimap-button-4
rect="=,-1,+25,+25"
[/change]
[change]
id=minimap-button-5
# id=flip_map_button_editor
rect="=,-1,+25,+25"
[/change]
[change]
id=minimap-button-6
# id=flip_map_button_editor
rect="=,-1,+25,+25"
[/change]
{MINIMAP_THEME_600}
[change]
id=terrain-info-box-topleft
ref=minimap-panel
rect="=+4,+1,+3,+3"
id=unit-description
font_size={DEFAULT_FONT_SMALL}
rect="=,+0,+140,+{DEFAULT_FONT_SMALL_HEIGHT}"
[/change]
# {CHANGE_STATUS_BOX =+9 +1 +122 +36 tod}
# {CHANGE_STATUS_BOX =-125 +2 +72 +72 unit}
# [change]
# id=unit-description
# font_size={DEFAULT_FONT_SMALL}
# rect="=+9,=+3,=-2,+16"
# [/change]
# [change]
# id=unit-type
# font_size={DEFAULT_FONT_TINY}
# rect="=,+0,=,+11"
# [/change]
# # placing the unit level right of the alignment
# # doing it the other way around leads to a strange problem sometimes having the alingment not being displayed
# # this does not happen with this order
# [change]
# id=unit-level
# font_size={DEFAULT_FONT_TINY}
# rect="=+72,+0,=,+11"
# [/change]
# [change]
# id=unit-alignment
# font_size={DEFAULT_FONT_TINY}
# rect="=-72,=,=,+11"
# [/change]
# [change]
# id=unit-traits
# font_size={DEFAULT_FONT_TINY}
# rect="=,+0,=,+11"
# [/change]
# [change]
# id=unit-abilities
# font_size={DEFAULT_FONT_TINY}
# rect="=,+0,=,+11"
# [/change]
# [change]
# id=unit-moves
# font_size={DEFAULT_FONT_TINY}
# rect="=,+0,=,+11"
# [/change]
# [change]
# id=unit-defense
# font_size={DEFAULT_FONT_TINY}
# rect="=,+0,=,+11"
# [/change]
# [change]
# id=unit-race
# font_size={DEFAULT_FONT_TINY}
# rect="=,+0,=,+11"
# [/change]
# # [change]
# # id=unit-description
# # rect="=+3,+2,+200,+18"
# # [/change]
# [change]
# id=button-endturn
# image=button_normal/button_H22
# rect="-140,-24,+80,+20"
# [/change]
# # adjust allowed heigth for displaying weapon stuff
# [change]
# id=unit-weapons
# ref=unit-defense
# font_size={DEFAULT_FONT_TINY}
# rect="=+0,+0,=,738"
# [/change]
[change]
id=unit-type
font_size={DEFAULT_FONT_TINY}
rect="=,+0,=,+{DEFAULT_FONT_TINY_HEIGHT}"
[/change]
# # # placing the unit level right of the alignment
# # # doing it the other way around leads to a strange problem sometimes having the alingment not being displayed
# # # this does not happen with this order
[change]
id=unit-level
font_size={DEFAULT_FONT_TINY}
rect="+0,=+0,+50,+{DEFAULT_FONT_TINY_HEIGHT}"
[/change]
[change]
id=unit-alignment
font_size={DEFAULT_FONT_TINY}
rect="=,+0,=,+{DEFAULT_FONT_TINY_HEIGHT}"
[/change]
[change]
id=unit-traits
font_size={DEFAULT_FONT_TINY}
rect="=,+0,=,+{DEFAULT_FONT_TINY_HEIGHT}"
[/change]
[change]
id=unit-abilities
font_size={DEFAULT_FONT_TINY}
rect="=,+0,=,+{DEFAULT_FONT_TINY_HEIGHT}"
[/change]
[change]
id=unit-vision
font_size={DEFAULT_FONT_TINY}
rect="=,+0,=,+{DEFAULT_FONT_TINY_HEIGHT}"
[/change]
[change]
id=unit-race
font_size={DEFAULT_FONT_TINY}
rect="=,+0,=,+{DEFAULT_FONT_TINY_HEIGHT}"
[/change]
[change]
id=unit-weapons
font_size={DEFAULT_FONT_TINY}
rect="=,+0,=,740"
[/change]
[change]
id=button-endturn
image=button_normal/button_H22
rect="-140,-24,+80,+22"
[/change]
[/partialresolution]
[partialresolution]
@ -645,32 +599,32 @@
[change]
id=turn
rect="+4,=+1,+55,+16"
rect="+4,=+1,+55,+{DEFAULT_FONT_TINY_HEIGHT}"
font_size={DEFAULT_FONT_TINY}
[/change]
[change]
id=gold
rect="+4,=+1,+45,+16"
rect="+4,=+1,+45,+{DEFAULT_FONT_TINY_HEIGHT}"
font_size={DEFAULT_FONT_TINY}
[/change]
[change]
id=villages
rect="+4,=+1,+45,+16"
rect="+4,=+1,+45,+{DEFAULT_FONT_TINY_HEIGHT}"
font_size={DEFAULT_FONT_TINY}
[/change]
[change]
id=num-units
rect="+4,=+1,+45,+16"
rect="+4,=+1,+45,+{DEFAULT_FONT_TINY_HEIGHT}"
font_size={DEFAULT_FONT_TINY}
[/change]
[change]
id=status-upkeep
rect="+4,=+1,+40,+16"
rect="+4,=+1,+40,+{DEFAULT_FONT_TINY_HEIGHT}"
font_size={DEFAULT_FONT_TINY}
[/change]
[change]
id=status-income
rect="+4,=+1,+50,+16"
rect="+4,=+1,+50,+{DEFAULT_FONT_TINY_HEIGHT}"
font_size={DEFAULT_FONT_TINY}
[/change]
[change]
@ -680,13 +634,8 @@
[change]
id=report_timeout
font_size={DEFAULT_FONT_TINY}
rect="+0,=,+55,+20"
rect="+0,=,+55,+{DEFAULT_FONT_TINY_HEIGHT}"
[/change]
#[change]
# id=status-position
# rect="=+5,=,+80,="
# font_size={DEFAULT_FONT_TINY}
#[/change]
[/partialresolution]
[partialresolution]
@ -694,69 +643,54 @@
inherits=800x600
width=800
height=480
#[remove]
# id=unit-race
#[/remove]
{REMOVE_STATUS_BOX tod}
{CHANGE_STATUS_BOX =+5 +5 +72 +72 unit terrain-description-box-botleft}
# [change]
# id=unit-box-topleft
# ref=terrain-description-box-botleft
# rect="=+4,+1,+3,+3"
# [/change]
{CHANGE_STATUS_BOX = +5 +72 +72 unit terrain-description-box-botleft}
# use smaller fonts to display things correctly when using a vertical resolution smaller than 600px
[change]
id=unit-description
font_size={DEFAULT_FONT_SMALL}
# rect="=+9,=+3,=-2,+16"
rect="=+3,=+3,1022,+{DEFAULT_FONT_SMALL_HEIGHT}"
[/change]
[change]
id=unit-type
font_size={DEFAULT_FONT_REALLYTINY}
# rect="=,+0,=,+11"
rect="=,+0,=,+{DEFAULT_FONT_REALLYTINY_HEIGHT}"
[/change]
# # placing the unit level right of the alignment
# # doing it the other way around leads to a strange problem sometimes having the alingment not being displayed
# # this does not happen with this order
# # # placing the unit level right of the alignment
# # # doing it the other way around leads to a strange problem sometimes having the alingment not being displayed
# # # this does not happen with this order
[change]
id=unit-level
font_size={DEFAULT_FONT_REALLYTINY}
# rect="=+72,+0,=,+11"
rect="+0,+0,=,+{DEFAULT_FONT_REALLYTINY_HEIGHT}"
[/change]
[change]
id=unit-race
font_size={DEFAULT_FONT_REALLYTINY}
rect="=,+0,=,+{DEFAULT_FONT_REALLYTINY_HEIGHT}"
[/change]
[change]
id=unit-alignment
font_size={DEFAULT_FONT_REALLYTINY}
# rect="=-72,=,=,+11"
rect="=,+0,=,+{DEFAULT_FONT_REALLYTINY_HEIGHT}"
[/change]
[change]
id=unit-traits
font_size={DEFAULT_FONT_REALLYTINY}
# rect="=,+0,=,+11"
rect="=,+0,=,+{DEFAULT_FONT_REALLYTINY_HEIGHT}"
[/change]
[change]
id=unit-abilities
font_size={DEFAULT_FONT_REALLYTINY}
# rect="=,+0,=,+11"
rect="=,+0,=,+{DEFAULT_FONT_REALLYTINY_HEIGHT}"
[/change]
[change]
id=unit-moves
font_size={DEFAULT_FONT_REALLYTINY}
# rect="=,+0,=,+11"
[/change]
# [remove]
# id=unit-defense
# [/remove]
# [remove]
# id=unit-weapons
# [/remove]
[change]
id=unit-weapons
# ref=unit-moves
font_size={DEFAULT_FONT_REALLYTINY}
# rect="=+0,+0,=,504"
rect="=,+0,=,740"
#rect="=+0,+0,=,504"
[/change]
[/partialresolution]
[/theme]
@ -765,3 +699,8 @@
#undef DEFAULT_FONT_SMALL
#undef DEFAULT_FONT_TINY
#undef DEFAULT_FONT_REALLYTINY
#undef DEFAULT_FONT_NORMAL_HEIGHT
#undef DEFAULT_FONT_SMALL_HEIGHT
#undef DEFAULT_FONT_TINY_HEIGHT
#undef DEFAULT_FONT_REALLYTINY_HEIGHT

View file

@ -46,7 +46,6 @@
id=top-panel
image=themes/classic/menubar.png
ref=screen
# rect="=,=,833,+27"
rect="=,=,1024,+27"
xanchor=top
yanchor=fixed
@ -63,24 +62,19 @@
id=menu-editor-file
title= _ "File"
type=turbo
#image=button_menu/menu_button_small_copper_H18
#image=lite
font_size=9
items=editor-scenario-edit,statustable,unitlist,editor-map-new,editor-scenario-new,editor-map-load,editor-map-revert,editor-map-save,editor-map-save-as,editor-scenario-save-as,editor-map-save-all,preferences,help,editor-close-map,quit-editor,editor-quit-to-desktop
ref=top-panel
rect="=+1,=+1,+100,+20"
#rect="=+3,=+1,+55,=-4"
xanchor=fixed
yanchor=fixed
[/menu]
# [menu]
# id=menu-editor-edit
# title= _ "Edit"
# #image=button_menu/menu_button_small_copper_H18
# image=lite
# font_size={DEFAULT_EDITOR_FONT_SMALL}
# items=undo,redo,editor-cut,editor-copy,editor-paste,editor-selection-name,editor-export-selection-coords,editor-select-all,editor-select-inverse,editor-select-none, editor-selection-fill,editor-selection-rotate,editor-selection-flip, editor-selection-generate,editor-selection-randomize
# #rect="+2,=,+55,="
# rect="+2,=,+100,="
# xanchor=fixed
# yanchor=fixed
@ -90,7 +84,7 @@
title= _ "Map"
image=button_menu/menu_button_copper_H20
items=editor-map-resize,editor-map-rotate,editor-map-generate, editor-map-apply-mask,editor-map-create-mask-to,menu-editor-transitions,editor-refresh,editor-refresh-image-cache,togglegrid,editor-draw-coordinates,editor-draw-terrain-codes
rect="+1,=,+100,="
rect="+1,=,+100,+20"
xanchor=fixed
yanchor=fixed
[/menu]
@ -134,7 +128,6 @@
[menu]
id=menu-editor-side
title= _ "Side"
#image=lite
image=button_menu/menu_button_copper_H20
font_size={DEFAULT_EDITOR_FONT_SMALL}
items=editor-switch-side,editor-side-new,editor-side-edit,editor-side-remove
@ -205,7 +198,6 @@
[action]
id=top_button_file1
items=editor-map-load
#type=
image=button_square/button_square_30
auto_tooltip=yes
tooltip_name_prepend=yes
@ -218,7 +210,6 @@
id=top_button_file2
items=editor-map-save
image=button_square/button_square_30
#tooltip= _ ""
auto_tooltip=yes
tooltip_name_prepend=yes
rect="+1,=,+30,+30"
@ -229,7 +220,6 @@
id=top_button_file3
items=editor-close-map
image=button_square/button_square_30
#tooltip= _ ""
auto_tooltip=yes
tooltip_name_prepend=yes
rect="+1,=,+30,+30"
@ -238,7 +228,6 @@
[/action]
[panel]
id=top_separator1
#image=themes/editor/classic/menubar_rightside.png
rect="+1,=,+10,+27"
xanchor=fixed
yanchor=fixed
@ -277,8 +266,6 @@
[/action]
[panel]
id=top_separator2
# image=themes/editor/classic/menubar_rightside.png
# ref=replay-panel
rect="+1,=,+10,+27"
xanchor=fixed
yanchor=fixed
@ -289,7 +276,6 @@
items=editor-select-all
type=radiobox
image=button_square/button_square_30
#tooltip= _ ""
tooltip_name_prepend=yes
rect="+1,=,+30,+30"
xanchor=fixed
@ -300,7 +286,6 @@
items=editor-select-none
type=radiobox
image=button_square/button_square_30
#tooltip= _ ""
auto_tooltip=yes
tooltip_name_prepend=yes
rect="+1,=,+30,+30"
@ -310,9 +295,7 @@
[action]
id=top_button_select3
items=editor-select-inverse
#type=radiobox
image=button_square/button_square_30
#tooltip= _ ""
auto_tooltip=yes
tooltip_name_prepend=yes
rect="+1,=,+30,+30"
@ -322,9 +305,7 @@
[action]
id=top_button_select4
items=editor-selection-fill
#type=radiobox
image=button_square/button_square_30
#tooltip= _ ""
auto_tooltip=yes
tooltip_name_prepend=yes
rect="+1,=,+30,+30"
@ -336,7 +317,6 @@
items=editor-selection-randomize
type=radiobox
image=button_square/button_square_30
#tooltip= _ ""
auto_tooltip=yes
tooltip_name_prepend=yes
rect="+1,=,+30,+30"
@ -358,7 +338,6 @@
[panel]
id=top_separator3
#image=themes/editor/classic/menubar_rightside.png
rect="+1,=,+10,+27"
xanchor=fixed
yanchor=fixed
@ -405,8 +384,6 @@
## others, not yet determined
[panel]
id=top_seperator3
# image=themes/editor/classic/menubar_rightside.png
# ref=replay-panel
rect="+1,=,+10,+27"
xanchor=fixed
yanchor=fixed
@ -414,45 +391,7 @@
# [action]
# id=top_button13
# items=null
# type=radiobox
# image=button_square/button_square_30
# #tooltip= _ ""
# auto_tooltip=yes
# tooltip_name_prepend=yes
# rect="+1,=,+30,+30"
# xanchor=fixed
# yanchor=fixed
# [/action]
# [action]
# id=top_button14
# items=null
# type=radiobox
# image=button_square/button_square_30
# #tooltip= _ ""
# auto_tooltip=yes
# tooltip_name_prepend=yes
# rect="+1,=,+30,+30"
# xanchor=fixed
# yanchor=fixed
# [/action]
# [action]
# id=top_button15
# items=null
# type=radiobox
# image=button_square/button_square_30
# #tooltip= _ ""
# auto_tooltip=yes
# tooltip_name_prepend=yes
# rect="+1,=,+30,+30"
# xanchor=fixed
# yanchor=fixed
# [/action]
# [action]
# id=top_button16
# items=null
# type=radiobox
# image=button_square/button_square_30
# #tooltip= _ ""
# auto_tooltip=yes
# tooltip_name_prepend=yes
# rect="+1,=,+30,+30"
@ -466,7 +405,6 @@
items=togglegrid
type=checkbox
image=button_square/button_square_30
#overlay=editor/tool/editor_tools_icons_toggle-grid
tooltip_name_prepend=yes
rect="810,=,+30,+30"
xanchor=right
@ -477,7 +415,6 @@
items=editor-draw-coordinates
type=checkbox
image=button_square/button_square_30
#overlay=editor/tool/editor_tools_icons_toggle-grid
tooltip_name_prepend=yes
rect="=-31,=,+30,+30"
xanchor=right
@ -488,7 +425,6 @@
items=editor-draw-terrain-codes
type=checkbox
image=button_square/button_square_30
#overlay=editor/tool/editor_tools_icons_toggle-grid
tooltip_name_prepend=yes
rect="=-31,=,+30,+30"
xanchor=right
@ -496,8 +432,6 @@
[/action]
[panel]
id=top_separator4
# image=themes/editor/classic/menubar_rightside.png
# ref=replay-panel
rect="=-11,=,+10,+27"
xanchor=fixed
yanchor=fixed
@ -552,35 +486,9 @@
xanchor=left
yanchor=top
[/main_map]
[main_map_border]
border_size = 0.5
background_image = "terrain/off-map/background.png"
# this image is processed by the terrain matching code so should be
# in the terrains directory and should ommit the 'terrain/' prefix
# and the '.png' suffix
tile_image = "off-map/alpha.png"
{MAIN_MAP_BORDER}
corner_image_top_left = "terrain/off-map/fade_corner_top_left_editor.png"
corner_image_bottom_left = "terrain/off-map/fade_corner_bottom_left_editor.png"
# odd means the corner is on a tile with an odd x value,
# the tile is the ingame tile not the odd in C++
corner_image_top_right_odd = "terrain/off-map/fade_corner_top_right_odd_editor.png"
corner_image_top_right_even = "terrain/off-map/fade_corner_top_right_even_editor.png"
corner_image_bottom_right_odd = "terrain/off-map/fade_corner_bottom_right_odd_editor.png"
corner_image_bottom_right_even = "terrain/off-map/fade_corner_bottom_right_even_editor.png"
border_image_left = "terrain/off-map/fade_border_left_editor.png"
border_image_right = "terrain/off-map/fade_border_right_editor.png"
border_image_top_odd = "terrain/off-map/fade_border_top_odd_editor.png"
border_image_top_even = "terrain/off-map/fade_border_top_even_editor.png"
border_image_bottom_odd = "terrain/off-map/fade_border_bottom_odd_editor.png"
border_image_bottom_even = "terrain/off-map/fade_border_bottom_even_editor.png"
[/main_map_border]
[panel]
id=border-right
image=themes/editor/classic/mapframe_rightside.png
@ -588,6 +496,7 @@
xanchor=right
yanchor=top
[/panel]
#[panel]
# id=mapframe-corner
# image=themes/editor/classic/mapframe_corner.png
@ -602,224 +511,18 @@
id=top-right-panel
image=themes/classic/sidebar.png
ref=screen
#ref=top-panel
rect="843,0,1024,768"
xanchor=right
yanchor=top
[/panel]
# [panel]
# id=terrain-panel
# image=themes/status_box/status_box_H20W168.png
# rect="=+9,=+1,+168,+20"
# xanchor=right
# yanchor=fixed
# [/panel]
# [label]
# id=terrain-icon
# icon=icons/terrain/terrain_type_info.png
# text= _ "terrain"
# rect="=+5,=+2,+20,+16"
# xanchor=right
# yanchor=fixed
# [/label]
####### MiniMap
[panel]
id=minimap-panel
image=themes/classic/minimap.png
#ref=screen
#ref=top-panel
rect="843,=+6,+181,+214"
xanchor=right
yanchor=fixed
[/panel]
{STATUS_BOX =+6 +25 +165 +15 terrain-info minimap-panel right fixed}
#[label]
# id=terrain-icon
# icon=icons/terrain/terrain_type_info.png
# text= _ "terrain"
# ref=terrain-info-box-center
# rect="=-1,=-1,+20,+16"
# xanchor=right
# yanchor=fixed
#[/label]
{STATUS_BOX =+0 -2 +165 +15 terrain-description terrain-info-box-botleft right fixed}
[terrain]
id=terrain-description
ref=terrain-description-box-center
rect="=-1,=-1,+20,+16"
xanchor=right
yanchor=fixed
[/terrain]
[mini_map]
id=mini-map
ref=minimap-panel
rect="=+16,=+9,=-17,+182"
xanchor=right
yanchor=fixed
[/mini_map]
[action]
id=minimap-button-1
ref=minimap-panel
type=checkbox
image=button_square/button_square_25
items=zoomdefault
auto_tooltip=yes
rect="=+11,-3,+25,+25"
xanchor=right
yanchor=fixed
[/action]
[action]
id=minimap-button-2
items=minimap-draw-terrain
overlay=icons/action/togglegrid_25
type=checkbox
image=button_square/button_square_25
auto_tooltip=yes
rect="+1,=,+25,+25"
xanchor=right
yanchor=fixed
[/action]
[action]
id=minimap-button-3
items=minimap-draw-units
type=checkbox
overlay=icons/action/editor-tool-unit_25
image=button_square/button_square_25
auto_tooltip=yes
rect="+1,=,+25,+25"
xanchor=right
yanchor=fixed
[/action]
[action]
id=minimap-button-4
items=minimap-draw-villages
overlay=icons/action/editor-tool-village_25
type=checkbox
image=button_square/button_square_25
tooltip_name_prepend=yes
rect="+1,=,+25,+25"
xanchor=right
yanchor=fixed
[/action]
[action]
id=minimap-button-5
items=minimap-unit-coding
type=checkbox
image=button_square/button_square_25
auto_tooltip=yes
rect="+1,=,+25,+25"
xanchor=right
yanchor=fixed
[/action]
[action]
id=minimap-button-6
type=checkbox
items=minimap-terrain-coding
image=button_square/button_square_25
auto_tooltip=yes
rect="+1,=,+25,+25"
xanchor=right
yanchor=fixed
[/action]
[slider]
image=buttons/sliders/slider_arrow_gold
id=map-zoom-slider
black_line=yes
ref=mini-map
rect="=+32,+1,+117,+18"
xanchor=right
yanchor=fixed
[/slider]
# [panel]
# id=terrain-info-panel
# ref=top-panel
# image=themes/status_box/status_box_H20W145.png
# rect="-138,=+1,+145,+20"
# xanchor=fixed
# yanchor=fixed
# [/panel]
# [mini_map]
# id=mini-map
# #ref=top-right-panel
# rect="=+51,=+9,=-14,+158"
# xanchor=right
# yanchor=fixed
# [/mini_map]
# [action]
# id=zoom_default_button_editor
# items=zoomdefault
# type=checkbox
# image=button_square/button_square_30
# auto_tooltip=yes
# rect="=-33,=-1,+30,+30"
# xanchor=right
# yanchor=fixed
# [/action]
# [action]
# id=zoom_in_button_editor
# items=zoomin
# type=turbo
# image=button_square/button_square_30
# auto_tooltip=yes
# rect="=,+2,+30,+30"
# xanchor=right
# yanchor=fixed
# [/action]
# [action]
# id=zoom_out_button_editor
# items=zoomout
# type=turbo
# image=button_square/button_square_30
# auto_tooltip=yes
# rect="=,+2,+30,+30"
# xanchor=right
# yanchor=fixed
# [/action]
# [action]
# id=resize_button_editor
# items=editor-map-resize
# #type=press
# image=button_square/button_square_30
# tooltip_name_prepend=yes
# rect="=,+2,+30,+30"
# xanchor=right
# yanchor=fixed
# [/action]
# [action]
# id=flip_map_button_editor
# type=checkbox
# image=button_square/button_square_30
# items=editor-map-flip
# tooltip= _ "Not implemented yet."
# tooltip_name_prepend=yes
# rect="=,+2,+30,+30"
# xanchor=right
# yanchor=fixed
# [/action]
# [slider]
# image=buttons/sliders/slider_arrow_gold
# id=map-zoom-slider
# black_line=yes
# ref=mini-map
# rect="=,+1,+117,+18"
# xanchor=right
# yanchor=fixed
# [/slider]
{MINIMAP_THEME}
####### Main Toolbar
[panel]
id=tools-panel
image=themes/editor/classic/tools.png
ref=terrain-description-box-botleft #minimap-panel
ref=terrain-description-box-botleft
rect="=-7,+3,+181,+155"
xanchor=right
yanchor=fixed
@ -938,19 +641,10 @@
yanchor=fixed
[/action]
# [panel]
# id=tools-options-panel
# image=themes/editor/classic/tools_options.png
# ref=tools-panel
# rect="=,+0,=,+75"
# xanchor=right
# yanchor=fixed
# [/panel]
####### 3rd row
[action]
id=tool-button11
items=editor-clipboard-flip-horizontal
#type=radiobox
image=button_square/button_square_30
auto_tooltip=yes
tooltip_name_prepend=yes
@ -962,7 +656,6 @@
[action]
id=tool-button12
items=editor-clipboard-flip-vertical
#type=radiobox
image=button_square/button_square_30
auto_tooltip=yes
tooltip_name_prepend=yes
@ -973,7 +666,6 @@
[action]
id=tool-button13
items=editor-clipboard-rotate-cw
#type=radiobox
image=button_square/button_square_30
auto_tooltip=yes
tooltip_name_prepend=yes
@ -984,7 +676,6 @@
[action]
id=tool-button14
items=editor-clipboard-rotate-ccw
type=radiobox
image=button_square/button_square_30
auto_tooltip=yes
tooltip_name_prepend=yes
@ -995,8 +686,6 @@
[action]
id=tool-button15
items=null
#type=radiobox
#auto_tooltip=yes
image=button_square/button_square_30
rect="+2,=,+30,+30"
xanchor=right
@ -1109,7 +798,6 @@
[panel]
id=palette-panel
image=themes/editor/classic/palette.png
#ref=tools-options-panel
rect="=,+0,=,768"
xanchor=right
yanchor=top
@ -1155,18 +843,10 @@
ref=terrain-description-box-center
rect="=+1,=+1,+165,+16"
font_size={DEFAULT_EDITOR_FONT_REALLYTINY}
#font_size={DEFAULT_FONT_
xanchor=right
yanchor=fixed
[/terrain]
# [terrain_image]
# id=terrain_image
# ref=menu-editor-terrain
# rect="+4,=-2,+25,+25"
# xanchor=right
# yanchor=fixed
# [/terrain_image]
# [side_playing]
# id=icon-sideplaying
# ref=turn-panel
@ -1213,41 +893,7 @@
prefix="" #wmllint: ignore
prefix_literal=""
[/num_units]
# This panel encloses the location information displays and the
# observer icon. This separate container is used so that we can
# make the terrain name display stretch to fill all available space
# so that the long strings don't get cut off as easily.
# The size of these rectangles only accommodates hex coordinates
# up to 99. If either is over that maximum the movement cost will
# be pushed off the right end.
# [position]
# id=status-position
# #font_size={DEFAULT_EDITOR_FONT_SMALL}
# #font_size={DEFAULT_EDITOR_FONT_NORMAL}
# ref=terrain-icon
# #ref=top-panel
# rect="+4,=,+60,+16"
# #rect="-65,=+4,=-5,="
# xanchor=right
# yanchor=fixed
# [/position]
# [terrain_info]
# id=status-terrain
# rect="+2,=,+70,+16"
# xanchor=right
# yanchor=fixed
# [/terrain_info]
# [terrain]
# id=status-terrain
# ref=terrain-panel
# font_size={DEFAULT_EDITOR_FONT_REALLYTINY}
#font_size={DEFAULT_EDITOR_FONT_SMALL}
#rect="=+115,=,=-24,="
# rect="=+3,=+6,1024,+16"
# xanchor=right
# yanchor=fixed
# [/terrain]
[/status]
[/resolution]
@ -1258,64 +904,13 @@
width=1024
height=600
# some changes to the display to have stuff look better on 800x600
# using a right pane with a smaller minimap to achieve this
# use backgound with 40px less for minimap
[change]
id=minimap-panel
image=themes/classic/minimap-800.png
#ref=screen
#rect="843,0,1024,155"
rect="843,=+3,+181,+155"
#xanchor=right
#yanchor=fixed
[/change]
[change]
id=mini-map
rect="=+51,=+10,=-14,+131"
[/change]
[remove]
id=map-zoom-slider
[/remove]
[change]
id=zoom_default_button_editor
rect="=-33,=+0,+25,+25"
#rect="=+18,=+31,+25,+25"
image=button_square/button_square_25
[/change]
[change]
id=zoom_in_button_editor
rect="=,+2,+25,+25"
image=button_square/button_square_25
[/change]
[change]
id=zoom_out_button_editor
rect="=,+2,+25,+25"
image=button_square/button_square_25
[/change]
[change]
id=resize_button_editor
rect="=,+2,+25,+25"
image=button_square/button_square_25
[/change]
[change]
id=flip_map_button_editor
rect="=,+2,+25,+25"
image=button_square/button_square_25
[/change]
###############################
{MINIMAP_THEME_600}
[change]
id=tools-panel
image=themes/editor/classic/tools-800.png
#ref=top-right-panel
rect="=,+0,+181,+92"
#xanchor=right
#yanchor=fixed
rect="=-7,+3,+181,+92"
[/change]
[change]
id=tool-button1
rect="=+13,=+5,+25,+25"
@ -1341,7 +936,7 @@
rect="+1,=,+25,+25"
image=button_square/button_square_25
[/change]
########
[change]
id=tool-button6
rect="=+0,+1+25,+25"
@ -1367,52 +962,34 @@
rect="+1,=,+25,+25"
image=button_square/button_square_25
[/change]
###################
[remove]
id=tool-button14
#rect="+2,=,+25,+25"
image=button_square/button_square_25
[/remove]
[remove]
id=tool-button15
#rect="+2,=,+25,+25"
image=button_square/button_square_25
[/remove]
# [change]
# id=tool-button15
#id=utility-button2
# rect="+2,=,+25,+25"
# image=button_square/button_square_25
# [/change]
[change]
id=tool-button16
ref=tool-button6
rect="=,+28,+25,+25"
image=button_square/button_square_25
[/change]
[change]
id=tool-button17
rect="+1,=,+25,+25"
image=button_square/button_square_25
[/change]
[change]
id=tool-button18
rect="+1,=,+25,+25"
image=button_square/button_square_25
[/change]
[change]
id=tool-button19
#id=editor_brush_nw-se
rect="+1,=,+25,+25"
image=button_square/button_square_25
[/change]
[change]
id=tool-button20
rect="+1,=,+25,+25"
@ -1425,86 +1002,32 @@
rect="+4,=+1,+25,+25"
image=button_square/button_square_25
[/change]
[change]
id=tool-button12
ref=tool-button11
rect="=,+1,+25,+25"
image=button_square/button_square_25
[/change]
[change]
id=tool-button13
#id=utility-button3
ref=tool-button12
rect="=,+1,+25,+25"
image=button_square/button_square_25
[/change]
# [change]
# id=top-right-panel
# image=themes/rightside-editor-small.png
# rect="+0,=+0,1024,+215"
# [/change]
# # reduce vertical size of minimap by 40px
# [change]
# id=mini-map
# rect="=+10,=+7,=-7,+94"
# [/change]
# [change]
# id=undo_button_editor
# ref=flood_button_editor
# [/change]
[change]
id=menu-editor-terrain
#items=editor-palette-groups
#type=turbo
#title= _ "Group space"
#image=button_square/button_square_30
#image=editor/group/group_all
#font_size=9
#rect="=-1,=-41,+30,+30"
#rect="=-1,=-41,+30,+30"
#xanchor=right
#yanchor=fixed
rect="=+12,+1,+30,+30"
[/change]
[change]
id=menu-editor-flip-palette-selection
#items=editor-terrain-palette-swap
image=button_square/button_square_25
#type=turbo
rect="+39,=,+25,+25"
#xanchor=right
#yanchor=fixed
[/change]
[change]
id=upscroll-button-editor
# type=turbo
# image=editor/button-25_base
# image=uparrow-button
# items=editor-palette-upscroll
rect="+7,=+0,+25,+25"
# xanchor=right
# yanchor=fixed
[/change]
#[action]
# type=turbo
# id=downscroll-button-editor
# #image=editor/button-25_base
# image=downarrow-button
# items=editor-palette-downscroll
# rect="+7,=+0,+25,+25"
# xanchor=right
# yanchor=fixed
#[/action]
#[change]
# id=palette
# rect="=+15,=-33,+250,+465"
# #xanchor=right
# #yanchor=top
#[/change]
[/partialresolution]
########################################## 800x600 ###########################################
@ -1517,81 +1040,45 @@
[remove]
id=top_button_file3
[/remove]
#[remove]
#id=villages-panel
# image=themes/status-bg.png
# rect="+5,=+1,+71,+19"
# xanchor=fixed
# yanchor=fixed
#[/remove]
[remove]
id=villages-panel
[/remove]
[remove]
id=villages-icon
# icon=themes/villages.png
# text= _ "villages"
# ref=villages-panel
# rect="=+5,=+1,+16,+16"
# xanchor=fixed
# yanchor=fixed
[/remove]
[remove]
id=units-panel
# image=themes/status-bg.png
# ref=villages-panel
# rect="+5,=,+71,+19"
# xanchor=fixed
# yanchor=fixed
[/remove]
[remove]
id=units-icon
# icon=themes/units.png
# text= _ "units"
# ref=units-panel
# rect="=+5,=+1,+16,+16"
# xanchor=fixed
# yanchor=fixed
[/remove]
[remove]
#TODO rename since we don't display turns, only sides
id=turn-panel
# ref=units-panel
# image=themes/status-bg.png
# rect="+5,=,+71,+19"
# xanchor=fixed
# yanchor=fixed
[/remove]
# [change]
# id=status-terrain
# #TODO
# ref=terrain-panel
# rect="+115,=,=-24,="
# font_size={DEFAULT_EDITOR_FONT_TINY}
# xanchor=left
# yanchor=fixed
# [/change]
[/partialresolution]
########################################## 800x480 ###########################################
[partialresolution]
id=800x480
inherits=800x600
width=800
height=480
# ########################################## 800x480 ###########################################
# [partialresolution]
# id=800x480
# inherits=800x600
# width=800
# height=480
# [remove]
# id=undo_button_editor
# [/remove]
# [remove]
# id=redo_button_editor
# [/remove]
# [remove]
# id=zoom_in_button_editor
# [/remove]
# [remove]
# id=zoom_out_button_editor
# [/remove]
# [remove]
# id=zoom_default_button_editor
# [/remove]
[/partialresolution]
# # [remove]
# # id=undo_button_editor
# # [/remove]
# # [remove]
# # id=redo_button_editor
# # [/remove]
# # [remove]
# # id=zoom_in_button_editor
# # [/remove]
# # [remove]
# # id=zoom_out_button_editor
# # [/remove]
# # [remove]
# # id=zoom_default_button_editor
# # [/remove]
# [/partialresolution]
[/theme]

View file

@ -179,19 +179,65 @@
[/change]
#enddef
#define MINIMAP_THEME_600
# use right pane with a smaller minimap
[change]
id=minimap-panel
image=themes/classic/minimap-800.png
rect="842,=+6,+181,+177"
[/change]
# reduce size of minimap
[change]
id=mini-map
rect="=+45,=+4,=-8,+165"
[/change]
[remove]
id=map-zoom-slider
[/remove]
[remove]
id=zoom-level
[/remove]
[change]
id=minimap-button-1
ref=minimap-panel
rect="=+15,=+7,+25,+25"
[/change]
[change]
id=minimap-button-2
rect="=,+3,25,+25"
[/change]
[change]
id=minimap-button-3
rect="=,+1,+25,+25"
[/change]
[change]
id=minimap-button-4
rect="=,+1,+25,+25"
[/change]
[change]
id=minimap-button-5
rect="=,+1,+25,+25"
[/change]
[change]
id=minimap-button-6
rect="=,+1,+25,+25"
[/change]
#enddef
#define MINIMAP_THEME
[panel]
id=minimap-panel
#ref=terrain-description-box-botleft
image=themes/classic/minimap.png
rect="=+3,=+6,+181,+265"
rect="=,=+6,+181,+265"
xanchor=right
yanchor=fixed
[/panel]
[mini_map]
id=mini-map
ref=minimap-panel
rect="=+12,=+6,=-10,+212"
rect="=+13,=+5,=-8,+212"
xanchor=right
yanchor=fixed
[/mini_map]
@ -202,7 +248,7 @@
image=button_square/button_square_25
items=zoomdefault
auto_tooltip=yes
rect="=+1,+12,+25,+25"
rect="=+1,+13,+25,+25"
xanchor=right
yanchor=fixed
[/action]
@ -263,14 +309,14 @@
id=map-zoom-slider
black_line=yes
ref=mini-map
rect="=+32,+1,+117,+18"
rect="=+38,+2,+119,+8"
xanchor=right
yanchor=fixed
[/slider]
{STATUS_BOX =+4 +2 +165 +15 terrain-info minimap-panel right fixed}
{STATUS_BOX =+7 +0 +165 +15 terrain-info minimap-panel right fixed}
#[label]
# id=terrain-icon
# icon=icons/terrain/terrain_type_info.png
@ -292,7 +338,7 @@
#enddef
#define COUNTDOWN_THEME
{STATUS_BOX +5 =+0 +90 +15 timeout income-box-topright fixed fixed}
{STATUS_BOX +3 =+0 +90 +15 timeout income-box-topright fixed fixed}
[label]
id=time-icon
#icon=themes/units.png
@ -316,22 +362,22 @@
#enddef
#define REPLAY_THEME FONT_SMALL_SIZE
[replay]
[change]
id=main-map
ref=top-panel
rect="=,+40,+832,768"
[/change]
[add]
[panel]
id=replay-panel
image=themes/editor/classic/toolbar.png
ref=top-panel
rect="=,+0,+833,+41"
rect="=,+0,+842,+41"
xanchor=left
yanchor=fixed
[/panel]
[/add]
[add]
[change]
id=main-map
ref=top-panel
rect="=,+41,+842,768"
[/change]
[add]
[label]
id=replay-label
text= _ "Replay"
@ -425,10 +471,10 @@
[menu]
id=show-what
ref=button-nextside
image=button_menu/menu_button_copper_H20
image=button_normal/button_H22
title= _ "Point of view"
items=replayshowteam1,replayshoweach,replayshoweverything
rect="+15,=+2,+100,+10"
rect="+15,=+4,+100,+10"
xanchor=fixed
yanchor=fixed
[/menu]
@ -440,7 +486,7 @@
type=checkbox
title= _ "Skip animation"
items=replayskipanimation
rect="+15,=+1,+80,+10"
rect="+15,=+2,+80,+10"
xanchor=fixed
yanchor=fixed
[/action]

View file

@ -99,6 +99,10 @@ Version 1.11.9:
enabled in-game.
* User interface:
* Corrected most of the issues left with the new default theme.
* Reintroduced the alignment, race and side being shown in the sidebar.
* Adjusted the theme to the size and shape of the new minimap frame images.
* Certain changes to the used text colors, sizes and alignment.
* Restored the old controll scheme as the default
* Fixed hidden variations of unit types (hide_help=yes) being listed in the
help browser when they shouldn't.

View file

@ -273,8 +273,9 @@ void map_context::load_scenario(const config& game_config)
}
BOOST_FOREACH(const config& item, scenario.child_range("item")) {
const map_location loc(item);
overlays_.insert(std::pair<map_location,
overlay>(map_location(item["x"], item["y"]), overlay(item) ));
overlay>(loc, overlay(item) ));
}
BOOST_FOREACH(const config& music, scenario.child_range("music")) {

View file

@ -201,11 +201,13 @@ hotkey::hotkey_command_temp hotkey_list_[] = {
{ hotkey::HOTKEY_EDITOR_MAP_APPLY_MASK, "editor-map-apply-mask", N_("Apply a Mask"), false, hotkey::SCOPE_EDITOR, "" },
{ hotkey::HOTKEY_EDITOR_MAP_CREATE_MASK_TO, "editor-map-create-mask-to", N_("Create Mask"), false, hotkey::SCOPE_EDITOR, "" },
{ hotkey::HOTKEY_EDITOR_REFRESH, "editor-refresh", N_("Refresh Display"), false, hotkey::SCOPE_EDITOR, "" },
{ hotkey::HOTKEY_EDITOR_UPDATE_TRANSITIONS, "editor-update-transitions", N_("Update Terrain Transitions"), false, hotkey::SCOPE_EDITOR, "" },
// This item is for binding in the preferences
{ hotkey::HOTKEY_EDITOR_TOGGLE_TRANSITIONS, "editor-toggle-transitions", N_("Toggle Terrain Transition Update"), true, hotkey::SCOPE_EDITOR, "" },
{ hotkey::HOTKEY_EDITOR_AUTO_UPDATE_TRANSITIONS, "editor-auto-update-transitions", N_("Auto-update Terrain Transitions"), false, hotkey::SCOPE_EDITOR, "" },
// The next three are for displaying the different states in the menu
// This item is for binding in the preferences
{ hotkey::HOTKEY_EDITOR_TOGGLE_TRANSITIONS, "editor-toggle-transitions", N_("Toggle Terrain Transition Update"), false, hotkey::SCOPE_EDITOR, "" },
// The next three are for displaying the different states in the menu
{ hotkey::HOTKEY_EDITOR_AUTO_UPDATE_TRANSITIONS, "editor-auto-update-transitions", N_("Auto-update Terrain Transitions"), true, hotkey::SCOPE_EDITOR, "" },
{ hotkey::HOTKEY_EDITOR_NO_UPDATE_TRANSITIONS, "editor-no-update-transitions", N_("Auto-update Terrain Transitions: No"), true, hotkey::SCOPE_EDITOR, "" },
{ hotkey::HOTKEY_EDITOR_PARTIAL_UPDATE_TRANSITIONS, "editor-partial-update-transitions", N_("Auto-update Terrain Transitions: Partial"), true, hotkey::SCOPE_EDITOR, "" },

View file

@ -49,7 +49,7 @@ struct map_location {
map_location() : x(-1000), y(-1000) {}
map_location(int x, int y) : x(x), y(y) {}
map_location(const config& cfg, const variable_set *variables);
map_location(const config& cfg, const variable_set *variables = NULL);
void write(config& cfg) const;

View file

@ -175,7 +175,7 @@ static config unit_type(const unit* u)
{
if (!u) return report();
std::ostringstream str, tooltip;
str << span_color(font::unit_type_color) << u->type_name() << naps;
str << u->type_name();
tooltip << _("Type: ") << "<b>" << u->type_name() << "</b>\n"
<< u->unit_description();
return text_report(str.str(), tooltip.str(), "unit_" + u->type_id());
@ -195,7 +195,7 @@ static config unit_race(const unit* u)
{
if (!u) return report();
std::ostringstream str, tooltip;
str << span_color(font::race_color) << u->race()->name(u->gender()) << naps;
str << u->race()->name(u->gender());
tooltip << _("Race: ") << "<b>" << u->race()->name(u->gender()) << "</b>";
return text_report(str.str(), tooltip.str(), "..race_" + u->race()->id());
}
@ -213,6 +213,8 @@ REPORT_GENERATOR(selected_unit_race)
static config unit_side(const unit* u)
{
if (!u) return report();
config report;
const team &u_team = (*resources::teams)[u->side() - 1];
std::string flag_icon = u_team.flag_icon();
std::string old_rgb = game_config::flag_rgb;
@ -220,7 +222,13 @@ static config unit_side(const unit* u)
std::string mods = "~RC(" + old_rgb + ">" + new_rgb + ")";
if (flag_icon.empty())
flag_icon = game_config::images::flag_icon;
return image_report(flag_icon + mods, u_team.current_player());
std::stringstream text;
text << u->side();
add_image(report, flag_icon + mods, u_team.current_player(), "");
add_text(report, text.str(), "", "");
return report;
}
REPORT_GENERATOR(unit_side)
{
@ -281,7 +289,7 @@ static config unit_traits(const unit* u)
for (unsigned i = 0; i < nb; ++i)
{
std::ostringstream str, tooltip;
str << traits[i];
str << span_color(font::weapon_color) << traits[i] << naps;
if (i != nb - 1 ) str << ", ";
tooltip << _("Trait: ") << "<b>" << traits[i] << "</b>\n"
<< descriptions[i];
@ -340,16 +348,19 @@ static config unit_alignment(const unit* u)
std::ostringstream str, tooltip;
char const *align = unit_type::alignment_description(u->alignment(), u->gender());
std::string align_id = unit_type::alignment_id(u->alignment());
int cm = combat_modifier(resources::screen->displayed_unit_hex(), u->alignment(), u->is_fearless());
//str << align << " (" << utils::signed_percent(cm) << ")";
int cm = combat_modifier(resources::screen->displayed_unit_hex(), u->alignment(),
u->is_fearless());
std::string color("grey");
SDL_Color color = font::weapon_color;
if (cm != 0)
color = (cm > 0) ? font::good_dmg_color : font::bad_dmg_color;
if (cm != 0) color = (cm > 0) ? "green" : "red";
str << align << " (" << span_color(color) << utils::signed_percent(cm)
<< naps << ")";
str << "<span foreground=\"" << color << "\">" << utils::signed_percent(cm) << "</span>\n";
tooltip << _("Alignment: ") << "<b>" << align << "</b>\n"
<< string_table[align_id + "_description"];
return text_report(str.str(), tooltip.str(), "time_of_day");
}
REPORT_GENERATOR(unit_alignment)
@ -430,13 +441,13 @@ static config unit_hp(const unit* u)
const std::string def_color = unit_helper::resistance_color(res_def);
if (res_att == res_def) {
line << "<span foreground=\"" << def_color << "\">" << utils::signed_percent(res_def)
<< "</span>\n";
<< naps << '\n';
} else {
const std::string att_color = unit_helper::resistance_color(res_att);
line << "<span foreground=\"" << att_color << "\">" << utils::signed_percent(res_att)
<< "</span>/"
<< naps << "/"
<< "<span foreground=\"" << def_color << "\">" << utils::signed_percent(res_def)
<< "</span>\n";
<< naps << '\n';
att_def_diff = true;
}
resistances_table.insert(line.str());
@ -520,7 +531,7 @@ static config unit_defense(const unit* u, const map_location& displayed_unit_hex
const t_translation::t_terrain &terrain = map[displayed_unit_hex];
int def = 100 - u->defense_modifier(terrain);
SDL_Color color = int_to_color(game_config::red_to_green(def));
str << span_color(color) << def << "%</span>";
str << span_color(color) << def << '%' << naps;
tooltip << _("Terrain: ") << "<b>" << map.get_terrain_info(terrain).description() << "</b>\n";
const t_translation::t_list &underlyings = map.underlying_def_terrain(terrain);
@ -537,13 +548,13 @@ static config unit_defense(const unit* u, const map_location& displayed_unit_hex
int t_def = 100 - u->defense_modifier(t);
SDL_Color color = int_to_color(game_config::red_to_green(t_def));
tooltip << '\t' << map.get_terrain_info(t).description() << ": "
<< span_color(color) << t_def << "%</span> "
<< span_color(color) << t_def << '%' << naps
<< (revert ? _("maximum^max.") : _("minimum^min.")) << '\n';
}
}
}
tooltip << "<b>" << _("Defense: ") << span_color(color) << def << "%</span></b>";
tooltip << "<b>" << _("Defense: ") << span_color(color) << def << '%' << naps << "</b>";
return text_report(str.str(), tooltip.str());
}
REPORT_GENERATOR(unit_defense)
@ -564,7 +575,7 @@ static config unit_vision(const unit* u)
if (!u) return report();
std::ostringstream str;
if (u->vision() != u->total_movement()) {
str << _("vision: ") << u->vision(); }
str << _("VP/JP") << '\n' << u->vision() << '/' << u->jamming(); }
return text_report(str.str());
}
REPORT_GENERATOR(unit_vision)
@ -625,7 +636,7 @@ static config unit_moves(const unit* u)
} else {
tooltip << moves;
}
tooltip << "</span>\n";
tooltip << naps << '\n';
}
}
@ -679,7 +690,7 @@ static int attack_info(const attack_type &at, config &res, const unit &u, const
else if ( damage < specials_damage )
dmg_color = font::bad_dmg_color;
str << span_color(dmg_color) << damage << naps << span_color(font::weapon_color)
str << span_color(dmg_color) << " " << damage << naps << span_color(font::weapon_color)
<< font::weapon_numbers_sep << num_attacks << ' ' << at.name()
<< "</span>\n";
tooltip << _("Weapon: ") << "<b>" << at.name() << "</b>\n"
@ -741,7 +752,7 @@ static int attack_info(const attack_type &at, config &res, const unit &u, const
std::string range = string_table["range_" + at.range()];
std::string lang_type = string_table["type_" + at.type()];
str << span_color(font::weapon_details_color) << " "
str << span_color(font::weapon_details_color) << " " << " "
<< range << font::weapon_details_sep
<< lang_type << "</span>\n";
@ -808,7 +819,7 @@ static int attack_info(const attack_type &at, config &res, const unit &u, const
const SDL_Color &details_color = active[i] ? font::weapon_details_color :
font::inactive_details_color;
str << span_color(details_color) << " " << name << naps << '\n';
str << span_color(details_color) << " " << " " << name << naps << '\n';
std::string help_page = "weaponspecial_" + name.base_str();
tooltip << _("Weapon special: ") << "<b>" << name << "</b>";
if ( !active[i] )
@ -976,10 +987,15 @@ static config unit_weapons(const unit *attacker, const map_location &attacker_po
static config unit_weapons(const unit *u)
{
if (!u) return report();
if (!u || u->attacks().empty()) return report();
map_location displayed_unit_hex = resources::screen->displayed_unit_hex();
config res;
const std::string attack_headline =
( u->attacks().size() > 1 ) ? N_("Attacks") : N_("Attack");
add_text(res, /*span_color(font::weapon_details_color)
+*/ attack_headline /*+ "</span>\n"*/ + '\n', "am arsch");
BOOST_FOREACH(const attack_type &at, u->attacks())
{
attack_info(at, res, *u, displayed_unit_hex);
@ -1054,7 +1070,6 @@ REPORT_GENERATOR(unit_profile)
return image_report(u->small_profile());
}
REPORT_GENERATOR(tod_stats)
{
std::ostringstream tooltip;
@ -1167,8 +1182,8 @@ static config unit_box_at(const map_location& mouseover_hex)
<< _("Liminal units: ") << "<span foreground=\"" << liminal_color << "\">"
<< utils::signed_percent(-(abs(bonus))) << "</span>\n";
std::string local_tod_image = "themes/unit_box/" + local_tod.image;
std::string global_tod_image = "themes/unit_box/" + global_tod.image;
std::string local_tod_image = "themes/classic/" + local_tod.image;
std::string global_tod_image = "themes/classic/" + global_tod.image;
if (local_tod.bonus_modified > 0) local_tod_image += "~BRIGHTEN()";
else if (local_tod.bonus_modified < 0) local_tod_image += "~DARKEN()";
if (preferences::flip_time()) local_tod_image += "~FL(horiz)";

View file

@ -458,26 +458,26 @@ theme::label::label(const config& cfg) :
if (cfg.has_attribute("font_rgb"))
{
std::vector<std::string> rgb_vec = utils::split(cfg["font_rgb"]);
if(3 <= rgb_vec.size()){
std::vector<std::string>::iterator c=rgb_vec.begin();
int r,g,b;
r = (atoi(c->c_str()));
++c;
if(c != rgb_vec.end()){
g = (atoi(c->c_str()));
++c;
}else{
g=0;
}
if(c != rgb_vec.end()){
b=(atoi(c->c_str()));
}else{
b=0;
}
font_rgb_ = (((r<<16) & 0x00FF0000) + ((g<<8) & 0x0000FF00) + ((b) & 0x000000FF));
font_rgb_set_=true;
}
std::vector<std::string> rgb_vec = utils::split(cfg["font_rgb"]);
if (3 <= rgb_vec.size()) {
std::vector<std::string>::iterator c=rgb_vec.begin();
int r,g,b;
r = (atoi(c->c_str()));
++c;
if (c != rgb_vec.end()) {
g = (atoi(c->c_str()));
++c;
} else {
g=0;
}
if (c != rgb_vec.end()) {
b=(atoi(c->c_str()));
} else {
b=0;
}
font_rgb_ = (((r<<16) & 0x00FF0000) + ((g<<8) & 0x0000FF00) + ((b) & 0x000000FF));
font_rgb_set_=true;
}
}
}