Functions - Omegafredo/worst-time-simulator GitHub Wiki

Attacks

If there is a * at the end of a function's name, then it can't be used in Bad Time Simulator

Generalities

BlackScreen

Show or remove black screen. Also removes projectiles from the screen

  • BooleanEnabled

ScreenFlip*

Flips the screen in a direction (Left, Right and Up). "None" for normal. "Custom" for a direction thats in an angle.

  • Direction
  • Custom direction if Custom was selected

Sound

Play any of the sounds (e.g. "Flash")

  • SoundName

Music

Play music

  • MusicName

HeartMode

Changes the behavior of the heart. 0 is for red, 1 is for blue.

  • Mode

HeartTeleport

Instantly moves the heart to a given position

  • X
  • Y

HeartMaxFallSpeed

Sets the max fall speed. Useful for varying speeds of the slam attack

  • MaxSpeed

TLPause

Pause the timeline

  • NO ARGUMENTS

TLResume

Resume the timeline. Useful when "scheduled" by some other action (like CombatZoneResize)

  • NO ARGUMENTS

EndAttack

Ends the attack allowing the game to continue This must be called, or the attack will never end

  • NO ARGUMENTS

GetHeartPos

Stores the soul position in two variables

  • XHeartVariableName
  • YHeartVariableName

GetHPCount*

Stores the health in two variables

  • HPVariableName
  • KRVariableName

HPChange*

Sets the HP and KR values

  • Health
  • Karma

MaxHP*

Sets the MaxHP to a specified value

  • MaxHP

Warning*

Creates a warning for a set amount of time

  • XPosition
  • YPosition
  • Scale
  • Duration
  • Color

Attack Functions

BoneH

Creates a horizontal bone

  • XPosition
  • YPosition
  • Width
  • Direction
  • Speed
  • Color
  • NameID*

BoneV

Creates a vertical bone

  • XPosition
  • YPosition
  • Height
  • Direction
  • Speed
  • Color
  • NameID*

VisibleBoneH*

Creates a horizontal bone that is visible outside of the combat zone

  • XPosition
  • YPosition
  • Width
  • Direction
  • Speed
  • Color

VisibleBoneV*

Creates a vertical bone that is visible outside of the combat zone

  • XPosition
  • YPosition
  • Height
  • Direction
  • Speed
  • Color

BoneA*

Creates a bone that can be shot in any direction

  • XPosition
  • YPosition
  • Angle
  • Delay (wait time before it fires) set this to -1 to fire instantly.
  • Speed
  • Color
  • NameID

BoneHRepeat

Creates many horizontal bones

  • StartX
  • StartY
  • Width
  • Direction
  • Speed
  • Count
  • Spacing
  • Color*

BoneVRepeat

Creates many vertical bones

  • StartX
  • StartY
  • Height
  • Direction
  • Speed
  • Count
  • Spacing
  • Color*

VisibleBoneHRepeat

Creates many horizontal bones that are visible outside of the combat zone

  • StartX
  • StartY
  • Width
  • Direction
  • Speed
  • Count
  • Spacing
  • Color*

VisibleBoneVRepeat

Creates many vertical bones that are visible outside of the combat zone

  • StartX
  • StartY
  • Height
  • Direction
  • Speed
  • Count
  • Spacing
  • Color*

SineBones

Created out of laziness, probably shouldn't use.

Creates a series of bones that leaves a sine-wave gap in between them.

  • Count
  • Spacing
  • Speed
  • Height

BoneStab

Wall of bones pops out of the side of the combat zone

  • Direction
  • Distance
  • WarnTime
  • StayTime
  • Color*

GasterBlaster

Creates a Gaster Blaster, moves it into position, and fires

  • Size
  • StartX
  • StartY
  • EndX
  • EndY
  • EndAngle
  • SpinTime
  • BlastTime
  • Color*
  • NameID*

Platform

Creates a platform. BooleanReverse make it change direction

  • X
  • Y
  • Width
  • Direction
  • Speed
  • BooleanReverse
  • Color*
  • NameID*

PlatformRepeat

Creates many platforms

  • StartX
  • StartY
  • Width
  • Direction
  • Speed
  • Count
  • Spacing
  • Color*

SansSlam

Slams the heart againist the combat zone

  • Direction

SansSlamDamage

Enables/disables slam damage

  • BooleanEnabled

ModifyAttack*

Modifies an attack to behave differently

  • BoneV/BoneH/BoneA:

    • NameID
    • Direction
    • Speed
    • Color
    • NewNameID
  • Platform:

    • NameID
    • Direction
    • Speed
    • Color
    • BooleanReverse
    • NewNameID

Example: 0,ModifyAttack,BoneA,Test,90,5,1,Test2

GetAttack*

Sets variables to the values of a specific attack

  • BoneA/BoneH/BoneV:

    • NameID
    • X Coordinate
    • Y Coordinate
    • Direction
    • Speed
    • Color
  • Gaster Blaster:

    • NameID
    • X Coordinate
    • Y Coordinate
    • Angle
    • Color
  • Platform:

    • NameID
    • X Coordinate
    • Y Coordinate
    • Direction
    • Color
    • ReverseBoolean

Example: 0,GetAttack,BoneA,Test,BoneX,BoneY,Direction,Speed,Color

Sans behaviors

SansAnimation

Perform one of the multi-sprite animations (Idle, HeadBob, Tired)

  • AnimationName

SansBody

Show one of the full body animations (HandUp, HandDown, HandLeft, HandRight)

  • AnimationName

SansTorso

Show one of the torso animations (Default, Shrug, HandRight, GoneMad*)

  • AnimationName

Sans Head

Show one of the head animations (Default, LookLeft, Wink, ClosedEyes, NoEyes, BlueEye, Tired1, Tired2, GoneMad*, GoneMadOrangeEye*, NoCare*, Shock*)

  • AnimationName

SansSweat

How much sweat Sans should show (0 - 3)

  • SweatLevel

SansX

Move Sans to a horizontal position

  • XPosition

SansRepeat

Make Sans scroll across the screen

  • NO ARGUMENTS

SansEndRepeat

Stop Sans from scrolling

  • NO ARGUMENTS

SansText

Sans speech bubble. RECOMMENDATION: Only show short text

  • Text

Dodge*

Make sans dodge in a direction

  • XPosition to dodge to
  • Speed

Combat zone behaviors

CombatZoneSpeed

Sets speed of combat zone resize

  • Speed

CombatZoneResize

Resizes the combat zone to the new bounds, and executes FinishAction, when it is done Generally¸ FinishAction is TLResume by default

  • LeftPosition
  • TopPosition
  • RightPosition
  • BottomPosition
  • FinishAction

CombatZoneResizeInstant

Instantly resize the combat zone

  • LeftPosition
  • TopPosition
  • RightPosition
  • BottomPosition