コード例 #1
0
        public Thief(string cName, string pClass, int bDamage, int maxHp) : base(cName, pClass, bDamage, maxHp)
        {
            characterName       = cName;
            baseDamage          = bDamage;
            currentHealthPoints = maxHp;
            maxHealthPoints     = maxHp;

            normalAttack  = new NormalAttack();
            specialAttack = new Backstab();
        }
コード例 #2
0
    // Use this for initialization
    void Start()
    {
        rb         = GetComponent <Rigidbody>();
        isGrounded = true;
        attack     = GetComponentInChildren <Backstab>();
        //Create the pool of projectiles
        Projectiles = new GameObject[ProjectilePoolSize];
        Vector3 pos = new Vector3(-100, 0, 0);

        for (int i = 0; i < ProjectilePoolSize; i++)
        {
            Projectiles[i] = (GameObject)Instantiate(ProjectilePrefab, pos, Quaternion.identity);
        }
        attack.attacking = false;
    }
コード例 #3
0
        public override bool CheckCast()
        {
            if (!base.CheckCast())
            {
                return(false);
            }

            if (!CheckExpansion(Caster))
            {
                Caster.SendLocalizedMessage(1063456);                   // You must upgrade to Samurai Empire in order to use that ability.

                return(false);
            }

            if (Caster.Skills[SkillName.Bushido].Value < RequiredSkill)
            {
                string args = String.Format("{0}\t{1}\t ", RequiredSkill.ToString("F1"), CastSkill.ToString());
                Caster.SendLocalizedMessage(1063013, args);                   // You need at least ~1_SKILL_REQUIREMENT~ ~2_SKILL_NAME~ skill to use that ability.
                return(false);
            }
            else if (Caster.Mana < ScaleMana(RequiredMana))
            {
                Caster.SendLocalizedMessage(1060174, RequiredMana.ToString());                   // You must have at least ~1_MANA_REQUIREMENT~ Mana to use this ability.
                return(false);
            }

            if (HonorableExecution.UnderEffect(Caster) || LightningStrike.UnderEffect(Caster) || MomentumStrike.UnderEffect(Caster))
            {
                return(true);
            }

            WeaponAbility ability = WeaponAbility.GetCurrentAbility(Caster);

            if (ability != null)
            {
                WeaponAbility.ClearCurrentAbility(Caster);
            }

            if (AnimalForm.UnderEffect(Caster))
            {
                if (this is HonorableExecution || this is LightningStrike || this is MomentumStrike)
                {
                    Caster.SendLocalizedMessage(1063024);                       // You cannot perform this special move right now.

                    return(false);
                }
            }

            if (FocusAttack.UnderEffect(Caster))
            {
                Caster.Send(new SetNewSpell(0xF5, 0));

                FocusAttack.m_Table.Remove(Caster);

                BaseWeapon weapon = Caster.Weapon as BaseWeapon;

                if (weapon != null)
                {
                    FocusAttack.RemoveBonus(weapon);
                }
            }

            if (DeathStrike.UnderEffect(Caster))
            {
                Caster.Send(new SetNewSpell(0xF6, 0));

                DeathStrike.m_Table.Remove(Caster);
            }

            if (KiAttack.UnderEffect(Caster))
            {
                Caster.Send(new SetNewSpell(0xF8, 0));

                KiAttack.m_Table.Remove(Caster);
            }

            if (SurpriseAttack.UnderEffect(Caster))
            {
                Caster.Send(new SetNewSpell(0xF9, 0));

                SurpriseAttack.m_Table.Remove(Caster);
            }

            if (Backstab.UnderEffect(Caster))
            {
                Caster.Send(new SetNewSpell(0xFA, 0));

                Backstab.m_Table.Remove(Caster);
            }

            return(true);
        }
コード例 #4
0
ファイル: Thief.cs プロジェクト: zhzhwcn/ArchaicQuest
        public static PlayerClass ThiefClass()
        {
            var thief = new PlayerClass
            {
                Name               = "Thief",
                IsBaseClass        = true,
                ExperienceModifier = 2000,
                HelpText           = new Help(),
                Skills             = new List <Skill>(),
                ReclassOptions     = new List <PlayerClass>(),
                MaxHpGain          = 15,
                MinHpGain          = 10,
                MaxManaGain        = 15,
                MinManaGain        = 10,
                MaxEnduranceGain   = 15,
                MinEnduranceGain   = 11,
                StatBonusStr       = 1,
                StatBonusCon       = 1
            };


            #region  Lvl 1 skills

            var longBlades = LongBlades.LongBladesAb();
            longBlades.Learned = true;
            thief.Skills.Add(longBlades);

            var shortBlades = ShortBlades.ShortBladesAb();
            shortBlades.Learned = true;
            thief.Skills.Add(shortBlades);


            var staff = Staff.StaffAb();
            staff.Learned = true;
            thief.Skills.Add(staff);

            var handToHand = HandToHand.HandToHandAb();
            handToHand.Learned = true;
            thief.Skills.Add(handToHand);

            var lightArmour = LightArmour.LightArmourAb();
            lightArmour.Learned = true;
            thief.Skills.Add(lightArmour);

            #endregion

            #region  Lvl 2 skills
            var dodge = Player.Skills.Dodge.DodgeAb();
            dodge.LevelObtained = 2;
            thief.Skills.Add(dodge);

            #endregion

            #region  Lvl 3 skills
            var sneak = Player.Skills.Sneak.SneakAb();
            sneak.LevelObtained = 3;
            thief.Skills.Add(dodge);

            var exotic = Exotic.ExoticAb();
            exotic.LevelObtained = 3;
            thief.Skills.Add(exotic);

            #endregion

            #region  Lvl 4 skills
            var kick = Player.Skills.Kick.KickAb();
            kick.LevelObtained = 5;
            thief.Skills.Add(kick);

            #endregion


            #region Lvl 5 skills

            var blunt = BluntWeapons.BluntWeaponsAb();
            blunt.LevelObtained = 5;
            thief.Skills.Add(blunt);


            #endregion


            #region Lvl 7 skills

            var trip = Trip.TripAb();
            trip.LevelObtained = 7;
            thief.Skills.Add(trip);
            #endregion

            #region Lvl 8 skills

            var lore = Lore.LoreAb();
            thief.Skills.Add(lore);
            #endregion

            #region Lvl 9 skills

            var hide = Hide.HideAb();
            hide.LevelObtained = 9;
            thief.Skills.Add(hide);
            #endregion

            #region Lvl 10 skills

            var skick = SpinKick.KickAb();
            thief.Skills.Add(skick);

            var peak = Peak.PeakAb();
            thief.Skills.Add(peak);
            #endregion

            #region Lvl 11 skills

            var steal = Steal.StealAb();
            thief.Skills.Add(steal);


            #endregion


            #region Lvl 12 skills

            var tumble = Tumble.TumbleAb();
            thief.Skills.Add(tumble);
            #endregion


            #region Lvl 13 skills

            var picklock = LockPick.LockPickAb();
            thief.Skills.Add(picklock);
            #endregion

            #region Lvl 14 skills

            var dkick = DirtKick.DirtKickAb();
            dkick.LevelObtained = 14;
            thief.Skills.Add(dkick);
            #endregion


            #region Lvl 15 skills

            var bstab = Backstab.BackstabAb();
            thief.Skills.Add(bstab);
            #endregion

            #region Lvl 16 skills

            var parry = Parry.ParryAb();
            parry.LevelObtained = 16;
            thief.Skills.Add(parry);
            #endregion


            #region Lvl 18 skills

            var disarm = Disarm.DisarmAb();
            disarm.LevelObtained = 18;
            thief.Skills.Add(disarm);
            #endregion

            #region Lvl 20 skills

            var feint = Feint.FeintAb();

            thief.Skills.Add(feint);
            #endregion



            thief.ReclassOptions.Add(Ranger.RangerClass());

            return(thief);
        }
コード例 #5
0
 // Use this for initialization
 void Start()
 {
     Player         = GameObject.FindGameObjectWithTag("Player");
     scoreText.text = "0";
     PlayerScore    = Player.GetComponent <Backstab>();
 }
コード例 #6
0
        public static bool SetCurrentAbility(Mobile m, WeaponAbility a)
        {
            if (!Core.AOS)
            {
                ClearCurrentAbility(m);
                return(false);
            }

            if (!IsWeaponAbility(m, a))
            {
                ClearCurrentAbility(m);
                return(false);
            }

            if (a != null && !a.Validate(m))
            {
                ClearCurrentAbility(m);
                return(false);
            }

            if (a == null)
            {
                m_Table.Remove(m);
            }
            else
            {
                m_Table[m] = a;
            }

            m.CanReveal = true;

            if (HonorableExecution.UnderEffect(m))
            {
                m.Send(new SetNewSpell(0x91, 0));

                HonorableExecution.m_Table.Remove(m);
            }

            if (LightningStrike.UnderEffect(m))
            {
                m.Send(new SetNewSpell(0x95, 0));

                LightningStrike.m_Table.Remove(m);
            }

            if (MomentumStrike.UnderEffect(m))
            {
                m.Send(new SetNewSpell(0x96, 0));

                MomentumStrike.m_Table.Remove(m);
            }

            if (FocusAttack.UnderEffect(m))
            {
                m.Send(new SetNewSpell(0xF5, 0));

                FocusAttack.m_Table.Remove(m);

                BaseWeapon weapon = m.Weapon as BaseWeapon;

                if (weapon != null)
                {
                    FocusAttack.RemoveBonus(weapon);
                }
            }

            if (DeathStrike.UnderEffect(m))
            {
                m.Send(new SetNewSpell(0xF6, 0));

                DeathStrike.m_Table.Remove(m);
            }

            if (KiAttack.UnderEffect(m))
            {
                m.Send(new SetNewSpell(0xF8, 0));

                KiAttack.m_Table.Remove(m);
            }

            if (SurpriseAttack.UnderEffect(m))
            {
                m.Send(new SetNewSpell(0xF9, 0));

                SurpriseAttack.m_Table.Remove(m);
            }

            if (Backstab.UnderEffect(m))
            {
                m.Send(new SetNewSpell(0xFA, 0));

                Backstab.m_Table.Remove(m);
            }

            return(true);
        }
コード例 #7
0
    void Awake()
    {
        viewId = instances.Count;
        instances.Add(this);
        if (!backstab) backstab = FindObjectOfType<Backstab>();

        foreach (MethodInfo m in GetType().GetMethods(flags)) {
            foreach (Attribute a in m.GetCustomAttributes(true)) {
                RpcAttribute r = a as RpcAttribute;
                if (r != null) {
                    RegisterRpc(m);
                }
            }
        }

        InvokeRepeating("OnSync", syncInterval, syncInterval);
    }
コード例 #8
0
 //CONSTRUCTOR
 public Thief(string name) : base(name)
 {
     specialAttack = new Backstab();
 }