feat: Introduce core game systems for special tile effects, power-up management, player movement, and initial UI screens.

This commit is contained in:
Yogi Wiguna
2026-03-09 17:49:50 +08:00
parent 0fb1397d11
commit aaf246d873
9 changed files with 54 additions and 17 deletions
+9 -1
View File
@@ -2241,6 +2241,10 @@ var is_knock_mode: bool = false # Yellow mode for knocking Tekton
func enter_attack_mode():
if not is_multiplayer_authority(): return
if is_invisible:
NotificationManager.send_message(self , "Cannot enter Attack Mode while in Ghost mode!", NotificationManager.MessageType.WARNING)
return
is_attack_mode = true
is_knock_mode = false # Mutually exclusive
NotificationManager.send_message(self , "Attack Mode ACTIVATED (Red)", NotificationManager.MessageType.POWERUP)
@@ -2249,6 +2253,10 @@ func enter_attack_mode():
func enter_knock_mode():
if not is_multiplayer_authority(): return
if is_invisible:
NotificationManager.send_message(self , "Cannot enter Knock Mode while in Ghost mode!", NotificationManager.MessageType.WARNING)
return
is_knock_mode = true
is_attack_mode = false # Mutually exclusive
NotificationManager.send_message(self , "Knock Mode ACTIVATED (Yellow)", NotificationManager.MessageType.POWERUP)
@@ -2289,7 +2297,7 @@ func sync_bump(target_pos: Vector2i, is_soft: bool = false):
tween.tween_property(self, "global_position", original_pos, duration).set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_IN)
func knock_tekton():
if not is_multiplayer_authority() or is_frozen or is_stop_frozen:
if not is_multiplayer_authority() or is_frozen or is_stop_frozen or is_invisible:
return
# Requirement: Full Powerup Bar (or we are already in knock mode)