Project

General

Profile

Feature #1480 » 0090-Add-support-for-animated-units.patch

Marko Lindqvist, 06/02/2025 10:00 PM

View differences:

client/tilespec.c
struct sprite *government[G_LAST];
struct {
struct sprite *icon[U_LAST][ACTIVITY_LAST];
struct sprite *facing[U_LAST][DIR8_MAGIC_MAX][ACTIVITY_LAST];
struct anim *icon[U_LAST][ACTIVITY_LAST];
struct anim *facing[U_LAST][DIR8_MAGIC_MAX][ACTIVITY_LAST];
} units;
struct sprite_vector nation_flag;
......
char buf[2048];
const char *act_name = unit_activity_name(activity);
if (act_name == NULL) {
if (act_name == nullptr) {
/* gcc-9 thinks this is possible. */
return FALSE;
}
......
/* We don't use _alt graphics here, as that could lead to loading
* real icon gfx, but alternative orientation gfx. Tileset author
* probably meant icon gfx to be used as fallback for all orientations */
t->sprites.units.facing[uidx][dir][activity] = load_sprite(t, buf,
TRUE, TRUE, FALSE);
t->sprites.units.facing[uidx][dir][activity] = anim_load(t, buf, 0);
if (activity == ACTIVITY_IDLE
&& t->sprites.units.facing[uidx][dir][activity] == NULL) {
&& t->sprites.units.facing[uidx][dir][activity] == nullptr) {
/* Backward compatibility: Set Idle sprite from tag with no activity defined. */
fc_snprintf(buf, sizeof(buf), "%s_%s", base_str,
dir_get_tileset_name(loaddir));
t->sprites.units.facing[uidx][dir][activity] = load_sprite(t, buf,
TRUE, TRUE, FALSE);
t->sprites.units.facing[uidx][dir][activity] = anim_load(t, buf, 0);
}
if (t->sprites.units.facing[uidx][dir][activity] != NULL) {
if (t->sprites.units.facing[uidx][dir][activity] != nullptr) {
return TRUE;
}
......
fc_snprintf(buffer, sizeof(buffer), "%s_%s",
tag, unit_activity_name(activity));
t->sprites.units.icon[uidx][activity] = load_sprite(t, buffer,
TRUE, TRUE, FALSE);
t->sprites.units.icon[uidx][activity] = anim_load(t, buffer, 0);
if (activity == ACTIVITY_IDLE
&& t->sprites.units.icon[uidx][activity] == NULL) {
&& t->sprites.units.icon[uidx][activity] == nullptr) {
/* Backward compatibility: Set Idle sprite from tag with no activity defined. */
t->sprites.units.icon[uidx][activity] = load_sprite(t, tag,
TRUE, TRUE, FALSE);
t->sprites.units.icon[uidx][activity] = anim_load(t, tag, 0);
}
} activity_type_iterate_end;
has_icon = t->sprites.units.icon[uidx][ACTIVITY_IDLE] != NULL;
has_icon = t->sprites.units.icon[uidx][ACTIVITY_IDLE] != nullptr;
#define LOAD_FACING_SPRITE(dir) \
if (!tileset_setup_unit_direction(t, uidx, tag, dir, activity, has_icon)) { \
......
&& !tileset_setup_unit_type_from_tag(t, uidx, ut->graphic_alt)
&& !tileset_setup_unit_type_from_tag(t, uidx, ut->graphic_alt2)) {
tileset_error(LOG_FATAL, tileset_name_get(t),
_("Missing %s unit sprite for tags \"%s\" and alternatives "
_("Missing %s unit sprites for tags \"%s\" and alternatives "
"\"%s\" and \"%s\"."),
utype_rule_name(ut), ut->graphic_str,
ut->graphic_alt, ut->graphic_alt2);
......
if (!t->sprites.units.icon[uidx][ACTIVITY_IDLE]) {
if (!direction8_is_valid(t->unit_default_orientation)) {
tileset_error(LOG_FATAL, tileset_name_get(t),
_("Unit type %s has no unoriented sprite and "
_("Unit type %s has no unoriented sprites and "
"tileset has no unit_default_orientation."),
utype_rule_name(ut));
} else {
......
* unit_default_orientation, because tileset_setup_unit_type_from_tag()
* checked for this. */
fc_assert(t->sprites.units.facing[uidx][t->unit_default_orientation]
!= NULL);
!= nullptr);
}
}
}
......
* turn out to have an icon sprite */
}
if (t->sprites.units.icon[uidx][activity] != NULL
&& (icon || t->sprites.units.facing[uidx][facing][activity] == NULL)) {
if (t->sprites.units.icon[uidx][activity] != nullptr
&& (icon || t->sprites.units.facing[uidx][facing][activity] == nullptr)) {
/* Has icon sprite, and we prefer to (or must) use it */
return t->sprites.units.icon[uidx][activity];
} else if (t->sprites.units.icon[uidx][ACTIVITY_IDLE] != NULL
if (icon) {
return t->sprites.units.icon[uidx][activity]->sprites[0];
} else {
return anim_get_current_frame(t->sprites.units.icon[uidx][activity]);
}
} else if (t->sprites.units.icon[uidx][ACTIVITY_IDLE] != nullptr
&& (icon
|| t->sprites.units.facing[uidx][facing][ACTIVITY_IDLE] == NULL)) {
|| t->sprites.units.facing[uidx][facing][ACTIVITY_IDLE] == nullptr)) {
/* Has icon sprite, and we prefer to (or must) use it */
return t->sprites.units.icon[uidx][ACTIVITY_IDLE];
if (icon) {
return t->sprites.units.icon[uidx][ACTIVITY_IDLE]->sprites[0];
} else {
return anim_get_current_frame(t->sprites.units.icon[uidx][ACTIVITY_IDLE]);
}
} else {
/* We should have a valid orientation by now. Failure to have either
* an icon sprite or default orientation should have been caught at
* tileset load. */
fc_assert_ret_val(direction8_is_valid(facing), NULL);
fc_assert_ret_val(direction8_is_valid(facing), nullptr);
if (t->sprites.units.facing[uidx][facing][activity] == NULL) {
return t->sprites.units.facing[uidx][facing][ACTIVITY_IDLE];
if (t->sprites.units.facing[uidx][facing][activity] == nullptr) {
return anim_get_current_frame(t->sprites.units.facing[uidx][facing][ACTIVITY_IDLE]);
}
return t->sprites.units.facing[uidx][facing][activity];
return anim_get_current_frame(t->sprites.units.facing[uidx][facing][activity]);
}
}
data/amplio/units.spec
dy = 48
tiles = { "row", "column", "tag"
; Scenario League tags in brackets
0, 0, "u.armor_Idle" ; [Nemo]
0, 1, "u.howitzer_Idle" ; [Nemo]
0, 2, "u.battleship_Idle" ; [Nemo]
0, 3, "u.bomber_Idle" ; [GB]
0, 4, "u.cannon_Idle" ; [CT]
0, 5, "u.caravan_Idle" ; [Alex] & [CT]
0, 6, "u.carrier_Idle" ; [Nemo]
0, 7, "u.catapult_Idle" ; [CT]
0, 8, "u.horsemen_Idle" ; [GB]
0, 9, "u.chariot_Idle" ; [BB] & [GB]
0, 10, "u.cruiser_Idle" ; [Nemo]
0, 11, "u.diplomat_Idle" ; [Nemo]
0, 12, "u.fighter_Idle" ; [Sor]
0, 13, "u.frigate_Idle" ; [BB]
0, 14, "u.ironclad_Idle" ; [Nemo]
0, 15, "u.knights_Idle" ; [BB]
0, 16, "u.legion_Idle" ; [GB]
0, 17, "u.mech_inf_Idle" ; [GB]
0, 18, "u.warriors_Idle" ; [GB]
0, 19, "u.musketeers_Idle" ; [Alex] & [CT]
1, 0, "u.nuclear_Idle" ; [Nemo] & [CS]
1, 1, "u.phalanx_Idle" ; [GB] & [CT]
1, 2, "u.riflemen_Idle" ; [Alex]
1, 3, "u.caravel_Idle" ; [BB]
1, 4, "u.settlers_Idle" ; [MHN]
1, 5, "u.submarine_Idle" ; [GP]
1, 6, "u.transport_Idle" ; [Nemo]
1, 7, "u.trireme_Idle" ; [BB]
1, 8, "u.archers_Idle" ; [GB]
1, 9, "u.cavalry_Idle" ; [Alex]
1, 10, "u.cruise_missile_Idle" ; [CS]
1, 11, "u.destroyer_Idle" ; [Nemo]
1, 12, "u.dragoons_Idle" ; [GB]
1, 13, "u.explorer_Idle" ; [Alex] & [CT]
1, 14, "u.freight_Idle" ; [CT] & qwm
1, 15, "u.galleon_Idle" ; [BB]
1, 16, "u.partisan_Idle" ; [BB] & [CT]
1, 17, "u.pikemen_Idle" ; [T]
2, 0, "u.marines_Idle" ; [GB]
2, 1, "u.spy_Idle" ; [EW] & [CT]
2, 2, "u.engineers_Idle" ; [Nemo] & [CT]
2, 3, "u.artillery_Idle" ; [GB]
2, 4, "u.helicopter_Idle" ; [T]
2, 5, "u.alpine_troops_Idle" ; [Nemo]
2, 6, "u.stealth_bomber_Idle" ; [GB]
2, 7, "u.stealth_fighter_Idle" ; [Nemo] & [AHS]
2, 8, "u.aegis_cruiser_Idle" ; [GP]
2, 9, "u.paratroopers_Idle" ; [Alex]
2, 10, "u.elephants_Idle" ; [Alex] & [GG] & [CT]
2, 11, "u.crusaders_Idle" ; [BB]
2, 12, "u.fanatics_Idle" ; [GB] & [CT]
2, 13, "u.awacs_Idle" ; [APL]
2, 14, "u.worker_Idle" ; [GB]
2, 15, "u.leader_Idle" ; [GB]
2, 16, "u.barbarian_leader_Idle" ; FiftyNine
2, 17, "u.migrants_Idle" ; Eleazar
; 3, 15, "u.train_Idle" ; Eleazar
; Scenario League tags in brackets
0, 0, "u.armor_Idle:0" ; [Nemo]
0, 1, "u.howitzer_Idle:0" ; [Nemo]
0, 2, "u.battleship_Idle:0" ; [Nemo]
0, 3, "u.bomber_Idle:0" ; [GB]
0, 4, "u.cannon_Idle:0" ; [CT]
0, 5, "u.caravan_Idle:0" ; [Alex] & [CT]
0, 6, "u.carrier_Idle:0" ; [Nemo]
0, 7, "u.catapult_Idle:0" ; [CT]
0, 8, "u.horsemen_Idle:0" ; [GB]
0, 9, "u.chariot_Idle:0" ; [BB] & [GB]
0, 10, "u.cruiser_Idle:0" ; [Nemo]
0, 11, "u.diplomat_Idle:0" ; [Nemo]
0, 12, "u.fighter_Idle:0" ; [Sor]
0, 13, "u.frigate_Idle:0" ; [BB]
0, 14, "u.ironclad_Idle:0" ; [Nemo]
0, 15, "u.knights_Idle:0" ; [BB]
0, 16, "u.legion_Idle:0" ; [GB]
0, 17, "u.mech_inf_Idle:0" ; [GB]
0, 18, "u.warriors_Idle:0" ; [GB]
0, 19, "u.musketeers_Idle:0" ; [Alex] & [CT]
1, 0, "u.nuclear_Idle:0" ; [Nemo] & [CS]
1, 1, "u.phalanx_Idle:0" ; [GB] & [CT]
1, 2, "u.riflemen_Idle:0" ; [Alex]
1, 3, "u.caravel_Idle:0" ; [BB]
1, 4, "u.settlers_Idle:0" ; [MHN]
1, 5, "u.submarine_Idle:0" ; [GP]
1, 6, "u.transport_Idle:0" ; [Nemo]
1, 7, "u.trireme_Idle:0" ; [BB]
1, 8, "u.archers_Idle:0" ; [GB]
1, 9, "u.cavalry_Idle:0" ; [Alex]
1, 10, "u.cruise_missile_Idle:0" ; [CS]
1, 11, "u.destroyer_Idle:0" ; [Nemo]
1, 12, "u.dragoons_Idle:0" ; [GB]
1, 13, "u.explorer_Idle:0" ; [Alex] & [CT]
1, 14, "u.freight_Idle:0" ; [CT] & qwm
1, 15, "u.galleon_Idle:0" ; [BB]
1, 16, "u.partisan_Idle:0" ; [BB] & [CT]
1, 17, "u.pikemen_Idle:0" ; [T]
2, 0, "u.marines_Idle:0" ; [GB]
2, 1, "u.spy_Idle:0" ; [EW] & [CT]
2, 2, "u.engineers_Idle:0" ; [Nemo] & [CT]
2, 3, "u.artillery_Idle:0" ; [GB]
2, 4, "u.helicopter_Idle:0" ; [T]
2, 5, "u.alpine_troops_Idle:0" ; [Nemo]
2, 6, "u.stealth_bomber_Idle:0" ; [GB]
2, 7, "u.stealth_fighter_Idle:0" ; [Nemo] & [AHS]
2, 8, "u.aegis_cruiser_Idle:0" ; [GP]
2, 9, "u.paratroopers_Idle:0" ; [Alex]
2, 10, "u.elephants_Idle:0" ; [Alex] & [GG] & [CT]
2, 11, "u.crusaders_Idle:0" ; [BB]
2, 12, "u.fanatics_Idle:0" ; [GB] & [CT]
2, 13, "u.awacs_Idle:0" ; [APL]
2, 14, "u.worker_Idle:0" ; [GB]
2, 15, "u.leader_Idle:0" ; [GB]
2, 16, "u.barbarian_leader_Idle:0" ; FiftyNine
2, 17, "u.migrants_Idle:0" ; Eleazar
; 3, 15, "u.train_Idle:0" ; Eleazar
; Veteran Levels: up to 9 military honors for experienced units
data/amplio2/extra_units.spec
pixel_border = 1
tiles = { "row", "column", "tag"
0, 0, "u.gladiators_Idle"
0, 1, "u.arbalests_Idle"
0, 2, "u.halberdiers_Idle"
0, 3, "u.samurai_Idle"
0, 4, "u.militia_Idle"
0, 5, "u.line_infantry_Idle"
0, 6, "u.grenadier_Idle"
0, 7, "u.fusiliers_Idle"
0, 8, "u.musket_militia_Idle"
0, 9, "u.marksman_Idle"
1, 0, "u.stormtroopers_Idle"
1, 1, "u.commando_Idle"
1, 7, "u.motorized_infantry_Idle"
1, 8, "u.tachanka_Idle"
1, 9, "u.mobile_fanatics_Idle"
2, 0, "u.dromedari_Idle"
2, 1, "u.mounted_archers_Idle"
2, 2, "u.mounted_samurai_Idle"
2, 3, "u.uhlan_Idle"
2, 4, "u.mounted_militia_Idle"
2, 5, "u.mounted_marksman_Idle"
3, 0, "u.early_light_tank_Idle", "u.mark_iv_Idle"
3, 1, "u.early_tank_Idle", "u.whippet_Idle"
3, 2, "u.early_heavy_tank_Idle", "u.renault_ft_Idle"
3, 3, "u.tank_Idle", "u.sherman_Idle"
3, 4, "u.heavy_tank_Idle", "u.leopard_Idle"
3, 5, "u.reactive_armor_Idle", "u.abrahams_Idle"
3, 6, "u.armored_car_Idle", "u.rolls_royce_armored_car_Idle"
3, 7, "u.armored_recon_vehicle_Idle", "u.rooikat_Idle"
4, 0, "u.trebuchet_Idle"
4, 1, "u.cannon_alternative_Idle"
4, 2, "u.longrange_howitzer_Idle", "u.panzerhaubitze2000_Idle"
4, 3, "u.ballista_Idle"
4, 4, "u.siege_tower_Idle"
4, 5, "u.battering_ram_Idle"
5, 0, "u.biplane_Idle"
5, 1, "u.gliderplane_Idle", "u.gotha_Idle"
5, 2, "u.ekranoplan_Idle"
5, 3, "u.divebomber_Idle"
5, 4, "u.transportplane_Idle", "u.c47_Idle"
5, 5, "u.jetfighter_Idle", "u.mig_Idle"
5, 6, "u.jetbomber_Idle"
5, 7, "u.supersonic_fighter_Idle"
5, 8, "u.transportjet_Idle"
5, 9, "u.strikeplane_Idle", "u.a10_warthog_Idle"
5, 10, "u.strikejet_Idle", "u.f4_Idle"
5, 12, "u.balloon_Idle"
5, 13, "u.zeppelin_Idle"
6, 0, "u.light_helicopter_Idle", "u.alouette_iii_Idle"
6, 1, "u.transport_helicopter_Idle", "u.chinook_Idle"
6, 2, "u.attack_transport_helicopter_Idle", "u.mi24_Idle"
6, 4, "u.drone_Idle"
6, 6, "u.v2_rocket_Idle"
7, 0, "u.quinquireme_Idle"
7, 1, "u.longboat_Idle"
7, 2, "u.junk_Idle"
7, 3, "u.cog_Idle"
7, 4, "u.galleon_alternative_Idle"
7, 5, "u.frigate_alternative_Idle"
7, 6, "u.flagship_Idle"
7, 7, "u.paddle_steamer_Idle"
7, 8, "u.patrol_boat_Idle"
7, 9, "u.feluca_Idle"
7, 10, "u.container_ship_Idle"
8, 0, "u.dredger_Idle"
8, 1, "u.icebreaker_Idle"
8, 2, "u.minesweeper_Idle"
8, 4, "u.rowboat_Idle"
8, 6, "u.early_submarine_Idle"
9, 0, "u.slave_Idle"
9, 1, "u.emissary_Idle"
9, 2, "u.barbarian_leader_alternative_Idle"
9, 3, "u.early_explorer_Idle"
9, 4, "u.operative_Idle"
9, 5, "u.armoured_train_Idle"
9, 6, "u.rail_artillery_Idle"
10, 0, "u.wolves_Idle"
10, 1, "u.panther_Idle"
10, 2, "u.tiger_Idle"
10, 3, "u.lion_Idle"
10, 4, "u.bear_Idle"
10, 5, "u.snake_Idle"
10, 6, "u.alligator_Idle"
10, 7, "u.orangutan_Idle"
10, 8, "u.hippopotamus_Idle"
10, 9, "u.rhinoceros_Idle"
10, 10, "u.elephant_Idle"
10, 11, "u.polar_bear_Idle"
10, 12, "u.squid_Idle"
10, 14, "u.mammoth_Idle"
0, 0, "u.gladiators_Idle:0"
0, 1, "u.arbalests_Idle:0"
0, 2, "u.halberdiers_Idle:0"
0, 3, "u.samurai_Idle:0"
0, 4, "u.militia_Idle:0"
0, 5, "u.line_infantry_Idle:0"
0, 6, "u.grenadier_Idle:0"
0, 7, "u.fusiliers_Idle:0"
0, 8, "u.musket_militia_Idle:0"
0, 9, "u.marksman_Idle:0"
1, 0, "u.stormtroopers_Idle:0"
1, 1, "u.commando_Idle:0"
1, 7, "u.motorized_infantry_Idle:0"
1, 8, "u.tachanka_Idle:0"
1, 9, "u.mobile_fanatics_Idle:0"
2, 0, "u.dromedari_Idle:0"
2, 1, "u.mounted_archers_Idle:0"
2, 2, "u.mounted_samurai_Idle:0"
2, 3, "u.uhlan_Idle:0"
2, 4, "u.mounted_militia_Idle:0"
2, 5, "u.mounted_marksman_Idle:0"
3, 0, "u.early_light_tank_Idle:0", "u.mark_iv_Idle:0"
3, 1, "u.early_tank_Idle:0", "u.whippet_Idle:0"
3, 2, "u.early_heavy_tank_Idle:0", "u.renault_ft_Idle:0"
3, 3, "u.tank_Idle:0", "u.sherman_Idle:0"
3, 4, "u.heavy_tank_Idle:0", "u.leopard_Idle:0"
3, 5, "u.reactive_armor_Idle:0", "u.abrahams_Idle:0"
3, 6, "u.armored_car_Idle:0", "u.rolls_royce_armored_car_Idle:0"
3, 7, "u.armored_recon_vehicle_Idle:0", "u.rooikat_Idle:0"
4, 0, "u.trebuchet_Idle:0"
4, 1, "u.cannon_alternative_Idle:0"
4, 2, "u.longrange_howitzer_Idle:0", "u.panzerhaubitze2000_Idle:0"
4, 3, "u.ballista_Idle:0"
4, 4, "u.siege_tower_Idle:0"
4, 5, "u.battering_ram_Idle:0"
5, 0, "u.biplane_Idle:0"
5, 1, "u.gliderplane_Idle:0", "u.gotha_Idle:0"
5, 2, "u.ekranoplan_Idle:0"
5, 3, "u.divebomber_Idle:0"
5, 4, "u.transportplane_Idle:0", "u.c47_Idle:0"
5, 5, "u.jetfighter_Idle:0", "u.mig_Idle:0"
5, 6, "u.jetbomber_Idle:0"
5, 7, "u.supersonic_fighter_Idle:0"
5, 8, "u.transportjet_Idle:0"
5, 9, "u.strikeplane_Idle:0", "u.a10_warthog_Idle:0"
5, 10, "u.strikejet_Idle:0", "u.f4_Idle:0"
5, 12, "u.balloon_Idle:0"
5, 13, "u.zeppelin_Idle:0"
6, 0, "u.light_helicopter_Idle:0", "u.alouette_iii_Idle:0"
6, 1, "u.transport_helicopter_Idle:0", "u.chinook_Idle:0"
6, 2, "u.attack_transport_helicopter_Idle:0", "u.mi24_Idle:0"
6, 4, "u.drone_Idle:0"
6, 6, "u.v2_rocket_Idle:0"
7, 0, "u.quinquireme_Idle:0"
7, 1, "u.longboat_Idle:0"
7, 2, "u.junk_Idle:0"
7, 3, "u.cog_Idle:0"
7, 4, "u.galleon_alternative_Idle:0"
7, 5, "u.frigate_alternative_Idle:0"
7, 6, "u.flagship_Idle:0"
7, 7, "u.paddle_steamer_Idle:0"
7, 8, "u.patrol_boat_Idle:0"
7, 9, "u.feluca_Idle:0"
7, 10, "u.container_ship_Idle:0"
8, 0, "u.dredger_Idle:0"
8, 1, "u.icebreaker_Idle:0"
8, 2, "u.minesweeper_Idle:0"
8, 4, "u.rowboat_Idle:0"
8, 6, "u.early_submarine_Idle:0"
9, 0, "u.slave_Idle:0"
9, 1, "u.emissary_Idle:0"
9, 2, "u.barbarian_leader_alternative_Idle:0"
9, 3, "u.early_explorer_Idle:0"
9, 4, "u.operative_Idle:0"
9, 5, "u.armoured_train_Idle:0"
9, 6, "u.rail_artillery_Idle:0"
10, 0, "u.wolves_Idle:0"
10, 1, "u.panther_Idle:0"
10, 2, "u.tiger_Idle:0"
10, 3, "u.lion_Idle:0"
10, 4, "u.bear_Idle:0"
10, 5, "u.snake_Idle:0"
10, 6, "u.alligator_Idle:0"
10, 7, "u.orangutan_Idle:0"
10, 8, "u.hippopotamus_Idle:0"
10, 9, "u.rhinoceros_Idle:0"
10, 10, "u.elephant_Idle:0"
10, 11, "u.polar_bear_Idle:0"
10, 12, "u.squid_Idle:0"
10, 14, "u.mammoth_Idle:0"
}
data/amplio2/units.spec
pixel_border = 1
tiles = { "row", "column", "tag"
; Scenario League tags in brackets
0, 0, "u.armor_Idle" ; [Nemo]
0, 1, "u.howitzer_Idle" ; [Nemo]
0, 2, "u.battleship_Idle" ; [Nemo]
0, 3, "u.bomber_Idle" ; [GB]
0, 4, "u.cannon_Idle" ; [CT]
0, 5, "u.caravan_Idle" ; [Alex] & [CT]
0, 6, "u.carrier_Idle" ; [Nemo]
0, 7, "u.catapult_Idle" ; [CT]
0, 8, "u.horsemen_Idle" ; [GB]
0, 9, "u.chariot_Idle" ; [BB] & [GB]
0, 10, "u.cruiser_Idle" ; [Nemo]
0, 11, "u.diplomat_Idle" ; [Nemo]
0, 12, "u.fighter_Idle" ; [Sor]
0, 13, "u.frigate_Idle" ; [BB]
0, 14, "u.ironclad_Idle" ; [Nemo]
0, 15, "u.knights_Idle" ; [BB]
0, 16, "u.legion_Idle" ; [GB]
0, 17, "u.mech_inf_Idle" ; [GB]
0, 18, "u.warriors_Idle" ; [GB]
0, 19, "u.musketeers_Idle" ; [Alex] & [CT]
1, 0, "u.nuclear_Idle" ; [Nemo] & [CS]
1, 1, "u.phalanx_Idle" ; [GB] & [CT]
1, 2, "u.riflemen_Idle" ; [Alex]
1, 3, "u.caravel_Idle" ; [BB]
1, 4, "u.settlers_Idle" ; [MHN]
1, 5, "u.submarine_Idle" ; [GP]
1, 6, "u.transport_Idle" ; [Nemo]
1, 7, "u.trireme_Idle" ; [BB]
1, 8, "u.archers_Idle" ; [GB]
1, 9, "u.cavalry_Idle" ; [Alex]
1, 10, "u.cruise_missile_Idle" ; [CS]
1, 11, "u.destroyer_Idle" ; [Nemo]
1, 12, "u.dragoons_Idle" ; [GB]
1, 13, "u.explorer_Idle" ; [Alex] & [CT]
1, 14, "u.freight_Idle" ; [CT] & qwm
1, 15, "u.galleon_Idle" ; [BB]
1, 16, "u.partisan_Idle" ; [BB] & [CT]
1, 17, "u.pikemen_Idle" ; [T]
2, 0, "u.marines_Idle" ; [GB]
2, 1, "u.spy_Idle" ; [EW] & [CT]
2, 2, "u.engineers_Idle" ; [Nemo] & [CT]
2, 3, "u.artillery_Idle" ; [GB]
2, 4, "u.helicopter_Idle" ; [T]
2, 5, "u.alpine_troops_Idle" ; [Nemo]
2, 6, "u.stealth_bomber_Idle" ; [GB]
2, 7, "u.stealth_fighter_Idle" ; [Nemo] & [AHS]
2, 8, "u.aegis_cruiser_Idle" ; [GP]
2, 9, "u.paratroopers_Idle" ; [Alex]
2, 10, "u.elephants_Idle" ; [Alex] & [GG] & [CT]
2, 11, "u.crusaders_Idle" ; [BB]
2, 12, "u.fanatics_Idle" ; [GB] & [CT]
2, 13, "u.awacs_Idle" ; [APL]
2, 14, "u.worker_Idle" ; [GB]
2, 15, "u.leader_Idle" ; [GB]
2, 16, "u.barbarian_leader_Idle" ; FiftyNine
2, 17, "u.migrants_Idle" ; Eleazar
2, 18, "u.storm_Idle"
; 2, 19, "u.train_Idle" ; Eleazar
; Scenario League tags in brackets
0, 0, "u.armor_Idle:0" ; [Nemo]
0, 1, "u.howitzer_Idle:0" ; [Nemo]
0, 2, "u.battleship_Idle:0" ; [Nemo]
0, 3, "u.bomber_Idle:0" ; [GB]
0, 4, "u.cannon_Idle:0" ; [CT]
0, 5, "u.caravan_Idle:0" ; [Alex] & [CT]
0, 6, "u.carrier_Idle:0" ; [Nemo]
0, 7, "u.catapult_Idle:0" ; [CT]
0, 8, "u.horsemen_Idle:0" ; [GB]
0, 9, "u.chariot_Idle:0" ; [BB] & [GB]
0, 10, "u.cruiser_Idle:0" ; [Nemo]
0, 11, "u.diplomat_Idle:0" ; [Nemo]
0, 12, "u.fighter_Idle:0" ; [Sor]
0, 13, "u.frigate_Idle:0" ; [BB]
0, 14, "u.ironclad_Idle:0" ; [Nemo]
0, 15, "u.knights_Idle:0" ; [BB]
0, 16, "u.legion_Idle:0" ; [GB]
0, 17, "u.mech_inf_Idle:0" ; [GB]
0, 18, "u.warriors_Idle:0" ; [GB]
0, 19, "u.musketeers_Idle:0" ; [Alex] & [CT]
1, 0, "u.nuclear_Idle:0" ; [Nemo] & [CS]
1, 1, "u.phalanx_Idle:0" ; [GB] & [CT]
1, 2, "u.riflemen_Idle:0" ; [Alex]
1, 3, "u.caravel_Idle:0" ; [BB]
1, 4, "u.settlers_Idle:0" ; [MHN]
1, 5, "u.submarine_Idle:0" ; [GP]
1, 6, "u.transport_Idle:0" ; [Nemo]
1, 7, "u.trireme_Idle:0" ; [BB]
1, 8, "u.archers_Idle:0" ; [GB]
1, 9, "u.cavalry_Idle:0" ; [Alex]
1, 10, "u.cruise_missile_Idle:0" ; [CS]
1, 11, "u.destroyer_Idle:0" ; [Nemo]
1, 12, "u.dragoons_Idle:0" ; [GB]
1, 13, "u.explorer_Idle:0" ; [Alex] & [CT]
1, 14, "u.freight_Idle:0" ; [CT] & qwm
1, 15, "u.galleon_Idle:0" ; [BB]
1, 16, "u.partisan_Idle:0" ; [BB] & [CT]
1, 17, "u.pikemen_Idle:0" ; [T]
2, 0, "u.marines_Idle:0" ; [GB]
2, 1, "u.spy_Idle:0" ; [EW] & [CT]
2, 2, "u.engineers_Idle:0" ; [Nemo] & [CT]
2, 3, "u.artillery_Idle:0" ; [GB]
2, 4, "u.helicopter_Idle:0" ; [T]
2, 5, "u.alpine_troops_Idle:0" ; [Nemo]
2, 6, "u.stealth_bomber_Idle:0" ; [GB]
2, 7, "u.stealth_fighter_Idle:0" ; [Nemo] & [AHS]
2, 8, "u.aegis_cruiser_Idle:0" ; [GP]
2, 9, "u.paratroopers_Idle:0" ; [Alex]
2, 10, "u.elephants_Idle:0" ; [Alex] & [GG] & [CT]
2, 11, "u.crusaders_Idle:0" ; [BB]
2, 12, "u.fanatics_Idle:0" ; [GB] & [CT]
2, 13, "u.awacs_Idle:0" ; [APL]
2, 14, "u.worker_Idle:0" ; [GB]
2, 15, "u.leader_Idle:0" ; [GB]
2, 16, "u.barbarian_leader_Idle:0" ; FiftyNine
2, 17, "u.migrants_Idle:0" ; Eleazar
2, 18, "u.storm_Idle:0"
; 2, 19, "u.train_Idle:0" ; Eleazar
}
data/cimpletoon/orient_units.spec
pixel_border = 1
tiles = { "row", "column", "tag"
0, 0, "u.settlers_Idle_sw"
0, 1, "u.settlers_Idle_w"
0, 2, "u.settlers_Idle_nw"
0, 3, "u.settlers_Idle_n"
0, 4, "u.settlers_Idle_ne"
0, 5, "u.settlers_Idle_e"
0, 6, "u.settlers_Idle_se"
0, 7, "u.settlers_Idle_s"
1, 0, "u.warriors_Idle_sw"
1, 1, "u.warriors_Idle_w"
1, 2, "u.warriors_Idle_nw"
1, 3, "u.warriors_Idle_n"
1, 4, "u.warriors_Idle_ne"
1, 5, "u.warriors_Idle_e"
1, 6, "u.warriors_Idle_se"
1, 7, "u.warriors_Idle_s"
2, 0, "u.explorer_Idle_sw"
2, 1, "u.explorer_Idle_w"
2, 2, "u.explorer_Idle_nw"
2, 3, "u.explorer_Idle_n"
2, 4, "u.explorer_Idle_ne"
2, 5, "u.explorer_Idle_e"
2, 6, "u.explorer_Idle_se"
2, 7, "u.explorer_Idle_s"
3, 0, "u.worker_Idle_sw"
3, 1, "u.worker_Idle_w"
3, 2, "u.worker_Idle_nw"
3, 3, "u.worker_Idle_n"
3, 4, "u.worker_Idle_ne"
3, 5, "u.worker_Idle_e"
3, 6, "u.worker_Idle_se"
3, 7, "u.worker_Idle_s"
4, 0, "u.horsemen_Idle_sw"
4, 1, "u.horsemen_Idle_w"
4, 2, "u.horsemen_Idle_nw"
4, 3, "u.horsemen_Idle_n"
4, 4, "u.horsemen_Idle_ne"
4, 5, "u.horsemen_Idle_e"
4, 6, "u.horsemen_Idle_se"
4, 7, "u.horsemen_Idle_s"
5, 0, "u.archers_Idle_sw"
5, 1, "u.archers_Idle_w"
5, 2, "u.archers_Idle_nw"
5, 3, "u.archers_Idle_n"
5, 4, "u.archers_Idle_ne"
5, 5, "u.archers_Idle_e"
5, 6, "u.archers_Idle_se"
5, 7, "u.archers_Idle_s"
6, 0, "u.phalanx_Idle_sw"
6, 1, "u.phalanx_Idle_w"
6, 2, "u.phalanx_Idle_nw"
6, 3, "u.phalanx_Idle_n"
6, 4, "u.phalanx_Idle_ne"
6, 5, "u.phalanx_Idle_e"
6, 6, "u.phalanx_Idle_se"
6, 7, "u.phalanx_Idle_s"
7, 0, "u.trireme_Idle_sw"
7, 1, "u.trireme_Idle_w"
7, 2, "u.trireme_Idle_nw"
7, 3, "u.trireme_Idle_n"
7, 4, "u.trireme_Idle_ne"
7, 5, "u.trireme_Idle_e"
7, 6, "u.trireme_Idle_se"
7, 7, "u.trireme_Idle_s"
8, 0, "u.chariot_Idle_sw"
8, 1, "u.chariot_Idle_w"
8, 2, "u.chariot_Idle_nw"
8, 3, "u.chariot_Idle_n"
8, 4, "u.chariot_Idle_ne"
8, 5, "u.chariot_Idle_e"
8, 6, "u.chariot_Idle_se"
8, 7, "u.chariot_Idle_s"
9, 0, "u.catapult_Idle_sw"
9, 1, "u.catapult_Idle_w"
9, 2, "u.catapult_Idle_nw"
9, 3, "u.catapult_Idle_n"
9, 4, "u.catapult_Idle_ne"
9, 5, "u.catapult_Idle_e"
9, 6, "u.catapult_Idle_se"
9, 7, "u.catapult_Idle_s"
10, 0, "u.legion_Idle_sw"
10, 1, "u.legion_Idle_w"
10, 2, "u.legion_Idle_nw"
10, 3, "u.legion_Idle_n"
10, 4, "u.legion_Idle_ne"
10, 5, "u.legion_Idle_e"
10, 6, "u.legion_Idle_se"
10, 7, "u.legion_Idle_s"
11, 0, "u.diplomat_Idle_sw"
11, 1, "u.diplomat_Idle_w"
11, 2, "u.diplomat_Idle_nw"
11, 3, "u.diplomat_Idle_n"
11, 4, "u.diplomat_Idle_ne"
11, 5, "u.diplomat_Idle_e"
11, 6, "u.diplomat_Idle_se"
11, 7, "u.diplomat_Idle_s"
12, 0, "u.caravan_Idle_sw"
12, 1, "u.caravan_Idle_w"
12, 2, "u.caravan_Idle_nw"
12, 3, "u.caravan_Idle_n"
12, 4, "u.caravan_Idle_ne"
12, 5, "u.caravan_Idle_e"
12, 6, "u.caravan_Idle_se"
12, 7, "u.caravan_Idle_s"
13, 0, "u.pikemen_Idle_sw"
13, 1, "u.pikemen_Idle_w"
13, 2, "u.pikemen_Idle_nw"
13, 3, "u.pikemen_Idle_n"
13, 4, "u.pikemen_Idle_ne"
13, 5, "u.pikemen_Idle_e"
13, 6, "u.pikemen_Idle_se"
13, 7, "u.pikemen_Idle_s"
14, 0, "u.knights_Idle_sw"
14, 1, "u.knights_Idle_w"
14, 2, "u.knights_Idle_nw"
14, 3, "u.knights_Idle_n"
14, 4, "u.knights_Idle_ne"
14, 5, "u.knights_Idle_e"
14, 6, "u.knights_Idle_se"
14, 7, "u.knights_Idle_s"
15, 0, "u.caravel_Idle_sw"
15, 1, "u.caravel_Idle_w"
15, 2, "u.caravel_Idle_nw"
15, 3, "u.caravel_Idle_n"
15, 4, "u.caravel_Idle_ne"
15, 5, "u.caravel_Idle_e"
15, 6, "u.caravel_Idle_se"
15, 7, "u.caravel_Idle_s"
16, 0, "u.galleon_Idle_sw"
16, 1, "u.galleon_Idle_w"
16, 2, "u.galleon_Idle_nw"
16, 3, "u.galleon_Idle_n"
16, 4, "u.galleon_Idle_ne"
16, 5, "u.galleon_Idle_e"
16, 6, "u.galleon_Idle_se"
16, 7, "u.galleon_Idle_s"
17, 0, "u.frigate_Idle_sw"
17, 1, "u.frigate_Idle_w"
17, 2, "u.frigate_Idle_nw"
17, 3, "u.frigate_Idle_n"
17, 4, "u.frigate_Idle_ne"
17, 5, "u.frigate_Idle_e"
17, 6, "u.frigate_Idle_se"
17, 7, "u.frigate_Idle_s"
18, 0, "u.ironclad_Idle_sw"
18, 1, "u.ironclad_Idle_w"
18, 2, "u.ironclad_Idle_nw"
18, 3, "u.ironclad_Idle_n"
18, 4, "u.ironclad_Idle_ne"
18, 5, "u.ironclad_Idle_e"
18, 6, "u.ironclad_Idle_se"
18, 7, "u.ironclad_Idle_s"
19, 0, "u.musketeers_Idle_sw"
19, 1, "u.musketeers_Idle_w"
19, 2, "u.musketeers_Idle_nw"
19, 3, "u.musketeers_Idle_n"
19, 4, "u.musketeers_Idle_ne"
19, 5, "u.musketeers_Idle_e"
19, 6, "u.musketeers_Idle_se"
19, 7, "u.musketeers_Idle_s"
20, 0, "u.dragoons_Idle_sw"
20, 1, "u.dragoons_Idle_w"
20, 2, "u.dragoons_Idle_nw"
20, 3, "u.dragoons_Idle_n"
20, 4, "u.dragoons_Idle_ne"
20, 5, "u.dragoons_Idle_e"
20, 6, "u.dragoons_Idle_se"
20, 7, "u.dragoons_Idle_s"
21, 0, "u.cannon_Idle_sw"
21, 1, "u.cannon_Idle_w"
21, 2, "u.cannon_Idle_nw"
21, 3, "u.cannon_Idle_n"
21, 4, "u.cannon_Idle_ne"
21, 5, "u.cannon_Idle_e"
21, 6, "u.cannon_Idle_se"
21, 7, "u.cannon_Idle_s"
22, 0, "u.engineers_Idle_sw"
22, 1, "u.engineers_Idle_w"
22, 2, "u.engineers_Idle_nw"
22, 3, "u.engineers_Idle_n"
22, 4, "u.engineers_Idle_ne"
22, 5, "u.engineers_Idle_e"
22, 6, "u.engineers_Idle_se"
22, 7, "u.engineers_Idle_s"
23, 0, "u.transport_Idle_sw"
23, 1, "u.transport_Idle_w"
23, 2, "u.transport_Idle_nw"
23, 3, "u.transport_Idle_n"
23, 4, "u.transport_Idle_ne"
23, 5, "u.transport_Idle_e"
23, 6, "u.transport_Idle_se"
23, 7, "u.transport_Idle_s"
24, 0, "u.destroyer_Idle_sw"
24, 1, "u.destroyer_Idle_w"
24, 2, "u.destroyer_Idle_nw"
24, 3, "u.destroyer_Idle_n"
24, 4, "u.destroyer_Idle_ne"
24, 5, "u.destroyer_Idle_e"
24, 6, "u.destroyer_Idle_se"
24, 7, "u.destroyer_Idle_s"
25, 0, "u.riflemen_Idle_sw"
25, 1, "u.riflemen_Idle_w"
25, 2, "u.riflemen_Idle_nw"
25, 3, "u.riflemen_Idle_n"
25, 4, "u.riflemen_Idle_ne"
25, 5, "u.riflemen_Idle_e"
25, 6, "u.riflemen_Idle_se"
25, 7, "u.riflemen_Idle_s"
26, 0, "u.cavalry_Idle_sw"
26, 1, "u.cavalry_Idle_w"
26, 2, "u.cavalry_Idle_nw"
26, 3, "u.cavalry_Idle_n"
26, 4, "u.cavalry_Idle_ne"
26, 5, "u.cavalry_Idle_e"
26, 6, "u.cavalry_Idle_se"
26, 7, "u.cavalry_Idle_s"
27, 0, "u.alpine_troops_Idle_sw"
27, 1, "u.alpine_troops_Idle_w"
27, 2, "u.alpine_troops_Idle_nw"
27, 3, "u.alpine_troops_Idle_n"
27, 4, "u.alpine_troops_Idle_ne"
27, 5, "u.alpine_troops_Idle_e"
27, 6, "u.alpine_troops_Idle_se"
27, 7, "u.alpine_troops_Idle_s"
28, 0, "u.freight_Idle_sw"
28, 1, "u.freight_Idle_w"
28, 2, "u.freight_Idle_nw"
28, 3, "u.freight_Idle_n"
28, 4, "u.freight_Idle_ne"
28, 5, "u.freight_Idle_e"
28, 6, "u.freight_Idle_se"
28, 7, "u.freight_Idle_s"
29, 0, "u.spy_Idle_sw"
29, 1, "u.spy_Idle_w"
29, 2, "u.spy_Idle_nw"
29, 3, "u.spy_Idle_n"
29, 4, "u.spy_Idle_ne"
29, 5, "u.spy_Idle_e"
29, 6, "u.spy_Idle_se"
29, 7, "u.spy_Idle_s"
30, 0, "u.cruiser_Idle_sw"
30, 1, "u.cruiser_Idle_w"
30, 2, "u.cruiser_Idle_nw"
30, 3, "u.cruiser_Idle_n"
30, 4, "u.cruiser_Idle_ne"
30, 5, "u.cruiser_Idle_e"
30, 6, "u.cruiser_Idle_se"
30, 7, "u.cruiser_Idle_s"
31, 0, "u.battleship_Idle_sw"
31, 1, "u.battleship_Idle_w"
31, 2, "u.battleship_Idle_nw"
31, 3, "u.battleship_Idle_n"
31, 4, "u.battleship_Idle_ne"
31, 5, "u.battleship_Idle_e"
31, 6, "u.battleship_Idle_se"
31, 7, "u.battleship_Idle_s"
32, 0, "u.submarine_Idle_sw"
32, 1, "u.submarine_Idle_w"
32, 2, "u.submarine_Idle_nw"
32, 3, "u.submarine_Idle_n"
32, 4, "u.submarine_Idle_ne"
32, 5, "u.submarine_Idle_e"
32, 6, "u.submarine_Idle_se"
32, 7, "u.submarine_Idle_s"
33, 0, "u.marines_Idle_sw"
33, 1, "u.marines_Idle_w"
33, 2, "u.marines_Idle_nw"
33, 3, "u.marines_Idle_n"
33, 4, "u.marines_Idle_ne"
33, 5, "u.marines_Idle_e"
33, 6, "u.marines_Idle_se"
33, 7, "u.marines_Idle_s"
34, 0, "u.partisan_Idle_sw"
34, 1, "u.partisan_Idle_w"
34, 2, "u.partisan_Idle_nw"
34, 3, "u.partisan_Idle_n"
34, 4, "u.partisan_Idle_ne"
34, 5, "u.partisan_Idle_e"
34, 6, "u.partisan_Idle_se"
34, 7, "u.partisan_Idle_s"
35, 0, "u.artillery_Idle_sw"
35, 1, "u.artillery_Idle_w"
35, 2, "u.artillery_Idle_nw"
35, 3, "u.artillery_Idle_n"
35, 4, "u.artillery_Idle_ne"
35, 5, "u.artillery_Idle_e"
35, 6, "u.artillery_Idle_se"
35, 7, "u.artillery_Idle_s"
36, 0, "u.fighter_Idle_sw"
36, 1, "u.fighter_Idle_w"
36, 2, "u.fighter_Idle_nw"
36, 3, "u.fighter_Idle_n"
36, 4, "u.fighter_Idle_ne"
36, 5, "u.fighter_Idle_e"
36, 6, "u.fighter_Idle_se"
36, 7, "u.fighter_Idle_s"
37, 0, "u.aegis_cruiser_Idle_sw"
37, 1, "u.aegis_cruiser_Idle_w"
37, 2, "u.aegis_cruiser_Idle_nw"
37, 3, "u.aegis_cruiser_Idle_n"
37, 4, "u.aegis_cruiser_Idle_ne"
37, 5, "u.aegis_cruiser_Idle_e"
37, 6, "u.aegis_cruiser_Idle_se"
37, 7, "u.aegis_cruiser_Idle_s"
38, 0, "u.carrier_Idle_sw"
38, 1, "u.carrier_Idle_w"
38, 2, "u.carrier_Idle_nw"
38, 3, "u.carrier_Idle_n"
38, 4, "u.carrier_Idle_ne"
38, 5, "u.carrier_Idle_e"
38, 6, "u.carrier_Idle_se"
38, 7, "u.carrier_Idle_s"
39, 0, "u.armor_Idle_sw"
39, 1, "u.armor_Idle_w"
39, 2, "u.armor_Idle_nw"
39, 3, "u.armor_Idle_n"
39, 4, "u.armor_Idle_ne"
39, 5, "u.armor_Idle_e"
39, 6, "u.armor_Idle_se"
39, 7, "u.armor_Idle_s"
40, 0, "u.mech_inf_Idle_sw"
40, 1, "u.mech_inf_Idle_w"
40, 2, "u.mech_inf_Idle_nw"
40, 3, "u.mech_inf_Idle_n"
40, 4, "u.mech_inf_Idle_ne"
40, 5, "u.mech_inf_Idle_e"
40, 6, "u.mech_inf_Idle_se"
40, 7, "u.mech_inf_Idle_s"
41, 0, "u.howitzer_Idle_sw"
41, 1, "u.howitzer_Idle_w"
41, 2, "u.howitzer_Idle_nw"
41, 3, "u.howitzer_Idle_n"
41, 4, "u.howitzer_Idle_ne"
41, 5, "u.howitzer_Idle_e"
41, 6, "u.howitzer_Idle_se"
41, 7, "u.howitzer_Idle_s"
42, 0, "u.paratroopers_Idle_sw"
42, 1, "u.paratroopers_Idle_w"
42, 2, "u.paratroopers_Idle_nw"
42, 3, "u.paratroopers_Idle_n"
42, 4, "u.paratroopers_Idle_ne"
42, 5, "u.paratroopers_Idle_e"
42, 6, "u.paratroopers_Idle_se"
42, 7, "u.paratroopers_Idle_s"
43, 0, "u.helicopter_Idle_sw"
43, 1, "u.helicopter_Idle_w"
43, 2, "u.helicopter_Idle_nw"
43, 3, "u.helicopter_Idle_n"
43, 4, "u.helicopter_Idle_ne"
43, 5, "u.helicopter_Idle_e"
43, 6, "u.helicopter_Idle_se"
43, 7, "u.helicopter_Idle_s"
44, 0, "u.bomber_Idle_sw"
44, 1, "u.bomber_Idle_w"
44, 2, "u.bomber_Idle_nw"
44, 3, "u.bomber_Idle_n"
44, 4, "u.bomber_Idle_ne"
44, 5, "u.bomber_Idle_e"
44, 6, "u.bomber_Idle_se"
44, 7, "u.bomber_Idle_s"
45, 0, "u.awacs_Idle_sw"
45, 1, "u.awacs_Idle_w"
45, 2, "u.awacs_Idle_nw"
45, 3, "u.awacs_Idle_n"
45, 4, "u.awacs_Idle_ne"
45, 5, "u.awacs_Idle_e"
45, 6, "u.awacs_Idle_se"
45, 7, "u.awacs_Idle_s"
46, 0, "u.nuclear_Idle_sw"
46, 1, "u.nuclear_Idle_w"
46, 2, "u.nuclear_Idle_nw"
46, 3, "u.nuclear_Idle_n"
46, 4, "u.nuclear_Idle_ne"
46, 5, "u.nuclear_Idle_e"
46, 6, "u.nuclear_Idle_se"
46, 7, "u.nuclear_Idle_s"
47, 0, "u.cruise_missile_Idle_sw"
47, 1, "u.cruise_missile_Idle_w"
47, 2, "u.cruise_missile_Idle_nw"
47, 3, "u.cruise_missile_Idle_n"
47, 4, "u.cruise_missile_Idle_ne"
47, 5, "u.cruise_missile_Idle_e"
47, 6, "u.cruise_missile_Idle_se"
47, 7, "u.cruise_missile_Idle_s"
48, 0, "u.stealth_bomber_Idle_sw"
48, 1, "u.stealth_bomber_Idle_w"
48, 2, "u.stealth_bomber_Idle_nw"
48, 3, "u.stealth_bomber_Idle_n"
48, 4, "u.stealth_bomber_Idle_ne"
48, 5, "u.stealth_bomber_Idle_e"
48, 6, "u.stealth_bomber_Idle_se"
48, 7, "u.stealth_bomber_Idle_s"
49, 0, "u.stealth_fighter_Idle_sw"
49, 1, "u.stealth_fighter_Idle_w"
49, 2, "u.stealth_fighter_Idle_nw"
49, 3, "u.stealth_fighter_Idle_n"
49, 4, "u.stealth_fighter_Idle_ne"
49, 5, "u.stealth_fighter_Idle_e"
49, 6, "u.stealth_fighter_Idle_se"
49, 7, "u.stealth_fighter_Idle_s"
50, 0, "u.leader_Idle_sw"
50, 1, "u.leader_Idle_w"
50, 2, "u.leader_Idle_nw"
50, 3, "u.leader_Idle_n"
50, 4, "u.leader_Idle_ne"
50, 5, "u.leader_Idle_e"
50, 6, "u.leader_Idle_se"
50, 7, "u.leader_Idle_s"
51, 0, "u.barbarian_leader_Idle_sw"
51, 1, "u.barbarian_leader_Idle_w"
51, 2, "u.barbarian_leader_Idle_nw"
51, 3, "u.barbarian_leader_Idle_n"
51, 4, "u.barbarian_leader_Idle_ne"
51, 5, "u.barbarian_leader_Idle_e"
51, 6, "u.barbarian_leader_Idle_se"
51, 7, "u.barbarian_leader_Idle_s"
52, 0, "u.fanatics_Idle_sw"
52, 1, "u.fanatics_Idle_w"
52, 2, "u.fanatics_Idle_nw"
52, 3, "u.fanatics_Idle_n"
52, 4, "u.fanatics_Idle_ne"
52, 5, "u.fanatics_Idle_e"
52, 6, "u.fanatics_Idle_se"
52, 7, "u.fanatics_Idle_s"
53, 0, "u.crusaders_Idle_sw"
53, 1, "u.crusaders_Idle_w"
53, 2, "u.crusaders_Idle_nw"
53, 3, "u.crusaders_Idle_n"
53, 4, "u.crusaders_Idle_ne"
53, 5, "u.crusaders_Idle_e"
53, 6, "u.crusaders_Idle_se"
53, 7, "u.crusaders_Idle_s"
54, 0, "u.elephants_Idle_sw"
54, 1, "u.elephants_Idle_w"
54, 2, "u.elephants_Idle_nw"
54, 3, "u.elephants_Idle_n"
54, 4, "u.elephants_Idle_ne"
54, 5, "u.elephants_Idle_e"
54, 6, "u.elephants_Idle_se"
54, 7, "u.elephants_Idle_s"
55, 0, "u.migrants_Idle_sw"
55, 1, "u.migrants_Idle_w"
55, 2, "u.migrants_Idle_nw"
55, 3, "u.migrants_Idle_n"
55, 4, "u.migrants_Idle_ne"
55, 5, "u.migrants_Idle_e"
55, 6, "u.migrants_Idle_se"
55, 7, "u.migrants_Idle_s"
0, 0, "u.settlers_Idle_sw:0"
0, 1, "u.settlers_Idle_w:0"
0, 2, "u.settlers_Idle_nw:0"
0, 3, "u.settlers_Idle_n:0"
0, 4, "u.settlers_Idle_ne:0"
0, 5, "u.settlers_Idle_e:0"
0, 6, "u.settlers_Idle_se:0"
0, 7, "u.settlers_Idle_s:0"
1, 0, "u.warriors_Idle_sw:0"
1, 1, "u.warriors_Idle_w:0"
1, 2, "u.warriors_Idle_nw:0"
1, 3, "u.warriors_Idle_n:0"
1, 4, "u.warriors_Idle_ne:0"
1, 5, "u.warriors_Idle_e:0"
1, 6, "u.warriors_Idle_se:0"
1, 7, "u.warriors_Idle_s:0"
2, 0, "u.explorer_Idle_sw:0"
2, 1, "u.explorer_Idle_w:0"
2, 2, "u.explorer_Idle_nw:0"
2, 3, "u.explorer_Idle_n:0"
2, 4, "u.explorer_Idle_ne:0"
2, 5, "u.explorer_Idle_e:0"
2, 6, "u.explorer_Idle_se:0"
2, 7, "u.explorer_Idle_s:0"
3, 0, "u.worker_Idle_sw:0"
3, 1, "u.worker_Idle_w:0"
3, 2, "u.worker_Idle_nw:0"
3, 3, "u.worker_Idle_n:0"
3, 4, "u.worker_Idle_ne:0"
3, 5, "u.worker_Idle_e:0"
3, 6, "u.worker_Idle_se:0"
3, 7, "u.worker_Idle_s:0"
4, 0, "u.horsemen_Idle_sw:0"
4, 1, "u.horsemen_Idle_w:0"
4, 2, "u.horsemen_Idle_nw:0"
4, 3, "u.horsemen_Idle_n:0"
4, 4, "u.horsemen_Idle_ne:0"
4, 5, "u.horsemen_Idle_e:0"
4, 6, "u.horsemen_Idle_se:0"
4, 7, "u.horsemen_Idle_s:0"
5, 0, "u.archers_Idle_sw:0"
5, 1, "u.archers_Idle_w:0"
5, 2, "u.archers_Idle_nw:0"
5, 3, "u.archers_Idle_n:0"
5, 4, "u.archers_Idle_ne:0"
5, 5, "u.archers_Idle_e:0"
5, 6, "u.archers_Idle_se:0"
5, 7, "u.archers_Idle_s:0"
6, 0, "u.phalanx_Idle_sw:0"
6, 1, "u.phalanx_Idle_w:0"
6, 2, "u.phalanx_Idle_nw:0"
6, 3, "u.phalanx_Idle_n:0"
6, 4, "u.phalanx_Idle_ne:0"
6, 5, "u.phalanx_Idle_e:0"
6, 6, "u.phalanx_Idle_se:0"
6, 7, "u.phalanx_Idle_s:0"
7, 0, "u.trireme_Idle_sw:0"
7, 1, "u.trireme_Idle_w:0"
7, 2, "u.trireme_Idle_nw:0"
7, 3, "u.trireme_Idle_n:0"
7, 4, "u.trireme_Idle_ne:0"
7, 5, "u.trireme_Idle_e:0"
7, 6, "u.trireme_Idle_se:0"
7, 7, "u.trireme_Idle_s:0"
8, 0, "u.chariot_Idle_sw:0"
8, 1, "u.chariot_Idle_w:0"
8, 2, "u.chariot_Idle_nw:0"
8, 3, "u.chariot_Idle_n:0"
8, 4, "u.chariot_Idle_ne:0"
8, 5, "u.chariot_Idle_e:0"
8, 6, "u.chariot_Idle_se:0"
8, 7, "u.chariot_Idle_s:0"
9, 0, "u.catapult_Idle_sw:0"
9, 1, "u.catapult_Idle_w:0"
9, 2, "u.catapult_Idle_nw:0"
9, 3, "u.catapult_Idle_n:0"
9, 4, "u.catapult_Idle_ne:0"
9, 5, "u.catapult_Idle_e:0"
9, 6, "u.catapult_Idle_se:0"
9, 7, "u.catapult_Idle_s:0"
10, 0, "u.legion_Idle_sw:0"
10, 1, "u.legion_Idle_w:0"
10, 2, "u.legion_Idle_nw:0"
10, 3, "u.legion_Idle_n:0"
10, 4, "u.legion_Idle_ne:0"
10, 5, "u.legion_Idle_e:0"
10, 6, "u.legion_Idle_se:0"
10, 7, "u.legion_Idle_s:0"
11, 0, "u.diplomat_Idle_sw:0"
11, 1, "u.diplomat_Idle_w:0"
11, 2, "u.diplomat_Idle_nw:0"
11, 3, "u.diplomat_Idle_n:0"
11, 4, "u.diplomat_Idle_ne:0"
11, 5, "u.diplomat_Idle_e:0"
11, 6, "u.diplomat_Idle_se:0"
11, 7, "u.diplomat_Idle_s:0"
12, 0, "u.caravan_Idle_sw:0"
12, 1, "u.caravan_Idle_w:0"
12, 2, "u.caravan_Idle_nw:0"
12, 3, "u.caravan_Idle_n:0"
12, 4, "u.caravan_Idle_ne:0"
12, 5, "u.caravan_Idle_e:0"
12, 6, "u.caravan_Idle_se:0"
12, 7, "u.caravan_Idle_s:0"
13, 0, "u.pikemen_Idle_sw:0"
13, 1, "u.pikemen_Idle_w:0"
13, 2, "u.pikemen_Idle_nw:0"
13, 3, "u.pikemen_Idle_n:0"
13, 4, "u.pikemen_Idle_ne:0"
13, 5, "u.pikemen_Idle_e:0"
13, 6, "u.pikemen_Idle_se:0"
13, 7, "u.pikemen_Idle_s:0"
14, 0, "u.knights_Idle_sw:0"
14, 1, "u.knights_Idle_w:0"
14, 2, "u.knights_Idle_nw:0"
14, 3, "u.knights_Idle_n:0"
14, 4, "u.knights_Idle_ne:0"
14, 5, "u.knights_Idle_e:0"
14, 6, "u.knights_Idle_se:0"
14, 7, "u.knights_Idle_s:0"
15, 0, "u.caravel_Idle_sw:0"
15, 1, "u.caravel_Idle_w:0"
15, 2, "u.caravel_Idle_nw:0"
15, 3, "u.caravel_Idle_n:0"
15, 4, "u.caravel_Idle_ne:0"
15, 5, "u.caravel_Idle_e:0"
15, 6, "u.caravel_Idle_se:0"
15, 7, "u.caravel_Idle_s:0"
16, 0, "u.galleon_Idle_sw:0"
16, 1, "u.galleon_Idle_w:0"
16, 2, "u.galleon_Idle_nw:0"
16, 3, "u.galleon_Idle_n:0"
16, 4, "u.galleon_Idle_ne:0"
16, 5, "u.galleon_Idle_e:0"
16, 6, "u.galleon_Idle_se:0"
16, 7, "u.galleon_Idle_s:0"
17, 0, "u.frigate_Idle_sw:0"
17, 1, "u.frigate_Idle_w:0"
17, 2, "u.frigate_Idle_nw:0"
17, 3, "u.frigate_Idle_n:0"
17, 4, "u.frigate_Idle_ne:0"
17, 5, "u.frigate_Idle_e:0"
17, 6, "u.frigate_Idle_se:0"
17, 7, "u.frigate_Idle_s:0"
18, 0, "u.ironclad_Idle_sw:0"
18, 1, "u.ironclad_Idle_w:0"
18, 2, "u.ironclad_Idle_nw:0"
18, 3, "u.ironclad_Idle_n:0"
18, 4, "u.ironclad_Idle_ne:0"
18, 5, "u.ironclad_Idle_e:0"
18, 6, "u.ironclad_Idle_se:0"
18, 7, "u.ironclad_Idle_s:0"
19, 0, "u.musketeers_Idle_sw:0"
19, 1, "u.musketeers_Idle_w:0"
19, 2, "u.musketeers_Idle_nw:0"
19, 3, "u.musketeers_Idle_n:0"
19, 4, "u.musketeers_Idle_ne:0"
19, 5, "u.musketeers_Idle_e:0"
19, 6, "u.musketeers_Idle_se:0"
19, 7, "u.musketeers_Idle_s:0"
20, 0, "u.dragoons_Idle_sw:0"
20, 1, "u.dragoons_Idle_w:0"
20, 2, "u.dragoons_Idle_nw:0"
20, 3, "u.dragoons_Idle_n:0"
20, 4, "u.dragoons_Idle_ne:0"
20, 5, "u.dragoons_Idle_e:0"
20, 6, "u.dragoons_Idle_se:0"
20, 7, "u.dragoons_Idle_s:0"
21, 0, "u.cannon_Idle_sw:0"
21, 1, "u.cannon_Idle_w:0"
21, 2, "u.cannon_Idle_nw:0"
21, 3, "u.cannon_Idle_n:0"
21, 4, "u.cannon_Idle_ne:0"
21, 5, "u.cannon_Idle_e:0"
21, 6, "u.cannon_Idle_se:0"
21, 7, "u.cannon_Idle_s:0"
22, 0, "u.engineers_Idle_sw:0"
22, 1, "u.engineers_Idle_w:0"
22, 2, "u.engineers_Idle_nw:0"
22, 3, "u.engineers_Idle_n:0"
22, 4, "u.engineers_Idle_ne:0"
22, 5, "u.engineers_Idle_e:0"
22, 6, "u.engineers_Idle_se:0"
22, 7, "u.engineers_Idle_s:0"
23, 0, "u.transport_Idle_sw:0"
23, 1, "u.transport_Idle_w:0"
23, 2, "u.transport_Idle_nw:0"
23, 3, "u.transport_Idle_n:0"
23, 4, "u.transport_Idle_ne:0"
23, 5, "u.transport_Idle_e:0"
23, 6, "u.transport_Idle_se:0"
23, 7, "u.transport_Idle_s:0"
24, 0, "u.destroyer_Idle_sw:0"
24, 1, "u.destroyer_Idle_w:0"
24, 2, "u.destroyer_Idle_nw:0"
24, 3, "u.destroyer_Idle_n:0"
24, 4, "u.destroyer_Idle_ne:0"
24, 5, "u.destroyer_Idle_e:0"
24, 6, "u.destroyer_Idle_se:0"
24, 7, "u.destroyer_Idle_s:0"
25, 0, "u.riflemen_Idle_sw:0"
25, 1, "u.riflemen_Idle_w:0"
25, 2, "u.riflemen_Idle_nw:0"
25, 3, "u.riflemen_Idle_n:0"
25, 4, "u.riflemen_Idle_ne:0"
25, 5, "u.riflemen_Idle_e:0"
25, 6, "u.riflemen_Idle_se:0"
25, 7, "u.riflemen_Idle_s:0"
26, 0, "u.cavalry_Idle_sw:0"
26, 1, "u.cavalry_Idle_w:0"
26, 2, "u.cavalry_Idle_nw:0"
26, 3, "u.cavalry_Idle_n:0"
26, 4, "u.cavalry_Idle_ne:0"
26, 5, "u.cavalry_Idle_e:0"
26, 6, "u.cavalry_Idle_se:0"
26, 7, "u.cavalry_Idle_s:0"
27, 0, "u.alpine_troops_Idle_sw:0"
27, 1, "u.alpine_troops_Idle_w:0"
27, 2, "u.alpine_troops_Idle_nw:0"
27, 3, "u.alpine_troops_Idle_n:0"
27, 4, "u.alpine_troops_Idle_ne:0"
27, 5, "u.alpine_troops_Idle_e:0"
27, 6, "u.alpine_troops_Idle_se:0"
27, 7, "u.alpine_troops_Idle_s:0"
28, 0, "u.freight_Idle_sw:0"
28, 1, "u.freight_Idle_w:0"
28, 2, "u.freight_Idle_nw:0"
28, 3, "u.freight_Idle_n:0"
28, 4, "u.freight_Idle_ne:0"
28, 5, "u.freight_Idle_e:0"
28, 6, "u.freight_Idle_se:0"
28, 7, "u.freight_Idle_s:0"
29, 0, "u.spy_Idle_sw:0"
29, 1, "u.spy_Idle_w:0"
29, 2, "u.spy_Idle_nw:0"
29, 3, "u.spy_Idle_n:0"
29, 4, "u.spy_Idle_ne:0"
29, 5, "u.spy_Idle_e:0"
29, 6, "u.spy_Idle_se:0"
29, 7, "u.spy_Idle_s:0"
30, 0, "u.cruiser_Idle_sw:0"
30, 1, "u.cruiser_Idle_w:0"
30, 2, "u.cruiser_Idle_nw:0"
30, 3, "u.cruiser_Idle_n:0"
30, 4, "u.cruiser_Idle_ne:0"
30, 5, "u.cruiser_Idle_e:0"
30, 6, "u.cruiser_Idle_se:0"
30, 7, "u.cruiser_Idle_s:0"
31, 0, "u.battleship_Idle_sw:0"
31, 1, "u.battleship_Idle_w:0"
31, 2, "u.battleship_Idle_nw:0"
31, 3, "u.battleship_Idle_n:0"
31, 4, "u.battleship_Idle_ne:0"
31, 5, "u.battleship_Idle_e:0"
31, 6, "u.battleship_Idle_se:0"
31, 7, "u.battleship_Idle_s:0"
32, 0, "u.submarine_Idle_sw:0"
32, 1, "u.submarine_Idle_w:0"
32, 2, "u.submarine_Idle_nw:0"
32, 3, "u.submarine_Idle_n:0"
32, 4, "u.submarine_Idle_ne:0"
32, 5, "u.submarine_Idle_e:0"
32, 6, "u.submarine_Idle_se:0"
32, 7, "u.submarine_Idle_s:0"
33, 0, "u.marines_Idle_sw:0"
33, 1, "u.marines_Idle_w:0"
33, 2, "u.marines_Idle_nw:0"
33, 3, "u.marines_Idle_n:0"
33, 4, "u.marines_Idle_ne:0"
33, 5, "u.marines_Idle_e:0"
33, 6, "u.marines_Idle_se:0"
33, 7, "u.marines_Idle_s:0"
34, 0, "u.partisan_Idle_sw:0"
34, 1, "u.partisan_Idle_w:0"
34, 2, "u.partisan_Idle_nw:0"
34, 3, "u.partisan_Idle_n:0"
34, 4, "u.partisan_Idle_ne:0"
34, 5, "u.partisan_Idle_e:0"
34, 6, "u.partisan_Idle_se:0"
34, 7, "u.partisan_Idle_s:0"
35, 0, "u.artillery_Idle_sw:0"
35, 1, "u.artillery_Idle_w:0"
35, 2, "u.artillery_Idle_nw:0"
35, 3, "u.artillery_Idle_n:0"
35, 4, "u.artillery_Idle_ne:0"
35, 5, "u.artillery_Idle_e:0"
35, 6, "u.artillery_Idle_se:0"
35, 7, "u.artillery_Idle_s:0"
36, 0, "u.fighter_Idle_sw:0"
36, 1, "u.fighter_Idle_w:0"
36, 2, "u.fighter_Idle_nw:0"
36, 3, "u.fighter_Idle_n:0"
36, 4, "u.fighter_Idle_ne:0"
36, 5, "u.fighter_Idle_e:0"
36, 6, "u.fighter_Idle_se:0"
36, 7, "u.fighter_Idle_s:0"
37, 0, "u.aegis_cruiser_Idle_sw:0"
37, 1, "u.aegis_cruiser_Idle_w:0"
37, 2, "u.aegis_cruiser_Idle_nw:0"
37, 3, "u.aegis_cruiser_Idle_n:0"
37, 4, "u.aegis_cruiser_Idle_ne:0"
37, 5, "u.aegis_cruiser_Idle_e:0"
37, 6, "u.aegis_cruiser_Idle_se:0"
37, 7, "u.aegis_cruiser_Idle_s:0"
... This diff was truncated because it exceeds the maximum size that can be displayed.
    (1-1/1)