# Expected vars: # ANIM_NS (str), e.g. "flier_", "" # RGRAPH_NS (str), e.g. "flierspider_", "" #$SET_BOOL ONLY_STICK_IF_NOT_SHIFT state $PREFIX ANIM_NS "hover": rgraph: $PREFIX RGRAPH_NS "flier" unsafe flying hitbox: ;; *\*/* ;; -(+)- ;; */*\* ############ # ROTATE B # ############ $IF SPIDER: if: key: wasdown b key: not isdown f $IF ONLY_STICK_IF_NOT_SHIFT: key: not isdown x coll: all yes ;; . - . ;; ;; ( ) then: move: 0 1 turn rot: 3 goto: "crawl" delay: 2 if: key: wasdown b key: not isdown f coll: all no ;; *\*/* ;; - + - ;; \* ;; ( ) then: rot: 1 move: 1 0 goto: $PREFIX ANIM_NS "fly" delay: 1 if: key: wasdown b key: not isdown f coll: all no ;; \*/* ;; ( ) + - ;; /*\* then: move: 1 0 rot: 1 goto: $PREFIX ANIM_NS "fly" delay: 1 if: key: wasdown b key: not isdown f then: rot: 1 goto: $PREFIX ANIM_NS "fly" delay: 1 ############ # ROTATE F # ############ $IF SPIDER: if: key: wasdown f key: not isdown b $IF ONLY_STICK_IF_NOT_SHIFT: key: not isdown x coll: all yes ;; ( ) ;; ;; . - . then: move: -1 -1 goto: "crawl" delay: 2 if: key: wasdown f key: not isdown b coll: all no ;; ( ) ;; /* ;; - + - ;; */*\* then: rot: -1 move: 1 0 goto: $PREFIX ANIM_NS "fly" delay: 1 if: key: wasdown f key: not isdown b coll: all no ;; \*/* ;; ( ) + - ;; /*\* then: move: 1 0 rot: -1 goto: $PREFIX ANIM_NS "fly" delay: 1 if: key: wasdown f key: not isdown b then: rot: -1 goto: $PREFIX ANIM_NS "fly" delay: 1 ############ # STRAIGHT # ############ $IF SPIDER: if: key: wasdown u $IF ONLY_STICK_IF_NOT_SHIFT: key: not isdown x coll: all yes ;; ( ) . ;; / coll: all no ;; \ ;; ( ) . then: move: 0 -1 rot: 1 goto: "crawl" delay: 2 if: key: wasdown u $IF ONLY_STICK_IF_NOT_SHIFT: key: not isdown x coll: all yes ;; \ ;; ( ) . coll: all no ;; ( ) . ;; / then: move: 1 1 rot: 2 turn goto: "crawl" delay: 2 if: key: wasdown u coll: all no ;; \*/* ;; ( ) + - ;; /*\* then: move: 1 0 goto: $PREFIX ANIM_NS "fly" delay: 0 state $PREFIX ANIM_NS "fly": rgraph: $PREFIX RGRAPH_NS "flier_fly" unsafe flying hitbox: ;; *\*/* ;; -(+)- ;; */*\* # DOESN'T WORK BECAUSE NO WAY TO KNOW WHETHER WE SHOULD TURN OR NOT: #$IF SPIDER: # if: # coll: water any yes # ;; . . # ;; *\*/* # ;; . -(+)- . # ;; */*\* # ;; . . # then: # move: -1 -1 # goto: "swim_jump" # delay: 4 if: then: goto: $PREFIX ANIM_NS "hover"