Ejemplo n.º 1
0
        protected override bool OnEquip(MobileEntity entity)
        {
            if (!base.OnEquip(entity))
            {
                return(false);
            }

            if (!entity.GetStatus(typeof(ShieldStatus), out var status))
            {
                status = new ShieldStatus(entity)
                {
                    Inscription = new SpellInscription()
                    {
                        SpellId = 52
                    }
                };
                status.AddSource(new ItemSource(this));

                entity.AddStatus(status);
            }
            else
            {
                status.AddSource(new ItemSource(this));
            }

            return(true);
        }
Ejemplo n.º 2
0
        public override string GetInspectString()
        {
            var stringBuilder = new StringBuilder();

            stringBuilder.AppendLine(ShieldStatus.GetStringFromStatuses(Status.ToList()));
            stringBuilder.Append(base.GetInspectString());
            return(stringBuilder.ToString());
        }
Ejemplo n.º 3
0
    /// <summary>
    /// 创建状态
    /// </summary>
    /// <param name="Core">雷达拥有者的核心信息</param>
    /// <param name="f">雷达拥有视野</param>
    public static StatusM Create(int SceneID, int ResalseSceneID, int SkillID, SkillStatusInfo Info)
    {
        if (Info == null)
        {
            return(null);
        }
        StatusType s      = (StatusType)Info.m_type;
        StatusM    status = null;

        switch (s)
        {
        case StatusType.AddAttr:
            status = new AddAttrStatus();
            break;

        case StatusType.Vertigo:
            status = new VertigoStatus();
            break;

        case StatusType.Silence:
            status = new SilenceStatus();
            break;

        case StatusType.Vampire:
            status = new VampireStatus();
            break;

        case StatusType.Rebound:
            status = new ReboundStatus();
            break;

        case StatusType.Invisible:
            status = new InvisibleStatus();
            break;

        case StatusType.Invincible:
            status = new InvincibleStatus();
            break;

        case StatusType.Transfiguration:
            status = new TransfigurationStatus();
            break;

        case StatusType.Summon:
            status = new SummonStatus();
            break;

        case StatusType.ClickFly:
            status = new ClickFlyStatus();
            break;

        case StatusType.AbsorbDamage:
            status = new AbsorbDamageStatus();
            break;

        case StatusType.Virtual:
            status = new VirtualStatus();
            break;

        case StatusType.Shield:
            status = new ShieldStatus();
            break;

        case StatusType.Sputtering:
            status = new SputteringStatus();
            break;

        case StatusType.Damnation:
            status = new DamnationStatus();
            break;

        case StatusType.ImmunePhysical:
            status = new ImmunePhysicalStatus();
            break;

        case StatusType.ImmunityMagic:
            status = new ImmunityMagicStatus();
            break;

        case StatusType.IceBuild:
            status = new IceBuildStatus();
            break;

        case StatusType.Ring:
            status = new RingStatus();
            break;

        case StatusType.Taunt:
            status = new TauntStatus();
            break;

        case StatusType.StaticElec:
            status = new StaticElecStatus();
            break;

        case StatusType.Still:
            status = new StillStatus();
            break;

        case StatusType.Squash:
            status = new SquashStatus();
            break;

        case StatusType.Sauna:
            status = new SaunaStatus();
            break;

        case StatusType.KTV:
            status = new KTVStatus();
            break;

        case StatusType.ImmuneState:
            status = new ImmuneState();
            break;

        case StatusType.NoSquash:
            status = new NoSquashStatus();
            break;

        case StatusType.paralysis:
            status = new ParalysisStatus();
            break;

        case StatusType.PhyAnitInterrupt:
            status = new PhyAnitInterruptStatus();
            break;

        case StatusType.MagAnitInterrupt:
            status = new MagAnitInterruptStatus();
            break;

        case StatusType.Cleanse:
            status = new CleanseStatus();
            break;

        case StatusType.Charm:
            status = new CharmStatus();
            break;

        case StatusType.BuildDestory:
            status = new BuildDestoryStatus();
            break;

        case StatusType.Mark:
            status = new MarkStatus();
            break;

        case StatusType.RunAway:
            status = new RunAwayStaus();
            break;

        case StatusType.FakeTaunt:
            status = new FakeTauntStatus();
            break;

        case StatusType.Die:
            status = new DieStatus();
            break;

        case StatusType.Turn:
            status = new TurnStatus();
            break;

        case StatusType.WetBody:
            status = new WetBodyStatus();
            break;

        case StatusType.Berserker:
            status = new BerserkerStatus();
            break;

        case StatusType.Paralyze:
            status = new ParalyzeStatus();
            break;

        case StatusType.DieMark:
            status = new DieMarkStatus();
            break;

        case StatusType.Sleep:
            status = new SleepStatus();
            break;

        case StatusType.TearOfMermaid:
            status = new TearOfMermaidStatus();
            break;

        case StatusType.Trapped:
            status = new TrapedStatus();
            break;

        case StatusType.KickedBack:
            status = new KickedBackStatus();
            break;

        case StatusType.WhipCorpse:
            status = new WhipCorpseStatus();
            break;

        case StatusType.FireShield:
            status = new FireShieldStatus();
            break;

        default:
            break;
        }
        return(status);
    }