示例#1
0
 public void AddEffect(FieldEffect effect)
 {
     if (!FieldEffects.Contains(effect))
     {
         FieldEffects.Add(effect);
     }
 }
示例#2
0
 public void spawnEffect(FieldEffect ef)
 {
     effects.Add(ef);
     if (ef.particle != null)
     {
         ef.particleObject = invokeParticle(ef.particle);
     }
 }
示例#3
0
 public void AddEffect(FieldEffect effect)
 {
     if (!FieldEffects.Contains(effect))
     {
         effect.SetMoveName(Description);
         if (effect.EffectDuration == null)
         {
             effect.SetEffectDuration(EffectDuration);
         }
         FieldEffects.Add(effect);
     }
 }
        public FieldEffectCounter(List <IFighter> owners, int turns, FieldEffect effect, bool isHumanEffect)
            : base(turns)
        {
            if (owners == null || owners.Count == 0)
            {
                throw new ArgumentException("A dance effect counter must be initialized with a non-empty list of owners!");
            }

            _owners       = owners;
            Effect        = effect;
            IsHumanEffect = isHumanEffect;
        }
示例#5
0
        public void ShowEffect(FieldEffect effect, Character character = null)
        {
            if (effect == FieldEffect.ShipArrive || effect == FieldEffect.ShipLeave)
            {
                using (Packet outPacket = new Packet(ServerMessages.ContiState))
                {
                    outPacket.WriteShort((short)(effect == FieldEffect.ShipArrive ? 0 : 3));

                    if (character == null)
                    {
                        this.Broadcast(outPacket);
                    }
                    else
                    {
                        character.Client.Send(outPacket);
                    }
                }
            }
        }
示例#6
0
 public void Buff(int i = 5)/// 0-4 buff only one stat 5 buffall >5buff except1 stat: 0=atp 1=def 2=range 3=speed 4=attackspeed
 {
     if (i <= 5)
     {
         for (int j = 0; j < 5; j++)
         {
             if (j == i - 6)
             {
                 continue;
             }
             FieldEffect f = new FieldEffect(FieldEffect.EffectType.Buff, "slime", buffStat[j], buffPrecent, time);
             FieldEffectController.AddFieldEffect(f);
         }
     }
     else
     {
         FieldEffect f = new FieldEffect(FieldEffect.EffectType.Buff, "slime", buffStat[i], buffPrecent, time);
         FieldEffectController.AddFieldEffect(f);
     }
 }
示例#7
0
 public static void AddFieldEffect(FieldEffect effect)
 {
     if (effect.targetUnitType == "slime")
     {
         m_slimeFieldEffect.Add(effect, Time.time);
     }
     else if (effect.targetUnitType == "enemy")
     {
         m_enemyFieldEffect.Add(effect, Time.time);
     }
     else if (effect.targetUnitType == "both")
     {
         m_enemyFieldEffect.Add(effect, Time.time);
         m_slimeFieldEffect.Add(effect, Time.time);
     }
     else
     {
         Debug.LogError("Can't add " + effect.targetUnitType + " as field effect, target type not available ");
     }
 }
        protected string GetFieldEffectTeamString(IFighter effectExecutor, FieldEffect effect)
        {
            bool   isOwnerHuman = _humanTeam.Contains(effectExecutor);
            string ret          = "";

            switch (effect.TargetType)
            {
            case TargetType.EnemyTeam:
                ret = isOwnerHuman ? "Enemy team" : "Your team";
                break;

            case TargetType.OwnTeam:
                ret = isOwnerHuman ? "Your team" : "Enemy team";
                break;

            case TargetType.Field:
                throw new NotImplementedException("GetFieldEffectTeamString method has not yet been coded to handle TargetType.Field");
            }

            return(ret);
        }
示例#9
0
        public static IBoard Create(IPlayer frontPlayer, IPlayer backPlayer)
        {
            IPiece tam = new Minds(PieceColor.Black, new PublicDataType.IntegerVector2(4, 4), null, null); //fieldEffectCheckerに渡すため別途生成

            FieldEffect[,] fieldEffectMap = new FieldEffect[, ]
            {
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Tarfe, FieldEffect.Normal, FieldEffect.Tammua, FieldEffect.Normal, FieldEffect.Tarfe, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Tarfe, FieldEffect.Tammua, FieldEffect.Tarfe, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Tammua, FieldEffect.Tammua, FieldEffect.Tanzo, FieldEffect.Tammua, FieldEffect.Tammua, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Tarfe, FieldEffect.Tammua, FieldEffect.Tarfe, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Tarfe, FieldEffect.Normal, FieldEffect.Tammua, FieldEffect.Normal, FieldEffect.Tarfe, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal },
            };
            StandardizedRule.FieldEffectChecker fieldChecker = new StandardizedRule.FieldEffectChecker(new PositionArrayAccessor <FieldEffect>(fieldEffectMap), tam);

            IPiece[,] piece2DArray = new IPiece[, ]
            {
                { new Officer(PieceColor.Black, new PublicDataType.IntegerVector2(0, 0), backPlayer, fieldChecker), new Horse(PieceColor.Black, new PublicDataType.IntegerVector2(1, 0), backPlayer, fieldChecker), new Chariot(PieceColor.Black, new PublicDataType.IntegerVector2(2, 0), backPlayer, fieldChecker), new General(PieceColor.Black, new PublicDataType.IntegerVector2(3, 0), backPlayer, fieldChecker), new King(PieceColor.Red, new PublicDataType.IntegerVector2(4, 0), backPlayer, fieldChecker), new General(PieceColor.Red, new PublicDataType.IntegerVector2(5, 0), backPlayer, fieldChecker), new Chariot(PieceColor.Red, new PublicDataType.IntegerVector2(6, 0), backPlayer, fieldChecker), new Horse(PieceColor.Red, new PublicDataType.IntegerVector2(7, 0), backPlayer, fieldChecker), new Officer(PieceColor.Red, new PublicDataType.IntegerVector2(8, 0), backPlayer, fieldChecker) },
                { new Shaman(PieceColor.Red, new PublicDataType.IntegerVector2(0, 1), backPlayer, fieldChecker), new Archer(PieceColor.Red, new PublicDataType.IntegerVector2(1, 1), backPlayer, fieldChecker), null, new Tiger(PieceColor.Red, new PublicDataType.IntegerVector2(3, 1), backPlayer, fieldChecker), null, new Tiger(PieceColor.Black, new PublicDataType.IntegerVector2(5, 1), backPlayer, fieldChecker), null, new Archer(PieceColor.Red, new PublicDataType.IntegerVector2(7, 1), backPlayer, fieldChecker), new Shaman(PieceColor.Red, new PublicDataType.IntegerVector2(8, 1), backPlayer, fieldChecker) },
                { new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(0, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(1, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(2, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(3, 2), backPlayer, fieldChecker), new Vessel(PieceColor.Red, new PublicDataType.IntegerVector2(4, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(5, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(6, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(7, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(8, 2), backPlayer, fieldChecker) },
                { null, null, null, null, null, null, null, null, null },
                { null, null, null, null, tam, null, null, null, null },
                { null, null, null, null, null, null, null, null, null },
                { new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(0, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(1, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(2, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(3, 6), frontPlayer, fieldChecker), new Vessel(PieceColor.Black, new PublicDataType.IntegerVector2(4, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(5, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(6, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(7, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(8, 6), frontPlayer, fieldChecker) },
                { new Shaman(PieceColor.Black, new PublicDataType.IntegerVector2(0, 7), frontPlayer, fieldChecker), new Archer(PieceColor.Black, new PublicDataType.IntegerVector2(1, 7), frontPlayer, fieldChecker), null, new Tiger(PieceColor.Black, new PublicDataType.IntegerVector2(3, 7), frontPlayer, fieldChecker), null, new Tiger(PieceColor.Red, new PublicDataType.IntegerVector2(5, 7), frontPlayer, fieldChecker), null, new Archer(PieceColor.Red, new PublicDataType.IntegerVector2(7, 7), frontPlayer, fieldChecker), new Shaman(PieceColor.Red, new PublicDataType.IntegerVector2(8, 7), frontPlayer, fieldChecker) },
                { new Officer(PieceColor.Red, new PublicDataType.IntegerVector2(0, 8), frontPlayer, fieldChecker), new Horse(PieceColor.Red, new PublicDataType.IntegerVector2(1, 8), frontPlayer, fieldChecker), new Chariot(PieceColor.Red, new PublicDataType.IntegerVector2(2, 8), frontPlayer, fieldChecker), new General(PieceColor.Red, new PublicDataType.IntegerVector2(3, 8), frontPlayer, fieldChecker), new King(PieceColor.Black, new PublicDataType.IntegerVector2(4, 8), frontPlayer, fieldChecker), new General(PieceColor.Black, new PublicDataType.IntegerVector2(5, 8), frontPlayer, fieldChecker), new Chariot(PieceColor.Black, new PublicDataType.IntegerVector2(6, 8), frontPlayer, fieldChecker), new Horse(PieceColor.Black, new PublicDataType.IntegerVector2(7, 8), frontPlayer, fieldChecker), new Officer(PieceColor.Black, new PublicDataType.IntegerVector2(8, 8), frontPlayer, fieldChecker) }
            };
            PositionArrayAccessor <IPiece> pieceMap = new PositionArrayAccessor <IPiece>(piece2DArray);

            IBoard board = new StandardizedRule.Board(pieceMap, fieldChecker, new StandardizedRule.PieceMoveAction.PieceMoveTransactionFactory());

            return(board);
        }
示例#10
0
文件: Helper.cs 项目: kuuri/tohoSRPG
        /// <summary>
        /// フィールド効果を表す文字列を取得する
        /// </summary>
        public static string GetStringFieldEffect(FieldEffect ce, int fact = 0)
        {
            switch (ce)
            {
                case FieldEffect.APUp:
                    return "APアップ";
                case FieldEffect.APDown:
                    return "APダウン";
                case FieldEffect.HealBanned:
                    return "回復無効";
                case FieldEffect.DamageHalf:
                    return "ダメージ半減";
                case FieldEffect.Invalid:
                    return "効果無効";

                case FieldEffect.HPDamage:
                    return "HPダメージ";
                case FieldEffect.HPHeal:
                    return "HP回復";
                case FieldEffect.HitUp:
                    return "成功アップ";
                case FieldEffect.CostUp:
                    return "コスト増加";
                case FieldEffect.DamageFix:
                    return "ダメージ" + fact;
                case FieldEffect.SympInvalid:
                    return "症状クリア";
                case FieldEffect.AffinityDown:
                    return "適正ダウン";
                case FieldEffect.AffinityReverse:
                    return "相性反転";
                case FieldEffect.TimeStop:
                    return "時間停止";
                case FieldEffect.ChangeTerrain:
                    return "地形変化";
                case FieldEffect.None:
                default:
                    return "--------";
            }
        }
示例#11
0
        public void refresh(string fielpath)
        {
            if (fielpath.Length != 0)
            {
                //WWW www = new WWW(fielpath);
                //yield return www;

                //MemoryStream ms = new MemoryStream(www.bytes);
                TextAsset    txt = Resources.Load(fielpath) as TextAsset;
                MemoryStream ms  = new MemoryStream(txt.bytes);

                StructArry pbi     = Serializer.DeserializeWithLengthPrefix <StructArry>(ms, PrefixStyle.None);
                Type       type    = pbi.GetType();
                string     strname = type.Name;
                switch (strname)
                {
                case "MsgAttackData":
                    MsgAttackData struct1 = pbi as MsgAttackData;
                    DataPool = struct1.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        AttackData dt = DataPool[i] as AttackData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgAwakeningSkill":
                    MsgAwakeningSkill struct2 = pbi as MsgAwakeningSkill;
                    DataPool = struct2.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        AwakeningSkill dt = DataPool[i] as AwakeningSkill;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgAwakeningSkillLevel":
                    MsgAwakeningSkillLevel struct3 = pbi as MsgAwakeningSkillLevel;
                    DataPool = struct3.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        AwakeningSkillLevel dt = DataPool[i] as AwakeningSkillLevel;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgElementFactor":
                    MsgElementFactor struct4 = pbi as MsgElementFactor;
                    DataPool = struct4.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        ElementFactor dt = DataPool[i] as ElementFactor;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgBuffData":
                    MsgBuffData struct5 = pbi as MsgBuffData;
                    DataPool = struct5.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        BuffData dt = DataPool[i] as BuffData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgCombinationData":
                    MsgCombinationData struct6 = pbi as MsgCombinationData;
                    DataPool = struct6.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        CombinationData dt = DataPool[i] as CombinationData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgConstData":
                    MsgConstData struct7 = pbi as MsgConstData;
                    DataPool = struct7.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        ConstData dt = DataPool[i] as ConstData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgCurrency":
                    MsgCurrency struct8 = pbi as MsgCurrency;
                    DataPool = struct8.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        Currency dt = DataPool[i] as Currency;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgDungeon":
                    MsgDungeon struct9 = pbi as MsgDungeon;
                    DataPool = struct9.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        Dungeon dt = DataPool[i] as Dungeon;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgEnemyData":
                    MsgEnemyData struct10 = pbi as MsgEnemyData;
                    DataPool = struct10.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        EnemyData dt = DataPool[i] as EnemyData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgEvaluateBonus":
                    MsgEvaluateBonus struct11 = pbi as MsgEvaluateBonus;
                    DataPool = struct11.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        EvaluateBonus dt = DataPool[i] as EvaluateBonus;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgFieldEffect":
                    MsgFieldEffect struct12 = pbi as MsgFieldEffect;
                    DataPool = struct12.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        FieldEffect dt = DataPool[i] as FieldEffect;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgHeroData":
                    MsgHeroData struct13 = pbi as MsgHeroData;
                    DataPool = struct13.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        HeroData dt = DataPool[i] as HeroData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgHeroLvData":
                    MsgHeroLvData struct14 = pbi as MsgHeroLvData;
                    DataPool = struct14.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        HeroLvData dt = DataPool[i] as HeroLvData;
                        DataStore.Add((int)dt.level, DataPool[i]);
                    }
                    break;

                case "MsgHeroEvolution":
                    MsgHeroEvolution struct15 = pbi as MsgHeroEvolution;
                    DataPool = struct15.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        HeroEvolution dt = DataPool[i] as HeroEvolution;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgPotentialData":
                    MsgPotentialData struct16 = pbi as MsgPotentialData;
                    DataPool = struct16.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        PotentialData dt = DataPool[i] as PotentialData;
                        DataStore.Add((int)dt.element, DataPool[i]);
                    }
                    break;

                case "MsgItemData":
                    MsgItemData struct17 = pbi as MsgItemData;
                    DataPool = struct17.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        ItemData dt = DataPool[i] as ItemData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgLeaderSkill":
                    MsgLeaderSkill struct18 = pbi as MsgLeaderSkill;
                    DataPool = struct18.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        LeaderSkill dt = DataPool[i] as LeaderSkill;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgMonsterData":
                    MsgMonsterData struct19 = pbi as MsgMonsterData;
                    DataPool = struct19.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        MonsterData dt = DataPool[i] as MonsterData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgMonsterSkill":
                    MsgMonsterSkill struct20 = pbi as MsgMonsterSkill;
                    DataPool = struct20.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        MonsterSkill dt = DataPool[i] as MonsterSkill;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgNormalSkill":
                    MsgNormalSkill struct21 = pbi as MsgNormalSkill;
                    DataPool = struct21.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        NormalSkill dt = DataPool[i] as NormalSkill;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgNormalSkillLvUp":
                    MsgNormalSkillLvUp struct22 = pbi as MsgNormalSkillLvUp;
                    DataPool = struct22.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        NormalSkillLvUp dt = DataPool[i] as NormalSkillLvUp;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgRoleData":
                    MsgRoleData struct23 = pbi as MsgRoleData;
                    DataPool = struct23.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        RoleData dt = DataPool[i] as RoleData;
                        DataStore.Add((int)dt.level, DataPool[i]);
                    }
                    break;

                case "MsgRuneData":
                    MsgRuneData struct24 = pbi as MsgRuneData;
                    DataPool = struct24.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        RuneData dt = DataPool[i] as RuneData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgRuneSet":
                    MsgRuneSet struct25 = pbi as MsgRuneSet;
                    DataPool = struct25.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        RuneSet dt = DataPool[i] as RuneSet;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgRuneEnhance":
                    MsgRuneEnhance struct26 = pbi as MsgRuneEnhance;
                    DataPool = struct26.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        RuneEnhance dt = DataPool[i] as RuneEnhance;
                        DataStore.Add((int)dt.level, DataPool[i]);
                    }
                    break;

                case "MsgRuneSynchro":
                    MsgRuneSynchro struct27 = pbi as MsgRuneSynchro;
                    DataPool = struct27.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        RuneSynchro dt = DataPool[i] as RuneSynchro;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgSpecialSkill":
                    MsgSpecialSkill struct28 = pbi as MsgSpecialSkill;
                    DataPool = struct28.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        SpecialSkill dt = DataPool[i] as SpecialSkill;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgSpecialSkillLvUp":
                    MsgSpecialSkillLvUp struct29 = pbi as MsgSpecialSkillLvUp;
                    DataPool = struct29.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        SpecialSkillLvUp dt = DataPool[i] as SpecialSkillLvUp;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgDecisionFactor":
                    MsgDecisionFactor struct30 = pbi as MsgDecisionFactor;
                    DataPool = struct30.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        DecisionFactor dt = DataPool[i] as DecisionFactor;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgTaskData":
                    MsgTaskData struct31 = pbi as MsgTaskData;
                    DataPool = struct31.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        TaskData dt = DataPool[i] as TaskData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgHeroText":
                    MsgHeroText struct32 = pbi as MsgHeroText;
                    DataPool = struct32.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        HeroText dt = DataPool[i] as HeroText;
                        Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes));
                    }
                    break;

                case "MsgDungeonText":
                    MsgDungeonText struct33 = pbi as MsgDungeonText;
                    DataPool = struct33.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        DungeonText dt = DataPool[i] as DungeonText;
                        Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes));
                    }
                    break;

                case "MsgMonsterText":
                    MsgMonsterText struct34 = pbi as MsgMonsterText;
                    DataPool = struct34.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        MonsterText dt = DataPool[i] as MonsterText;
                        Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes));
                    }
                    break;

                case "MsgFieldText":
                    MsgFieldText struct35 = pbi as MsgFieldText;
                    DataPool = struct35.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        FieldText dt = DataPool[i] as FieldText;
                        Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes));
                    }
                    break;

                case "MsgCombinationText":
                    MsgCombinationText struct36 = pbi as MsgCombinationText;
                    DataPool = struct36.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        CombinationText dt = DataPool[i] as CombinationText;
                        Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes));
                    }
                    break;

                case "MsgSkillText":
                    MsgSkillText struct37 = pbi as MsgSkillText;
                    DataPool = struct37.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        SkillText dt = DataPool[i] as SkillText;
                        Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes));
                    }
                    break;

                case "MsgCurrencyText":
                    MsgCurrencyText struct38 = pbi as MsgCurrencyText;
                    DataPool = struct38.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        CurrencyText dt = DataPool[i] as CurrencyText;
                        Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes));
                    }
                    break;

                case "MsgBuffText":
                    MsgBuffText struct39 = pbi as MsgBuffText;
                    DataPool = struct39.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        BuffText dt = DataPool[i] as BuffText;
                        Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes));
                    }
                    break;

                case "MsgItemText":
                    MsgItemText struct40 = pbi as MsgItemText;
                    DataPool = struct40.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        ItemText dt = DataPool[i] as ItemText;
                        Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes));
                    }
                    break;

                case "MsgRuneText":
                    MsgRuneText struct41 = pbi as MsgRuneText;
                    DataPool = struct41.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        RuneText dt = DataPool[i] as RuneText;
                        Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes));
                    }
                    break;

                case "MsgTaskText":
                    MsgTaskText struct42 = pbi as MsgTaskText;
                    DataPool = struct42.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        TaskText dt = DataPool[i] as TaskText;
                        Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes));
                    }
                    break;

                case "MsgWorldData":
                    MsgWorldData struct43 = pbi as MsgWorldData;
                    DataPool = struct43.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        WorldData dt = DataPool[i] as WorldData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgAirRaidData":
                    MsgAirRaidData struct44 = pbi as MsgAirRaidData;
                    DataPool = struct44.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        AirRaidData dt = DataPool[i] as AirRaidData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgTalentData":
                    MsgTalentData struct45 = pbi as MsgTalentData;
                    DataPool = struct45.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        TalentData dt = DataPool[i] as TalentData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgSummonData":
                    MsgSummonData struct46 = pbi as MsgSummonData;
                    DataPool = struct46.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        SummonData dt = DataPool[i] as SummonData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgSummonPrize":
                    MsgSummonPrize struct47 = pbi as MsgSummonPrize;
                    DataPool = struct47.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        SummonPrize dt = DataPool[i] as SummonPrize;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgStarWeight":
                    MsgStarWeight struct48 = pbi as MsgStarWeight;
                    DataPool = struct48.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        StarWeight dt = DataPool[i] as StarWeight;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgSpecialEffect":
                    MsgSpecialEffect struct49 = pbi as MsgSpecialEffect;
                    DataPool = struct49.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        SpecialEffect dt = DataPool[i] as SpecialEffect;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgFlyingEffect":
                    MsgFlyingEffect struct50 = pbi as MsgFlyingEffect;
                    DataPool = struct50.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        FlyingEffect dt = DataPool[i] as FlyingEffect;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgDistanceFactor":
                    MsgDistanceFactor struct51 = pbi as MsgDistanceFactor;
                    DataPool = struct51.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        DistanceFactor dt = DataPool[i] as DistanceFactor;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgEvaluateData":
                    MsgEvaluateData struct52 = pbi as MsgEvaluateData;
                    DataPool = struct52.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        EvaluateData dt = DataPool[i] as EvaluateData;
                        DataStore.Add((int)dt.id, DataPool[i]);
                    }
                    break;

                case "MsgPromptText":
                    MsgPromptText struct53 = pbi as MsgPromptText;
                    DataPool = struct53.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        PromptText dt = DataPool[i] as PromptText;
                        Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes));
                    }
                    break;

                case "MsgStoryText":
                    MsgStoryText struct54 = pbi as MsgStoryText;
                    DataPool = struct54.struct_data as List <Struct>;
                    for (int i = 0; i < DataPool.Count; i++)
                    {
                        StoryText dt = DataPool[i] as StoryText;
                        Util.TextDic.Add(Util.GetConfigString(dt.name), Util.GetConfigString(dt.textDes));
                    }
                    break;
                }
            }
        }
        protected void PrintFieldEffectImplementedMessage(IFighter effectExecutor, FieldEffect effect)
        {
            MagicAttackFieldEffect              magicAttackFieldEffect    = effect as MagicAttackFieldEffect;
            ShieldFieldEffect                   shieldFieldEffect         = effect as ShieldFieldEffect;
            UndoDebuffsFieldEffect              undoDebuffsFieldEffect    = effect as UndoDebuffsFieldEffect;
            RestoreHealthPercentageFieldEffect  restoreHealthEffect       = effect as RestoreHealthPercentageFieldEffect;
            RestoreManaPercentageFieldEffect    restoreManaEffect         = effect as RestoreManaPercentageFieldEffect;
            StatMultiplierFieldEffect           statMultiplierFieldEffect = effect as StatMultiplierFieldEffect;
            SpellCostMultiplierFieldEffect      costMultiplierEffect      = effect as SpellCostMultiplierFieldEffect;
            CriticalChanceMultiplierFieldEffect critChanceEffect          = effect as CriticalChanceMultiplierFieldEffect;
            MagicMultiplierFieldEffect          magicMultiplierEffect     = effect as MagicMultiplierFieldEffect;
            ReflectFieldEffect                  magicReflectEffect        = effect as ReflectFieldEffect;
            StatusFieldEffect                   statusFieldEffect         = effect as StatusFieldEffect;

            if (magicAttackFieldEffect != null)
            {
                PrintFieldEffectImplementedMessage(effectExecutor, magicAttackFieldEffect);
            }
            else if (shieldFieldEffect != null)
            {
                PrintFieldEffectImplementedMessage(effectExecutor, shieldFieldEffect);
            }
            else if (undoDebuffsFieldEffect != null)
            {
                PrintFieldEffectImplementedMessage(effectExecutor, undoDebuffsFieldEffect);
            }
            else if (restoreHealthEffect != null)
            {
                PrintFieldEffectImplementedMessage(effectExecutor, restoreHealthEffect);
            }
            else if (statMultiplierFieldEffect != null)
            {
                PrintFieldEffectImplementedMessage(effectExecutor, statMultiplierFieldEffect);
            }
            else if (restoreManaEffect != null)
            {
                PrintFieldEffectImplementedMessage(effectExecutor, restoreManaEffect);
            }
            else if (critChanceEffect != null)
            {
                throw new NotImplementedException("this didn't get an updated PrintFieldEffectImplementedMessage when the code was moved over");

                /*if (critChanceEffect.Percentage < 1.0)
                 * {
                 *  output += "a decreased ";
                 * }
                 * else
                 * {
                 *  output += "an increased ";
                 * }
                 *
                 * output += "chance for critical hits";*/
            }
            else if (magicMultiplierEffect != null)
            {
                throw new NotImplementedException("this didn't get an updated PrintFieldEffectImplementedMessage when the code was moved over");

                /*if (magicMultiplierEffect.Percentage < 1.0)
                 * {
                 *  output += "weakened ";
                 * }
                 * else
                 * {
                 *  output += "strengthened ";
                 * }
                 *
                 * if (magicMultiplierEffect.MagicType != MagicType.All)
                 * {
                 *  output += $"{magicMultiplierEffect.MagicType.ToString().ToLower()} ";
                 * }
                 * output += "magic";*/
            }
            else if (costMultiplierEffect != null)
            {
                throw new NotImplementedException("this didn't get an updated PrintFieldEffectImplementedMessage when the code was moved over");

                /*output += (costMultiplierEffect.Multiplier < 1.0) ? "decreased " : "increased ";
                 * output += "cost for magic spells";*/
            }
            else if (magicReflectEffect != null)
            {
                throw new NotImplementedException("this didn't get an updated PrintFieldEffectImplementedMessage when the code was moved over");

                /*var magicTypeString = magicReflectEffect.MagicType.ToString().ToLower();
                 * output += $"gained reflect status against {magicTypeString} magic";*/
            }
            else if (statusFieldEffect != null)
            {
                //Don't need StatusFieldEffect print message- the statuses themselves have their own print methods
            }
            else
            {
                throw new ArgumentException(
                          "It's time to implement a new version of BattleManager.PrintFieldEffectImplementedMessage()");
            }
        }
        protected string GetDurationString(FieldEffect effect)
        {
            string turnOrTurns = effect.EffectDuration == 1 ? "turn" : "turns";

            return($"{effect.EffectDuration} {turnOrTurns}");
        }
示例#14
0
 public void removeEffect(FieldEffect ef)
 {
     effects.Remove(ef);
 }
 public FieldEffectPacket(FieldEffect type)
 {
     effectType = type;
 }
示例#16
0
 public FieldEffectExecutedEventArgs(FieldEffect effect, params IFighter[] owners)
 {
     Effect       = effect;
     EffectOwners = new List <IFighter>(owners);
 }