Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
andanteyk committed Dec 12, 2017
2 parents 39cc305 + 5c78b42 commit e6b7f1f
Show file tree
Hide file tree
Showing 10 changed files with 252 additions and 569 deletions.
4 changes: 2 additions & 2 deletions ElectronicObserver/Data/FleetData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -269,11 +269,11 @@ public override void LoadFromRequest(string apiname, Dictionary<string, string>

case "api_req_kousyou/destroyship":
{
int shipID = int.Parse(data["api_ship_id"]);
var shipIDs = data["api_ship_id"].Split(",".ToCharArray()).Select(s => int.Parse(s));

for (int i = 0; i < _members.Length; i++)
{
if (_members[i] == shipID)
if (shipIDs.Contains(_members[i]))
{
RemoveShip(i);
break;
Expand Down
6 changes: 6 additions & 0 deletions ElectronicObserver/Data/Quest/ProgressDestruction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@ public ProgressDestruction(QuestData quest, int maxCount)
{
}

public void Increment(int amount)
{
for (int i = 0; i < amount; i++)
Increment();
}

public override string GetClearCondition()
{
return "解体" + ProgressMax;
Expand Down
14 changes: 12 additions & 2 deletions ElectronicObserver/Data/Quest/QuestProgressManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ public override void Initialize()

ao.APIList["api_req_kousyou/createship"].RequestReceived += ShipConstructed;

ao.APIList["api_req_kousyou/destroyship"].ResponseReceived += ShipDestructed;
ao.APIList["api_req_kousyou/destroyship"].RequestReceived += ShipDestructed;

// 装備廃棄はイベント前に装備データが削除されてしまうので destroyitem2 から直接呼ばれる

Expand Down Expand Up @@ -359,6 +359,14 @@ void QuestUpdated(string apiname, dynamic data)
case 638: //|638|対空機銃量産|機銃廃棄6個|回ではない
Progresses.Add(new ProgressDiscard(q, 6, true, new int[] { 21 }));
break;
case 673: //|673|装備開発力の整備|小口径主砲廃棄4個|進捗は1/5から始まる(3個廃棄時点で80%達成になる)
Progresses.Add(new ProgressDiscard(q, 4, true, new int[] { 1 }));
Progresses[q.QuestID].SharedCounterShift = 1;
break;
case 674: //|674|工廠環境の整備|機銃廃棄3個,鋼材300保有|進捗は2/5から始まる(2個廃棄時点で80%達成になる)
Progresses.Add(new ProgressDiscard(q, 3, true, new int[] { 21 }));
Progresses[q.QuestID].SharedCounterShift = 2;
break;

case 702: //|702|艦の「近代化改修」を実施せよ!|改修成功2
Progresses.Add(new ProgressModernization(q, 2));
Expand Down Expand Up @@ -544,9 +552,11 @@ public void EquipmentDiscarded(string apiname, Dictionary<string, string> data)

void ShipDestructed(string apiname, dynamic data)
{
int amount = (data["api_ship_id"] as string).Split(",".ToCharArray()).Count();

foreach (var p in Progresses.Values.OfType<ProgressDestruction>())
{
p.Increment();
p.Increment(amount);
}

OnProgressChanged();
Expand Down
24 changes: 13 additions & 11 deletions ElectronicObserver/Data/ShipData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -348,21 +348,23 @@ public int EvasionBase
get
{
int param = EvasionTotal;
foreach (var eq in AllSlotInstance.Where(eq => eq != null))
var eqs = AllSlotInstance.Where(eq => eq != null);
foreach (var eq in eqs)
{
param -= eq.MasterEquipment.Evasion;
}

// 北方迷彩(+北方装備)
if (eq.EquipmentID == 268)
// 北方迷彩(+北方装備) による特殊補正(重複しない)
if (eqs.Any(eq => eq.EquipmentID == 268))
{
switch (ShipID)
{
switch (ShipID)
{
case 146: // 木曽改二
case 216: // 多摩改
case 217: // 木曽改
param -= 7;
break;
}
case 146: // 木曾改二
case 216: // 多摩改
case 217: // 木曾改
case 547: // 多摩改二
param -= 7;
break;
}
}
return param;
Expand Down
26 changes: 18 additions & 8 deletions ElectronicObserver/Observer/kcsapi/api_req_kousyou/destroyship.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,29 +20,39 @@ public override void OnRequestReceived(Dictionary<string, string> data)

//todo: ここに処理を書くのはみょんな感があるので、可能なら移動する

int shipID = int.Parse(data["api_ship_id"]);
var shipIDs = data["api_ship_id"].Split(",".ToCharArray()).Select(s => int.Parse(s));
bool discardEquipment = int.Parse(data["api_slot_dest_flag"]) != 0;

var ships = shipIDs.Select(id => db.Ships[id]);


db.Fleet.LoadFromRequest(APIName, data);

ShipData ship = db.Ships[shipID];

Utility.Logger.Add(2, ship.NameWithLevel + " を解体しました。");
foreach (var ship in ships)
Utility.Logger.Add(2, ship.NameWithLevel + " を解体しました。");

for (int i = 0; i < ship.Slot.Count; i++)

if (discardEquipment)
{
if (ship.Slot[i] != -1)
db.Equipments.Remove(ship.Slot[i]);
foreach (var ship in ships)
{
foreach (var eqid in ship.AllSlot.Where(id => id != -1))
{
db.Equipments.Remove(eqid);
}
}
}

db.Ships.Remove(shipID);
foreach (int id in shipIDs)
db.Ships.Remove(id);


base.OnRequestReceived(data);
}

public override void OnResponseReceived(dynamic data)
{

KCDatabase.Instance.Material.LoadFromResponse(APIName, data.api_material);

base.OnResponseReceived((object)data);
Expand Down
14 changes: 10 additions & 4 deletions ElectronicObserver/Other/Information/apilist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -628,6 +628,7 @@ api_port/port :母港情報
api_m_flag :2
api_m_flag2 :ギミック解除時に1
api_parallel_quest_count :最大受領可能任務数
api_dest_ship_slot :解体時の装備廃棄フラグ 0=保管, 1=廃棄
api_plane_info :基地航空隊関連データ 要素があるときのみ存在(メンバも然り)
api_unset_slot :更新された unsetslot? [] 基地航空隊が更新されたときに増える?
api_type3No :装備カテゴリID
Expand Down Expand Up @@ -722,11 +723,12 @@ api_req_kousyou/createitem :装備開発(失敗)


Request.api_req_kousyou/destroyship :艦船解体
api_ship_id :解体艦船のID
api_ship_id :解体艦船のID コンマ区切り
api_slot_dest_flag :装備廃棄フラグ 0=保管, 1=廃棄

api_req_kousyou/destroyship :艦船解体
api_material :各種資源の現在値

api_unset_list :未装備の装備IDリスト unsetslot を参照 装備保管時のみ存在

Request.api_req_kousyou/destroyitem2 :装備廃棄
api_slotitem_ids :廃棄した装備のID
Expand Down Expand Up @@ -918,9 +920,13 @@ Request.api_get_member/picture_book :図鑑
api_get_member/picture_book :艦船図鑑 図鑑登録済みのもののみ送られてくるので注意
api_list :リスト 登録艦が0隻の場合は存在しない(api_data=nullになる)
api_index_no :図鑑No.
api_state :取得フラグ
二重配列になっており、未改造・改造後が同じ項目で登録されている艦娘は以下データが2つ(以上)存在する
api_state :取得フラグ [][5]
未改造・改造後が同じ項目で登録されている艦娘は以下データが2つ(以上)存在する
[0]=図鑑登録, [1]=中破絵, [2]=ケッコン, [3]=?, [4]=?
api_q_voice_info :特殊ボイス再生ボタン情報 [] 対応艦のみ存在
api_no :
api_voice_id :
api_icon_id :
api_table_id :艦船ID
api_name :艦船名
api_yomi :艦船名読み
Expand Down
52 changes: 39 additions & 13 deletions ElectronicObserver/Other/Information/kcmemo.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,27 @@ value = min + ceil( ( max - min ) * ( 0.4 or 0.8 ) * Lv / 99 )
以下に 2017/10/18 時点における ID と対応する艦娘及び衣装を示す。
なお、ID: 787~799, 811~900 以外の名称については(参照できないため)公式のものではない。


|ID|艦名|
|--:|:--|
|773|秋狭霧|
|756|???|
|757|スリガオ海峡突入満潮改二|
|758|スリガオ海峡突入時雨改二|
|759|スリガオ海峡突入最上|
|760|スリガオ海峡突入山雲|
|761|スリガオ海峡突入朝雲|
|762|晩秋狭霧|
|763|ハロウィン瑞穂|
|764|???|
|765|秋川内|
|766|秋秋雲|
|767|秋藤波|
|768|秋天霧|
|769|秋鹿島|
|770|秋白露|
|771|秋Richelieu|
|772|秋狭霧|
|773|秋刀魚狭霧|
|774|浴衣綾波|
|775|浴衣敷波|
|776|浴衣藤波|
Expand Down Expand Up @@ -294,6 +312,8 @@ value = min + ceil( ( max - min ) * ( 0.4 or 0.8 ) * Lv / 99 )
|995|牛丼時雨改二|
|996|牛丼龍驤改二|
|997|牛丼瑞穂|
|998|観艦式磯波|
|999|観艦式浦波|

なお、ID: 882 「夏三隈」について、2016/08/31 現在 API 上において「夏三隅」と誤記されている。
更に、ID: 793 「夏2017三隈」について、2017/09/12 現在 API 上において「夏2017三隅」と誤記されている。
Expand Down Expand Up @@ -1066,15 +1086,15 @@ Bismarck dreiに対する魚雷装備・試製51cm連装砲といったものの
|:--|:--|:--|:--|
|131, 143|大和, 武蔵|大口径主砲(II)||
|136, 148, 275, 276|大和改, 武蔵改, 長門改, 陸奥改|大口径主砲(II), 水上戦闘機||
|146, 216, 217|木曽改二, 多摩改, 木曽改|追加装甲(中型)||
|146, 216, 217|木曾改二, 多摩改, 木曾改|追加装甲(中型)||
|147|Верный|上陸用舟艇, 追加装甲(中型), 特型内火艇||
|178|Bismarck drei|魚雷||
|199, 418, 468, 487, 489, 490, 548|大潮改二, 皐月改二, 朝潮改二丁, 鬼怒改二, 満潮改二, 荒潮改二, 文月改二|上陸用舟艇, 特型内火艇||
|200|阿武隈改二|特殊潜航艇, 上陸用舟艇, 特型内火艇||
|343, 356|香取改, 鹿島改|探照灯||
|352|速吸改|艦上攻撃機, 大型電探, ソナー, 上陸用舟艇, 特型内火艇||
|358, 361, 446, 447|Zara改, Pola改, Italia, Roma改|水上爆撃機, 水上戦闘機||
|372|Commandant Teste改|ソナー, オートジャイロ, 航空要員, 大型探照灯, 輸送機材|爆雷, 特殊潜航艇|
|372|Commandant Teste改|中口径主砲, ソナー, オートジャイロ, 航空要員, 大型探照灯|爆雷, 特殊潜航艇|
|380|大鷹改|ソナー, 爆雷|艦上偵察機, オートジャイロ, 大型ソナー|
|434, 435, 469|睦月改二, 如月改二, 江風改二|上陸用舟艇||
|445|秋津洲|大型飛行艇, 輸送機材|特殊潜航艇, 上陸用舟艇, 対地装備, 特型内火艇|
Expand All @@ -1083,15 +1103,16 @@ Bismarck dreiに対する魚雷装備・試製51cm連装砲といったものの
|466, 467|翔鶴改二甲, 瑞鶴改二甲|輸送機材, 噴式戦闘機, 噴式戦闘爆撃機, 噴式攻撃機, 噴式偵察機||
|470|霞改二乙|大型電探, 上陸用舟艇, 特型内火艇||
|488|由良改二|水上爆撃機, 特殊潜航艇, 上陸用舟艇, 航空要員, 水上戦闘機, 特型内火艇||
|491|Commandant Teste|ソナー, オートジャイロ, 航空要員, 大型探照灯, 輸送機材|爆雷, 特殊潜航艇, 上陸用舟艇, 特型内火艇|
|491|Commandant Teste|中口径主砲, ソナー, オートジャイロ, 航空要員, 大型探照灯|爆雷, 特殊潜航艇, 上陸用舟艇, 特型内火艇|
|496|Zara due|水上爆撃機, 航空要員, 大型探照灯, 水上戦闘機||
|500|神威改母|副砲, ソナー, 爆雷, 上陸用舟艇, 追加装甲(中型), 探照灯, 照明弾, 司令部施設, 対地装備, 水上艦要員, 大型ソナー, 大型飛行艇, 特型内火艇, 輸送機材||
|500|神威改母|中口径主砲, 副砲, ソナー, 爆雷, 上陸用舟艇, 追加装甲(中型), 探照灯, 照明弾, 司令部施設, 対地装備, 水上艦要員, 大型ソナー, 大型飛行艇, 特型内火艇, 輸送機材||
|521|春日丸||艦上攻撃機, 艦上偵察機, 大型電探, オートジャイロ, 対潜哨戒機, 司令部施設, 大型ソナー|
|526|大鷹||艦上偵察機, オートジャイロ, 対潜哨戒機, 大型ソナー|
|529|大鷹改二|ソナー, 爆雷||
|530|伊504|対空機銃, 簡易輸送部材, 輸送機材||
|541|長門改二|小口径主砲, 上陸用舟艇, 大口径主砲(II), 水上戦闘機, 特型内火艇||
|539|UIT-25|対空機銃, 簡易輸送部材, 輸送機材|特殊潜航艇|
|541|長門改二|小口径主砲, 上陸用舟艇, 大口径主砲(II), 水上戦闘機, 特型内火艇||
|547|多摩改二|水上爆撃機, 上陸用舟艇, オートジャイロ, 追加装甲(中型), 航空要員, 水上戦闘機, 特型内火艇||
|605|Luigi Torelli改|簡易輸送部材, 輸送機材|特殊潜航艇|

(艦船IDが特殊装備リストに含まれていた場合は*マスターデータの内容にかかわらず*装備可能・不可能にする、というコードになっている)
Expand Down Expand Up @@ -1199,6 +1220,8 @@ Bismarck dreiに対する魚雷装備・試製51cm連装砲といったものの
|854|季|戦果拡張任務!「Z作戦」前段作戦|2-4・6-1・6-3ボスA勝利各1/6-4ボスS勝利1
|861|季|強行輸送艦隊、抜錨!|1-6終点到達2|要(航空戦艦or補給艦)2
|862|季|前線の航空偵察を実施せよ!|6-3ボスA勝利2|要水母1軽巡2
|873|季|北方海域警備を実施せよ!|3-1・3-2・3-3ボスA勝利各1|要軽巡1
|???|?|北方海域戦闘哨戒を実施せよ!|3-5ボスS勝利2|要軽母1水母1軽巡1
|303|日|「演習」で練度向上!|演習3
|304|日|「演習」で他提督を圧倒せよ!|演習勝利5
|302|週|大規模演習|演習勝利20
Expand All @@ -1219,14 +1242,17 @@ Bismarck dreiに対する魚雷装備・試製51cm連装砲といったものの
|608|日|艦娘「建造」艦隊強化!|建造3|606:『新造艦「建造」指令』の進捗を引き継ぐ(1/4から始まる)
|609|日|軍縮条約対応!|解体2
|619|日|装備の改修強化|装備改修1(失敗可)
|673|日|装備開発力の整備|小口径主砲廃棄4個|進捗は1/5から始まる(3個廃棄時点で80%達成になる)
|674|日|工廠環境の整備|機銃廃棄3個,鋼材300保有|進捗は2/5から始まる(1個廃棄時点で50%,2個〃で80%達成になる)
|613|週|資源の再利用|廃棄24回
|638|週|対空機銃量産|機銃廃棄6個|回ではない
|626|月|精鋭「艦戦」隊の新編成|熟練搭乗員+零式艦戦21型》装備の鳳翔旗艦+零式艦戦21型x2・九六式艦戦x1廃棄
|628|月|機種転換|零式艦戦21型(熟練)>>装備の空母旗艦+零式艦戦52型x2廃棄
|645|月|「洋上補給」物資の調達|三式弾廃棄+(燃料750+弾薬750+ドラム缶(輸送用)x2+九一式徹甲弾)保有
|637|季|「熟練搭乗員」養成|九六式艦戦>>★10装備の鳳翔旗艦+勲章2
|643|季|主力「陸攻」の調達|零式艦戦21型x2廃棄+(九六式陸攻x1+九七式艦攻x2)保有
|663|季|新型艤装の継続研究|大口径主砲x10廃棄+鋼材18000保有
|638|週|対空機銃量産|機銃廃棄6個
|626|月|精鋭「艦戦」隊の新編成|熟練搭乗員,零式艦戦21型>>装備の鳳翔旗艦,(零式艦戦21型x2,九六式艦戦x1)廃棄
|628|月|機種転換|零式艦戦21型(熟練)>>装備の空母旗艦,零式艦戦52型x2廃棄
|645|月|「洋上補給」物資の調達|三式弾廃棄,(燃料750,弾薬750,ドラム缶(輸送用)x2,九一式徹甲弾)保有
|637|季|「熟練搭乗員」養成|九六式艦戦>>★10装備の鳳翔旗艦,勲章2
|643|季|主力「陸攻」の調達|零式艦戦21型x2廃棄,(九六式陸攻x1,九七式艦攻x2)保有
|663|季|新型艤装の継続研究|大口径主砲x10廃棄,鋼材18000保有
|675|季|運用装備の統合整備|(艦上戦闘機x6,機銃x4)廃棄,ボーキ800保有
|702|日|艦の「近代化改修」を実施せよ!|近代化改修成功2
|703|週|「近代化改修」を進め、戦備を整えよ!|近代化改修成功15

Expand Down
6 changes: 3 additions & 3 deletions ElectronicObserver/Utility/SoftwareInformation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,20 +29,20 @@ public static class SoftwareInformation
/// <summary>
/// バージョン(日本語, ソフトウェア名を含みます)
/// </summary>
public static string VersionJapanese => SoftwareNameJapanese + "三〇型改五";
public static string VersionJapanese => SoftwareNameJapanese + "三〇型改六";


/// <summary>
/// バージョン(英語)
/// </summary>
public static string VersionEnglish => "3.0.5";
public static string VersionEnglish => "3.0.6";



/// <summary>
/// 更新日時
/// </summary>
public static DateTime UpdateTime => DateTimeHelper.CSVStringToTime("2017/12/06 00:00:00");
public static DateTime UpdateTime => DateTimeHelper.CSVStringToTime("2017/12/12 22:00:00");



Expand Down
Loading

0 comments on commit e6b7f1f

Please sign in to comment.