示例#1
0
        /// <summary>
        /// 宝箱抽奖获得物品与位置
        /// </summary>
        /// <param name="userID"></param>
        /// <returns></returns>
        public static short ChestDialPrizePostion(GameUser user)
        {
            UserDial userDial = new GameDataCacheSet <UserDial>().FindKey(user.UserID);

            if (userDial == null)
            {
                return(0);
            }
            short postion  = 0;
            int   groupId  = userDial.GroupID; //UserItemHelper.GetUserItemInfoID(user.UserID, userDial.UserItemID);
            var   dialList = new ConfigCacheSet <DialInfo>().FindAll(m => m.GroupID == groupId);

            double[] dialDoubleList = new double[dialList.Count];
            for (int i = 0; i < dialList.Count; i++)
            {
                dialDoubleList[i] = (double)dialList[i].Probability;
            }
            postion = (short)RandomUtils.GetHitIndex(dialDoubleList);
            if (dialList.Count > postion)
            {
                DialInfo dialInfo = dialList[postion];
                if (dialInfo != null)
                {
                    ChestGainTreasureInfo(user, dialInfo, 0);
                }
            }
            return(postion);
        }
示例#2
0
        /// <summary>
        /// 奖励物品
        /// </summary>
        /// <param name="prize"></param>
        /// <returns></returns>
        public static void ChestGainTreasureInfo(GameUser user, DialInfo dialInfo, int count)
        {
            var treasure = new TreasureInfo();

            treasure.UserID = user.UserID;
            treasure.Type   = dialInfo.RewardType;
            treasure.ItemID = dialInfo.ItemID;
            treasure.Num    = dialInfo.ItemNum;
            treasure.ItemLv = 1;
            UserDial userDial = new GameDataCacheSet <UserDial>().FindKey(user.UserID);

            if (userDial == null)
            {
                userDial = new UserDial();
            }
            userDial.GroupID     = 0;
            userDial.RefreshDate = DateTime.Now;
            userDial.Treasure.Add(treasure);
            if (count == 0)
            {
                userDial.PrizeInfo = treasure;
                userDial.HeadID    = dialInfo.HeadID;
            }
            if (GameConfigSet.Treasure > 0 && userDial.Treasure.Count > GameConfigSet.Treasure)
            {
                for (int i = 0; i < userDial.Treasure.Count - GameConfigSet.Treasure; i++)
                {
                    userDial.Treasure.Remove(userDial.Treasure[i]);
                }
            }

            if (dialInfo.IsShow)
            {
                var cacheSet     = new ShareCacheStruct <ServerEnvSet>();
                var serverEnvSet = cacheSet.FindKey(ServerEnvKey.UserTreasure);
                if (serverEnvSet == null)
                {
                    serverEnvSet        = new ServerEnvSet();
                    serverEnvSet.EnvKey = ServerEnvKey.UserTreasure;
                    cacheSet.Add(serverEnvSet);
                }
                var treasureInfoList = ServerEnvSetTreasure(treasure);
                serverEnvSet.EnvValue = JsonUtils.Serialize(treasureInfoList);
            }

            if (dialInfo.IsBroadcast && !string.IsNullOrEmpty(dialInfo.BroadContent))
            {
                TjxChatService chatService = new TjxChatService();
                chatService.SystemSend(ChatType.World, string.Format(dialInfo.BroadContent, user.NickName));
            }
            if (dialInfo.RewardType == RewardType.Again || dialInfo.RewardType == RewardType.Mood || dialInfo.RewardType == RewardType.Recharge)
            {
                if (dialInfo.RewardType == RewardType.Recharge)
                {
                    userDial.ReturnRatio = treasure.Num;
                }
                return;
            }
            ChestGetUserTake(treasure, user);
        }
        public ModifiedYT1300LightFreighter() : base()
        {
            ShipInfo.ShipName = "Modified YT-1300 Light Freighter";

            ShipInfo.ArcInfo = new ShipArcsInfo(ArcType.DoubleTurret, 3);
            ShipInfo.Hull    = 8;
            ShipInfo.Shields = 5;

            ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Missile);
            ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Gunner);
            ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Modification);

            ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(RotateArcAction)));
            ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(BoostAction), ActionColor.Red));

            DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Left, ManeuverBearing.Turn));
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Normal);
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Normal);
            DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Right, ManeuverBearing.Turn));
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Easy);
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Easy);
            DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.Turn), MovementComplexity.Normal);
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Easy);
            DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.Turn), MovementComplexity.Normal);
            DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));
            DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.SegnorsLoop), MovementComplexity.Complex);
            DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.SegnorsLoop), MovementComplexity.Complex);

            IconicPilots[Faction.Rebel] = typeof(HanSolo);

            ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/3/3f/Maneuver_modified_yt-1300.png";
        }
示例#4
0
            public ScurrgH6Bomber() : base()
            {
                ShipInfo.FactionsAll.Remove(Faction.Rebel);

                ShipInfo.Hull     = 6;
                ShipInfo.Shields  = 4;
                ShipInfo.BaseSize = BaseSize.Medium;

                ShipInfo.ActionIcons.RemoveActions(typeof(BarrelRollAction));
                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(BarrelRollAction), ActionColor.Red));

                ShipInfo.UpgradeIcons.Upgrades.Remove(UpgradeType.Missile);
                ShipInfo.UpgradeIcons.Upgrades.Remove(UpgradeType.Torpedo);
                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Gunner);

                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Easy);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Easy);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Normal);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Normal);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Normal);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed4, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Complex);
                DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed5, ManeuverDirection.Forward, ManeuverBearing.Straight));

                IconicPilots[Faction.Scum] = typeof(CaptainNym);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/0/0a/Maneuver_scurrg.png";
            }
示例#5
0
            public Mg100StarFortress() : base()
            {
                ShipInfo.ShipName = "MG-100 Star Fortress";

                ShipInfo.DefaultShipFaction = Faction.Resistance;
                ShipInfo.FactionsAll        = new List <Faction>()
                {
                    Faction.Resistance
                };

                ShipInfo.ArcInfo = new ShipArcsInfo(
                    new ShipArcInfo(ArcType.Front, 3),
                    new ShipArcInfo(ArcType.DoubleTurret, 2)
                    );

                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(RotateArcAction)));
                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(ReloadAction)));

                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Crew);
                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Gunner);
                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Gunner);

                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Complex);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Complex);

                IconicPilots[Faction.Resistance] = typeof(CobaltSquadronBomber);

                // ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/c/cf/Maneuver_t-65_x-wing.png";
            }
示例#6
0
            public FiresprayClassPatrolCraft() : base()
            {
                ShipInfo.ShipName = "Firespray-class Patrol Craft";
                ShipInfo.BaseSize = BaseSize.Medium;

                ShipInfo.FactionsAll.Remove(Faction.Imperial);
                ShipInfo.DefaultShipFaction = Faction.Scum;

                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Illicit);

                ShipInfo.ActionIcons.RemoveActions(typeof(EvadeAction));
                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(BoostAction)));
                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(ReinforceAction), ActionColor.Red));

                IconicPilots[Faction.Scum] = typeof(KrassisTrelix);

                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Left, ManeuverBearing.Turn), MovementComplexity.Normal);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Right, ManeuverBearing.Turn), MovementComplexity.Normal);
                DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.Turn));
                DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.Turn));
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.TallonRoll), MovementComplexity.Complex);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.TallonRoll), MovementComplexity.Complex);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Easy);
                DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/5/57/Maneuver_firespray.png";

                OldShipTypeName = "Firespray-31";
            }
示例#7
0
            public Hwk290LightFreighter() : base()
            {
                ShipInfo.ShipName = "HWK-290 Light Freighter";

                ShipInfo.ArcInfo = new ShipArcsInfo(ArcType.SingleTurret, 2);
                ShipInfo.Hull    = 3;
                ShipInfo.Shields = 2;

                ShipInfo.UpgradeIcons.Upgrades.Remove(UpgradeType.Turret);
                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Device);
                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Modification);

                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(RotateArcAction)));
                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(BoostAction), ActionColor.Red));
                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(JamAction), ActionColor.Red));

                ShipInfo.ActionIcons.AddLinkedAction(new LinkedActionInfo(typeof(FocusAction), typeof(RotateArcAction)));
                ShipInfo.ActionIcons.AddLinkedAction(new LinkedActionInfo(typeof(TargetLockAction), typeof(RotateArcAction)));

                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Easy);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Normal);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Normal);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed4, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Normal);

                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed0, ManeuverDirection.Stationary, ManeuverBearing.Stationary), MovementComplexity.Complex);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.Turn), MovementComplexity.Complex);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.Turn), MovementComplexity.Complex);

                IconicPilots[Faction.Rebel] = typeof(RebelScout);
                IconicPilots[Faction.Scum]  = typeof(PalobGodalhi);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/8/8a/Maneuver_hwk-290.png";
            }
示例#8
0
        public static CallHistoryInfo ToPhoneCallInfo(this IPhoneCall call)
        {
            var      account = call.PhoneLine.SIPAccount.AsSIPAddress(call.PhoneLine.Config.TransportType);
            DialInfo caller  = new DialInfo(account);

            return(new CallHistoryInfo(caller, call.DialInfo, call.IsIncoming, call.CallState, call.ReasonOfState));
        }
示例#9
0
        public static CallHistoryInfo ToPhoneCallInfo(this IPhoneCall call)
        {
            SIPAccount account = call.PhoneLine.SIPAccount;
            DialInfo   caller  = new DialInfo(account.DisplayName, account.UserName, account.DomainServerHost);

            return(new CallHistoryInfo(caller, call.DialInfo, call.IsIncoming, call.CallState, call.ReasonOfState));
        }
示例#10
0
            public ModifiedTIELnFighter() : base()
            {
                ShipInfo.ShipName = "Modified TIE/ln Fighter";

                ShipInfo.DefaultShipFaction = Faction.Scum;
                ShipInfo.FactionsAll        = new List <Faction>()
                {
                    Faction.Scum
                };

                DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed4, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed5, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Complex);

                IconicPilots[Faction.Scum] = typeof(CaptainSeevor);

                ShipAbilities.Add(new Abilities.SecondEdition.ModifiedTIELnFighterAbility());

                ShipAbilities.Add(new Abilities.SecondEdition.ModifiedTIELnFighterAbility());

                ModelInfo = new ShipModelInfo(
                    "Modified TIE Fighter",
                    "Mining Guild Yellow",
                    new Vector3(-3.7f, 7.8f, 5.55f),
                    1.75f
                    );

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/7/7a/Maneuver_modified_tie_ln_fighter.png";

                HotacManeuverTable = new AI.ModifiedTIELnFighterTable();
            }
示例#11
0
            public RZ2AWing() : base()
            {
                ShipInfo.ShipName = "RZ-2 A-wing";
                ModelInfo         = new ShipModelInfo("RZ-2 A-wing", "Blue");

                ShipInfo.ArcInfo = new ShipArcsInfo(ArcType.SingleTurret, 2);

                ShipInfo.UpgradeIcons.Upgrades.Remove(UpgradeType.Modification);
                ShipInfo.UpgradeIcons.Upgrades.Remove(UpgradeType.Modification);
                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Tech);

                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(BarrelRollAction)));

                ShipInfo.DefaultShipFaction = Faction.Resistance;
                ShipInfo.FactionsAll        = new List <Faction>()
                {
                    Faction.Resistance
                };

                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Easy);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Easy);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.SegnorsLoop), MovementComplexity.Complex);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.SegnorsLoop), MovementComplexity.Complex);
                DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));

                ShipAbilities.Add(new VectoredThrustersRZ2());

                IconicPilots[Faction.Resistance] = typeof(TallissanLintra);

                // ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/b/b4/Maneuver_a-wing.png";
                HotacManeuverTable = new AI.RZ2AWingTable();
            }
        public CustomizedYT1300LightFreighter() : base()
        {
            ShipInfo.ShipName = "Customized YT-1300 Light Freighter";
            OldShipTypeName   = "";

            ShipInfo.ArcInfo = new ShipArcsInfo(ArcType.DoubleTurret, 2);

            ShipInfo.DefaultShipFaction = Faction.Scum;
            ShipInfo.FactionsAll        = new List <Faction>()
            {
                Faction.Scum
            };

            ShipInfo.Hull    = 8;
            ShipInfo.Shields = 3;

            ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(RotateArcAction)));
            ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(BoostAction), ActionColor.Red));

            IconicPilots[Faction.Scum] = typeof(HanSolo);

            ModelInfo = new ShipModelInfo(
                "Customized YT-1300 Light Freighter",
                "Default"
                );

            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Easy);
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Easy);
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Normal);
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Normal);

            HotacManeuverTable = new AI.YT1300Table();

            ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/0/06/Maneuver_customized_yt1300.png";
        }
示例#13
0
 public CallHistoryInfo(DialInfo caller, DialInfo callee, bool isIncoming, CallState callState, string reasonOfState)
 {
     Date = DateTime.Now;
     PhoneLine = caller;
     OtherParty = callee;
     IsIncoming = isIncoming;
     CallState = callState;
     ReasonOfState = reasonOfState;
 }
示例#14
0
 public CallHistoryInfo(DialInfo caller, DialInfo callee, bool isIncoming, CallState callState, string reasonOfState)
 {
     Date          = DateTime.Now;
     PhoneLine     = caller;
     OtherParty    = callee;
     IsIncoming    = isIncoming;
     CallState     = callState;
     ReasonOfState = reasonOfState;
 }
            public SheathipedeClassShuttle() : base()
            {
                ShipInfo.ActionIcons.RemoveActions(typeof(TargetLockAction));

                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Forward, ManeuverBearing.Reverse), MovementComplexity.Complex);

                IconicPilots[Faction.Rebel] = typeof(FennRau);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/0/03/Maneuver_sheathipede.png";
            }
示例#16
0
 public Booking()
 {
     Time      = new Time();
     Id        = new Id();
     Organizer = new Organizer();
     Title     = new Title();
     Agenda    = new Agenda();
     Privacy   = new Privacy();
     DialInfo  = new DialInfo();
 }
示例#17
0
        public ScavengedYT1300() : base()
        {
            ShipInfo.ShipName = "Scavenged YT-1300";

            ShipInfo.ArcInfo = new ShipArcsInfo(ArcType.DoubleTurret, 3);
            ShipInfo.Hull    = 8;
            ShipInfo.Shields = 3;

            ModelInfo = new ShipModelInfo(
                "Scavenged YT-1300",
                "YT-1300",
                new Vector3(-3.25f, 7.55f, 5.55f),
                3.5f
                );

            ShipInfo.DefaultShipFaction = Faction.Resistance;
            ShipInfo.FactionsAll        = new List <Faction>()
            {
                Faction.Resistance
            };

            ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Missile);
            ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Gunner);
            ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Illicit);

            ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(RotateArcAction), ActionColor.Red));
            ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(BoostAction), ActionColor.Red));

            DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Left, ManeuverBearing.Turn));
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Normal);
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Normal);
            DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Right, ManeuverBearing.Turn));

            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Easy);
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Easy);

            DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.Turn), MovementComplexity.Normal);
            DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.Turn), MovementComplexity.Normal);
            DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));
            DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.SegnorsLoop), MovementComplexity.Complex);
            DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.SegnorsLoop), MovementComplexity.Complex);
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Normal);

            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed4, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Complex);
            DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed4, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));

            IconicPilots[Faction.Resistance] = typeof(HanSolo);

            ShipIconLetter = 'Y';

            HotacManeuverTable = new AI.ScavengedYT1300Table();
        }
示例#18
0
            public Z95AF4Headhunter() : base()
            {
                ShipInfo.ShipName = "Z-95-AF4 Headhunter";

                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(BarrelRollAction), ActionColor.Red));

                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Easy);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed4, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn), MovementComplexity.Complex);

                IconicPilots[Faction.Rebel] = typeof(LtBlount);
                IconicPilots[Faction.Scum]  = typeof(NdruSuhlak);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/3/34/Maneuver_z-95.png";
            }
示例#19
0
            public AuzituckGunship() : base()
            {
                ShipInfo.ArcInfo = new ShipArcsInfo(ArcType.FullFront, 3);
                ShipInfo.Shields = 2;

                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(BarrelRollAction), ActionColor.Red));

                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed0, ManeuverDirection.Stationary, ManeuverBearing.Stationary), MovementComplexity.Complex);
                DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed5, ManeuverDirection.Forward, ManeuverBearing.Straight));

                IconicPilots[Faction.Rebel] = typeof(Lowhhrick);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/d/db/Maneuver_auzituck.png";
            }
示例#20
0
            public M3AInterceptor() : base()
            {
                ShipInfo.Hull = 3;

                IconicPilots = new Dictionary <Faction, System.Type> {
                    { Faction.Scum, typeof(Inaldra) }
                };

                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Normal);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Normal);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed5, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Normal);

                ShipAbilities.Add(new Abilities.FirstEdition.HardPointAbility());

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/2/2a/Maneuver_m3a.png";
            }
示例#21
0
            public TIEInterceptor() : base()
            {
                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Modification);

                ShipAbilities.Add(new Abilities.SecondEdition.AutoThrustersAbility());

                IconicPilots[Faction.Imperial] = typeof(SoontirFel);

                DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));
                DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed5, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed4, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn), MovementComplexity.Complex);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.SegnorsLoop), MovementComplexity.Complex);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.SegnorsLoop), MovementComplexity.Complex);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/d/da/Maneuver_tie_interceptor.png";
            }
示例#22
0
            public RZ1AWing() : base()
            {
                ShipInfo.ShipName = "RZ-1 A-wing";
                ShipInfo.UpgradeIcons.Upgrades.Remove(UpgradeType.Modification);
                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(BarrelRollAction)));

                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.SegnorsLoop), MovementComplexity.Complex);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.SegnorsLoop), MovementComplexity.Complex);
                DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));

                ShipAbilities.Add(new VectoredThrusters());

                IconicPilots[Faction.Rebel] = typeof(JakeFarrell);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/b/b4/Maneuver_a-wing.png";
            }
示例#23
0
        public ScavengedYT1300() : base()
        {
            ShipInfo.ShipName = "Scavenged YT-1300";

            ShipInfo.ArcInfo = new ShipArcsInfo(ArcType.DoubleTurret, 3);
            ShipInfo.Hull    = 8;
            ShipInfo.Shields = 3;

            ModelInfo = new ShipModelInfo("Scavenged YT-1300", "YT-1300");

            ShipInfo.DefaultShipFaction = Faction.Resistance;
            ShipInfo.FactionsAll        = new List <Faction>()
            {
                Faction.Resistance
            };

            ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Missile);
            ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Gunner);
            ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Illicit);

            ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(RotateArcAction), ActionColor.Red));
            ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(BoostAction), ActionColor.Red));

            DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Left, ManeuverBearing.Turn));
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Normal);
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Normal);
            DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Right, ManeuverBearing.Turn));

            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Easy);
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Easy);

            DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.Turn), MovementComplexity.Normal);
            DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.Turn), MovementComplexity.Normal);
            DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));
            DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.SegnorsLoop), MovementComplexity.Complex);
            DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.SegnorsLoop), MovementComplexity.Complex);
            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Normal);

            DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed4, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Complex);
            DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed4, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));

            IconicPilots[Faction.Resistance] = typeof(HanSolo);

            // ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/3/3f/Maneuver_modified_yt-1300.png";
            HotacManeuverTable = new AI.ScavengedYT1300Table();
        }
示例#24
0
            public T65XWing() : base()
            {
                ShipInfo.ShipName = "T-65 X-wing";
                ShipInfo.Hull     = 4;
                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Configuration);
                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(BarrelRollAction)));

                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Easy);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Easy);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Left, ManeuverBearing.TallonRoll), MovementComplexity.Complex);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Right, ManeuverBearing.TallonRoll), MovementComplexity.Complex);

                IconicPilots[Faction.Rebel] = typeof(LukeSkywalker);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/c/cf/Maneuver_t-65_x-wing.png";

                OldShipTypeName = "X-wing";
            }
示例#25
0
            public TIESkStriker() : base()
            {
                ShipInfo.ShipName = "TIE/sk Striker";

                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Device);
                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Gunner);

                ShipAbilities.Add(new Abilities.FirstEdition.AdaptiveAileronsAbility());

                IconicPilots[Faction.Imperial] = typeof(Duchess);

                DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn), MovementComplexity.Complex);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Easy);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Easy);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/4/43/Maneuver_tie_striker.png";
            }
            public StarViperClassAttackPlatform() : base()
            {
                ShipInfo.ShipName = "StarViper-class Attack Platform";

                IconicPilots[Faction.Scum] = typeof(Guri);

                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Sensor);

                ShipInfo.ActionIcons.AddLinkedAction(new LinkedActionInfo(typeof(BarrelRollAction), typeof(FocusAction)));
                ShipInfo.ActionIcons.AddLinkedAction(new LinkedActionInfo(typeof(BoostAction), typeof(FocusAction)));

                ShipAbilities.Add(new Abilities.FirstEdition.StarViperMkIIAbility());

                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Easy);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Easy);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/e/e1/Maneuver_starviper.png";
            }
示例#27
0
            public KihraxzFighter() : base()
            {
                ShipInfo.Hull = 5;

                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Modification);
                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Illicit);

                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(BarrelRollAction)));

                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Easy);
                DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed5, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Left, ManeuverBearing.TallonRoll), MovementComplexity.Complex);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Right, ManeuverBearing.TallonRoll), MovementComplexity.Complex);

                IconicPilots[Faction.Scum] = typeof(TalonbaneCobra);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/7/73/Maneuver_kihraxz.png";
            }
示例#28
0
            public TIEPhPhantom() : base()
            {
                ShipInfo.ShipName = "TIE/ph Phantom";

                ShipInfo.ArcInfo = new ShipArcsInfo(ArcType.Front, 3);
                ShipInfo.Hull    = 3;

                ShipAbilities.Add(new Abilities.SecondEdition.StygiumArray());

                IconicPilots[Faction.Imperial] = typeof(Whisper);

                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Left, ManeuverBearing.Bank), MovementComplexity.Normal);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed1, ManeuverDirection.Right, ManeuverBearing.Bank), MovementComplexity.Normal);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/4/44/Maneuver_tie_phantom.png";

                OldShipTypeName = "TIE Phantom";
            }
            public AggressorAssaultFighter() : base()
            {
                ShipInfo.ShipName = "Aggressor Assault Fighter";
                ShipInfo.BaseSize = BaseSize.Medium;

                ShipInfo.ActionIcons.SwitchToDroidActions();

                ShipInfo.Hull    = 5;
                ShipInfo.Shields = 3;

                IconicPilots[Faction.Scum] = typeof(IG88A);

                ShipAbilities.Add(new Abilities.SecondEdition.AdvancedDroidBrain());

                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed4, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Normal);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/3/33/Maneuver_aggressor.png";
            }
示例#30
0
            public G1AStarfighter() : base()
            {
                ShipInfo.BaseSize = BaseSize.Medium;
                ShipInfo.Hull     = 5;
                ShipInfo.Shields  = 4;

                IconicPilots[Faction.Scum] = typeof(Zuckuss);

                ShipInfo.ActionIcons.RemoveActions(typeof(EvadeAction));
                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(JamAction)));

                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed0, ManeuverDirection.Stationary, ManeuverBearing.Stationary), MovementComplexity.Complex);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn), MovementComplexity.Complex);
                DialInfo.RemoveManeuver(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.KoiogranTurn));
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed3, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Normal);
                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed4, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Complex);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/3/35/Maneuver_g1a_starfighter.png";
            }
示例#31
0
            public TIEAdvancedV1() : base()
            {
                ShipInfo.ShipName = "TIE Advanced v1";

                ShipInfo.UpgradeIcons.Upgrades.Add(UpgradeType.Sensor);
                ShipInfo.UpgradeIcons.Upgrades.Remove(UpgradeType.Modification);

                ShipInfo.ActionIcons.AddActions(new ActionInfo(typeof(EvadeAction)));
                ShipInfo.ActionIcons.AddLinkedAction(new LinkedActionInfo(typeof(BoostAction), typeof(FocusAction)));
                ShipInfo.ActionIcons.AddLinkedAction(new LinkedActionInfo(typeof(BarrelRollAction), typeof(FocusAction)));

                IconicPilots[Faction.Imperial] = typeof(GrandInquisitor);

                DialInfo.ChangeManeuverComplexity(new ManeuverHolder(ManeuverSpeed.Speed4, ManeuverDirection.Forward, ManeuverBearing.Straight), MovementComplexity.Normal);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Left, ManeuverBearing.TallonRoll), MovementComplexity.Complex);
                DialInfo.AddManeuver(new ManeuverHolder(ManeuverSpeed.Speed2, ManeuverDirection.Right, ManeuverBearing.TallonRoll), MovementComplexity.Complex);

                ManeuversImageUrl = "https://vignette.wikia.nocookie.net/xwing-miniatures-second-edition/images/0/0c/Maneuver_tie_advanced_v1.png";
            }
示例#32
0
 public static CallHistoryInfo ToPhoneCallInfo(this IPhoneCall call)
 {
     SIPAccount account = call.PhoneLine.SIPAccount;
     DialInfo caller = new DialInfo(account.DisplayName, account.UserName, account.DomainServerHost);
     return new CallHistoryInfo(caller, call.DialInfo, call.IsIncoming, call.CallState, call.ReasonOfState);
 }
 public static CallHistoryInfo ToPhoneCallInfo(this IPhoneCall call)
 {
     var account = call.PhoneLine.SIPAccount.AsSIPAddress(call.PhoneLine.Config.TransportType);
     DialInfo caller = new DialInfo(account);
     return new CallHistoryInfo(caller, call.DialInfo, call.IsIncoming, call.CallState, call.ReasonOfState);
 }