c la patinoir
This commit is contained in:
parent
a89bb98b26
commit
d4a20cf14a
@ -2,19 +2,11 @@ extends Node
|
|||||||
|
|
||||||
export var Duration = 7.5
|
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):
|
func ConfusionRoutine(player, delta):
|
||||||
var elapsed = 0
|
var elapsed = 0
|
||||||
var inputs = player.baseInputs
|
var inputs = player.baseInputs
|
||||||
player.inputs = shuffleList(inputs)
|
inputs.shuffle()
|
||||||
|
player.inputs = inputs
|
||||||
while elapsed < Duration:
|
while elapsed < Duration:
|
||||||
elapsed += yield()
|
elapsed += yield()
|
||||||
player.inputs = player.baseInputs
|
player.inputs = player.baseInputs
|
||||||
|
@ -15,8 +15,8 @@ func DwarfRoutine(player, delta):
|
|||||||
var elapsed = delta
|
var elapsed = delta
|
||||||
var fast_speed = player.MAX_SPEED * FastFactor
|
var fast_speed = player.MAX_SPEED * FastFactor
|
||||||
var slow_speed = player.MAX_SPEED
|
var slow_speed = player.MAX_SPEED
|
||||||
var fast_acc = player.ACCELERATION * (FastFactor / 2)
|
var fast_friction = player.FRICTION * (FastFactor / 2)
|
||||||
var slow_acc = player.ACCELERATION
|
var slow_friction = player.FRICTION
|
||||||
var small_scale = player.transform.get_scale() / GrowDownFactor
|
var small_scale = player.transform.get_scale() / GrowDownFactor
|
||||||
var big_scale = player.transform.get_scale()
|
var big_scale = player.transform.get_scale()
|
||||||
var sprite = player.get_node("Sprite")
|
var sprite = player.get_node("Sprite")
|
||||||
@ -24,7 +24,7 @@ func DwarfRoutine(player, delta):
|
|||||||
|
|
||||||
while elapsed < GrowDownTime:
|
while elapsed < GrowDownTime:
|
||||||
player.MAX_SPEED = lerp(slow_speed, fast_speed, 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))
|
setScale(sprite, coll, lerp(big_scale, small_scale, elapsed / GrowDownTime))
|
||||||
elapsed += yield()
|
elapsed += yield()
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ func DwarfRoutine(player, delta):
|
|||||||
|
|
||||||
while elapsed < GrowBigTime:
|
while elapsed < GrowBigTime:
|
||||||
player.MAX_SPEED = lerp(fast_speed, slow_speed, 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))
|
setScale(sprite, coll, lerp(small_scale, big_scale, elapsed / GrowBigTime))
|
||||||
elapsed += yield()
|
elapsed += yield()
|
||||||
|
|
||||||
|
32
Scripts/PaintEffects/Slippery.gd
Normal file
32
Scripts/PaintEffects/Slippery.gd
Normal 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
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user