コード例 #1
0
ファイル: TNT.cs プロジェクト: tarsupin/Nexus
        public static void DetonateTNT(Character character)
        {
            int posX = Math.Min(Math.Max(0, character.posX - 800), character.room.tilemap.InnerWidth - 1600);
            int posY = Math.Min(Math.Max(0, character.posY - 600), character.room.tilemap.InnerHeight - 900);

            TNT.DetonateTNT(character.room, posX, posY, 1600, 1200);
        }
コード例 #2
0
        public override void Collect(RoomScene room, Character character, short gridX, short gridY)
        {
            byte subType = room.tilemap.GetMainSubType(gridX, gridY);

            switch (subType)
            {
            // Inner Magi Shields
            case (byte)GoodieSubType.RingMagic:
                this.GetMagiShield(character, (byte)ProjectileMagiSubType.Magi, 3, 60, 480);
                character.magiShield.SetIconTexture(this.Texture[subType]);
                break;

            case (byte)GoodieSubType.RingFire:
                this.GetMagiShield(character, (byte)ProjectileMagiSubType.Fire, 3, 60);
                character.magiShield.SetIconTexture(this.Texture[subType]);
                break;

            case (byte)GoodieSubType.RingPoison:
                this.GetMagiShield(character, (byte)ProjectileMagiSubType.Poison, 4, 60);
                character.magiShield.SetIconTexture(this.Texture[subType]);
                break;

            case (byte)GoodieSubType.RingElements:
                this.GetMagiShield(character, (byte)ProjectileMagiSubType.Frost, 3, 55, 0);
                character.magiShield.SetIconTexture(this.Texture[subType]);
                break;

            //case (byte)GoodieSubType.RingHawk: this.GetMagiShield(character, (byte)ProjectileMagiSubType.Magi, 7, 60); break;
            //case (byte)GoodieSubType.RingDruid: this.GetMagiShield(character, (byte)ProjectileMagiSubType.Magi, 7, 60); break;
            //case (byte)GoodieSubType.RingEye: this.GetMagiShield(character, (byte)ProjectileMagiSubType.Magi, 7, 60); break;

            // Outer Magi Shields
            case (byte)GoodieSubType.AmuletMagic:
                this.GetMagiShield(character, (byte)ProjectileMagiSubType.Magi, 5, 70, 720);
                character.magiShield.SetIconTexture(this.Texture[subType]);
                break;

            case (byte)GoodieSubType.NeckElectric:
                this.GetMagiShield(character, (byte)ProjectileMagiSubType.Electric, 8, 80);
                character.magiShield.SetIconTexture(this.Texture[subType]);
                break;

            case (byte)GoodieSubType.NeckFire:
                this.GetMagiShield(character, (byte)ProjectileMagiSubType.Fire, 6, 70);
                character.magiShield.SetIconTexture(this.Texture[subType]);
                break;

            //case (byte)GoodieSubType.NeckHeart:
            //this.GetMagiShield(character, (byte)ProjectileMagiSubType.Magi, 7, 60);
            //character.magiShield.SetIconTexture(this.Texture[subType]);
            //break;

            // Invincibility
            case (byte)GoodieSubType.Shiny: this.GetInvincible(character, 10000); break;

            case (byte)GoodieSubType.Stars: this.GetInvincible(character, 10000); break;

            case (byte)GoodieSubType.GodMode: this.GetInvincible(character, 99999999); break;

            // Timer
            case (byte)GoodieSubType.Plus5: this.SetTime(character, true, 5); break;

            case (byte)GoodieSubType.Plus10: this.SetTime(character, true, 10); break;

            case (byte)GoodieSubType.Plus20: this.SetTime(character, true, 20); break;

            case (byte)GoodieSubType.Set5: this.SetTime(character, false, 5); break;

            case (byte)GoodieSubType.Set10: this.SetTime(character, false, 10); break;

            case (byte)GoodieSubType.Set20: this.SetTime(character, false, 20); break;

            // Disrupt
            case (byte)GoodieSubType.Disrupt: this.RunDisrupt(character); break;

            // Explosive
            case (byte)GoodieSubType.Explosive: TNT.DetonateTNT(character); break;

            // Shoes
            case (byte)GoodieSubType.DashingShoe: this.CollectShoe(character, ShoeSubType.Dashing); break;

            case (byte)GoodieSubType.SpikeShoe: this.CollectShoe(character, ShoeSubType.Spike); break;

            case (byte)GoodieSubType.WingShoe: this.CollectShoe(character, ShoeSubType.Wing); break;
            }

            // SubTypes that can be maxed out, and therefore not collected at times.
            switch (subType)
            {
            // Key Collection
            case (byte)GoodieSubType.Key:
                if (character.trailKeys.HasMaxKeys)
                {
                    return;
                }
                this.CollectKey(character);
                break;

            // Health
            case (byte)GoodieSubType.Apple:
            case (byte)GoodieSubType.Pear:
                if (character.wounds.HasMaxHealth)
                {
                    return;
                }
                this.GetHealth(character, 1);
                break;

            case (byte)GoodieSubType.Melon:
            case (byte)GoodieSubType.Soup:
                if (character.wounds.HasMaxHealth)
                {
                    return;
                }
                this.GetHealth(character, 2);
                break;

            case (byte)GoodieSubType.Pack1:
            case (byte)GoodieSubType.Pack2:
                if (character.wounds.HasMaxHealth)
                {
                    return;
                }
                this.GetHealth(character, 99);
                break;

            // Armor
            case (byte)GoodieSubType.ShieldWood:
                if (character.wounds.HasMaxArmor)
                {
                    return;
                }
                this.GetArmor(character, 1);
                break;

            case (byte)GoodieSubType.ShieldWhite:
                if (character.wounds.HasMaxArmor)
                {
                    return;
                }
                this.GetArmor(character, 3);
                break;

            case (byte)GoodieSubType.ShieldBlue:
                if (character.wounds.HasMaxArmor)
                {
                    return;
                }
                this.GetArmor(character, 3);
                break;
            }

            base.Collect(room, character, gridX, gridY);
        }
コード例 #3
0
ファイル: TNT.cs プロジェクト: tarsupin/Nexus
 public override void ActivateItem(Character character)
 {
     this.Destroy();
     character.heldItem.ResetHeldItem();
     TNT.DetonateTNT(character);
 }