Difference between revisions of "StatisticalScenarioWML"

From The Battle for Wesnoth Wiki
 
(The [team] tag: update syntax)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== the [scenario] tag for describing the results of a scenario ==
+
{{WML Tags}}
 +
The [[SavefileWML|save file]] contains statistical information about all previously played scenarios; each one inside a [[#The_.5Bscenario.5D_tag|[scenario]]] tag.
 +
It also includes information about currently played scenario -- if the game was saved in the middle of scenario -- though this one will be re-calculated from replay.
  
Each [scenario] in [statistics] describes the results of a scenario.
+
The statistics are recorded per scenario, per team, per unit type.
This information is used for the "Statistics" menu option.
+
Some of these statistics are available during game in "Statistics" menu option.
When this option is accessed, then a menu is displayed, each option corresponding to a collection of unit types
+
Others are collected, but not currently displayed; this may later change.
described in [statistics].
 
Currently most of the keys/tags are not being used, but they are being recorded in case it is decided to use them.
 
  
the following key/tags are recognized:
+
The recorded information includes:
* ''scenario'' the ID of the scenario whose results are being described
+
* number of units recruited
* '''[team]''' describes the statistics for 1 team.
+
* number of units recalled
[team] tags must be in index order.
+
* number of units advanced
Currently only the side 1 (index 0) statistics are used.
+
* number of units killed
** ''damage_inflicted'' total damage inflicted by units on [team]
 
** ''damage_taken'' total damage inflicted on units on [team]
 
** ''recall_cost'' total cost of units that were recalled
 
** ''recruit_cost'' total cost of units on [team] that were recruited
 
  
Each of the following tags describe the unit types of a set of units
+
== The [statistics] tag ==
by describing the collection of their unit types.
+
 
The tags all use attributes of the form '''''unit-type//=//number''''',
+
Top-level tag; appears directly in [[SavefileWML|save file]].
meaning that ''number'' units of type ''unit-type'' are in the collection
+
 
** '''[recruits]''' displayed.
+
Attribute:
the set of units on [team] that were recruited in this scenario
+
* '''mid_scenario''': whether the last scenario is currently being played
** '''[recalls]''' displayed.
+
 
the set of units that were recalled in this scenario
+
Subtag:
** '''[advances]''' displayed as "advancements".
+
* ''[[#The_.5Bscenario.5D_tag|[scenario]]]'' -- recorded information for one played scenario
the set of units on [team] that advanced in this scenario
+
 
** '''[deaths]''' displayed as "losses".
+
The example statistics tag looks like this:
the set of units on [team] that died in this scenario
+
 
** '''[killed]''' displayed as "kills".
+
[statistics]
the set of units that were killed by units on [team]
+
  mid_scenario="false"
** '''[attacks]''' not displayed.
+
  [scenario]
** '''[defends]''' not displayed.
+
    scenario="My first scenario"
 +
    [team]
 +
 +
      # statistics about team 1 in first scenario
 +
 +
    [/team]
 +
    [team]
 +
 +
      # statistics about team 2 in first scenario
 +
 +
    [/team]
 +
  [scenario]
 +
  [scenario]
 +
    scenario="My second scenario"
 +
    [team]
 +
 +
      # statistics about team 1 in second scenario
 +
 +
    [/team]
 +
    [team]
 +
 +
      # statistics about team 2 in second scenario
 +
 +
    [/team]
 +
  [scenario]
 +
[statistics]
 +
 
 +
 
 +
== The [scenario] tag ==
 +
 
 +
Appears in [[#The_.5Bstatistics.5D_tag|[statistics]]] tag.
 +
 
 +
Attribute:
 +
* '''scenario''': the ID of the scenario whose results are recorded
 +
 
 +
Subtag:
 +
* '''[[#The_.5Bteam.5D_tag|[team]]]''': recorded information for one team
 +
 
 +
Teams must be in index order.
 +
Currently only the side 1 (index 0) statistics are displayed in game.
 +
 
 +
== The [team] tag ==
 +
 
 +
Appears in [[#The_.5Bscenario.5D_tag|[scenario]]] tag.
 +
 
 +
Attributes:
 +
* '''damage_inflicted''': total damage inflicted by units on team
 +
* '''damage_taken''':total damage inflicted on units on team
 +
* '''recall_cost''': total cost of units that were recalled
 +
* '''recruit_cost''': total cost of units on team that were recruited
 +
 
 +
Subtags:
 +
* '''[recruits]''': the set of units on [team] that were recruited in this scenario
 +
* '''[recalls]''': the set of units that were recalled in this scenario
 +
* '''[advances]''': "advancements"; the set of units on [team] that advanced in this scenario
 +
* '''[deaths]''': "losses"; the set of units on [team] that died in this scenario
 +
* '''[killed]''': "kills"; the set of units that were killed by units on [team]
 +
* '''[attacks]''': not displayed
 +
* '''[defends]''': not displayed
 +
 
 +
The subtags describe unit types per number.
 +
For example the following information means that in given scenario the given team has recruited 2 Elvish Fighters, 2 Elvish Shamans and 3 Elvish Archers.
 +
 
 +
[recruits]
 +
  2="Elvish Fighter,Elvish Shaman"
 +
  3="Elvish Archer"
 +
[/recruits]
  
 
== See Also ==
 
== See Also ==
Line 38: Line 100:
 
* [[ReferenceWML]]
 
* [[ReferenceWML]]
  
 +
[[Category: WML Reference]]

Latest revision as of 15:09, 9 November 2018

[edit]WML Tags

A:

abilities, about, achievement, achievement_group, add_ai_behavior, advanced_preference, advancefrom, advancement, advances, affect_adjacent, ai, allied_with, allow_end_turn, allow_extra_recruit, allow_recruit, allow_undo, and, animate, animate_unit, animation, aspect, attack (replay, weapon), attack_anim, attacks (special, stats), avoid;

B:

base_unit, background_layer, berserk, binary_path, break, brush;

C:

campaign, cancel_action, candidate_action, capture_village, case, chance_to_hit, change_theme, chat, checkbox, choice, choose, clear_global_variable, clear_menu_item, clear_variable, color_adjust, color_palette, color_range, command (action, replay), continue, credits_group, criteria;

D:

damage, death, deaths, default, defend, defends, defense, delay, deprecated_message, destination, difficulty, disable, disallow_end_turn, disallow_extra_recruit, disallow_recruit, do, do_command, drains, draw_weapon_anim;

E:

editor_group, editor_music, editor_times, effect, else (action, animation), elseif, endlevel, end_turn (action, replay), enemy_of, engine, entry (credits, options), era, event, experimental_filter_ability, experimental_filter_ability_active, experimental_filter_specials, extra_anim;

F:

facet, facing, fake_unit, false, feedback, female, filter (concept, event), filter_adjacent, filter_adjacent_location, filter_attack, filter_attacker, filter_base_value, filter_condition, filter_defender, filter_enemy, filter_location, filter_opponent, filter_own, filter_owner, filter_radius, filter_recall, filter_second, filter_second_attack, filter_self, filter_side, filter_student, filter_vision, filter_weapon, filter_wml, find_path, fire_event, firststrike, floating_text, found_item, for, foreach, frame;

G:

game_config, get_global_variable, goal, gold, gold_carryover;

H:

harm_unit, has_ally, has_attack, has_unit, has_achievement, have_location, have_unit, heal_on_hit, heal_unit, healed_anim, healing_anim, heals, hide_help, hide_unit, hides;

I:

idle_anim, if (action, animation, intro), illuminates, image (intro, terrain), init_side, insert_tag, inspect, item, item_group;

J:

jamming_costs, join;

K:

kill, killed;

L:

label, language, leader, leader_goal, leadership, leading_anim, levelin_anim, levelout_anim, lift_fog, limit, literal, load_resource, locale, lock_view, lua;

M:

male, menu_item, message, micro_ai, missile_frame, modification, modifications, modify_ai, modify_side, modify_turns, modify_unit, modify_unit_type, move, move_unit, move_unit_fake, move_units_fake, movement_anim, movement costs, movetype, multiplayer, multiplayer_side, music;

N:

not, note;

O:

object, objective, objectives, on_undo, open_help, option, options, or;

P:

part, petrifies, petrify, place_shroud, plague, poison, post_movement_anim, pre_movement_anim, primary_attack, primary_unit, print, progress_achievement, put_to_recall_list;

R:

race, random_placement, recall (action, replay), recalls, recruit, recruit_anim, recruiting_anim, recruits, redraw, regenerate, remove_event, remove_item, remove_object, remove_shroud, remove_sound_source, remove_time_area, remove_trait, remove_unit_overlay, repeat, replace_map, replace_schedule, replay, replay_start, reset_fog, resistance (ability, unit), resistance_defaults, resource, return, role, rule;

S:

save, scenario, screen_fade, scroll, scroll_to, scroll_to_unit, secondary_attack, secondary_unit, section, select_unit, sequence, set_achievement, set_extra_recruit, set_global_variable, set_menu_item, set_recruit, set_specials, set_variable, set_variables, sheath_weapon_anim, show_if (message, objective, set_menu_item), show_objectives, side, skirmisher, slider, slow, snapshot, sound, sound_source, source (replay, teleport), special_note, specials, split, stage, standing_anim, statistics, status, store_gold, store_items, store_locations, store_map_dimensions, store_reachable_locations, store_relative_direction, store_side, store_starting_location, store_time_of_day, store_turns, store_unit, store_unit_defense, store_unit_defense_on, store_unit_type, store_unit_type_ids, store_villages, story, swarm, sub_achievement, switch, sync_variable;

T:

target, team, teleport (ability, action), teleport_anim, terrain, terrain_defaults, terrain_graphics, terrain_mask, terrain_type, test, test_condition, test_do_attack_by_id, text_input, textdomain, theme, then, tile, time, time_area, topic, toplevel, trait, transform_unit, traveler, true, tunnel;

U:

unhide_unit, unit, unit_overlay, unit_type, unit_worth, units, unlock_view, unpetrify, unstore_unit, unsynced;

V:

value, variable, variables, variant, variation, victory_anim, village, vision_costs, volume;

W:

while, wml_message, wml_schema;

Z:

zoom;

The save file contains statistical information about all previously played scenarios; each one inside a [scenario] tag. It also includes information about currently played scenario -- if the game was saved in the middle of scenario -- though this one will be re-calculated from replay.

The statistics are recorded per scenario, per team, per unit type. Some of these statistics are available during game in "Statistics" menu option. Others are collected, but not currently displayed; this may later change.

The recorded information includes:

  • number of units recruited
  • number of units recalled
  • number of units advanced
  • number of units killed

The [statistics] tag

Top-level tag; appears directly in save file.

Attribute:

  • mid_scenario: whether the last scenario is currently being played

Subtag:

  • [scenario] -- recorded information for one played scenario

The example statistics tag looks like this:

[statistics]
  mid_scenario="false"
  [scenario]
    scenario="My first scenario"
    [team]

      # statistics about team 1 in first scenario

    [/team]
    [team]

      # statistics about team 2 in first scenario

    [/team]
  [scenario]
  [scenario]
    scenario="My second scenario"
    [team]

      # statistics about team 1 in second scenario

    [/team]
    [team]

      # statistics about team 2 in second scenario

    [/team]
  [scenario]
[statistics]


The [scenario] tag

Appears in [statistics] tag.

Attribute:

  • scenario: the ID of the scenario whose results are recorded

Subtag:

  • [team]: recorded information for one team

Teams must be in index order. Currently only the side 1 (index 0) statistics are displayed in game.

The [team] tag

Appears in [scenario] tag.

Attributes:

  • damage_inflicted: total damage inflicted by units on team
  • damage_taken:total damage inflicted on units on team
  • recall_cost: total cost of units that were recalled
  • recruit_cost: total cost of units on team that were recruited

Subtags:

  • [recruits]: the set of units on [team] that were recruited in this scenario
  • [recalls]: the set of units that were recalled in this scenario
  • [advances]: "advancements"; the set of units on [team] that advanced in this scenario
  • [deaths]: "losses"; the set of units on [team] that died in this scenario
  • [killed]: "kills"; the set of units that were killed by units on [team]
  • [attacks]: not displayed
  • [defends]: not displayed

The subtags describe unit types per number. For example the following information means that in given scenario the given team has recruited 2 Elvish Fighters, 2 Elvish Shamans and 3 Elvish Archers.

[recruits]
  2="Elvish Fighter,Elvish Shaman"
  3="Elvish Archer"
[/recruits]

See Also

This page was last edited on 9 November 2018, at 15:09.