<commit_before>﻿// Copyright (c) 2007-2018 ppy Pty Ltd <<EMAIL>>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE

using System;
using System.Collections.Generic;
using osu.Framework.Graphics;
using osu.Game.Graphics;
using osu.Game.Rulesets.Mods;
using osu.Game.Rulesets.Objects.Drawables;
using osu.Game.Rulesets.Osu.Objects;
using OpenTK;

namespace osu.Game.Rulesets.Osu.Mods
{
    internal class OsuModWiggle : Mod, IApplicableToDrawableHitObjects
    {
        public override string Name => "Wiggle";
        public override string ShortenedName => "WG";
        public override FontAwesome Icon => FontAwesome.fa_arrows_alt;
        public override ModType Type => ModType.Fun;
        public override string Description => "They just won't stay still...";
        public override double ScoreMultiplier => 1;

        private const int wiggle_delay = 90; // (ms) Higher = fewer wiggles
        private const int wiggle_strength = 10; // Higher = stronger wiggles

        public void ApplyToDrawableHitObjects(IEnumerable<DrawableHitObject> drawables)
        {
            foreach (var drawable in drawables)
                drawable.ApplyCustomUpdateState += drawableOnApplyCustomUpdateState;
        }

        private void drawableOnApplyCustomUpdateState(DrawableHitObject drawable, ArmedState state)
        {
            var hitObject = (OsuHitObject)drawable.HitObject;
            Vector2 origPos = drawable.Position;

            Random distRand = new Random(hitObject.ComboOffset);
            Random angleRand = new Random(hitObject.IndexInCurrentCombo);<commit_msg>Use a slightly more suiting icon<commit_after>﻿// Copyright (c) 2007-2018 ppy Pty Ltd <<EMAIL>>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE

using System;
using System.Collections.Generic;
using osu.Framework.Graphics;
using osu.Game.Graphics;
using osu.Game.Rulesets.Mods;
using osu.Game.Rulesets.Objects.Drawables;
using osu.Game.Rulesets.Osu.Objects;
using OpenTK;

namespace osu.Game.Rulesets.Osu.Mods
{
    internal class OsuModWiggle : Mod, IApplicableToDrawableHitObjects
    {
        public override string Name => "Wiggle";
        public override string ShortenedName => "WG";
        public override FontAwesome Icon => FontAwesome.fa_certificate;
        public override ModType Type => ModType.Fun;
        public override string Description => "They just won't stay still...";
        public override double ScoreMultiplier => 1;

        private const int wiggle_delay = 90; // (ms) Higher = fewer wiggles
        private const int wiggle_strength = 10; // Higher = stronger wiggles

        public void ApplyToDrawableHitObjects(IEnumerable<DrawableHitObject> drawables)
        {
            foreach (var drawable in drawables)
                drawable.ApplyCustomUpdateState += drawableOnApplyCustomUpdateState;
        }

        private void drawableOnApplyCustomUpdateState(DrawableHitObject drawable, ArmedState state)
        {
            var hitObject = (OsuHitObject)drawable.HitObject;
            Vector2 origPos = drawable.Position;

            Random distRand = new Random(hitObject.ComboOffset);
            Random angleRand = new Random(hitObject.IndexInCurrentCombo);
{'fraction_non_alphanumeric': 0.08221680876979294, 'fraction_numerical': 0.008526187576126675, 'mean_word_length': 3.2115384615384617, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 21, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7577946', 'n_tokens_mistral': 953, 'n_tokens_neox': 903, 'n_words': 242}