1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-29 21:07:27 +08:00
Commit Graph

4579 Commits

Author SHA1 Message Date
Dean Herbert
a15ea71aed
Merge branch 'master' into fix-merge-crash 2022-08-31 13:28:57 +09:00
apollo-dw
ad650adab0 Fix speed note count sum 2022-08-30 18:03:44 +01:00
Dean Herbert
706ac3e44f
Merge pull request #19982 from OliBomby/fix-illegal-merge
Fixed 0 length merge being allowed
2022-08-30 12:28:18 +09:00
OliBomby
44916c51d7 Updated canMerge check to be totally accurate 2022-08-30 00:18:55 +02:00
Dean Herbert
2e5770be4e Move helper method to bottom of class 2022-08-30 02:51:42 +09:00
OliBomby
d50e9caa11 Moved guards to separate canMerge method 2022-08-29 18:58:29 +02:00
OliBomby
a296c1ec81 remove call to changeHandler BeginChange 2022-08-29 16:05:35 +02:00
Dan Balasescu
e34c8e4975
Merge pull request #19716 from MBmasher/fl-grid
Nerf repeated angles in Flashlight skill
2022-08-29 21:15:45 +09:00
Dan Balasescu
e3e204001e
Merge pull request #19907 from peppy/ruleset-api-versioning
Add ruleset API versioning
2022-08-29 18:50:01 +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
Dean Herbert
105aa01e7d Update usages of RemoveInternal 2022-08-29 15:57:40 +09:00
Dean Herbert
a215d009fe Update Remove/RemoveRange/RemoveAll calls in line with framework changes 2022-08-29 15:57:40 +09:00
Dean Herbert
90b9c02ac6 Remove "internal" identifier as unnecessary 2022-08-29 14:01:15 +09:00
OliBomby
ff2eac79d1 fix same time merge causing crash 2022-08-27 17:43:32 +02:00
OliBomby
16e0ec2f88 Fixed 0 length merge being allowed 2022-08-27 13:53:50 +02:00
MBmasher
b082dc1fe4 Slightly buff flashlight multiplier 2022-08-27 18:31:07 +10:00
Dean Herbert
69cbc0125b
Merge pull request #19964 from nanashi-1/merge-hitobject-hitsound-fix
Fix hitobjects merge feature in editor not adding any hitsounds
2022-08-26 20:05:02 +09:00
MBmasher
454d868dd5 Remove unnecessary using call 2022-08-26 20:42:02 +10:00
MBmasher
249c3f868f Compare raw angle values instead of rounding angles 2022-08-26 20:40:18 +10:00
MBmasher
5082ee26cf Ensure a negative value cannot be added to angleRepeatCount 2022-08-26 20:30:14 +10:00
MBmasher
08cb70b093 Lessen repeated angle nerf for objects further back in time 2022-08-26 20:27:31 +10:00
Dean Herbert
03dcfed384
Merge branch 'master' into slider-splitter 2022-08-26 19:10:33 +09:00
Dean Herbert
47cb163015 Refactor splitting logic and comments slightly 2022-08-26 19:09:03 +09:00
Dean Herbert
f54047d17b Move selection clearing to top 2022-08-26 18:55:20 +09:00
MBmasher
d8854413cb Add newline 2022-08-26 12:38:36 +10:00
MBmasher
6651e76e2e Remove whitespace 2022-08-26 12:37:56 +10:00
MBmasher
b0e7f63361 Update angle multiplier to nerf repeated angles 2022-08-26 12:34:33 +10:00
nanashi
4fc96f0389
Merge branch 'ppy:master' into merge-hitobject-hitsound-fix 2022-08-25 19:34:05 +08:00
nanashi-1
2d2bfac5e9 used firstHitObject.Samples as samples for mergedHitObject 2022-08-25 17:49:38 +08:00
Dean Herbert
3ca4bdc087 Add ToArray() calls to removal iteration for safety 2022-08-25 15:13:38 +09:00
Dean Herbert
091c51e664 Fix SliderPath.Version bindings not being correctly cleaned up on path changes 2022-08-25 15:00:32 +09:00
o-dasher
4de6df71c5 No "gameplayClock" usage with playfield update mods 2022-08-24 20:59:32 -04:00
Khang
9c6968e96d Remove unused import in Slider 2022-08-24 02:54:40 -04:00
OliBomby
631ea9a3ed added a gap between objects and made it theoretically possible to retain sample control point 2022-08-23 23:29:59 +02:00
OliBomby
1f9cdff013 remove these lines 2022-08-23 22:19:40 +02:00
Khang
ec9daec93b Remove unnecessary workaround 2022-08-23 14:18:40 -04:00
Khang
c1ced85b5e Move GenerateTicks to LegacyDifficultyControlPoint and remove support for NaN slider velocity support for other rulesets (at least for now) 2022-08-23 14:07:18 -04:00
Khang
a81672f3dc Use an infinite tick distance instead of directly disabling tick generation for SliderEventGenerator 2022-08-22 23:31:24 -04:00
Khang
9f08c474ca Treat NaN slider velocity timing points as 1.0x but without slider ticks 2022-08-22 21:58:38 -04:00
Dean Herbert
f5710d8000 Add ruleset API versioning 2022-08-22 16:35:08 +09:00
naoei
29ef1c8db8 Check if StatisticItem.Name is null or empty 2022-08-20 21:48:53 -04:00
Nao
189a407cb1
Merge branch 'master' into ruleset-localization 2022-08-20 21:39:10 -04:00
Dean Herbert
885ea4270b Reorder context menu items and tidy up surrounding code 2022-08-20 14:03:54 +09:00
Dean Herbert
36e202c70e Add inline comment explaining necessity to use AddRange for slider transform operations 2022-08-20 11:38:43 +09:00
OliBomby
65f7ecec83 moving all controlpoints at once for slider 2022-08-20 00:26:04 +02:00
OliBomby
d1519343f6 Improved visual tests for slider splitting 2022-08-19 18:29:01 +02:00
OliBomby
89eb0a4079 Added TestScene for slider splitting 2022-08-19 01:10:54 +02:00
OliBomby
cb6339a20b added slider splitting option 2022-08-18 01:29:03 +02:00
Dan Balasescu
237637f0c4
Merge pull request #19804 from stanriders/clamp-sb-estimation
Clamp effective miss count to maximum amount of possible breaks
2022-08-17 18:58:12 +09:00
Dean Herbert
615c5cf6ae
Merge branch 'master' into slider-merger 2022-08-17 13:36:15 +09:00
Dean Herbert
0ff5547b83 Make changeHandler optional in convertToStream method to match new implementation 2022-08-17 13:35:44 +09:00
StanR
43e471c2a5 Clamp effective miss count to maximum amount of possible braks 2022-08-16 16:12:13 +03:00
Dean Herbert
ee153a345c Add a few more overlooked beatmap save states on setup screen modifications 2022-08-16 16:31:56 +09:00
Dean Herbert
0833a6fb9a Avoid multiple iteration of LINQ query using a local 2022-08-16 15:39:23 +09:00
Dean Herbert
7cc9fdbaa0 Simplify context menu check by using existing mergeable object list 2022-08-16 15:39:23 +09:00
Dean Herbert
ecb9351bab Remove unnecessary null pre-checks 2022-08-16 15:36:43 +09:00
Dean Herbert
e636fcd9b8 Use DI'd components from parent class rather than fetching locally 2022-08-16 15:35:32 +09:00
OliBomby
3abc333813 added hotkey for merging selection 2022-08-15 17:18:55 +02:00
Dean Herbert
c8764cb333 Move all usage of GameplayClock to IGameplayClock 2022-08-15 18:30:53 +09:00
Nao
c940f5abcb
Merge branch 'master' into ruleset-localization 2022-08-14 15:17:44 -04:00
naoei
45e9eda9e7 Localise hit result name 2022-08-14 14:57:02 -04:00
naoei
18ce784ae0 Allow StatisticItem's name param to be nullable 2022-08-14 14:51:35 -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
MBmasher
21c5fed45f Adjust capitalisation 2022-08-12 14:09:16 +10:00
MBmasher
f70588a423 Add newline before brace 2022-08-12 14:08:32 +10:00
MBmasher
037f56077b Apply Flashlight grid nerf 2022-08-12 13:29:04 +10:00
OliBomby
3525dfb0f1 added merging feature 2022-08-12 01:17:33 +02:00
Dan Balasescu
61a3758cd9 Merge branch 'master' into pp-balancing 2022-08-11 19:46:16 +09:00
naoei
a42b8092af Change message type osu resume overlay 2022-08-10 16:09:58 -04:00
naoei
3e38baca3c Change ruleset mod description types 2022-08-10 16:09:11 -04:00
Dan Balasescu
7cac089246
Merge branch 'master' into fl-slider 2022-08-10 21:19:05 +09:00
Pascal Pomper
f98ee3ff24
Merge branch 'ppy:master' into enhance-randomisation 2022-08-10 12:22:39 +02:00
Dean Herbert
e1189da824 Merge branch 'master' into irenderer-glwrapper 2022-08-08 12:31:53 +09:00
Dan Balasescu
6afff72865 Fix CI inspections / refactor to single enumeration 2022-08-05 20:54:10 +09:00
Dan Balasescu
802dc90cb1 Adjust using directives for vertices 2022-08-05 20:37:33 +09:00
Dean Herbert
a682a823f4 Fix test failures where Beatmap is not provided 2022-08-05 18:20:37 +09:00
Dean Herbert
9a4d0494de Adjust various pooling defaults to better handle more intense beatmaps 2022-08-05 18:09:07 +09:00
Dean Herbert
8ae5429602 Adjust slider pooling based on beatmap
Handles edge cases like mentioned in https://github.com/ppy/osu/issues/19585.
2022-08-05 18:08:05 +09:00
Dan Balasescu
2c6c315e3a
Merge branch 'master' into pp-balancing 2022-08-04 15:40:46 +09:00
Dan Balasescu
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
Dan Balasescu
a2a913ab52 Merge branch 'irenderer-batches' into irenderer-textures 2022-08-02 19:25:08 +09: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
Dean Herbert
e0940c6c22 Update animations to final versions 2022-08-01 18:03:32 +09:00
Dean Herbert
0d9edcfa24
Merge branch 'master' into stable-slider-tick-anims 2022-08-01 17:40:16 +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
Dan Balasescu
09979d44aa Apply DrawNode batching changes 2022-07-29 23:32:09 +09:00
Dan Balasescu
155dac55d0 Apply DrawNode parameter changes 2022-07-29 22:33:34 +09: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
MBmasher
267d55a6a8 Remove osuSlider from statement 2022-07-23 14:48:39 +10:00
MBmasher
230943f698 Merge branch 'fl-slider' of https://github.com/mbmasher/osu into fl-slider 2022-07-23 14:40:54 +10:00
MBmasher
f44a5def90 Move repeat bonus to TravelDistance 2022-07-23 14:40:16 +10:00
Dan Balasescu
71912e10c4
Merge branch 'master' into fl-slider 2022-07-22 15:22:50 +09:00
Alden Wu
c2c2c505a4 Combine FollowCircle and TickFollowCircle classes 2022-07-21 19:46:46 -07:00
Dean Herbert
726042d9ec Use switch instead of or 2022-07-21 23:16:28 +09:00
Dean Herbert
aca19a005e Add versioning to difficulty calculators 2022-07-21 18:15:25 +09:00
Alden Wu
23fd514ca3 Use DrawableSliderTail instead of DrawableSlider 2022-07-20 18:07:02 -07:00
StanR
163c3f9c2d Adjust multipliers to account for speed changes 2022-07-20 16:10:34 +03:00
StanR
35e841de95 Move base performance multiplier to a const 2022-07-20 15:54:49 +03:00
StanR
9c9f32b435 Merge branch 'master' into pp-balancing 2022-07-20 15:40:29 +03:00
Salman Ahmed
6ce6f6f7df
Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings 2022-07-20 08:57:43 +03:00
Dan Balasescu
ec789c2f71
Merge pull request #19128 from peppy/default-follow-circle-improvements
Adjust default follow circle animations to feel nicer
2022-07-20 14:57:03 +09:00
Salman Ahmed
4210ec6502 Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings 2022-07-19 19:21:26 +03:00
Dean Herbert
06ae30a7d2 Fix slider velocity not using previous value if slider is not adjacent 2022-07-19 22:54:11 +09:00
Dan Balasescu
cfb2adfd27
Merge branch 'master' into velocitychanges 2022-07-19 19:57:47 +09:00
Alden Wu
5cb0920cfb Revert OnSliderTail() to OnSliderEnd()
In light of the comment added in the previous commit, slider tail
and end are not actually the same.
2022-07-19 02:27:04 -07:00
Alden Wu
e1f7db6e7d Fix around some comments 2022-07-19 02:25:14 -07:00
Alden Wu
d213f56f79 Align legacy followcircle anims to slider ticks 2022-07-19 02:08:53 -07:00
Dean Herbert
e346624b14 Fix animation changes incorrectly applying to successful completion of sliders 2022-07-19 15:51:02 +09:00
Dean Herbert
101d270615 Merge branch 'master' into default-follow-circle-improvements 2022-07-19 15:50:47 +09:00
Salman Ahmed
d8cce5fe36 Fix OsuHitObject not using property wrapper properly 2022-07-19 07:52:12 +03:00
Salman Ahmed
8f80a22ef9 Fix osu! and catch hitobjects no longer scaled to 1 by default 2022-07-19 07:00:13 +03:00
Salman Ahmed
1051009827 Change bindable properties in all HitObjects to be lazily initialised 2022-07-19 05:39:10 +03:00
StanR
633f6fe620 Increase global multiplier 2022-07-18 21:58:11 +03:00
MBmasher
42b9dc877d Divide slider bonus by repeat count 2022-07-18 16:14:06 +10:00
MBmasher
72c096f9af Update xmldoc 2022-07-18 15:59:20 +10:00
MBmasher
7c680afc3c Change initialisation of osuSlider 2022-07-18 15:59:00 +10:00
MBmasher
204fbde07b Remove debug code 2022-07-18 15:58:32 +10:00
MBmasher
8413c40442 Remove debug code 2022-07-18 15:58:09 +10: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
StanR
de38b54c10 Merge branch 'master' into pp-balancing 2022-07-17 20:53:05 +03:00
MBmasher
68caafa210 Update xmldoc 2022-07-17 17:02:30 +10:00
MBmasher
dae698638c Add repeat bonus to Flashlight, move repeat multiplier to AimEvaluator 2022-07-17 16:56:05 +10:00
MBmasher
a950deb7db Re-implement slider changes to FlashlightEvaluator 2022-07-17 16:27:55 +10:00
Jamieson Berida
a0dd6cbab3
Merge branch 'master' into fl-slider 2022-07-17 16:18:18 +10:00
Dean Herbert
b93b6ba2ca Change "single tap" mod acronym to not conflict with "strict tracking" 2022-07-16 17:19:55 +09:00
Salman Ahmed
887f2721b0
Merge branch 'master' into default-follow-circle-improvements 2022-07-15 18:39:57 +03:00
Dean Herbert
775c6c8374 Fix potential crash in editor from transform time going below zero 2022-07-15 19:29:37 +09:00
Dean Herbert
afec7941ff Adjust default follow circle animations to feel nicer 2022-07-15 17:28:42 +09:00
Dean Herbert
23a0e25c8c Merge branch 'master' into stable-slider-followcircle-anims 2022-07-15 17:27:48 +09:00
Dean Herbert
7ed4eb5815 Adjust transform logic to match osu-stable (and add TODOs for remaining oversights) 2022-07-15 17:17:55 +09:00
Dean Herbert
0ade8db550 Tidy up nullability and casting 2022-07-15 16:40:48 +09:00
Alden Wu
1581f1a0ff Convert constructor in abstract class to protected 2022-07-14 17:11:01 -07:00
Alden Wu
4453b0b3e8 Replace comment pointer with actual comment 2022-07-14 17:11:01 -07:00
Alden Wu
66932f1af6 Move shared followcircle code into abstract base class 2022-07-14 17:11:01 -07:00
StanR
760742e358 Move relax global multiplier to diffcalc 2022-07-14 00:42:50 +03:00
Dean Herbert
e2f2d5f794 Rename last action to better represent that it is only captured actions 2022-07-14 01:40:44 +09:00
Dean Herbert
0bc42ef67d
Merge branch 'master' into stable-slider-followcircle-anims 2022-07-14 00:24:33 +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
StanR
0983e4f81e Increase 50s nerf again 2022-07-12 17:57:00 +03:00
Gabe Livengood
b96734e31a
fix mod incompatibility between repel and relax 2022-07-12 08:43:48 -04:00
StanR
e58c365276 Merge branch 'master' into pp-balancing 2022-07-12 10:53:31 +03:00
Dan Balasescu
7ab75606a1
Merge branch 'master' into velocitychanges 2022-07-12 16:52:57 +09:00
StanR
58c687172b Reduce low AR bonus 2022-07-12 10:52:44 +03: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
Alden Wu
48911b956a Remove ClearTransformsAfter call
A bit weird only having one call on its own; probably deserves an
entire PR dedicated to adding ClearTransformsAfter calls
2022-07-10 17:07:21 -07: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
為什麼
1725a76fa0 Remove the nullable disable annotation for all rulesets. 2022-07-10 10:15:27 +08:00
為什麼
857377e145 Move CreateConvertibleReplayFrame() into legacy ruleset interface because technically only legacy ruleset use it to convert the legacy frame.
But seems some of the customized ruleset use it for save the replay frame.
2022-07-10 10:15:27 +08:00
Gabe Livengood
a606d545c1
update new usage of CalculatePossibleMovementBounds 2022-07-08 12:00:07 -04:00
Dean Herbert
36f129a9b6
Merge branch 'master' into osu-mod-repel 2022-07-09 00:26:49 +09:00
Dean Herbert
8071335f3a
Merge pull request #18596 from hlysine/fix-random-mod-slider
Fix random mod generating off-screen sliders
2022-07-08 19:28:34 +09:00
goodtrailer
84dcd042f4 Protect duration calculations against unstable fps 2022-07-07 20:30:31 -07: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
Salman Ahmed
7f94405c9e Rename method and make duration optional 2022-07-06 23:38:11 +03: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
goodtrailer
72fb1ae892 Add forgotten unsubscribes 2022-07-05 21:04:13 -07:00
goodtrailer
1e6def8209 Fix spinner accent animation on rewind 2022-07-04 22:58:41 -07:00
apollo-dw
5b96f67a8b Remove non-overlapping velocity buff 2022-07-04 20:49:26 +01:00
StanR
4f77637946 Update desmos 2022-07-04 21:52:57 +03:00
StanR
bf738aa04f Account for extreme ODs in relax multipliers 2022-07-04 21:49:45 +03:00
StanR
afa3f8cda3 Make relax ok/meh multipliers dependent on OD 2022-07-04 20:53:20 +03:00
StanR
11eb344476 Reduce 50s nerf further 2022-07-04 20:28:15 +03:00
StanR
db8bb07c78 Reduce 50s nerf effect 2022-07-04 20:10:26 +03:00
StanR
212360f67e Make relax ok/meh nerfs less drastic, add flashlight nerf, remove ar bonus for relax 2022-07-04 19:59:30 +03:00
StanR
45258b3f14 Buff aim slightly 2022-07-04 19:53:34 +03:00