private string[] ReadAllLines(string log)\r
{\r
using (var logfile = SnifferTest.OpenLogFile(log))\r
- return logfile.ReadToEnd().Split(new [] {"\r\n"}, StringSplitOptions.None);\r
+ return logfile.ReadToEnd().Split(new[] {"\r\n"}, StringSplitOptions.None);\r
}\r
\r
public void InjectShips(dynamic battle, dynamic item)\r
_battleInfo.InspectBattle(logs[1], logs[2], battle);\r
_battleInfo.InspectBattleResult(Data(logs[6]));\r
PAssert.That(() => !_battleInfo.DisplayedResultRank.IsError);\r
- PAssert.That(() => _shipInfo.Fleets[1].Ships[0].SpecialAttackTriggered);\r
+ PAssert.That(() => _battleInfo.Result.Friend.Main[0].SpecialAttack == ShipStatus.Attack.Fire);\r
+ PAssert.That(() => _shipInfo.Fleets[1].Ships[0].SpecialAttack == ShipStatus.Attack.Fired);\r
}\r
}\r
}
\ No newline at end of file
};\r
}\r
\r
- private void FlagshipRecovery(string request, ShipStatus flagship)\r
+ private void FlagshipRecovery(string request, ShipStatus flagship)\r
{\r
var type = int.Parse(HttpUtility.ParseQueryString(request)["api_recovery_type"] ?? "0");\r
switch (type)\r
for (var shot = 0; shot < targets[turn].Length; shot++)\r
{\r
var target = targets[turn][shot];\r
- var damage = damages[turn][shot];\r
+ var damage = damages[turn][shot];\r
if (target == -1 || damage == -1)\r
continue;\r
records[eFlags[turn]][target].ApplyDamage(damage);\r
\r
public void TriggerSpecialAttack()\r
{\r
- _status.SpecialAttackTriggered = true;\r
+ _status.SpecialAttack = ShipStatus.Attack.Fire;\r
}\r
\r
public void ApplyDamage(int damage)\r
ship.NowHp = NowHp;\r
ship.Slot = _status.Slot;\r
ship.SlotEx = _status.SlotEx;\r
- ship.SpecialAttackTriggered = _status.SpecialAttackTriggered;\r
+ ship.SpecialAttack = _status.SpecialAttack == ShipStatus.Attack.Fire\r
+ ? ShipStatus.Attack.Fired\r
+ : ShipStatus.Attack.None;\r
}\r
}\r
\r
public int Lucky { get; set; }\r
public bool Locked { get; set; }\r
public bool Escaped { get; set; }\r
- public bool SpecialAttackTriggered { get; set; }\r
+ public Attack SpecialAttack { get; set; }\r
+\r
+ public enum Attack\r
+ {\r
+ None,\r
+ Fire,\r
+ Fired\r
+ }\r
\r
public Damage DamageLevel => CalcDamage(NowHp, MaxHp);\r
\r
var dc = status.PreparedDamageControl;\r
var dcName = dc == 42 ? "[ダ]" :\r
dc == 43 ? "[メ]" : "";\r
- var sp = status.SpecialAttackTriggered ? "*" : "";\r
+ var sp = "";\r
+ switch (status.SpecialAttack)\r
+ {\r
+ case ShipStatus.Attack.Fire:\r
+ sp = "+";\r
+ break;\r
+ case ShipStatus.Attack.Fired:\r
+ sp = "-";\r
+ break;\r
+ }\r
SetName((status.Escaped ? "[避]" : dcName) + sp, status.Name, empty, width);\r
}\r
\r