public HougekiModel(Hougeki <BattleAtackKinds_Day> data, Dictionary <int, ShipModel_BattleAll> ships) : base(ships[data.Target[0]]) { _attack_type = _convertAttackTypeEnum(data.SpType); _initialize(data, ships); _SetDamageForDefender(); }
public HougekiModel(Hougeki <BattleAtackKinds_Night> data, Dictionary <int, ShipModel_BattleAll> ships) : base(ships.get_Item(data.Target.get_Item(0))) { this._is_night = true; this._attack_type = this._convertAttackTypeEnum(data.SpType); this._initialize <BattleAtackKinds_Night>(data, ships); this._SetDamageForDefender(); }
private ProdTranscendenceCutIn.AnimationList getTranscendenceAttackAnimation(BattleAttackKind iKind) { switch (iKind) { case BattleAttackKind.Rai_Rai: return(ProdTranscendenceCutIn.AnimationList.ProdTATorpedox2); case BattleAttackKind.Syu_Syu_Syu: return(ProdTranscendenceCutIn.AnimationList.ProdTAMainBatteryx3); } return(ProdTranscendenceCutIn.AnimationList.ProdTAMainBatteryx3); }
private void _setAttackSubType() { int shipType = Attacker.ShipType; SlotitemModel_Battle slotitem = GetSlotitem(); if (slotitem != null && (slotitem.Type3 == 5 || slotitem.Type3 == 32)) { _attack_type = BattleAttackKind.Gyorai; } else if (slotitem != null && slotitem.Type3 != 1 && slotitem.Type3 != 2 && slotitem.Type3 != 3 && slotitem.Type3 != 4 && slotitem.Type3 != 5 && slotitem.Type3 != 32) { _slots = new List <SlotitemModel_Battle> { null, null, null }; } }
private AnimationList getAnimation(BattleAttackKind iKind) { switch (iKind) { case BattleAttackKind.Syu_Syu_Syu: return(AnimationList.ProdTAMainBatteryx3); case BattleAttackKind.Syu_Syu_Fuku: return(AnimationList.ProdTAMainBatteryx3); case BattleAttackKind.Rai_Rai: return(AnimationList.ProdTATorpedox2); case BattleAttackKind.Syu_Rai: return(AnimationList.ProdTAMainBatteryNTorpedo); default: return(AnimationList.ProdTAMainBatteryx3); } }
private void _setAttackSubType() { SType shipType = (SType)this.Attacker.ShipType; SlotitemModel_Battle slotitem = this.GetSlotitem(); if (slotitem != null && (slotitem.Type3 == 5 || slotitem.Type3 == 32)) { this._attack_type = BattleAttackKind.Gyorai; } else if (slotitem != null) { if (slotitem.Type3 != 1 && slotitem.Type3 != 2 && slotitem.Type3 != 3 && slotitem.Type3 != 4 && slotitem.Type3 != 5 && slotitem.Type3 != 32) { List <SlotitemModel_Battle> list = new List <SlotitemModel_Battle>(); list.Add(null); list.Add(null); list.Add(null); this._slots = list; } } }
private void _initialize <T>(Hougeki <T> data, Dictionary <int, ShipModel_BattleAll> ships) where T : IConvertible { _attacker = ships[data.Attacker].__CreateAttacker__(); for (int i = 0; i < data.Target.Count; i++) { _AddData(data.Damage[i], data.Clitical[i], data.DamageKind[i]); } _slots = new List <SlotitemModel_Battle>(); if (data.Slot_List != null) { for (int j = 0; j < data.Slot_List.Count; j++) { int num = data.Slot_List[j]; if (num == 0) { _slots.Add(null); } else { _slots.Add(new SlotitemModel_Battle(num)); } } } while (_slots.Count < 3) { _slots.Add(null); } if (IsNight() && Attacker.IsAircraftCarrier() && Attacker.Yomi != "グラ\u30fcフ・ツェッペリン") { _attack_type = BattleAttackKind.AirAttack; } if (AttackType == BattleAttackKind.Normal) { _setAttackSubType(); } else if (AttackType == BattleAttackKind.AirAttack) { List <SlotitemModel_Battle> slotitemList = Attacker.SlotitemList; List <int> enable_type3; if (base.Defender.IsSubMarine()) { enable_type3 = new List <int> { 7, 8, 11, 25, 26, 41 }; _slots[0] = slotitemList.Find((SlotitemModel_Battle slot) => enable_type3.IndexOf(slot.Type3) >= 0 && slot.Taisen > 0); } else { enable_type3 = new List <int> { 7, 8 }; _slots[0] = slotitemList.Find((SlotitemModel_Battle slot) => enable_type3.IndexOf(slot.Type3) >= 0 && (slot.Bakugeki > 0 || slot.Raigeki > 0)); } } }
private void _initialize <T>(Hougeki <T> data, Dictionary <int, ShipModel_BattleAll> ships) where T : IConvertible { this._attacker = ships.get_Item(data.Attacker).__CreateAttacker__(); for (int i = 0; i < data.Target.get_Count(); i++) { base._AddData(data.Damage.get_Item(i), data.Clitical.get_Item(i), data.DamageKind.get_Item(i)); } this._slots = new List <SlotitemModel_Battle>(); if (data.Slot_List != null) { for (int j = 0; j < data.Slot_List.get_Count(); j++) { int num = data.Slot_List.get_Item(j); if (num == 0) { this._slots.Add(null); } else { this._slots.Add(new SlotitemModel_Battle(num)); } } } while (this._slots.get_Count() < 3) { this._slots.Add(null); } if (this.IsNight() && this.Attacker.IsAircraftCarrier() && this.Attacker.Yomi != "グラーフ・ツェッペリン") { this._attack_type = BattleAttackKind.AirAttack; } if (this.AttackType == BattleAttackKind.Normal) { this._setAttackSubType(); } else if (this.AttackType == BattleAttackKind.AirAttack) { HougekiModel.< _initialize > c__AnonStorey537 <T> < _initialize > c__AnonStorey = new HougekiModel.< _initialize > c__AnonStorey537 <T>(); List <SlotitemModel_Battle> slotitemList = this.Attacker.SlotitemList; if (base.Defender.IsSubMarine()) { HougekiModel.< _initialize > c__AnonStorey537 <T> arg_1A7_0 = < _initialize > c__AnonStorey; List <int> list = new List <int>(); list.Add(7); list.Add(8); list.Add(11); list.Add(25); list.Add(26); list.Add(41); arg_1A7_0.enable_type3 = list; this._slots.set_Item(0, slotitemList.Find((SlotitemModel_Battle slot) => < _initialize > c__AnonStorey.enable_type3.IndexOf(slot.Type3) >= 0 && slot.Taisen > 0)); } else { HougekiModel.< _initialize > c__AnonStorey537 <T> arg_1EB_0 = < _initialize > c__AnonStorey; List <int> list = new List <int>(); list.Add(7); list.Add(8); arg_1EB_0.enable_type3 = list; this._slots.set_Item(0, slotitemList.Find((SlotitemModel_Battle slot) => < _initialize > c__AnonStorey.enable_type3.IndexOf(slot.Type3) >= 0 && (slot.Bakugeki > 0 || slot.Raigeki > 0))); } } }