private static ListViewItem MakeActionItem(Enemy.Action action)
{
var conditions = new List<string>();
bool turnCondition = !(action.condition_turn_a == 0 && action.condition_turn_b == 1);
if (turnCondition)
conditions.Add(String.Format("Turn {0} + {1}X",
action.condition_turn_a, action.condition_turn_b));
if (action.condition_hp != 100)
conditions.Add(String.Format("{0}% HP or below", action.condition_hp));
if (action.condition_level != 1)
conditions.Add(String.Format("Level {0} or above", action.condition_level));
if (action.condition_switch_id != 0)
conditions.Add(String.Format("Switch [{0:d4}: {1}] is ON",
action.condition_switch_id, Project.Data.System.switches[action.condition_switch_id]));
if (conditions.Count == 0)
conditions.Add("<None>");
string condition = String.Join(", ", conditions);
string cmd = action.kind == 0 ? _actions[action.basic] :
Project.Data.Skills[action.skill_id].name;
return new ListViewItem(new[] { cmd, condition,
action.rating.ToString(CultureInfo.InvariantCulture) });
}