/// <summary> /// ボトムライン 活性配合 /// /// -------------------------------------------------------- /// | | | (こ) | 父父父父 | /// | | | 父父父 +-------------| /// | | | | 父父父母 | /// | | 父父 +------------+-------------| /// | | | (け) | 父父母父 | /// | | | 父父母 +-------------| /// | [零細] | | | 父父母母 | /// | 父 |-------------+------------+-------------| /// | | | (く) | 父母父父 | /// | | | 父母父 +-------------| /// | | | | 父母父母 | /// | | 父母 +------------+-------------| /// | | | (き) | 父母母父 | /// | | | 父母母 +-------------| /// | | | | 父母母母 | /// |-------------+-------------+------------+-------------| /// | | | (か) | 母父父父 | /// | | | 母父父 +-------------| /// | | | | 母父父母 | /// | | 母父 +------------+-------------| /// | | | (お) | 母父母父 | /// | | | 母父母 +-------------| /// | (あ) | | | 母父母母 | /// | 母 +-------------+------------+-------------| /// | | | (え) | 母母父父 | /// | | | 母母父 +-------------| /// | | (い) | | 母母父母 | /// | | 母母 +------------+-------------| /// | | | (う) | 母母母父 | /// | | | 母母母 +-------------| /// | | | | 母母母母 | /// -------------------------------------------------------- /// /// ボトムライン活性配合Lv1 /// 父が「零細」で、母、母母、母母母が(あ・い・う)ともに流行か因子を持っている場合に成立します。 /// /// ボトムライン活性配合Lv2 /// 加えて、父方の3代前の先祖(こ・け・く・き)がすべて零細血統だとより効果が高くなります。 /// /// ボトムライン活性配合Lv3 /// 加えての母方の3代前の先祖(う・え・お・か)がすべて /// 流行血統だとさらに効果が高くなります /// </summary> /// <returns></returns> private Enums.ライン活性配合 sub_ボトムライン活性配合のチェック() { var sire_blood = this.SirePedigree.Tree.Data; var temp_info = this.family_line_info[ sire_blood.family_line_num ]; if( !temp_info.零細血統か() ) { return Enums.ライン活性配合.無し; } // Lv1のチェック var level = Enums.ライン活性配合.無し; Pedigree.Node[] node_check_list; temp_info = this.family_line_info[ this.DamPedigree.Tree.Data.family_line_num ]; // (あ)の流行or因子持ちチェック if( !temp_info.流行血統か() ) { if( this.DamPedigree.Tree.Data.factor_left > 8 && this.DamPedigree.Tree.Data.factor_right > 8 ) { return Enums.ライン活性配合.無し; } } // (い),(う)の流行or因子持ちチェック node_check_list = new Pedigree.Node[] { this.DamPedigree.Tree.Mother, this.DamPedigree.Tree.Mother.Mother, }; level = Enums.ライン活性配合.ボトムライン活性配合Lv1; foreach( var node in node_check_list ) { temp_info = this.family_line_info[ node.Data.family_line_num ]; if( !temp_info.流行血統か() && ( node.Data.factor_left > 8 && node.Data.factor_right > 8 ) ) { return Enums.ライン活性配合.無し; } } // (こ),(け),(く),(き)の零細チェック node_check_list = new Pedigree.Node[] { this.DamPedigree.Tree.Father.Father, this.DamPedigree.Tree.Father.Mother, this.DamPedigree.Tree.Mother.Father, this.DamPedigree.Tree.Mother.Mother, }; foreach( var node in node_check_list ) { temp_info = this.family_line_info[ node.Data.family_line_num ]; if( !temp_info.零細血統か() ) { // ボトムライン活性配合Lv1 or 無し return level; } } // (う),(え),(お),(か)の流行チェック((こ),(け),(く),(き)は零細確定済み) node_check_list = new Pedigree.Node[] { this.SirePedigree.Tree.Mother.Mother, this.SirePedigree.Tree.Mother.Father, this.SirePedigree.Tree.Father.Mother, this.SirePedigree.Tree.Father.Father }; foreach( var node in node_check_list ) { temp_info = this.family_line_info[ node.Data.family_line_num ]; if( !temp_info.零細血統か() ) { return Enums.ライン活性配合.ボトムライン活性配合Lv2; } } return Enums.ライン活性配合.ボトムライン活性配合Lv3; }
/// <summary> /// メールライン活性配合のチェック /// /// -------------------------------------------------------- /// | | | (け) | 父父父父 | /// | | | 父父父 +-------------| /// | | | | 父父父母 | /// | | 父父 +------------+-------------| /// | | | (く) | 父父母父 | /// | [流行] | | 父父母 +-------------| /// | | | | 父父母母 | /// | 父 |-------------+------------+-------------| /// | | | (き) | 父母父父 | /// | | | 父母父 +-------------| /// | | | | 父母父母 | /// | | 父母 +------------+-------------| /// | | | (か) | 父母母父 | /// | | | 父母母 +-------------| /// | | | | 父母母母 | /// |-------------+-------------+------------+-------------| /// | | | (お) | 母父父父 | /// | | | 母父父 +-------------| /// | | | | 母父父母 | /// | | 母父 +------------+-------------| /// | | | (え) | 母父母父 | /// | | | 母父母 +-------------| /// | (あ) | | | 母父母母 | /// | 母 +-------------+------------+-------------| /// | | | (う) | 母母父父 | /// | | | 母母父 +-------------| /// | | | | 母母父母 | /// | | 母母 +------------+-------------| /// | | | (い) | 母母母父 | /// | | | 母母母 +-------------| /// | | | | 母母母母 | /// -------------------------------------------------------- /// /// メールライン活性配合Lv1 /// 父が「流行」で、母、母母、母母母が(あ・い・う)ともに「零細」の場合に成立します。 /// /// メールライン活性配合Lv2 /// 加えて、母方の3代前の先祖(え・お)がすべて零細血統だとより効果が高くなります。 /// /// メールライン活性配合Lv3 /// メールライン以外の3代前の先祖(い・う・え・お・か・き・く・け)がすべて零細血統だと /// さらに効果が高くなります /// /// /// > 88 名前:こんな名無しでは、どうしようもないよ。[sage] 投稿日:2012/03/30(金) 11:10:05.60 ID:wGxQ0LBn [1/2] /// > sheep(とそのパクリブログ)の配合理論 2012の相違点 /// > メールラインLV3→父父父は流行でもよい /// /// MEMO: /// ×流行でもよい /// ○零細で無くてもよい /// </summary> private Enums.ライン活性配合 sub_メールライン活性配合のチェック() { var sire_blood = this.SirePedigree.Tree.Data; var temp_info = this.family_line_info[ sire_blood.family_line_num ]; // 父が流行血統ではないなら活性無し if( !temp_info.流行血統か() ) { return Enums.ライン活性配合.無し; } Pedigree.Node[] node_check_list; // (あ)の零細チェック temp_info = this.family_line_info[ this.DamPedigree.Tree.Data.family_line_num ]; if( !temp_info.零細血統か() ) { return Enums.ライン活性配合.無し; } // (い),(う)の零細チェック node_check_list = new Pedigree.Node[] { this.DamPedigree.Tree.Mother.Mother, this.DamPedigree.Tree.Mother.Father, }; foreach( var node in node_check_list ) { temp_info = this.family_line_info[ node.Data.family_line_num ]; if( !temp_info.零細血統か() ) { return Enums.ライン活性配合.無し; } } // (い),(う),(え),(お)の零細チェック node_check_list = new Pedigree.Node[] { this.DamPedigree.Tree.Mother.Mother, this.DamPedigree.Tree.Mother.Father, this.DamPedigree.Tree.Father.Mother, this.DamPedigree.Tree.Father.Father, }; foreach( var node in node_check_list ) { temp_info = this.family_line_info[ node.Data.family_line_num ]; if( !temp_info.零細血統か() ) { return Enums.ライン活性配合.メールライン活性配合Lv1;; } } // (か),(き),(く),(け)の零細チェック((い),(う),(え),(お)は零細確定済み) node_check_list = new Pedigree.Node[] { this.SirePedigree.Tree.Mother.Mother, this.SirePedigree.Tree.Mother.Father, this.SirePedigree.Tree.Father.Mother, // (け)は零細の必要は無くなった //this.SirePedigree.Tree.Father.Father }; foreach( var node in node_check_list ) { temp_info = this.family_line_info[ node.Data.family_line_num ]; if( !temp_info.零細血統か() ) { // メールライン活性配合Lv2 return Enums.ライン活性配合.メールライン活性配合Lv2; } } return Enums.ライン活性配合.メールライン活性配合Lv3; }
/// <summary> /// 血脈活性化配合のチェック /// /// --------------------------------------------------- /// | | | ※ | 父父父父 | /// | | | 父父父 +-------------| /// | | | | 父父父母 | /// | | 父父 +------------+-------------| /// | | | ※ | 父父母父 | /// | | | 父父母 +-------------| /// | | | | 父父母母 | /// | 父 |-------------+------------+-------------| /// | | | ※ | 父母父父 | /// | | | 父母父 +-------------| /// | | | | 父母父母 | /// | | 父母 +------------+-------------| /// | | | ※ | 父母母父 | /// | | | 父母母 +-------------| /// | | | | 父母母母 | /// |--------+-------------+------------+-------------| /// | | | ※ | 母父父父 | /// | | | 母父父 +-------------| /// | | | | 母父父母 | /// | | 母父 +------------+-------------| /// | | | ※ | 母父母父 | /// | | | 母父母 +-------------| /// | | | | 母父母母 | /// | 母 +-------------+------------+-------------| /// | | | ※ | 母母父父 | /// | | | 母母父 +-------------| /// | | | | 母母父母 | /// | | 母母 +------------+-------------| /// | | | ※ | 母母母父 | /// | | | 母母母 +-------------| /// | | | | 母母母母 | /// --------------------------------------------------- /// /// 3代前の先祖馬の親系統が6種類以上の場合成立する。 /// 親系統の数に応じて爆発力がアップします。また同時にインブリードを成立させた場合、 /// インブリードによるデメリットが少なくなります。 /// (インブリードが3×4より薄い場合)7本型以上の場合はデメリットがなくなります。 /// </summary> private void 血脈活性化配合のチェック() { var TARGET_LEN = 8; var activity_node_list = new Pedigree.Node[TARGET_LEN]; var counter = 0; foreach( var pedigree in new []{ this.SirePedigree, this.DamPedigree } ) { foreach( var node in pedigree.NodeList(2) ) { activity_node_list[ counter++ ] = node; } } Debug.Assert( counter == TARGET_LEN ); var parent_family_line_list = new UInt32[TARGET_LEN]; counter = 0; foreach( var node in activity_node_list ) { var family_line_info = this.family_line_info[ node.Data.family_line_num ]; parent_family_line_list[ counter++ ] = family_line_info.ParentFamilyLuneNum; } var count = parent_family_line_list.Distinct().Count(); switch( count ) { case 6: this.Combination.血脈活性化配合 = Enums.血脈活性化配合.六本型; break; case 7: this.Combination.血脈活性化配合 = Enums.血脈活性化配合.七本型; break; case 8: this.Combination.血脈活性化配合 = Enums.血脈活性化配合.八本型; break; default: this.Combination.血脈活性化配合 = Enums.血脈活性化配合.無し; break; } }