34 lines
932 B
GDScript
34 lines
932 B
GDScript
extends Node
|
|
|
|
#The time, in seconds, it should take for the character to grow up
|
|
export var SlipperyTime = 7.5
|
|
|
|
#How much less friction should the player have
|
|
export var FrictionFactor = 20
|
|
export var SpeedFactor = 3
|
|
|
|
func SlipperyRoutine(player, delta):
|
|
var elapsed = delta
|
|
player.get_node("ConfusionStars").visible = true
|
|
var tex = load("res://Assets/Patain.png")
|
|
player.get_node("ConfusionStars/Path2D/PathFollow2D/Sprite").texture = tex
|
|
player.get_node("ConfusionStars/Path2D/PathFollow2D2/Sprite").texture = tex
|
|
var originalFriction = player.FRICTION
|
|
var originalSpeed = player.MAX_SPEED
|
|
|
|
player.FRICTION /= FrictionFactor
|
|
player.MAX_SPEED *= SpeedFactor
|
|
|
|
while elapsed < SlipperyTime:
|
|
elapsed += yield()
|
|
|
|
player.get_node("ConfusionStars").visible = false
|
|
player.FRICTION = originalFriction
|
|
player.MAX_SPEED = originalSpeed
|
|
|
|
|
|
func StartEffect(player):
|
|
var rout = SlipperyRoutine(player, 0)
|
|
return rout
|
|
|