@@ -612,7 +612,7 @@ class APPlayState extends PlayState {
612612
613613 applyEffect (ttl , onEnd , playSound , playSoundVol , noIcon );
614614 },
615- ' flashbang ' => function () {
615+ ' strongflashbang ' => function () {
616616 var noIcon : Bool = true ;
617617 var playSound : String = " bang" ;
618618 if (flashbangTimer != null && flashbangTimer .active )
@@ -622,9 +622,9 @@ class APPlayState extends PlayState {
622622 whiteScreen .cameras = [camOther ];
623623 add (whiteScreen );
624624 flashbangTimer .start (0.4 , function (timer ) {
625- camOther .flash (FlxColor .WHITE , 7 , null , true );
625+ camOther .flash (FlxColor .WHITE , 15 , null , true );
626626 remove (whiteScreen );
627- FlxG .sound .play (Paths .sound (' streamervschat/ringing ' ), 0.4 );
627+ FlxG .sound .play (Paths .sound (' streamervschat/ringingex ' ), 0.4 );
628628 });
629629 applyEffect (0 , null , playSound , 1 , noIcon );
630630 },
@@ -660,6 +660,14 @@ class APPlayState extends PlayState {
660660 addNoteSvCLegacy (0 , i , i );
661661 }
662662 },
663+ ' insanespam' => function () {
664+ var noIcon : Bool = true ;
665+ var startingPoint = FlxG .random .int (5 , 39 );
666+ var endingPoint = FlxG .random .int (startingPoint + 5 , startingPoint + 10 );
667+ for (i in startingPoint ... endingPoint ) {
668+ addNoteSvCLegacy (0 , i , i );
669+ }
670+ },
663671 ' sever' => function () {
664672 var ttl : Float = 6 ;
665673 var onEnd : (Void -> Void ) = function () {
@@ -702,6 +710,48 @@ class APPlayState extends PlayState {
702710
703711 applyEffect (ttl , onEnd , playSound , playSoundVol , noIcon , alwaysEnd );
704712 },
713+ ' permasever' => function () {
714+ var ttl : Float = 6 ;
715+ var playSound : String = " sever" ;
716+ var playSoundVol : Float = 1 ;
717+ var noIcon : Bool = false ;
718+ var alwaysEnd : Bool = false ;
719+ var onEnd : (Void -> Void ) = function () {
720+ trace (" Nah, I don't feel like giving it back" );
721+ };
722+
723+ var chooseFrom : Array <Int > = [];
724+ for (i in 0 ... severInputs .length ) {
725+ if (! severInputs [i ])
726+ chooseFrom .push (i );
727+ }
728+ if (chooseFrom .length <= 0 )
729+ picked = FlxG .random .int (0 , 3 );
730+ else
731+ picked = chooseFrom [FlxG .random .int (0 , chooseFrom .length - 1 )];
732+ playerField .strumNotes [picked ].alpha = 0 ;
733+ severInputs [picked ] = true ;
734+
735+ var okayden : Array <Int > = [];
736+ for (i in 0 ... 64 ) {
737+ okayden .push (i );
738+ }
739+ var baseY = ClientPrefs .data .downScroll ? (FlxG .height - 150 ) : 50 ;
740+ var explosion = new FlxSprite ().loadGraphic (Paths .image (" streamervschat/explosion" ), true , 256 , 256 );
741+ explosion .animation .add (" boom" , okayden , 60 , false );
742+ explosion .animation .finishCallback = function (name ) {
743+ explosion .visible = false ;
744+ remove (explosion );
745+ explosion .kill ();
746+ };
747+ explosion .cameras = [camHUD ];
748+ explosion .x = (playerField .strumNotes [picked ].x - playerField .baseXPositions [picked ]) + playerField .strumNotes [picked ].width / 2 - explosion .width / 2 ;
749+ explosion .y = (playerField .strumNotes [picked ].y - baseY ) + playerField .strumNotes [picked ].height / 2 - explosion .height / 2 ;
750+ explosion .animation .play (" boom" , true );
751+ add (explosion );
752+
753+ applyEffect (ttl , onEnd , playSound , playSoundVol , noIcon , alwaysEnd );
754+ },
705755 ' shake' => function () {
706756 var noIcon : Bool = false ;
707757 var playSound : String = " shake" ;
@@ -725,6 +775,22 @@ class APPlayState extends PlayState {
725775
726776 applyEffect (ttl , onEnd , playSound , playSoundVol , noIcon );
727777 },
778+ ' poisonbutworse' => function () {
779+ var ttl : Float = 5 ;
780+ var onEnd : (Void -> Void ) = function () {
781+ trace (" Nah, you're still poisoned" );
782+ };
783+ var playSound : String = " poison" ;
784+ var playSoundVol : Float = 0.6 ;
785+ var noIcon : Bool = false ;
786+
787+ dmgMultiplier = 0.3 ;
788+
789+ drainHealth = true ;
790+ boyfriend .color = 0xf003fc ;
791+
792+ applyEffect (ttl , onEnd , playSound , playSoundVol , noIcon );
793+ },
728794 ' dizzy' => function () {
729795 var ttl : Float = 8 ;
730796 var onEnd : (Void -> Void ) = function () {
@@ -881,6 +947,23 @@ class APPlayState extends PlayState {
881947 addNoteSvCLegacy (4 , nextPoint , nextPoint , - 1 );
882948 addNoteSvCLegacy (4 , lastPoint , lastPoint , - 1 );
883949 },
950+ ' icebutmoreagressive' => function () {
951+ var noIcon : Bool = true ;
952+ var lastPoint : Int = 0 ;
953+ var exList : Array <Int > = [];
954+ for (note in 0 ... 10 ) {
955+ var startPoint : Int = FlxG .random .int (5 , 39 , exList );
956+ if (lastPoint == 0 ) {
957+ addNoteSvCLegacy (4 , startPoint , startPoint , - 1 );
958+ lastPoint = startPoint ;
959+ exList .push (startPoint );
960+ }
961+ else {
962+ addNoteSvCLegacy (4 , lastPoint + 2 , startPoint + 6 , - 1 );
963+ lastPoint = 0 ;
964+ }
965+ }
966+ },
884967 ' randomize' => function () {
885968 var ttl : Float = 10 ;
886969 var availableS : String = " " ;
@@ -1755,7 +1838,7 @@ class APPlayState extends PlayState {
17551838 field .clearStackedNotes ();
17561839 }
17571840
1758- var isFrozen : Bool = false ;
1841+ public var isFrozen : Bool = false ;
17591842 var doRandomize : Bool = false ;
17601843 override public function update (elapsed : Float )
17611844 {
@@ -1983,9 +2066,13 @@ class APPlayState extends PlayState {
19832066 });
19842067 trace (" Ghost Chat Re-activated!" );
19852068 }
2069+
2070+ if (bfAscend ) boyfriendGroup .y + = 0.001 ;
2071+
19862072 super .update (elapsed );
19872073 }
19882074
2075+ public var bfAscend : Bool = false ;
19892076 var alreadySent : Bool = false ;
19902077 override function doDeathCheck (? skipHealthCheck : Bool = false ): Bool
19912078 {
0 commit comments