summary refs log tree commit diff stats
path: root/res/scripts/common.lua
diff options
context:
space:
mode:
Diffstat (limited to 'res/scripts/common.lua')
-rw-r--r--res/scripts/common.lua42
1 files changed, 41 insertions, 1 deletions
diff --git a/res/scripts/common.lua b/res/scripts/common.lua index d0ea6b5..f984667 100644 --- a/res/scripts/common.lua +++ b/res/scripts/common.lua
@@ -34,7 +34,8 @@ SpriteLayer = {
34BehaviourType = { 34BehaviourType = {
35 NONE = 0, 35 NONE = 0,
36 WANDER = 1, 36 WANDER = 1,
37 PATH = 2 37 PATH = 2,
38 FOLLOW = 3
38} 39}
39 40
40CutsceneOptions = { 41CutsceneOptions = {
@@ -440,6 +441,13 @@ function WaitForSpritePath(spriteName)
440 end 441 end
441end 442end
442 443
444--- Sets a sprite to wander.
445function StartWandering(spriteName)
446 local spriteId = getSpriteByAlias(spriteName)
447 local sprite = getSprite(spriteId)
448 sprite.behaviourType = BehaviourType.WANDER
449end
450
443--- Turns off the sprite's behaviour. 451--- Turns off the sprite's behaviour.
444function DisableBehaviour(spriteName) 452function DisableBehaviour(spriteName)
445 local spriteId = getSpriteByAlias(spriteName) 453 local spriteId = getSpriteByAlias(spriteName)
@@ -447,6 +455,23 @@ function DisableBehaviour(spriteName)
447 sprite.behaviourType = BehaviourType.NONE 455 sprite.behaviourType = BehaviourType.NONE
448end 456end
449 457
458--- Directs a sprite to start following a target sprite.
459function FollowSprite(spriteName, targetName)
460 local spriteId = getSpriteByAlias(spriteName)
461 local targetId = getSpriteByAlias(targetName)
462 local sprite = getSprite(spriteId)
463 sprite.followSpriteId = targetId
464 sprite.behaviourType = BehaviourType.FOLLOW
465end
466
467--- Makes a sprite stop following whatever sprite it was following.
468function StopFollowingSprite(spriteName)
469 local spriteId = getSpriteByAlias(spriteName)
470 local sprite = getSprite(spriteId)
471 sprite.followSpriteId = -1
472 sprite.behaviourType = BehaviourType.NONE
473end
474
450--- Fades out the currently playing music. 475--- Fades out the currently playing music.
451-- This does not block. If you want it to block, call Delay for the same amount 476-- This does not block. If you want it to block, call Delay for the same amount
452-- of time. 477-- of time.
@@ -479,6 +504,21 @@ function EnablePlayerControl()
479end 504end
480 505
481--- Makes the specified sprite face toward the †arget sprite. 506--- Makes the specified sprite face toward the †arget sprite.
507-- This version of the function uses any of the eight directions.
508-- @param spriteName the name of the sprite to change the direction of
509-- @param targetName the name of the sprite to face toward
510function FaceTowardSprite(spriteName, targetName)
511 local spriteId = getSpriteByAlias(spriteName)
512 local targetId = getSpriteByAlias(targetName)
513 local sprite = getSprite(spriteId)
514 local target = getSprite(targetId)
515 local diff = vec2i.new(target.loc:x() - sprite.loc:x(), target.loc:y() - sprite.loc:y())
516 local dir = directionFacingPoint(diff)
517
518 SetDirection(spriteName, dir)
519end
520
521--- Makes the specified sprite face toward the †arget sprite.
482-- This version of the function uses the closest cardinal direction. 522-- This version of the function uses the closest cardinal direction.
483-- @param spriteName the name of the sprite to change the direction of 523-- @param spriteName the name of the sprite to change the direction of
484-- @param targetName the name of the sprite to face toward 524-- @param targetName the name of the sprite to face toward