1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 11:42:56 +08:00
Commit Graph

928 Commits

Author SHA1 Message Date
Mk-56spn
a0c493656f Remove Incompatibility with Approach Circle requiring mods 2022-09-16 15:27:36 +02:00
Mk-56spn
6db8f51c02 Improve Tests
Fix divisor in test


Add Copyright header
2022-09-16 13:45:18 +02:00
Mk-56spn
5a9b027ebc Use Enum for Settings 2022-09-16 02:57:21 +02:00
Mk-56spn
eb84c513e3 Add ability to adjust to BPM changes
fix first hitcircle being off time


Bpm changes not working fix
2022-09-16 02:14:14 +02:00
Mk-56spn
d2ac25870b Merge remote-tracking branch 'origin/Freeze_frame_implementation' into Freeze_frame_implementation 2022-09-10 14:08:38 +02:00
Mk-56spn
23d435bc42 name changes 2022-09-10 14:08:04 +02:00
MK56
33a435e2ef
Merge branch 'ppy:master' into Freeze_frame_implementation 2022-09-10 00:54:46 +02:00
Dean Herbert
a2f96ea120 Make random implicitly null to avoid potential incorrect behaviour in randomBool 2022-09-09 17:55:54 +09:00
Dean Herbert
5defb8b471
Merge branch 'master' into enhance-randomisation 2022-09-09 17:53:13 +09:00
Mk-56spn
e416c87970 readded approach circles 2022-09-08 15:17:22 +02:00
Mk-56spn
4a6c8785af Clean up 2022-09-08 11:14:56 +02:00
Mk-56spn
7f08de522d Fixed 2022-09-08 01:21:03 +02:00
MK56
e250885204
Merge branch 'ppy:master' into Freeze_frame_implementation 2022-09-08 00:10:44 +02:00
Mk-56spn
5a1b2f9a77 Freeze frame testing 2022-09-08 00:05:48 +02:00
Dean Herbert
b5b66de3c9 Fix target mod crashing if beatmap is played with a break after all hitobjects
Closes https://github.com/ppy/osu/issues/20161.
2022-09-07 17:46:51 +09:00
Dean Herbert
6af8143c8c Fix typing of new setting to allow it to be visible to tools export 2022-08-31 22:34:07 +09:00
Dean Herbert
780121eeee Add setting to toggle metronome in "Target" mod
As mentioned in https://github.com/ppy/osu/discussions/20006#discussioncomment-3496732.
2022-08-29 17:12:10 +09:00
o-dasher
4de6df71c5 No "gameplayClock" usage with playfield update mods 2022-08-24 20:59:32 -04:00
MK56
91742859f1
Merge branch 'ppy:master' into blink_implementation 2022-08-19 16:55:27 +02:00
Mk-56spn
7add3a6950 ar var test 2022-08-18 19:00:54 +02:00
Nao
c940f5abcb
Merge branch 'master' into ruleset-localization 2022-08-14 15:17:44 -04:00
Pasi4K5
5106c00a9c Improve code quality 2022-08-14 19:02:29 +02:00
Pasi4K5
7a41b9f25a Adjust angle and sectionOffset calculations 2022-08-13 03:11:58 +02:00
Pasi4K5
8c624d3269 Add comments and improve code readability 2022-08-13 00:57:49 +02:00
Pasi4K5
78fe72476d Adjust parameters 2022-08-13 00:01:40 +02:00
Dean Herbert
e5e9841652 Apply multiple other mod debuffs as decided in pull request discussion 2022-08-12 18:58:09 +09:00
naoei
3e38baca3c Change ruleset mod description types 2022-08-10 16:09:11 -04:00
Pascal Pomper
f98ee3ff24
Merge branch 'ppy:master' into enhance-randomisation 2022-08-10 12:22:39 +02:00
Dean Herbert
a5fac70c3b Rename variable to not include mode name itself 2022-08-01 23:30:00 +09:00
Dean Herbert
d09976bb39 Merge branch 'master' into Wiggle-strength-duration 2022-08-01 23:29:03 +09:00
Dan Balasescu
415d6def2d Remove unnecessary AsNonNull() 2022-08-01 13:22:58 +09:00
andy840119
632577389d Mark the property as non-nullable. 2022-07-31 21:43:16 +08:00
Salman Ahmed
72961ec336 Flip method parameters to make sense
See 537f64c75e (r931785228)
2022-07-28 08:04:55 +03:00
andy840119
537f64c75e Make original hit objects and random properties as local variable. 2022-07-27 22:15:41 +08:00
Salman Ahmed
89644a652e Separate combined fields 2022-07-27 10:13:44 +03:00
Pasi4K5
da7d297d85 Adjust parameters 2022-07-26 19:07:25 +02:00
andy840119
0fe64d1e80 Remove unused namespace. 2022-07-27 01:05:50 +08:00
為什麼
9134525111 Mark the property as nullable and add some assert check. 2022-07-26 23:58:50 +08:00
為什麼
deb39bd330 Mark the property as nullable or non-nullable. 2022-07-26 23:52:08 +08:00
為什麼
e28584da89 Remove nullable disable annotation in the Osu ruleset. 2022-07-26 23:25:28 +08:00
Salman Ahmed
f68c4e8890 Fix code formatting 2022-07-25 06:36:26 +03:00
mk-56
16e655766e Addressed pertinent issues 2022-07-23 23:30:57 +02:00
MK56
2a3d3a0660
Merge branch 'ppy:master' into Wiggle-strength-duration 2022-07-23 22:58:21 +02:00
Salman Ahmed
4210ec6502 Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings 2022-07-19 19:21:26 +03:00
Salman Ahmed
32ba58109b Remove score multiplier on difficulty-increasing mods with customised settings 2022-07-18 07:29:03 +03:00
Salman Ahmed
0ac3391d54
Merge branch 'master' into cinema-repel-incompatible 2022-07-18 06:55:43 +03:00
tsunyoku
83429d2f22 make cinema incompatible with repel 2022-07-17 20:45:17 +01:00
tsunyoku
491558261f remove unnecessary type-specification 2022-07-17 20:44:06 +01:00
tsunyoku
e13c1254e5 make perfect incompatible with autopilot 2022-07-17 20:41:43 +01:00
Dean Herbert
b93b6ba2ca Change "single tap" mod acronym to not conflict with "strict tracking" 2022-07-16 17:19:55 +09:00
Dean Herbert
e2f2d5f794 Rename last action to better represent that it is only captured actions 2022-07-14 01:40:44 +09:00
James
4d9494d3b3 change LastPressedAction to have a private setter 2022-07-13 14:42:45 +01:00
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