This commit is contained in:
Yogi Wiguna
2026-03-17 17:38:30 +08:00
parent 1b8e411657
commit efdd8f4969
32 changed files with 320 additions and 22 deletions
@@ -262,6 +262,7 @@ func _execute_faster_speed():
if player.movement_manager:
player.movement_manager.set_speed_multiplier(1.5) # 50% faster
active_buffs[SpecialEffect.FASTER_SPEED] = FASTER_DURATION
SfxManager.rpc("play_rpc", "speed")
NotificationManager.send_message(player, "Speed Boost! (5s)", NotificationManager.MessageType.POWERUP)
func _execute_area_freeze(target_pos: Vector2i = Vector2i.ZERO):
@@ -317,6 +318,8 @@ func _execute_area_freeze(target_pos: Vector2i = Vector2i.ZERO):
NotificationManager.send_message(p, "Caught in Freeze Zone!", NotificationManager.MessageType.WARNING)
if p != player: # Don't score for freezing self (unless desired?) - Assuming enemies
hit_count += 1
SfxManager.rpc("play_rpc", "freeze")
if hit_count > 0 and player.is_multiplayer_authority():
var is_sng = LobbyManager.is_game_mode(GameMode.Mode.STOP_N_GO)
@@ -418,6 +421,7 @@ func _execute_block_floor(target_pos: Vector2i = Vector2i.ZERO):
main.rpc("sync_grid_items_batch", batch_data)
# Notify
SfxManager.rpc("play_rpc", "wall")
NotificationManager.send_message(player, "Defensive Wall Deployed!", NotificationManager.MessageType.POWERUP)
func _execute_invisible_mode(target: Node3D):
@@ -428,6 +432,7 @@ func _execute_invisible_mode(target: Node3D):
if target.has_method("sync_modulate"):
target.rpc("sync_modulate", Color(1.0, 1.0, 1.0, 0.4)) # 40% Opacity
SfxManager.rpc("play_rpc", "ghost")
NotificationManager.send_message(target, "Invisible Mode!", NotificationManager.MessageType.POWERUP)
@@ -438,6 +443,7 @@ func _execute_invisible_mode(target: Node3D):
func spawn_powerups_around(center: Vector2i, force_powerups: bool = true, only_common: bool = false, full_density: bool = false):
# "spawn / replace your nearby tiles into power up ( special tiles )"
# New PowerUp Tiles are 11, 12, 13, 14
SfxManager.rpc("play_rpc", "generate_tile")
var radius = 2
for x in range(-radius, radius + 1):
for y in range(-radius, radius + 1):