public DanceMajor()
 {
     health       = 16; maxHP = 16; strength = 2; power = 0; charge = 0; defense = 0; guard = 0;
     baseAccuracy = 14; accuracy = 14; dexterity = 5; evasion = 0; type = "Dance Major"; passive = new Footwork(this);
     quirk        = Quirk.GetQuirk(this); special = new Tumble(); special2 = new Lunge();
     player       = false; champion = false; recruitable = true; CreateDrops(); attackEffect = "gain 3 evasion";
 }
Ejemplo n.º 2
0
    float Lunge()
    {
        GameObject lunge = Instantiate(lungePrefab, transform, false) as GameObject;
        Lunge      lun   = lunge.GetComponent <Lunge> ();

        lun.Init(gameObject);
        return(lun.cooldown);
    }
Ejemplo n.º 3
0
    public void Update()
    {
        float delta = Time.deltaTime * speed;

        transform.Translate(dir * delta);
        RaycastHit hit;

        if (Physics.Raycast(transform.position, -dir, out hit, delta) && hit.transform.name != friendly)
        {
            Destroy(gameObject);
            AIControl ai        = hit.transform.GetComponent <AIControl>();
            Module    telporter = hit.transform.GetComponent <Module>();

            if (telporter != null)
            {
                telporter.TryCancelTeleport();
                return;
            }


            if (ai != null && ai.hp == 0 && !ai.dead)
            {
                ai.dead = true;
                ai.HandleDeath();
                return;
            }

            if (ai != null && ai.hp > 0)
            {
                ai.hp--;
                Pusher pusher = ai.transform.GetComponent <Pusher>();
                Lunge  lunge  = ai.transform.GetComponent <Lunge>();

                if (!lunge.enabled && !pusher.enabled)
                {
                    pusher.pushDir = dir;
                    pusher.enabled = true;
                }

                Instantiate(gore, hit.point, Quaternion.identity);
            }
        }
    }
Ejemplo n.º 4
0
        public static PlayerClass FighterClass()
        {
            var fighter = new PlayerClass
            {
                Name               = "Fighter",
                IsBaseClass        = true,
                ExperienceModifier = 500,
                HelpText           = new Help(),
                Skills             = new List <Skill>(),
                ReclassOptions     = new List <PlayerClass>(),
                MaxHpGain          = 15,
                MinHpGain          = 10,
                MaxManaGain        = 8,
                MinManaGain        = 4,
                MaxEnduranceGain   = 15,
                MinEnduranceGain   = 11,
                StatBonusStr       = 1,
                StatBonusCon       = 1,
            };

            /* TODO: some skills to add
             * Axe Dagger Polearm  Mace
             * Spear Shield Block
             * staff  sword
             *  bash Whip Enhanced damage
             *  parry rescue swim  scrolls
             *  staves  wands  recall
             *  age  dig
             *  dirt kicking
             *  second atttack
             *  third attack
             *  fouth attack
             *  fast healing
             *  kick
             *  disarm
             *  blind fighting
             *  trip
             *  berserk
             *  dual wield (eek)
             * */


            #region  Lvl 1 skills

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

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

            var axe = Axe.AxeAb();
            axe.Learned = true;
            fighter.Skills.Add(axe);

            var blunt = BluntWeapons.BluntWeaponsAb();
            blunt.Learned = true;
            fighter.Skills.Add(blunt);

            var polearm = Polearms.PolearmsAb();
            polearm.Learned = true;
            fighter.Skills.Add(polearm);

            var exotic = Exotic.ExoticAb();
            exotic.Learned = true;
            fighter.Skills.Add(exotic);

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

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

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



            #endregion

            #region  Lvl 2 skills
            fighter.Skills.Add(HeavyArmour.HeavyArmourAb());
            fighter.Skills.Add(MediumArmour.MediumArmourAb());


            #endregion

            #region Lvl 3 skills
            fighter.Skills.Add(Trip.TripAb());
            #endregion

            #region Lvl 4
            fighter.Skills.Add(FastHealing.FastHealingAb());
            fighter.Skills.Add(Toughness.ToughnessAb());
            #endregion

            #region Lvl 5

            var parry = Parry.ParryAb();
            fighter.Skills.Add(parry);


            #endregion


            #region Lvl 6

            var shieldBlock = ShieldBlock.ShieldBlockAb();
            fighter.Skills.Add(shieldBlock);

            var dodge = Dodge.DodgeAb();
            fighter.Skills.Add(dodge);

            #endregion


            #region Lvl 7

            var dirtKick = DirtKick.DirtKickAb();
            fighter.Skills.Add(dirtKick);

            var kick = Kick.KickAb();
            fighter.Skills.Add(kick);

            #endregion

            #region Lvl 9

            var bash = Bash.BashAb();
            fighter.Skills.Add(bash);



            #endregion


            #region Lvl 10

            var rescue = Rescue.RescueAb();
            fighter.Skills.Add(rescue);



            #endregion

            #region Lvl 11

            var sneak = Sneak.SneakAb();
            fighter.Skills.Add(sneak);



            #endregion


            #region Lvl 12
            fighter.Skills.Add(SecondAttack.SecondAttackAb());



            #endregion


            #region Lvl 13

            var lunge = Lunge.LungeAb();
            fighter.Skills.Add(lunge);



            #endregion


            #region Lvl 14

            var sbash = ShieldBash.ShieldBashAb();
            fighter.Skills.Add(sbash);

            #endregion


            #region Lvl 15

            var disarm = Disarm.DisarmAb();
            fighter.Skills.Add(disarm);

            #endregion


            #region Lvl 16

            var enhancedDam = EnhancedDamage.EnhancedDamageAb();
            fighter.Skills.Add(enhancedDam);

            #endregion

            #region Lvl 18

            var mount = Mount.MountAb();
            fighter.Skills.Add(mount);

            #endregion

            #region Lvl 20

            var thirdAttk = ThirdAttack.ThirdAttackAb();
            fighter.Skills.Add(thirdAttk);

            #endregion



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

            return(fighter);
        }
Ejemplo n.º 5
0
        public override void OnEnter()
        {
            base.OnEnter();
            base.characterBody.isSprinting = true;
            if (base.cameraTargetParams)
            {
                base.cameraTargetParams.aimMode = CameraTargetParams.AimType.Standard;
            }
            base.characterBody.hideCrosshair = false;

            EntityStateMachine desiredStateMachine = this.outer;

            foreach (EntityStateMachine i in base.gameObject.GetComponents <EntityStateMachine>())
            {
                if (i)
                {
                    if (i.customName == "Weapon")
                    {
                        desiredStateMachine = i;
                    }
                }
            }

            if (!this.tracker.GetTrackingTarget())
            {
                if (this.isGrounded)
                {
                    Uppercut nextState = new Uppercut
                    {
                        charge = this.charge
                    };
                    desiredStateMachine.SetNextState(nextState);
                    this.outer.SetNextStateToMain();
                    return;
                }
                else
                {
                    Downslash nextState = new Downslash
                    {
                        charge = this.charge
                    };
                    desiredStateMachine.SetNextState(nextState);
                    this.outer.SetNextStateToMain();
                    return;
                }
            }

            float desiredDist = 10f;

            if (!this.isGrounded)
            {
                desiredDist = 7f;
            }

            float dist = Vector3.Distance(base.transform.position, this.tracker.GetTrackingTarget().transform.position);

            if (dist <= desiredDist)
            {
                if (this.isGrounded)
                {
                    Uppercut nextState = new Uppercut
                    {
                        charge = this.charge
                    };
                    desiredStateMachine.SetNextState(nextState);
                    this.outer.SetNextStateToMain();
                    return;
                }
                else
                {
                    Downslash nextState = new Downslash
                    {
                        charge = this.charge
                    };
                    desiredStateMachine.SetNextState(nextState);
                    this.outer.SetNextStateToMain();
                    return;
                }
            }
            else
            {
                Lunge nextState = new Lunge
                {
                    charge = this.charge
                };
                desiredStateMachine.SetNextState(nextState);
                this.outer.SetNextStateToMain();
                return;
            }
        }