public AirBattle1() { this.F_LostInfo = new LostPlaneInfo(); this.E_LostInfo = new LostPlaneInfo(); this.SeikuKind = BattleSeikuKinds.None; this.F_TouchPlane = 0; this.E_TouchPlane = 0; }
public AirBattle1() { F_LostInfo = new LostPlaneInfo(); E_LostInfo = new LostPlaneInfo(); SeikuKind = BattleSeikuKinds.None; F_TouchPlane = 0; E_TouchPlane = 0; }
protected virtual int getMerits(int f_seiku, int e_seiku, ref BattleSeikuKinds dispSeiku) { double num = (double)f_seiku * 3.0; double num2 = (double)f_seiku * 1.5; double num3 = (double)e_seiku * 3.0; double num4 = (double)e_seiku * 1.5; if ((double)f_seiku >= num3) { dispSeiku = BattleSeikuKinds.Kakuho; seikuValue[0] = 3; seikuValue[1] = 0; return(1); } if (num2 <= (double)e_seiku && (double)e_seiku < num) { dispSeiku = BattleSeikuKinds.Ressei; seikuValue[0] = 1; seikuValue[1] = 2; return(7); } if (num4 <= (double)f_seiku && (double)f_seiku < num3) { dispSeiku = BattleSeikuKinds.Yuusei; seikuValue[0] = 2; seikuValue[1] = 1; return(3); } if ((double)e_seiku >= num) { dispSeiku = BattleSeikuKinds.Lost; seikuValue[0] = 0; seikuValue[1] = 3; return(10); } dispSeiku = BattleSeikuKinds.None; seikuValue[0] = 0; seikuValue[1] = 0; return(5); }
protected override int getMerits(int f_seiku, int e_seiku, ref BattleSeikuKinds dispSeiku) { return(base.getMerits(f_seiku, e_seiku, ref dispSeiku)); }
private void CalculateDayKindAttack() //计算每艘船弹观发动率 { double AllDeckSakuteki = 0; //舰队索敌 double[] ShipSumItemSakuteki = new double[fDeck.Ship_List.Count()]; //单舰装备索敌 int DeckIdx = 0; foreach (ShipData currentShip in fDeck.Ship_List) { AllDeckSakuteki += currentShip.Sakuteki;//舰队观测 foreach (ItemData currentItem in currentShip.Item_List) { if (currentItem.onSlotNum > 0 && (currentItem.Api_mapbattle_type3 == 10 || currentItem.Api_mapbattle_type3 == 10))//水观水爆 { AllDeckSakuteki += (int)Math.Sqrt((double)currentItem.onSlotNum) * currentItem.Sakuteki; } ShipSumItemSakuteki[DeckIdx] += (double)currentItem.Sakuteki; } ++DeckIdx; } double AllDeckSpUp = (double)((int)(Math.Sqrt(AllDeckSakuteki) + AllDeckSakuteki * 0.1)); BattleSeikuKinds Seiku = FightParams.Seiku; DeckIdx = 0; foreach (ShipData currentShip2 in fDeck.Ship_List) { int ShipLuckSpUp = (int)(Math.Sqrt((double)currentShip2.Luck) + 10.0); if (Seiku == BattleSeikuKinds.Kakuho) { int Posbility = (int)((double)ShipLuckSpUp + 10.0 + (AllDeckSpUp + ShipSumItemSakuteki[DeckIdx] * 1.6) * 0.7); if (currentShip2.CanDayRenzoku) { currentShip2.ThisBattlePosbilityDayRenzoku = (double)Posbility / 130.0; } else { currentShip2.ThisBattlePosbilityDayRenzoku = 0; } if (currentShip2.CanDaySp4) { currentShip2.ThisBattlePosbilityDaySp4 = (double)Posbility / 150.0; } else { currentShip2.ThisBattlePosbilityDaySp4 = 0; } } else if (Seiku == BattleSeikuKinds.Yuusei) { int Posbility = (int)((double)ShipLuckSpUp + (AllDeckSpUp + ShipSumItemSakuteki[DeckIdx] * 1.2) * 0.6); if (currentShip2.CanDayRenzoku) { currentShip2.ThisBattlePosbilityDayRenzoku = (double)Posbility / 130.0; } else { currentShip2.ThisBattlePosbilityDayRenzoku = 0; } if (currentShip2.CanDaySp4) { currentShip2.ThisBattlePosbilityDaySp4 = (double)Posbility / 150.0; } else { currentShip2.ThisBattlePosbilityDaySp4 = 0; } } ++DeckIdx; } }