James
af03002495
make flash duration and ruleset private
2022-07-13 14:31:09 +01:00
James
0da1bd393c
privatise checkCorrectAction, add abstract CheckValidNewAction function
2022-07-13 14:29:27 +01:00
Dean Herbert
be3187c3a4
Remove remnant nullable disables
2022-07-13 22:05:56 +09:00
Dean Herbert
33dd9562cc
Privatise some fields
2022-07-13 22:04:57 +09:00
Dean Herbert
5e6b9b96b0
Apply NRT to new InputBlockingMod
class
2022-07-13 22:02:46 +09:00
tsunyoku
6755a771b4
make Cinema incompatible with InputBlockingMod
2022-07-13 07:49:08 +01:00
tsunyoku
e9b0a3e4fa
make alternate and singletap incompatible with eachother
2022-07-13 07:35:53 +01:00
James
20d2b86193
make Single Tap incompatible with Autoplay, Cinema and Relax
2022-07-12 23:18:20 +01:00
James
c05263c3c3
add Single Tap mod
2022-07-12 23:15:18 +01:00
James
f90f93a43c
abstract OsuModAlternate into InputBlockingMod
2022-07-12 23:15:18 +01:00
Gabe Livengood
b96734e31a
fix mod incompatibility between repel and relax
2022-07-12 08:43:48 -04:00
Dean Herbert
fa626a82b3
Add missed incompatilibity rules
2022-07-12 15:19:06 +09:00
Gabe Livengood
28278e2554
enable NRT again
2022-07-11 17:27:25 -04:00
Gabe Livengood
54fe84350c
reciprocate mod incompatibility
2022-07-11 17:23:32 -04:00
Gabe Livengood
6443338251
use cursor position instead of destination for dampLength calculation
...
the destination vector is clamped within playfield borders, we want dampLength to be based on distance from the cursor.
2022-07-10 01:22:22 -04:00
Gabe Livengood
62beae4063
add nullable directive
2022-07-06 17:18:21 -04:00
Gabe Livengood
b3f23d93e8
Merge branch 'master' into osu-mod-repel
2022-07-06 17:05:09 -04:00
Gabe Livengood
d5b4d14670
modify damp length to effectively invert repulsion strength
2022-07-06 17:01:14 -04:00
Gabe Livengood
40e98f84f3
change default strength back to 0.5
2022-07-06 16:01:08 -04:00
Gabe Livengood
0281bf672c
operate on vectors instead of vector components
2022-07-06 15:58:25 -04:00
Dean Herbert
a17e18103f
Improve description
2022-07-01 18:19:31 +09:00
Dean Herbert
8cda55e224
Merge pull request #18795 from smoogipoo/full-size-follow-circle
...
Track the full size of the follow circle at all times
2022-06-28 19:20:34 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dan Balasescu
ede5ca31a1
Always track final follow circle size
2022-06-21 18:10:11 +09:00
Dan Balasescu
e0c82d11ab
Convert == usages to ReferenceEquals
2022-06-20 16:56:19 +09:00
Pasi4K5
3356742ba2
Adjust angle offset caluclations
2022-06-20 00:05:03 +02:00
Pasi4K5
1bb27cd488
Code optimisation
2022-06-19 23:03:41 +02:00
Pasi4K5
7317b9b909
Remove unused field
2022-06-19 14:59:28 +02:00
Pasi4K5
c6ac60c0b5
Enhance target angle calculation
2022-06-19 13:07:10 +02:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Gabe Livengood
2fe34f188f
shamelessly copy osumodmagnetised
2022-06-09 18:52:10 -04:00
Gabe Livengood
569c39942a
replace easement with easing
2022-06-09 18:26:18 -04:00
Gabe Livengood
4e01db03bb
don't specify icon
2022-06-09 18:25:04 -04:00
Gabe Livengood
6e883a69d9
revert slider radius parameter addition
2022-06-09 18:07:37 -04:00
Gabe Livengood
f54a68f6ca
scale down repulsion strength
2022-06-08 01:00:47 -04:00
Gabe Livengood
f21c9fb520
add newline
2022-06-07 12:05:53 -04:00
Gabe Livengood
b7bdad4074
clamp sliders, expose slider bounds function
2022-06-07 09:36:44 -04:00
Gabe Livengood
5d838628d7
add test, fix formatting, expose easing function
2022-05-27 23:15:19 -04:00
Henry Lin
e205aeff38
Merge branch 'master' into random-mod-slider-rotation
2022-05-26 22:51:34 +08:00
Gabe Livengood
10287e0150
initial implementation
2022-05-26 00:08:00 -04:00
Dean Herbert
2e21d75b10
Move metronome into own class and rename to avoid conflict with mod sounds
2022-05-20 17:30:04 +09:00
Dan Balasescu
b71274265f
Merge pull request #15665 from MBmasher/fl-opacity
...
Consider opacity of hit objects in Flashlight skill
2022-05-12 19:00:21 +09:00
Dan Balasescu
4463a26f4e
Refactor opacity computation algorithm
2022-05-12 18:31:10 +09:00
Bartłomiej Dach
8b4e4b48d1
Merge branch 'master' into sliderticks
2022-05-05 14:38:09 +02:00
Bartłomiej Dach
2039d3db6a
Use standard slider ticks in strict tracking mod
2022-05-05 14:37:57 +02:00
Bartłomiej Dach
79ecf5dd5d
Merge branch 'master' into strict-tracking-description
2022-05-05 08:41:27 +02:00
Dean Herbert
cbc58c67bf
Remove weird strict tracking icon and reword description to explain what the mod does
2022-05-05 15:16:01 +09:00
Supersonicboss1
81b4622620
fixed autoplay not showing compat, + relax compat
2022-05-04 22:25:34 +01:00
apollo-dw
81ce0e6565
Reimplement sliderticks
2022-05-04 12:55:22 +01:00
Bartłomiej Dach
bba7722837
Merge branch 'master' into improve-alternate-after-break
2022-05-02 10:52:48 +02:00
Salman Ahmed
a4ca8bfe75
Improve "Alternate" to reset before first hitobject after break
2022-04-29 06:41:21 +03:00
Pasi4K5
e31fdc28dd
Make Classic and Target compatible again
2022-04-28 22:31:48 +02:00
Pasi4K5
d5702e2955
Append incompatible mods to base.IncompatibleMods
2022-04-28 18:29:37 +02:00
Pasi4K5
d6395b14be
Add incompatibilities
2022-04-28 05:15:04 +02:00
Salman Ahmed
fb6a112708
Mark OsuModTarget
and OsuModSuddenDeath
as mutually exclusive
...
`OsuModTarget` already fails on miss, so "Sudden Death" doesn't make
sense to be enabled and may only cause issues.
2022-04-26 23:27:03 +03:00
Bartłomiej Dach
e99d0f9fae
Make all OsuModObjectScaleTween
implementations incompatible with each other
2022-04-07 22:38:47 +02:00
Bartłomiej Dach
5e02ba353b
Make OsuMod{Blinds,Flashlight}
incompatible
2022-04-07 22:38:46 +02:00
Dean Herbert
de625125d6
Rename magnetised mod attraction strength property to match new naming
2022-04-01 13:03:48 +09:00
Henry Lin
ee65677884
Use height of playfield instead of width when randomizing the first object
...
This is the change discussed in #17194 . The effect of this change is barely noticeable, but it makes more sense to generate the object within playfield from the start.
2022-04-01 11:57:45 +08:00
Dean Herbert
a987cda30d
Rename "Aim Assist" to "Magnetised" to better suit the mod's behaviour
...
As proposed in https://github.com/ppy/osu/discussions/17375 .
2022-04-01 12:15:52 +09:00
Dan Balasescu
ff4745be59
Merge branch 'master' into extract-random-mod-logic-2
2022-03-31 13:42:47 +09:00
Dean Herbert
0cac935939
Shorten class name of ModCreatedReplayUser
2022-03-31 11:34:23 +09:00
Dean Herbert
4b2c01a8c1
Bring all mod implementations up-to-date
2022-03-29 16:59:03 +09:00
Dean Herbert
d2d88015e3
Update all cinema/autoplay mods to specify the system user ID
2022-03-28 22:22:56 +09:00
Henry Lin
e44db4e726
Revert unintentional behavior change of random mod
...
Actually, using OsuPlayfield.BASE_SIZE.Y makes a touch more sense since it is the short side of the playfield, but I guess it is better to preserve replays than to introduce pointless breaking changes.
2022-03-25 15:13:25 +08:00
Dan Balasescu
cd5907f8da
Merge branch 'master' into extract-random-mod-logic-2
2022-03-25 14:25:43 +09:00
Dan Balasescu
36772ec652
Merge pull request #17356 from apollo-dw/strict-tracking
...
Implement "Strict Tracking" mod in osu!
2022-03-22 07:32:36 +09:00
apollo-dw
d3742a91a8
Nest specific object classes within the mod
2022-03-20 15:56:41 +00:00
apollo-dw
52d6f083dc
Only miss slider tail on untrack
2022-03-19 23:42:12 +00:00
apollo-dw
149cfd338d
Use new mod-related object types for Strict Tracking
2022-03-19 18:29:44 +00:00
Noah M
78869c462a
Use .Concat()
instead of chained Append
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-18 14:24:36 -05:00
Noah M
b4a8defe1a
Make Relax and Aim assist mods incompatible
2022-03-18 14:12:36 -05:00
Henry Lin
3a71d81775
Convert the position modifier to stateless methods
2022-03-10 11:53:03 +08:00
Henry Lin
e8dbed738e
Move OsuHitObjectPositionModifier
to Utils/
2022-03-09 21:52:15 +08:00
Henry Lin
8e12a067df
Remove an unused property
2022-03-09 21:04:35 +08:00
Henry Lin
6a507ca11b
Rename identifiers to remove references to random mod
2022-03-09 20:52:11 +08:00
Henry Lin
37328f8d24
Extract hit object positioning logic to a separate class
...
It is intentional to not rename the identifiers at this point to produce a cleaner diff.
2022-03-09 20:36:31 +08:00
Dan Balasescu
353b251d38
Attempt to merge conditional expression
...
Hoping to fix CI error, caused by older R# version.
2022-03-09 17:46:42 +09:00
Dean Herbert
75c6a676b4
Apply nullable
to OsuModRandom
rather than using jetbrains annotations
2022-03-09 16:58:36 +09:00
Henry Lin
e3cf2c6acd
Merge getAbsoluteAngle
into computeRandomisedPosition
2022-03-09 13:27:33 +08:00
Henry Lin
3ced5e7904
Rename Distance
to DistanceFromPrevious
2022-03-09 13:09:33 +08:00
apollo-dw
e2001148d5
Implement strict tracking mod
2022-03-08 21:47:54 +00:00
Henry Lin
ae1c65c38d
Add xmldoc
2022-03-08 12:07:10 +08:00
Henry Lin
8cfeffc085
Extract a major part of ApplyToBeatmap
to a new method
2022-03-08 11:50:30 +08:00
Henry Lin
ded84cab3f
Separate randomisation and object positioning logic
2022-03-08 11:45:16 +08:00
Dean Herbert
692ddd5f52
Merge branch 'master' into issues/16839-spun-out-rate
2022-02-22 14:04:45 +09:00
Kaleb
df9535d195
Update RPM calculation for readability
...
Multiply the 1.01 factor to the resulting RPM, not to the duration.
2022-02-13 14:28:40 -05:00
Kaleb
585bd541f3
Add missing parentheses to RPM calculation
2022-02-13 02:38:49 -05:00
Kaleb
f1535b74be
Give Spun Out mod dynamic spin rate
2022-02-13 02:16:06 -05:00
PercyDan
639d813d06
Don't override previous value
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-02-12 11:15:03 +08:00
PercyDan54
053f41d755
Simplify code
2022-02-12 10:06:43 +08:00
PercyDan54
2ed3d58531
Ignore short spinners for relax mod
2022-02-12 09:28:50 +08:00
mk-56
dd8fc710fa
removed wiggle duration
2022-02-04 15:48:46 +01:00
Dean Herbert
2731d8e3c2
Merge pull request #16701 from LeNitrous/mod-alternate-osu
...
Add "Alternate" mod for osu! ruleset
2022-02-03 10:41:23 +09:00
Dean Herbert
be9df2ca11
Merge pull request #5774 from MaxOhn/aimassist-mod
...
Add "Aim Assist" mod
2022-02-03 10:40:43 +09:00
Bartłomiej Dach
82f9ad63f5
Fix flashlight size multiplier printing with too many decimal digits
2022-02-02 20:41:25 +01:00
Bartłomiej Dach
7463744407
Fix osu! autoplay-like mods not declaring incompatibility with AimAssist
2022-02-02 19:17:33 +01:00
Dean Herbert
6e41a6e704
Tidy up code into a presentable state
2022-02-02 16:27:16 +09:00
Dean Herbert
2e46404fe5
Remove spinner support for now
2022-02-02 16:26:00 +09:00
Dean Herbert
f07502ac5f
Use simple damp easing rather than transforms
2022-02-02 16:15:06 +09:00
Dean Herbert
334ed2c9c4
Fix sliders moving before they are actually hit
2022-02-02 15:36:09 +09:00
Dean Herbert
6b31e7e9db
Merge branch 'master' into aimassist-mod
2022-02-02 15:18:48 +09:00
Dean Herbert
e7d72f1823
Revert recent changes
2022-02-02 15:18:44 +09:00
Dean Herbert
a2affefb0a
Avoid checking gameplay clock time in Update
method
2022-02-02 14:33:17 +09:00
Dean Herbert
c7a192cc5f
Only handle LeftButton
and RightButton
actions
...
There are definitely going to be other actions used in the future, which
would immediately cause this mod to fail. Limiting handling to
left/right buttons only is the correct way forward.
2022-02-02 14:04:12 +09:00
Dean Herbert
fed63abd83
Sanitise interceptor logic to now require two separate check paths
2022-02-02 14:02:48 +09:00
Dean Herbert
0036d0e26d
Move alternate mod to "conversion" category
2022-02-02 13:58:13 +09:00
Bartłomiej Dach
9227211a44
Privatise shouldAlternate
2022-01-31 22:56:27 +01:00
Nitrous
40f43344f1
remove unused using
2022-01-29 23:31:26 +08:00
Nitrous
535216a0d3
rename CanIntercept
to ShouldAlternate
2022-01-29 23:20:31 +08:00
Nitrous
24f9ef4005
make xmldoc more verbose
2022-01-29 22:31:04 +08:00
Nitrous
98d8b26a9c
move ModAlternate
to OsuModAlternate
and check if intro has ended
2022-01-29 21:49:40 +08:00
Nitrous
2326c36836
remove unused method and fix description
2022-01-29 21:09:36 +08:00
Nitrous
aa582fb0e1
add Alternate Mod
2022-01-29 20:38:12 +08:00
mk-56
35be0f24d0
fixed leading "0"s not being present infront of decimal floats
2022-01-27 00:10:15 +01:00
MK56
c17ff49427
Merge branch 'ppy:master' into Wiggle-strength-duration
2022-01-25 19:57:14 +01:00
Bartłomiej Dach
a227af75ed
Simplify flashlight parameter passing flow
2022-01-24 21:03:02 +01:00
Bartłomiej Dach
5874475dff
Extract DefaultFlashlightSize
to base flashlight class
2022-01-24 21:03:02 +01:00
Bartłomiej Dach
a7c0d507ce
Rename flashlight settings to be more accurate
2022-01-24 21:03:02 +01:00
mk-56
836cb1ee32
Suggested boundary change
2022-01-24 12:16:29 +01:00
mk-56
948867898c
ModeMultiplier rename
2022-01-24 11:38:52 +01:00
mk-56
a427e20090
Fixes
2022-01-24 10:38:11 +01:00
mk-56
e3ba7d9ba5
Wiggle mod expansion
...
Free dlc!
2022-01-24 10:24:40 +01:00
mk-56
161a2a321e
Remove bindable from ModeMultiplier
2022-01-24 09:07:07 +01:00
mk-56
ed84ae0ac0
Adjust values to Bdach's refined taste
2022-01-24 00:42:43 +01:00
mk-56
955bab926f
Separate the settings for each modes radiuses
2022-01-22 19:38:56 +01:00
mk-56
bd308ca38c
Cleanup
2022-01-17 15:15:25 +01:00
mk-56
ee4331dda4
Merge remote-tracking branch 'origin/Liswiera-FL-changes' into Liswiera-FL-changes
2022-01-15 21:44:03 +01:00
mk-56
2a59735525
Initial commit
2022-01-15 21:43:28 +01:00
MaxOhn
b3230868cc
use playfield clock
2022-01-06 16:31:30 +01:00
MaxOhn
197ada1a8c
naive 10hz update
2022-01-06 16:04:38 +01:00
MaxOhn
b9d2a10530
adjustable assist strength + dont update spinner & running slider
2022-01-06 16:00:49 +01:00
MaxOhn
04d060aba3
update general playfield only once
2022-01-06 10:38:30 +01:00
MaxOhn
5a62760fe4
hold spinners & minor adjustments
2022-01-05 13:05:22 +01:00
MaxOhn
27a8bfa496
handle spinners and follow points
2022-01-04 22:17:50 +01:00
MaxOhn
612f69782b
use Playfield.HitObjectContainer.AliveObjects
2022-01-04 14:29:44 +01:00
MaxOhn
168a105ed8
merged upstream
2022-01-04 09:34:02 +01:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
Bartłomiej Dach
5001412a0d
Reorder easing mapping to match enum order and throw on unknown animation style
2021-11-28 15:19:12 +01:00
Bartłomiej Dach
aba9ed624a
Remove unnecessary whitespace
2021-11-28 15:16:33 +01:00
mk-56
1ae41118cd
Added gravity as a default.
2021-11-27 22:59:09 +01:00
mk-56
0df97744ad
Moved linear to a better place.
...
i decided to go with leaving it under gravity, its plenty visible and fine there, since the public enum list self orders I wasn't sure about how i could set a default that wasn't the topmost option
2021-11-27 13:34:09 +01:00
MK-56
5e56122d65
Linear approach type moved per peppys request
2021-11-26 09:48:38 +01:00
MK56
5e0763ae33
Expand the functionality of Approach different
2021-11-25 10:24:00 +01:00
ekrctb
116b857cea
Merge branch 'master' into no-scope-catch
2021-11-10 20:50:31 +09:00
Bartłomiej Dach
6d04823b05
Remove unnecessary virtual
specs
2021-11-10 12:00:36 +01:00
Semyon Rozhkov
41f4f0ab5e
Different setting slider description in each mod
2021-11-10 03:57:22 +03:00
Semyon Rozhkov
64bc8da14c
Add "No Scope" mod implementation for Catch
2021-11-09 17:11:19 +03:00
Dean Herbert
0ecf5f201c
Rename User
to APIUser
and move to correct namespace
2021-11-07 11:26:01 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00