c la patinoir

This commit is contained in:
Hurlu 2020-04-04 17:23:08 +02:00
parent a89bb98b26
commit d4a20cf14a
3 changed files with 38 additions and 14 deletions

View File

@ -2,19 +2,11 @@ extends Node
export var Duration = 7.5
func shuffleList(list):
var shuffledList = []
var indexList = range(list.size())
for i in range(list.size()):
var x = randi() % indexList.size()
shuffledList.append(list[indexList[x]])
indexList.remove(x)
return shuffledList
func ConfusionRoutine(player, delta):
var elapsed = 0
var inputs = player.baseInputs
player.inputs = shuffleList(inputs)
inputs.shuffle()
player.inputs = inputs
while elapsed < Duration:
elapsed += yield()
player.inputs = player.baseInputs

View File

@ -15,8 +15,8 @@ func DwarfRoutine(player, delta):
var elapsed = delta
var fast_speed = player.MAX_SPEED * FastFactor
var slow_speed = player.MAX_SPEED
var fast_acc = player.ACCELERATION * (FastFactor / 2)
var slow_acc = player.ACCELERATION
var fast_friction = player.FRICTION * (FastFactor / 2)
var slow_friction = player.FRICTION
var small_scale = player.transform.get_scale() / GrowDownFactor
var big_scale = player.transform.get_scale()
var sprite = player.get_node("Sprite")
@ -24,7 +24,7 @@ func DwarfRoutine(player, delta):
while elapsed < GrowDownTime:
player.MAX_SPEED = lerp(slow_speed, fast_speed, elapsed / GrowDownTime)
player.ACCELERATION = lerp(slow_acc, fast_acc, elapsed / GrowDownTime)
player.FRICTION = lerp(slow_friction, fast_friction, elapsed / GrowDownTime)
setScale(sprite, coll, lerp(big_scale, small_scale, elapsed / GrowDownTime))
elapsed += yield()
@ -35,7 +35,7 @@ func DwarfRoutine(player, delta):
while elapsed < GrowBigTime:
player.MAX_SPEED = lerp(fast_speed, slow_speed, elapsed / GrowBigTime)
player.ACCELERATION = lerp(fast_acc, slow_acc, elapsed / GrowBigTime)
player.FRICTION = lerp(fast_friction, slow_friction, elapsed / GrowBigTime)
setScale(sprite, coll, lerp(small_scale, big_scale, elapsed / GrowBigTime))
elapsed += yield()

View File

@ -0,0 +1,32 @@
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
var originalFriction = player.FRICTION
var originalSpeed = player.MAX_SPEED
player.FRICTION /= FrictionFactor
player.MAX_SPEED *= SpeedFactor
var sprite = player.get_node("Sprite")
var coll = player.get_node("CollisionShape2D")
while elapsed < SlipperyTime:
elapsed += yield()
player.FRICTION = originalFriction
player.MAX_SPEED = originalSpeed
func StartEffect(player):
var rout = SlipperyRoutine(player, 0)
return rout