@@ -134,9 +134,9 @@ class APItem {
134134 return allItems .getItems ().copy ();
135135 }
136136
137- public static function popup (desc : String ): Void {
137+ public static function popup (desc : String , ? title : String , ? isWhite : Bool = false ): Void {
138138 if (! APGameState .haventranyet ) {
139- archipelago. ArchPopup .startPopupCustom (" AP Item!" , desc , " archColor" , function () {
139+ archipelago. ArchPopup .startPopupCustom (title != null ? title : " AP Item!" , desc , isWhite ? " archWhite " : " archColor" , function () {
140140 FlxG .sound .playMusic (Paths .sound (' secret' ));});
141141 }
142142 }
@@ -148,7 +148,7 @@ class APItem {
148148 // Check if shields are available
149149 if (shields > 0 ) {
150150 shields -- ;
151- ArchPopup . startPopupCustom ( " Death Avoided! " , ' Shields left: $shields ' , " archWhite " );
151+ popup ( ' Shields left: $shields ' , " Death Avoided! " , true );
152152 return ; // Do nothing else if shields are consumed
153153 }
154154
@@ -177,31 +177,39 @@ class APItem {
177177 case " Fake Transition" :
178178 return new APItem (name , ConditionHelper . Special (), function () TransitionState .fakeTransition ({transitionType :" transparent close" }), true , false );
179179 case " Ticket" :
180- return new APItem (name , ConditionHelper . Everywhere (), function () {popup (" You got a ticket!" );
180+ return new APItem (name , ConditionHelper . Everywhere (), function () {
181+ popup (" One step closer..." , " You got a ticket!" );
181182 archipelago. APInfo .ticketCount ++ ;
182183 }, true , true );
183184 case " SvC Effect" :
184- return new APItem (name , ConditionHelper . PlayState (), function () APPlayState .instance .doEffect (APPlayState .instance .effectArray [APPlayState .instance .curEffect ]), true , false );
185+ return new APItem (name , ConditionHelper . PlayState (), function () {
186+ popup (' Effect: ${APPlayState .instance .effectArray [APPlayState .instance .curEffect ]}' , " APItem: SvC Effect" , true );
187+ APPlayState .instance .doEffect (APPlayState .instance .effectArray [APPlayState .instance .curEffect ]);
188+ }, true , false );
185189 case " Ghost Chat" :
186- return new APItem (name , ConditionHelper . PlayState (), function () APPlayState .instance .triggerGhostChat (), true , false );
190+ return new APItem (name , ConditionHelper . PlayState (), function () {
191+ popup (' May the chat be merciful on you...' , " APItem: Ghost Chat" , true );
192+ APPlayState .instance .triggerGhostChat ();
193+ }, true , false );
187194 case " Shield" :
188195 return new APItem (name , ConditionHelper . Everywhere (), function () {
189196 shields ++ ;
190197 trace (" Shield acquired! Current shields: " + shields );
191- popup (" You got a shield!" );
198+ popup (' Shields Left: $ shields ' , " You got a shield!" );
192199 }, true , true );
193200 case " Max HP Up" :
194201 return new APItem (name , ConditionHelper . Everywhere (), function () {
195202 maxHPUp ++ ;
196203 trace (" Max HP increased! Current max HP: " + maxHPUp );
197- popup (" You got a max HP up!" );
204+ popup (' Current Max HP: + $ maxHPUp ' , " You got a max HP up!" );
198205 }, true , true );
199206 case " Tutorial Trap" :
200207 return new APItem (name , ConditionHelper . PlayState (), function () {
201208 // Wait for PlayState's startedCountdown to become active
202209 haxe. Timer .delay (function checkCountdown () {
203210 var playState : archipelago. APPlayState = cast states. PlayState .instance ;
204211 if (playState != null && playState .startedCountdown ) {
212+ popup (' Go relearn the basics' , " APItem: Tutorial Trap" );
205213 APPlayState .instance .doEffect (' songSwitch' );
206214 } else {
207215 // Retry after a short delay if countdown hasn't started
@@ -212,7 +220,7 @@ class APItem {
212220 default :
213221 throw " Unknown item name: " + name ;
214222 }
215- }
223+ }
216224
217225 public function trigger (): Void {
218226 trace (' is Gonna Run Sync: ${APGameState .isSync }' );
0 commit comments