예제 #1
0
 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);
        }
예제 #4
0
        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
                };
            }
        }
예제 #5
0
        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;
                }
            }
        }
예제 #7
0
 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)));
         }
     }
 }