1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-17 08:42:56 +08:00
osu-lazer/osu.Game.Modes.Mania/ManiaMod.cs

157 lines
4.6 KiB
C#

// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using System;
using osu.Game.Graphics;
namespace osu.Game.Modes.Mania
{
public class ManiaModNoFail : ModNoFail
{
}
public class ManiaModEasy : ModEasy
{
}
public class ManiaModHidden : ModHidden
{
public override string Description => @"The notes fade out before you hit them!";
public override double ScoreMultiplier => 1.0;
public override Type[] IncompatibleMods => new[] { typeof(ModFlashlight) };
}
public class ManiaModHardRock : ModHardRock
{
public override double ScoreMultiplier => 1.0;
public override bool Ranked => false;
}
public class ManiaModSuddenDeath : ModSuddenDeath
{
}
public class ManiaModDoubleTime : ModDoubleTime
{
public override double ScoreMultiplier => 1.0;
}
public class ManiaModHalfTime : ModHalfTime
{
public override double ScoreMultiplier => 0.3;
}
public class ManiaModNightcore : ModNightcore
{
public override double ScoreMultiplier => 1.0;
}
public class ManiaModFlashlight : ModFlashlight
{
public override double ScoreMultiplier => 1.0;
public override Type[] IncompatibleMods => new[] { typeof(ModHidden) };
}
public class ManiaModPerfect : ModPerfect
{
}
public class ManiaModFadeIn : Mod
{
public override Mods Name => Mods.FadeIn;
public override FontAwesome Icon => FontAwesome.fa_osu_mod_hidden;
public override string Description => @"";
public override double ScoreMultiplier => 1;
public override bool Ranked => true;
public override Type[] IncompatibleMods => new[] { typeof(ModFlashlight) };
}
public class ManiaModRandom : Mod
{
public override Mods Name => Mods.Random;
public override FontAwesome Icon => FontAwesome.fa_close;
public override string Description => @"Shuffle around the notes!";
public override double ScoreMultiplier => 1;
public override bool Ranked => false;
public override Type[] IncompatibleMods => new Type[] { };
}
public abstract class ManiaKeyMod : Mod
{
public abstract int KeyCount { get; }
public override FontAwesome Icon => FontAwesome.fa_close; // TODO: Add proper key icons
public override string Description => @"";
public override double ScoreMultiplier => 1; // TODO: Implement the mania key mod score multiplier
public override bool Ranked => true;
public override Type[] IncompatibleMods => new Type[] { };
}
public class ManiaModKey1 : ManiaKeyMod
{
public override int KeyCount => 1;
public override Mods Name => Mods.Key1;
}
public class ManiaModKey2 : ManiaKeyMod
{
public override int KeyCount => 2;
public override Mods Name => Mods.Key2;
}
public class ManiaModKey3 : ManiaKeyMod
{
public override int KeyCount => 3;
public override Mods Name => Mods.Key3;
}
public class ManiaModKey4 : ManiaKeyMod
{
public override int KeyCount => 4;
public override Mods Name => Mods.Key4;
}
public class ManiaModKey5 : ManiaKeyMod
{
public override int KeyCount => 5;
public override Mods Name => Mods.Key5;
}
public class ManiaModKey6 : ManiaKeyMod
{
public override int KeyCount => 6;
public override Mods Name => Mods.Key6;
}
public class ManiaModKey7 : ManiaKeyMod
{
public override int KeyCount => 7;
public override Mods Name => Mods.Key7;
}
public class ManiaModKey8 : ManiaKeyMod
{
public override int KeyCount => 8;
public override Mods Name => Mods.Key8;
}
public class ManiaModKey9 : ManiaKeyMod
{
public override int KeyCount => 9;
public override Mods Name => Mods.Key9;
}
public class ManiaModKeyCoop : Mod
{
public override Mods Name => Mods.KeyCoop;
public override FontAwesome Icon => FontAwesome.fa_close;
public override string Description => @"Double the key amount, double the fun!";
public override double ScoreMultiplier => 1;
public override bool Ranked => true;
public override Type[] IncompatibleMods => new Type[] { };
}
}