@@ -3453,12 +3453,12 @@ class PlayState extends MusicBeatState
34533453 opponentNoteHit (daNote );
34543454 }
34553455
3456- if (daNote .mustPress && cpuControlled ) {
3456+ if (! daNote .blockHit && daNote . mustPress && cpuControlled && daNote . canBeHit ) {
34573457 if (daNote .isSustainNote ) {
34583458 if (daNote .canBeHit ) {
34593459 goodNoteHit (daNote );
34603460 }
3461- } else if (daNote .strumTime <= Conductor .songPosition || ( daNote .isSustainNote && daNote . canBeHit && daNote . mustPress ) ) {
3461+ } else if (daNote .strumTime <= Conductor .songPosition || daNote .isSustainNote ) {
34623462 goodNoteHit (daNote );
34633463 }
34643464 }
@@ -4545,7 +4545,7 @@ class PlayState extends MusicBeatState
45454545 var sortedNotesList : Array <Note > = [];
45464546 notes .forEachAlive (function (daNote : Note )
45474547 {
4548- if (daNote .canBeHit && daNote .mustPress && ! daNote .tooLate && ! daNote .wasGoodHit && ! daNote .isSustainNote )
4548+ if (daNote .canBeHit && daNote .mustPress && ! daNote .tooLate && ! daNote .wasGoodHit && ! daNote .isSustainNote && ! daNote . blockHit )
45494549 {
45504550 if (daNote .noteData == key )
45514551 {
@@ -4688,7 +4688,7 @@ class PlayState extends MusicBeatState
46884688 {
46894689 // hold note functions
46904690 if (daNote .isSustainNote && controlHoldArray [daNote .noteData ] && daNote .canBeHit
4691- && daNote .mustPress && ! daNote .tooLate && ! daNote .wasGoodHit ) {
4691+ && daNote .mustPress && ! daNote .tooLate && ! daNote .wasGoodHit && ! daNote . blockHit ) {
46924692 goodNoteHit (daNote );
46934693 }
46944694 });
@@ -4904,7 +4904,7 @@ class PlayState extends MusicBeatState
49044904 if (note .isSustainNote && ! note .animation .curAnim .name .endsWith (' end' )) {
49054905 time + = 0.15 ;
49064906 }
4907- StrumPlayAnim (true , Std .int (Math .abs (note .noteData )) % 4 , time );
4907+ StrumPlayAnim (true , Std .int (Math .abs (note .noteData )), time );
49084908 note .hitByOpponent = true ;
49094909
49104910 callOnLuas (' opponentNoteHit' , [notes .members .indexOf (note ), Math .abs (note .noteData ), note .noteType , note .isSustainNote ]);
@@ -5022,15 +5022,13 @@ class PlayState extends MusicBeatState
50225022 if (note .isSustainNote && ! note .animation .curAnim .name .endsWith (' end' )) {
50235023 time + = 0.15 ;
50245024 }
5025- StrumPlayAnim (false , Std .int (Math .abs (note .noteData )) % 4 , time );
5025+ StrumPlayAnim (false , Std .int (Math .abs (note .noteData )), time );
50265026 } else {
5027- playerStrums .forEach (function (spr : StrumNote )
5027+ var spr = playerStrums .members [note .noteData ];
5028+ if (spr != null )
50285029 {
5029- if (Math .abs (note .noteData ) == spr. ID )
5030- {
5031- spr .playAnim (' confirm' , true );
5032- }
5033- });
5030+ spr .playAnim (' confirm' , true );
5031+ }
50345032 }
50355033 note .wasGoodHit = true ;
50365034 vocals .volume = 1 ;
@@ -5063,14 +5061,20 @@ class PlayState extends MusicBeatState
50635061 var skin : String = ' noteSplashes' ;
50645062 if (PlayState .SONG .splashSkin != null && PlayState .SONG .splashSkin .length > 0 ) skin = PlayState .SONG .splashSkin ;
50655063
5066- var hue : Float = ClientPrefs .arrowHSV [data % 4 ][0 ] / 360 ;
5067- var sat : Float = ClientPrefs .arrowHSV [data % 4 ][1 ] / 100 ;
5068- var brt : Float = ClientPrefs .arrowHSV [data % 4 ][2 ] / 100 ;
5069- if (note != null ) {
5070- skin = note .noteSplashTexture ;
5071- hue = note .noteSplashHue ;
5072- sat = note .noteSplashSat ;
5073- brt = note .noteSplashBrt ;
5064+ var hue : Float = 0 ;
5065+ var sat : Float = 0 ;
5066+ var brt : Float = 0 ;
5067+ if (data > - 1 && data < ClientPrefs .arrowHSV .length )
5068+ {
5069+ hue = ClientPrefs .arrowHSV [data ][0 ] / 360 ;
5070+ sat = ClientPrefs .arrowHSV [data ][1 ] / 100 ;
5071+ brt = ClientPrefs .arrowHSV [data ][2 ] / 100 ;
5072+ if (note != null ) {
5073+ skin = note .noteSplashTexture ;
5074+ hue = note .noteSplashHue ;
5075+ sat = note .noteSplashSat ;
5076+ brt = note .noteSplashBrt ;
5077+ }
50745078 }
50755079
50765080 var splash : NoteSplash = grpNoteSplashes .recycle (NoteSplash );
0 commit comments