示例#1
0
 protected void SetDefaultReactions()
 {
     // Seeds
     SetReaction(InteractionType.EmberSeed, SenderReactions.Intercept);
     SetReaction(InteractionType.ScentSeed, SenderReactions.Intercept, Reactions.Damage);
     SetReaction(InteractionType.PegasusSeed, SenderReactions.Intercept, Reactions.Stun);
     SetReaction(InteractionType.GaleSeed, SenderReactions.Intercept);
     SetReaction(InteractionType.MysterySeed, Reactions.MysterySeed);
     // Projectiles
     SetReaction(InteractionType.Arrow, SenderReactions.Destroy, Reactions.Damage);
     SetReaction(InteractionType.SwordBeam, SenderReactions.Destroy, Reactions.Damage);
     SetReaction(InteractionType.RodFire, SenderReactions.Intercept);
     SetReaction(InteractionType.Boomerang, SenderReactions.Intercept, Reactions.Stun);
     SetReaction(InteractionType.SwitchHook, Reactions.SwitchHook);
     // Environment
     SetReaction(InteractionType.Fire, Reactions.Burn);
     SetReaction(InteractionType.Gale, Reactions.Gale);
     SetReaction(InteractionType.BombExplosion, Reactions.Damage);
     SetReaction(InteractionType.ThrownObject, Reactions.Damage);
     SetReaction(InteractionType.MineCart, Reactions.SoftKill);
     SetReaction(InteractionType.Block, Reactions.Damage);
     // Tools
     SetReaction(InteractionType.Sword, SenderReactions.Intercept, Reactions.DamageByLevel(1, 2, 3));
     SetReaction(InteractionType.SwordSpin, Reactions.Damage2);
     SetReaction(InteractionType.BiggoronSword, Reactions.Damage3);
     SetReaction(InteractionType.Shield, SenderReactions.Bump, Reactions.Bump);
     SetReaction(InteractionType.Shovel, Reactions.Bump);
     SetReaction(InteractionType.Parry, Reactions.Parry);
     // Player
     SetReaction(InteractionType.Pickup, Reactions.None);
     SetReaction(InteractionType.ButtonAction, Reactions.None);
     SetReaction(InteractionType.PlayerContact, OnTouchPlayer);
 }
示例#2
0
        public MonsterOctorok()
        {
            // General.
            MaxHealth     = 1;
            ContactDamage = 1;
            color         = MonsterColor.Blue;
            animationMove = GameData.ANIM_MONSTER_OCTOROK;

            // Movement.
            moveSpeed = 0.5f;
            changeDirectionsOnCollide  = true;
            syncAnimationWithDirection = true;
            stopTime.Set(30, 60);
            moveTime.Set(30, 50);

            // Projectiles.
            projectileType      = typeof(OctorokRock);
            shootType           = ShootType.OnStop;
            aimType             = AimType.Forward;
            shootSpeed          = 2.0f;
            projectileShootOdds = 5;                 // 1 in 5 chance to shoot after stopping.
            shootPauseDuration  = 30;

            // Interactions.
            SetReaction(InteractionType.Sword, Reactions.DamageByLevel(1, 2, 2));
            SetReaction(InteractionType.BiggoronSword, Reactions.Damage2);

            /*
             * // DEBUG MONSTER SETTINGS.
             * stopTime.Set(0, 0);
             * moveTime.Set(30, 80);
             * syncAnimationWithDirection	= true;
             * isMovementDirectionBased	= true;
             * numMoveAngles = 16;
             *
             * shootType = ShootType.None;
             *
             * Physics.ReboundRoomEdge	= true;
             * Physics.ReboundSolid	= true;
             * Physics.Bounces			= true;
             *
             * shootType = ShootType.WhileMoving;
             * projectileShootOdds = 60; // once every 60 seconds.
             * aimType = AimType.Forward;
             * aimType = AimType.FaceRandom;
             *
             * Graphics.DrawOffset			= new Point2I(-8, -14) + new Point2I(0, 3);
             * centerOffset				= new Point2I(0, -6) + new Point2I(0, 3);
             */
        }
示例#3
0
        public MonsterLynel()
        {
            // General.
            MaxHealth     = 4;
            ContactDamage = 4;
            color         = MonsterColor.Red;

            // Movement.
            moveSpeed = 0.5f;
            changeDirectionsOnCollide = true;
            stopTime.Set(0, 0);
            moveTime.Set(40, 80);

            // Charging.

            /*chargeType			= ChargeType.ChargeForDuration;
             * chargeSpeed			= 1.25f;
             * chargeAcceleration	= 0.1f;
             * chargeMinAlignment	= 5;
             * chargeDuration.Set(100, 160);*/

            // Projectiles.
            projectileType      = typeof(SpearProjectile);
            shootType           = ShootType.OnStop;
            aimType             = AimType.FacePlayer;
            shootSpeed          = 3.0f;
            projectileShootOdds = 10;
            shootPauseDuration  = 15;

            // Physics.
            Physics.Bounces = true;                             // This is here for when the monster is digged up or dropped from the ceiling.

            // Graphics.
            animationMove = GameData.ANIM_MONSTER_LYNEL;
            syncAnimationWithDirection = true;

            // Interactions.
            SetReaction(InteractionType.Sword, Reactions.DamageByLevel(1, 2, 2));
            SetReaction(InteractionType.BiggoronSword, Reactions.Damage2);
            SetReaction(InteractionType.SwitchHook, SenderReactions.Intercept, Reactions.ClingEffect);
            SetReaction(InteractionType.GaleSeed, Reactions.None);
        }