Map( bgm: AudioFile( volume: 100, name: "", pitch: 100, ), events: { 38: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("You can setup composite BGM and fogs"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("For fogs, see: /Graphics/Fogs/_composite.comp"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("For BGM, see: /Audio/BGM/_example.stem"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Also see the `sound test` map for composite BGM "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("controls"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "!labels", pattern: 3, tile_id: 0, direction: 8, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), ], name: "Composites", y: 0, x: 3, id: 38, ), 5: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Note that the things listed here aren't actually viable"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Technically you can have 16 states for a single event "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("if you treat self switches as bits"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("You can still only check for one per page though"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("You can setup map specific variables by creating "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("dummy events, and treating their facing direction as "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("a value between 0 and 3"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Treat them as counting in base 4 and the sky is the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("limit lmao"), ], ), EventCommand( indent: 0, code: 209, parameters: [ Integer(5), MoveRoute(MoveRoute( list: [ MoveCommand( code: 16, parameters: [ ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: false, )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 16, parameters: [ ], )), ], ), EventCommand( indent: 0, code: 111, parameters: [ Integer(6), Integer(5), Integer(2), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "!labels", pattern: 3, tile_id: 0, direction: 8, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), ], name: "Funny things", y: 0, x: 18, id: 5, ), 16: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("To get the party to move onto the leaders position "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("and wait for the action to complete, simply call lthe "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("following sequence of commands:"), ], ), EventCommand( indent: 0, code: 112, parameters: [], ), EventCommand( indent: 1, code: 111, parameters: [ Integer(12), String("$game_party.collapse()"), ], ), EventCommand( indent: 2, code: 113, parameters: [], ), EventCommand( indent: 2, code: 0, parameters: [], ), EventCommand( indent: 1, code: 412, parameters: [], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(1), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 413, parameters: [], ), EventCommand( indent: 0, code: 108, parameters: [ String("Since '$game_party.collapse()' only returns true "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("when the entire party is on the leaders position, so it "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("will break the loop once that happens"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 207, parameters: [ Integer(-1), Integer(9), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("That function messes with some follower variables, so "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("be sure to refresh the party formation if you're not "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("moving to a new map"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$game_party.reset_party_formation"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("In addition, if the leader is 'transparent', or their "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("graphic is 'none', then it will also hide followers as "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("soon as they step on the leaders position, like so:"), ], ), EventCommand( indent: 0, code: 209, parameters: [ Integer(-1), MoveRoute(MoveRoute( list: [ MoveCommand( code: 2, parameters: [ ], ), MoveCommand( code: 1, parameters: [ ], ), MoveCommand( code: 2, parameters: [ ], ), MoveCommand( code: 1, parameters: [ ], ), MoveCommand( code: 2, parameters: [ ], ), MoveCommand( code: 1, parameters: [ ], ), MoveCommand( code: 2, parameters: [ ], ), MoveCommand( code: 41, parameters: [ String(""), Integer(0), Integer(2), Integer(0), ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: true, repeat: false, )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 2, parameters: [ ], )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 1, parameters: [ ], )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 2, parameters: [ ], )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 1, parameters: [ ], )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 2, parameters: [ ], )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 1, parameters: [ ], )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 2, parameters: [ ], )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 41, parameters: [ String(""), Integer(0), Integer(2), Integer(0), ], )), ], ), EventCommand( indent: 0, code: 210, parameters: [], ), EventCommand( indent: 0, code: 112, parameters: [], ), EventCommand( indent: 1, code: 111, parameters: [ Integer(12), String("$game_party.collapse()"), ], ), EventCommand( indent: 2, code: 113, parameters: [], ), EventCommand( indent: 2, code: 0, parameters: [], ), EventCommand( indent: 1, code: 412, parameters: [], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(1), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 413, parameters: [], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(40), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$game_party.reset_party_formation"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Undoing graphic is still on you though"), ], ), EventCommand( indent: 0, code: 209, parameters: [ Integer(-1), MoveRoute(MoveRoute( list: [ MoveCommand( code: 41, parameters: [ String("niko_new"), Integer(0), Integer(2), Integer(0), ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: false, )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 41, parameters: [ String("niko_new"), Integer(0), Integer(2), Integer(0), ], )), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "red_lamplighter_elevator", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "party collapse", y: 5, x: 13, id: 16, ), 27: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("You can prevent the character from reflecting by "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("setting the \"name\" key to an empty string in the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("[reflection] attribute"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("[reflection]"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("{\"name\" : \"\"}"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_npc_protophet", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "No reflection", y: 11, x: 2, id: 27, ), 11: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 101, parameters: [ String("I am NOT a bird >:("), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 45, parameters: [ String("update_routine()"), ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "green_npc_child3", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "not alula", y: 9, x: 5, id: 11, ), 22: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("According to all known laws of aviation, there is no "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("way a bee should be able to fly. Its wings are too "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("small to get its fat little body off the ground. The "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("bee, of course, flies anyway because bees don't care "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("what humans think is impossible."), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(0), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("D"), Integer(1), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 4, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "!labels", pattern: 1, tile_id: 0, direction: 6, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Yellow, black. Yellow, black. Yellow, black. Yellow, "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("black. Ooh, black and yellow! Let's shake it up a little. "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Barry! Breakfast is ready! Ooming! Hang on a "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("second. Hello? - Barry? - Adam? - Oan you believe "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("this is happening? - I can't. I'll pick you up. Looking "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("sharp. Use the stairs."), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(0), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("D"), Integer(1), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 4, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "", pattern: 1, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Your father paid good money for those. Sorry. I'm "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("excited. Here's the graduate. We're very proud of "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("you, son. A perfect report card, all B's. Very proud. "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Ma! I got a thing going here. - You got lint on your "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("fuzz. - Ow! That's me!"), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(0), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("D"), Integer(1), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "B", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 4, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "", pattern: 2, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Wave to us! We'll be in row 118,000. - Bye! Barry, I "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("told you, stop flying in the house! - Hey, Adam. - "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Hey, Barry. - Is that fuzz gel? - A little. Special day, "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("graduation. Never thought I'd make it. Three days "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("grade school, three days high school."), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("D"), Integer(0), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "C", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 4, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "", pattern: 3, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("hose were awkward. Three days college. I'm glad I "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("took a day and hitchhiked around the hive. You did "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("come back different. - Hi, Barry. - Artie, growing a "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("mustache? Looks good. - Hear about Frankie? - Yeah. "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("- You going to the funeral? - No, I'm not going. "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Everybody knows, sting someone, you die."), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("D"), Integer(1), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "D", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 4, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), ], name: "@text", y: 14, x: 9, id: 22, ), 33: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Self variables work exactly like self switches do, but "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("you're not limited by key, nor by value."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Setting a self variable:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("set_self_var(:my_key, \"some value\")"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Checking a self variable:"), ], ), EventCommand( indent: 0, code: 111, parameters: [ Integer(12), String("get_self_var(:my_key) == \"some value\""), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("Self variable was set"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 411, parameters: [], ), EventCommand( indent: 1, code: 101, parameters: [ String("SELF VARIABLE WAS NOT SET!"), ], ), EventCommand( indent: 1, code: 401, parameters: [ String("THERE IS A BUG!!"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("And you can clear ALL self variables for THIS event "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("as such:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("clear_self_vars()"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("You can also clear all self variables for a specific "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("event as follows."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("The first argument is the subject events map ID"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("The second argument is the subject events ID"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$game_self_switches.clear_vars("), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("265, 33)"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Despite them being saved in the self switches "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("objects, they will not interfere with them because "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("regular self switch keys are saved as strings, while "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("self variable keys are saved as symbols"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("A potentially useful use case:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("set_self_var(:rnd, rand(5..10))"), ], ), EventCommand( indent: 0, code: 112, parameters: [], ), EventCommand( indent: 1, code: 111, parameters: [ Integer(12), String("get_self_var(:rnd) <= 0"), ], ), EventCommand( indent: 2, code: 113, parameters: [], ), EventCommand( indent: 2, code: 0, parameters: [], ), EventCommand( indent: 1, code: 412, parameters: [], ), EventCommand( indent: 1, code: 355, parameters: [ String("old = get_self_var(:rnd)"), ], ), EventCommand( indent: 1, code: 655, parameters: [ String("set_self_var(:rnd, old - 1)"), ], ), EventCommand( indent: 1, code: 209, parameters: [ Integer(0), MoveRoute(MoveRoute( list: [ MoveCommand( code: 20, parameters: [ ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: false, )), ], ), EventCommand( indent: 1, code: 509, parameters: [ MoveCommand(MoveCommand( code: 20, parameters: [ ], )), ], ), EventCommand( indent: 1, code: 210, parameters: [], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(10), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 413, parameters: [], ), EventCommand( indent: 0, code: 101, parameters: [ String("Done turning!"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("It is best to disppose of self variables you're no "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("longer using as to not needlessly take up memory"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Or to reset an events behavior like on map init"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("clear_self_vars()"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "red_robots", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "self variables", y: 2, x: 18, id: 33, ), 17: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Increase static effect intensity"), ], ), EventCommand( indent: 0, code: 122, parameters: [ Integer(166), Integer(166), Integer(1), Integer(0), Integer(25), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: true, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_npc_prototype", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "static effect increase intensity", y: 2, x: 16, id: 17, ), 6: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Closing the game in OSFM has a visible effect on Niko "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("when reopening the game."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("But some things wouldn't make sense, like Niko just "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("waking up after fainting in a populated area without "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("anyone reacting to it."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Note that switchs 464 and 165 must be on for the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("handling to occur."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("This is how you handle map specific close events"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Closing the game in this room would trigger this even "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("if you don't have any followers"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Note the event name, it's important"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Keep in mind that the handling supports pages for the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("event."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Also keep in mind that it will only trigger if the page "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("has something other than comments in it, so you can "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("use that to default to Niko getting up under certain "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("circumstances."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("It is recommended you use labels to easier identify "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("the event while working in editor"), ], ), EventCommand( indent: 0, code: 232, parameters: [ Integer(10), Integer(10), Integer(0), Integer(0), Integer(0), Integer(0), Integer(100), Integer(100), Integer(0), Integer(0), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(10), ], ), EventCommand( indent: 0, code: 101, parameters: [ String("@niko_cry Head hurt..."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Follower specific handling for closing the game is "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("defined within their own common events, branching "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("off the 175: AWAKEN NIKO common event"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Menderbots even is 176: AWAKEN - Menderbot"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("At the time of writing, closing the game while "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Menderbot is in your party should have Niko wake up "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("in the crystal caves rec room"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Unless you're on the crystal caves surface, then Niko "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("should wake up in the surface bed"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("If reopining the game didn't have any viable handlers "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("(no followers + no map specific close events), then "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Niko will default to the get up animation/dialogue"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 41, parameters: [ String(""), Integer(0), Integer(2), Integer(0), ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: false, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "!labels_characters", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), ], name: "close_map_event", y: 1, x: 1, id: 6, ), 28: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 101, parameters: [ String("@two_83c TWO cute 4 u!"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 20, parameters: [ ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "two_cute", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "EV028", y: 11, x: 6, id: 28, ), 39: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("You can apply conditional icons and descriptions to "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("items by adding new entries to Item::ICON_LOGIC "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("and Item::DESCRIPTION_LOGIC respectively."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("See `Ruby-files/Data/Data_Item.rb`"), ], ), EventCommand( indent: 0, code: 111, parameters: [ Integer(8), Integer(106), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 411, parameters: [], ), EventCommand( indent: 1, code: 126, parameters: [ Integer(106), Integer(0), Integer(0), Integer(1), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 122, parameters: [ Integer(169), Integer(169), Integer(1), Integer(0), Integer(1), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("If you need the held item icon updated, be sure to "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("call this AFTER updating relevant values."), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$scene.refresh_item_icon = true"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: true, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 169, variable_valid: true, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_arrows", pattern: 3, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), Page( list: [ EventCommand( indent: 0, code: 111, parameters: [ Integer(8), Integer(106), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 411, parameters: [], ), EventCommand( indent: 1, code: 126, parameters: [ Integer(106), Integer(0), Integer(0), Integer(1), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 122, parameters: [ Integer(169), Integer(169), Integer(1), Integer(0), Integer(1), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$scene.refresh_item_icon = true"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: true, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 1, self_switch_valid: false, variable_id: 169, variable_valid: true, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_arrows", pattern: 1, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), Page( list: [ EventCommand( indent: 0, code: 111, parameters: [ Integer(8), Integer(106), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 411, parameters: [], ), EventCommand( indent: 1, code: 126, parameters: [ Integer(106), Integer(0), Integer(0), Integer(1), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 122, parameters: [ Integer(169), Integer(169), Integer(1), Integer(0), Integer(1), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$scene.refresh_item_icon = true"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: true, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 2, self_switch_valid: false, variable_id: 169, variable_valid: true, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_arrows", pattern: 2, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), Page( list: [ EventCommand( indent: 0, code: 111, parameters: [ Integer(8), Integer(106), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 411, parameters: [], ), EventCommand( indent: 1, code: 126, parameters: [ Integer(106), Integer(0), Integer(0), Integer(1), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 122, parameters: [ Integer(169), Integer(169), Integer(0), Integer(0), Integer(0), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$scene.refresh_item_icon = true"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: true, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 3, self_switch_valid: false, variable_id: 169, variable_valid: true, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_arrows", pattern: 0, tile_id: 0, direction: 4, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "Conditional description and icons", y: 13, x: 15, id: 39, ), 1: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("You can get a follower to play animation via the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("following script line:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$game_party.show_animation("), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("9, \"blue_npc_menderbot\")"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("It expects the ID of the animation you want to play, "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("and the character name of the subject follower"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Use the 'show animation' command to find the ID of "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("the desired animation if you don't remember them"), ], ), EventCommand( indent: 0, code: 207, parameters: [ Integer(-1), Integer(9), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("You can also have the entire party play a specific "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("animation:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$game_party.show_animation_all("), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("9, false)"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("The 2nd argument in the above example decides "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("whether the leader should also play the animation"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "items_tut2", pattern: 3, tile_id: 0, direction: 4, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "follower animations", y: 1, x: 3, id: 1, ), 12: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("A \"delegate\" allows you to execute commands uned "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("the context of another event."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("You only need to name it '&delegate:', and "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("replace '' with the name of the event you "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("want this delegate to run for."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("This essentially allows you to define a more advanced "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("'autonomous movement' for an event without losing "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("functionality on interaction and such"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("In addition, this behavior follows it's own pages, and "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("is independant of the subjects pages, so you have "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("more control over conditional functionality"), ], ), EventCommand( indent: 0, code: 207, parameters: [ Integer(0), Integer(2), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(40), ], ), EventCommand( indent: 0, code: 112, parameters: [], ), EventCommand( indent: 1, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("Dynamic path finding, see 'dynamic pathfinding "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("example' event for more details"), ], ), EventCommand( indent: 1, code: 112, parameters: [], ), EventCommand( indent: 2, code: 111, parameters: [ Integer(12), String("event.x == 5 && event.y == 9"), ], ), EventCommand( indent: 3, code: 355, parameters: [ String("event.clear_path_target"), ], ), EventCommand( indent: 3, code: 113, parameters: [], ), EventCommand( indent: 3, code: 0, parameters: [], ), EventCommand( indent: 2, code: 412, parameters: [], ), EventCommand( indent: 2, code: 355, parameters: [ String("PathFinder.dyn_request(@event_id, "), ], ), EventCommand( indent: 2, code: 655, parameters: [ String("[5,9])"), ], ), EventCommand( indent: 2, code: 106, parameters: [ Integer(5), ], ), EventCommand( indent: 2, code: 0, parameters: [], ), EventCommand( indent: 1, code: 413, parameters: [], ), EventCommand( indent: 1, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 1, code: 207, parameters: [ Integer(0), Integer(1), ], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 1, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("Dynamic path finding, see 'dynamic pathfinding "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("example' event for more details"), ], ), EventCommand( indent: 1, code: 112, parameters: [], ), EventCommand( indent: 2, code: 355, parameters: [ String("PathFinder.dyn_request(@event_id, "), ], ), EventCommand( indent: 2, code: 655, parameters: [ String("[2,6])"), ], ), EventCommand( indent: 2, code: 106, parameters: [ Integer(5), ], ), EventCommand( indent: 2, code: 111, parameters: [ Integer(12), String("event.x == 2 && event.y == 6"), ], ), EventCommand( indent: 3, code: 355, parameters: [ String("event.clear_path_target"), ], ), EventCommand( indent: 3, code: 113, parameters: [], ), EventCommand( indent: 3, code: 0, parameters: [], ), EventCommand( indent: 2, code: 412, parameters: [], ), EventCommand( indent: 2, code: 0, parameters: [], ), EventCommand( indent: 1, code: 413, parameters: [], ), EventCommand( indent: 1, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 1, code: 207, parameters: [ Integer(0), Integer(1), ], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 413, parameters: [], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 111, parameters: [ Integer(12), String("false"), ], ), EventCommand( indent: 1, code: 108, parameters: [ String("In some cases you'd want to stop the delegate from "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("affecting the subject"), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("You do that with the following line:"), ], ), EventCommand( indent: 1, code: 355, parameters: [ String("Delegates.unregister(event.id)"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 4, variable_valid: true, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "!labels", pattern: 0, tile_id: 0, direction: 4, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Supports pages!"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Need to clear path as one of the other behavior dealt "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("with dynamic pathfinding"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("event.clear_path_target"), ], ), EventCommand( indent: 0, code: 112, parameters: [], ), EventCommand( indent: 1, code: 209, parameters: [ Integer(0), MoveRoute(MoveRoute( list: [ MoveCommand( code: 20, parameters: [ ], ), MoveCommand( code: 20, parameters: [ ], ), MoveCommand( code: 20, parameters: [ ], ), MoveCommand( code: 20, parameters: [ ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: false, )), ], ), EventCommand( indent: 1, code: 509, parameters: [ MoveCommand(MoveCommand( code: 20, parameters: [ ], )), ], ), EventCommand( indent: 1, code: 509, parameters: [ MoveCommand(MoveCommand( code: 20, parameters: [ ], )), ], ), EventCommand( indent: 1, code: 509, parameters: [ MoveCommand(MoveCommand( code: 20, parameters: [ ], )), ], ), EventCommand( indent: 1, code: 509, parameters: [ MoveCommand(MoveCommand( code: 20, parameters: [ ], )), ], ), EventCommand( indent: 1, code: 210, parameters: [], ), EventCommand( indent: 1, code: 207, parameters: [ Integer(0), Integer(1), ], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 413, parameters: [], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 1, self_switch_valid: false, variable_id: 4, variable_valid: true, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Need to clear path as one of the other behavior dealt "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("with dynamic pathfinding"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("event.clear_path_target"), ], ), EventCommand( indent: 0, code: 112, parameters: [], ), EventCommand( indent: 1, code: 209, parameters: [ Integer(0), MoveRoute(MoveRoute( list: [ MoveCommand( code: 10, parameters: [ ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: false, )), ], ), EventCommand( indent: 1, code: 509, parameters: [ MoveCommand(MoveCommand( code: 10, parameters: [ ], )), ], ), EventCommand( indent: 1, code: 210, parameters: [], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 413, parameters: [], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 2, self_switch_valid: false, variable_id: 4, variable_valid: true, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "&delegate:alula", y: 4, x: 1, id: 12, ), 23: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("To create a map text, simply create an event named "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("'@text', and have the first command be a comment "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("with the desired message"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Also supports pages!"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "!labels", pattern: 3, tile_id: 0, direction: 8, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), ], name: "how2text", y: 13, x: 9, id: 23, ), 34: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("[sfx] {"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"file\": \"Audio/ME/HELLO.wav\","), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"period\": 0,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"volume\" : 100,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"pitch\" : 100 }"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("[sfx] {"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"offset\" : 0,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"falloff\" : 5,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"shape\" : { \"radius\" : 1 },"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"doppler\" : 10"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("}"), ], ), EventCommand( indent: 0, code: 101, parameters: [ String("To define a sound emitter, simply add comments with "), ], ), EventCommand( indent: 0, code: 401, parameters: [ String("the [sfx] attribute, and the configuration you need"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("shape can be either {\"radius\" : 5}"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("or {\"width\" : 5, \"height\": 5}"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Volume and pitch default to 100 when omitted"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("file can point to a specific file like so:"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("\"file\": \"Audio/ME/HELLO.wav\","), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Looks for files in \"Audio/AMB/Emitters/\" otherwise"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Offset changes the audios starting point on init"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Doppler effect multiplier is 0.25 by default"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Set to 0 to disable"), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(0), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 6, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "red_misc", pattern: 2, tile_id: 0, direction: 4, blend_type: 0, character_hue: 0, ), walk_anime: false, move_speed: 6, through: false, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Supports pages!"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Omit the SFX attribute if you don't want the sound "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("playing"), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(1), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "red_misc", pattern: 2, tile_id: 0, direction: 4, blend_type: 0, character_hue: 160, ), walk_anime: false, move_speed: 3, through: false, ), ], name: "sound emitters", y: 8, x: 16, id: 34, ), 40: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("In some cases you'd want to use a specific sprite for "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("the reflection, in which case you set the 'pattern' and "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("'direction' arguments for the attribute:"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("[reflection] {"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("\"name\" : \"blue_npc_rowbot\","), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("\"direction\" : 4,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("\"pattern\" : 0"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("}"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("The pattern is the \"column\", a value from 0 to 3"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("The direction is the \"row\", the values for it being:"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" 2 = first row / facing down"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" 4 = second row / facing left"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" 6 = third row / facing right"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" 8 = bottom row / facing up"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("The reflection will also be affected by the sprites "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("offset:"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("[sprite_offset] { \"y\" : -18 }"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("It's also worth keeping in mind that you can use "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("spriteless events just to setup reflections for things "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("like terrain, or non-event visuals like tiles"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), ], name: "Further reflection customization", y: 11, x: 3, id: 40, ), 18: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Reduce static effect intensity"), ], ), EventCommand( indent: 0, code: 122, parameters: [ Integer(166), Integer(166), Integer(2), Integer(0), Integer(25), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: true, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_npc_prototype", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 160, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "static effect reduce intensity", y: 3, x: 16, id: 18, ), 7: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("You can have an event call another event, and have "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("it execute itself with this:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("call_event(\"calling subject\")"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("The execution of this event will halt until the other "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("called event is done execution"), ], ), EventCommand( indent: 0, code: 101, parameters: [ String("@silver Will it turn the sun back on?"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("You can also call that method from within a "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("conditional command to check if the event actually "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("executed."), ], ), EventCommand( indent: 0, code: 111, parameters: [ Integer(12), String("call_event(\"calling subject\")"), ], ), EventCommand( indent: 1, code: 108, parameters: [ String("The method returns 'true' if the event exists, wasn't "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("erased, and the current page has anything other "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("than comments."), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("@silver_eyeclosed Somehow I doubt it..."), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 411, parameters: [], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("@silver_eyeclosed Guess not..."), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 108, parameters: [ String("You can use this to try and call map specific behavior "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("to a common event, or default to some other "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("behavior if the map doesn't have a handling event for "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("it."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("This is a very powerful utility, as it enables a more "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("programmatic approach to the way you handle "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("conditions."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Define a \"base\" event which has unchanging "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("functionality, and then call an event which handles "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("conditional functionality"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("For a proper example, look at:"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Mod > nevada > Crystal Cave > Elevator Room > "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Elevator"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("'base handler' and 'conditional handler' events"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: true, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_npc_silver", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Note that this event will never have its self switch A "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("turned on, as the other events commands are "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("executed within the context of itself, instead of the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("context of the caller"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_npc_silver", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 190, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "calling map events", y: 1, x: 9, id: 7, ), 29: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("You can apply a hue shift on an event:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$game_map.events[28].hue_shift(1)"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Note that you only need to run it once, and when the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("event changes pages"), ], ), EventCommand( indent: 0, code: 116, parameters: [], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 4, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "!labels", pattern: 3, tile_id: 0, direction: 8, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), ], name: "Applying hue shift", y: 11, x: 5, id: 29, ), 24: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("This method will move your entire party to the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("desired destination"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Note that it SETS their position to the tile, instead of "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("havimg them walk there"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Useful for setting up a scene before fading in"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$game_party.set_position(9, 9)"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "green_npc_cedric", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "Setting party position", y: 5, x: 7, id: 24, ), 2: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("You can setup events to follow a dynamic path to a "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("certain location if the path between it and the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("destination might change, or if either the starting or "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("destination point may change based on circumstances"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("First, create a loop which would block execution and "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("re-query the path finder in order to find and walk the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("path."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Note that this can also be used on the player if you "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("use `$game_player.id` as the event ID"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("IMPORTANT:"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("You may need to use `event.clear_path_target` to "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("prevent funky behavior, as pathfinding seems to "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("block the 'wait for move completion' command if the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("event can't reach the target"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 112, parameters: [], ), EventCommand( indent: 1, code: 108, parameters: [ String("Break out of the loop once the event reaches the "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("desired destination."), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("Be sure to check for this first to prevent an "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("unnecesarry pathfinding call"), ], ), EventCommand( indent: 1, code: 111, parameters: [ Integer(12), String("event.x == $game_player.x && event.y == $game_player.y + 1"), ], ), EventCommand( indent: 2, code: 108, parameters: [ String("Be sure to call 'clear_path_target' on the event "), ], ), EventCommand( indent: 2, code: 408, parameters: [ String("between pathfinding requests to prevent funky "), ], ), EventCommand( indent: 2, code: 408, parameters: [ String("behavior."), ], ), EventCommand( indent: 2, code: 355, parameters: [ String("event.clear_path_target"), ], ), EventCommand( indent: 2, code: 113, parameters: [], ), EventCommand( indent: 2, code: 0, parameters: [], ), EventCommand( indent: 1, code: 412, parameters: [], ), EventCommand( indent: 1, code: 108, parameters: [ String("Calling this script will tell the event to go one tile "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("below the players position."), ], ), EventCommand( indent: 1, code: 355, parameters: [ String("PathFinder.dyn_request(@event_id, "), ], ), EventCommand( indent: 1, code: 655, parameters: [ String("[$game_player.x,"), ], ), EventCommand( indent: 1, code: 655, parameters: [ String("$game_player.y + 1])"), ], ), EventCommand( indent: 1, code: 108, parameters: [ String("Must include this wait command, otherwise the game "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("will be frozen."), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("It can be lower or higher, depends on how fast the "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("event is."), ], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(5), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 413, parameters: [], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 101, parameters: [ String("@menderbot [Hello.]"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 112, parameters: [], ), EventCommand( indent: 1, code: 108, parameters: [ String("You can also include a check for 'is_in_view' to tell if "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("the event is still on screen, for cases where you'd "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("expect it to walk off screen and disappear."), ], ), EventCommand( indent: 1, code: 111, parameters: [ Integer(12), String("!is_in_view() || (event.x == 5 && event.y == 1)"), ], ), EventCommand( indent: 2, code: 355, parameters: [ String("event.clear_path_target"), ], ), EventCommand( indent: 2, code: 113, parameters: [], ), EventCommand( indent: 2, code: 0, parameters: [], ), EventCommand( indent: 1, code: 412, parameters: [], ), EventCommand( indent: 1, code: 108, parameters: [ String("Same as before, but here we're moving to a specific "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("location"), ], ), EventCommand( indent: 1, code: 355, parameters: [ String("PathFinder.dyn_request(@event_id, "), ], ), EventCommand( indent: 1, code: 655, parameters: [ String("[5, 1])"), ], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(5), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 413, parameters: [], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 101, parameters: [ String("@menderbot I'm back."), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 402, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_npc_menderbot", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "dynamic pathfinding example", y: 1, x: 5, id: 2, ), 13: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Note that delegates don't get in the way of each "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("other WHEN APPLYING TO DIFFERENT EVENTS."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("If you try applying multiple delegates for one entity, "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("the one with the highest entity ID will take over."), ], ), EventCommand( indent: 0, code: 207, parameters: [ Integer(0), Integer(2), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(40), ], ), EventCommand( indent: 0, code: 112, parameters: [], ), EventCommand( indent: 1, code: 112, parameters: [], ), EventCommand( indent: 2, code: 355, parameters: [ String("PathFinder.dyn_request(@event_id, "), ], ), EventCommand( indent: 2, code: 655, parameters: [ String("[2,6])"), ], ), EventCommand( indent: 2, code: 106, parameters: [ Integer(5), ], ), EventCommand( indent: 2, code: 111, parameters: [ Integer(12), String("event.x == 2 && event.y == 6"), ], ), EventCommand( indent: 3, code: 355, parameters: [ String("event.clear_path_target"), ], ), EventCommand( indent: 3, code: 113, parameters: [], ), EventCommand( indent: 3, code: 0, parameters: [], ), EventCommand( indent: 2, code: 412, parameters: [], ), EventCommand( indent: 2, code: 0, parameters: [], ), EventCommand( indent: 1, code: 413, parameters: [], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 1, code: 207, parameters: [ Integer(0), Integer(1), ], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 1, code: 112, parameters: [], ), EventCommand( indent: 2, code: 111, parameters: [ Integer(12), String("event.x == 5 && event.y == 9"), ], ), EventCommand( indent: 3, code: 355, parameters: [ String("event.clear_path_target"), ], ), EventCommand( indent: 3, code: 113, parameters: [], ), EventCommand( indent: 3, code: 0, parameters: [], ), EventCommand( indent: 2, code: 412, parameters: [], ), EventCommand( indent: 2, code: 355, parameters: [ String("PathFinder.dyn_request(@event_id, "), ], ), EventCommand( indent: 2, code: 655, parameters: [ String("[5,9])"), ], ), EventCommand( indent: 2, code: 106, parameters: [ Integer(5), ], ), EventCommand( indent: 2, code: 0, parameters: [], ), EventCommand( indent: 1, code: 413, parameters: [], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 1, code: 207, parameters: [ Integer(0), Integer(1), ], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(20), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 413, parameters: [], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 4, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "!labels", pattern: 0, tile_id: 0, direction: 4, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), ], name: "&delegate:not alula", y: 4, x: 2, id: 13, ), 35: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Attributes are a system which allows defining some "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("pre-determined configuration under a certain label"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("To define an attribute, simple start a comment with "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("[attribute], replacing 'attribute' with the label you "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("want, and defining a json"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("[my_attribute] {"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"key\" : \"value\","), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"arr\" : [11,22,33],"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"hash\" : {\"a\":\"aa\",\"b\":\"bb\"}"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("}"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("You can then view and/or use the data defined in "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("your code as such:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("print event.attribute(:my_attribute)"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("All attributes are injected into the event when the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("page loads, and each page can have its own "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("attributes."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("They do NOT load when the event is triggered, but "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("when it's loaded."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("You can split attribute definitions across multiple "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("comment commands without worry"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Just keep in mind the keys in the latest definition "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("would override the keys in older ones, just like "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("merging hashes would"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("[my_attribute] {"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"extra_key\" : \"q--TL\""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("}"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Attributes don't do anything on their own, they're "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("just data."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("However some systems are already using them, such "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("as:"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("lights, SFX emitters, sprite offsetting, and reflection"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Check the next page for some more examples"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "!labels", pattern: 3, tile_id: 0, direction: 8, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("[light] {"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"file_name\" : \"light_cyan\","), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"flicker_intensity\" : 50,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"flicker_speed\" : 1,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"offset_y\" : -64"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("}"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("[sprite_offset]"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("{ \"x\" : 0, \"y\":-64, \"z\":300}"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("[sfx]"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("{ \"file\": \"glitch3.ogg\","), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("\"volume\": 100, \"pitch\":100,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("\"period\": 0, \"falloff\":7, \"shape\":{}, \"doppler\" : 0,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("\"offset\":50}"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("[reflection]"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("{\"name\" : \"blue_npc_silver\"}"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("[reflection] {"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"name\" : \"blue_npc_silver\","), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"direction\" : 4,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"pattern\" : 0"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("}"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "Attributes", y: 0, x: 2, id: 35, ), 41: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("You can play a specific animation for a specific "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("follower:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$game_party.show_animation_all("), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("2, false)"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Or you can play an animation for the entire party:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$game_party.show_animation_all("), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("2, false)"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("The 2nd argument in the above example decides "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("whether the leader should also play the animation"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "!labels", pattern: 3, tile_id: 0, direction: 8, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), ], name: "follower animation", y: 6, x: 8, id: 41, ), 30: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("You have the option to treat a variable as a flag via "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("the following methods:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("var_id = 1"), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("flag = 0"), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("variable_flag_on(var_id, flag)"), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("variable_flag_off(var_id, flag)"), ], ), EventCommand( indent: 0, code: 111, parameters: [ Integer(12), String("variable_flag_check(1, 0)"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 108, parameters: [ String("What it does it performs bitwise operations to toggle "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("a flag in the variable on or off, or check if the given "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("flag is on."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("The `flag` parameter should be a an integer, so 0 "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("would check the first flag, 1 the second, etc..."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("You don't need to calculate the bit stuff on your own."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("It's useful for when you want to use a single variable "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("to store more information about a specific thing, "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("instead of creating a switch for every possiability"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "green_npc_magpie", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "Variables as flags", y: 5, x: 18, id: 30, ), 19: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Toggle static effect mode"), ], ), EventCommand( indent: 0, code: 111, parameters: [ Integer(0), Integer(469), Integer(0), ], ), EventCommand( indent: 1, code: 121, parameters: [ Integer(469), Integer(469), Integer(1), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("FULL MODE"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 411, parameters: [], ), EventCommand( indent: 1, code: 121, parameters: [ Integer(469), Integer(469), Integer(0), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("RING MODE"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_npc_silver", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 130, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "static effect mode toggle", y: 1, x: 15, id: 19, ), 8: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 101, parameters: [ String("@kip Hi! Kip Silverpoint here for the Handy Switch, "), ], ), EventCommand( indent: 0, code: 401, parameters: [ String("the new line of this light switch that lets you control "), ], ), EventCommand( indent: 0, code: 401, parameters: [ String("any lamp from anywhere!"), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(0), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "red_kip", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Calling the event in this state will have 'call_event' "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("return false as there's nothing but comments here"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: true, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "red_kip", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 110, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "calling subject", y: 1, x: 10, id: 8, ), 36: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("You can check if the journal is running and get its "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("position:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("r = Oneshot.journal_running?.to_s"), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("puts \"----------\""), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("puts \"Run? : \" + r"), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("puts Oneshot.journal_position"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "clovers", pattern: 3, tile_id: 0, direction: 4, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "Journal utility", y: 8, x: 18, id: 36, ), 14: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("See the 'follower dummy' for pre-requisites"), ], ), EventCommand( indent: 0, code: 111, parameters: [ Integer(4), Integer(12), Integer(0), ], ), EventCommand( indent: 1, code: 108, parameters: [ String("First it's sbetter to make sure you even have the "), ], ), EventCommand( indent: 1, code: 408, parameters: [ String("follower before trying to manipulate it"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 411, parameters: [], ), EventCommand( indent: 1, code: 207, parameters: [ Integer(-1), Integer(8), ], ), EventCommand( indent: 1, code: 115, parameters: [], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("To make a follower follow the dummy event, you "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("simply call the following method:"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("l = leader"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("f = follower"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("d = distance"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("a = acquisition range"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("'leader' is the name of the event you want the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("follower to follow"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("'follower' is the full follower name you want to control"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("'d' is the distance the follower will try to maintain"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("'a' is how far away will the follower look for the leader "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("before trying to follow it"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("l = \"follower dummy\""), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("f = \"blue_npc_menderbot\""), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("d = 0"), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("a = 10"), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("$game_party.abduct_follower(l,f,d, "), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("a)"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("In this case, Menderbot will try staying on top of the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("'follower dummy' event, scanning for it in a 10 tile "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("range."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Now we move the dummy to the desired location, and "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("block further execution until the follower reaches the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("desired destination."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("You block more or less the same way how you'd block "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("for dynamic path finding."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Also make sure to disable it's 'through' property, "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("otherwise the follower will no clip through blocked "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("tiles!"), ], ), EventCommand( indent: 0, code: 202, parameters: [ Integer(15), Integer(0), Integer(9), Integer(9), Integer(0), ], ), EventCommand( indent: 0, code: 209, parameters: [ Integer(15), MoveRoute(MoveRoute( list: [ MoveCommand( code: 38, parameters: [ ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: false, )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 38, parameters: [ ], )), ], ), EventCommand( indent: 0, code: 112, parameters: [], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(3), ], ), EventCommand( indent: 1, code: 111, parameters: [ Integer(12), String("x,y=$game_party.follower_position(\"blue_npc_menderbot\");x==9 && y==9"), ], ), EventCommand( indent: 2, code: 113, parameters: [], ), EventCommand( indent: 2, code: 0, parameters: [], ), EventCommand( indent: 1, code: 412, parameters: [], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 413, parameters: [], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Followers speed is equals to their leaders, so "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("changing the dummies speed will affect the followers "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("speed:"), ], ), EventCommand( indent: 0, code: 202, parameters: [ Integer(15), Integer(0), Integer(13), Integer(9), Integer(0), ], ), EventCommand( indent: 0, code: 209, parameters: [ Integer(15), MoveRoute(MoveRoute( list: [ MoveCommand( code: 29, parameters: [ Integer(4), ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: false, )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 29, parameters: [ Integer(4), ], )), ], ), EventCommand( indent: 0, code: 112, parameters: [], ), EventCommand( indent: 1, code: 106, parameters: [ Integer(3), ], ), EventCommand( indent: 1, code: 111, parameters: [ Integer(12), String("x,y=$game_party.follower_position(\"blue_npc_menderbot\");x==13 && y==9"), ], ), EventCommand( indent: 2, code: 113, parameters: [], ), EventCommand( indent: 2, code: 0, parameters: [], ), EventCommand( indent: 1, code: 412, parameters: [], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 413, parameters: [], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Since followers will always look down when on top of "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("their leader, we'll have to change the abduction "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("parameters by simply calling it again:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("l = \"follower dummy\""), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("f = \"blue_npc_menderbot\""), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("d = 2"), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("a = 10"), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("$game_party.abduct_follower(l,f,d, "), ], ), EventCommand( indent: 0, code: 655, parameters: [ String("a)"), ], ), EventCommand( indent: 0, code: 202, parameters: [ Integer(15), Integer(0), Integer(12), Integer(9), Integer(0), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(40), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Now the follower will not move after the leader if "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("they're just one tile away, allowing us to manipulate "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("their facing direction"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Once you're done manipulating followers, be sure you "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("call the following method to bring the party back "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("together:"), ], ), EventCommand( indent: 0, code: 355, parameters: [ String("$game_party.reset_party_formation"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("The party will reset instantly, but they will still have "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("to catch up with the party leader."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Handle that either through waits, or by manipulating "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("the follower cloes to the parties formation."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Also keep in mind that if the follower is too far away, "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("they'll not be able to find their way back to the leader"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("It is best to return the event to its initial state as to "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("prevent potential issues"), ], ), EventCommand( indent: 0, code: 202, parameters: [ Integer(15), Integer(0), Integer(8), Integer(5), Integer(0), ], ), EventCommand( indent: 0, code: 209, parameters: [ Integer(15), MoveRoute(MoveRoute( list: [ MoveCommand( code: 29, parameters: [ Integer(2), ], ), MoveCommand( code: 37, parameters: [ ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: false, )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 29, parameters: [ Integer(2), ], )), ], ), EventCommand( indent: 0, code: 509, parameters: [ MoveCommand(MoveCommand( code: 37, parameters: [ ], )), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 1, self_switch_valid: false, variable_id: 4, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "green_npc_cedric", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "Controlling followers", y: 5, x: 8, id: 14, ), 3: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("USE VISUAL EDITOR LABELS FOR TECHNICAL "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("EVENTS!!!"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("You can set a sprite that will not be visible in game "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("if the sprites file name begins with a !"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("HUGE thanks to Vixia for this one!!"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("The interpreter has some extra functionality added to "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("it for easier handling:"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("is_in_view - Check if the calling event is on screen"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("event - A painless way of getting the calling event"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("You can setup a graphic which hides itself in game but "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("keeps a handy icon in editor."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Set a graphic for an event, then change its "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("movement to change graphic to 'none', disable "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("repeat, and set the speed/freq to max."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Try keeping things localized:"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("If only a specific map uses some functionality, define "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("it within the map itself instead of creating a whole "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("common event."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Common events are executed within the context of "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("the event that called them, not within themselves."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("You can test that with self switches."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Keep in mind that you can create long Ruby oneliners "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("by using `;` as a line break."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("For example:"), ], ), EventCommand( indent: 0, code: 111, parameters: [ Integer(12), String("x,y=$game_party.follower_position(\"blue_npc_menderbot\")"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 108, parameters: [ String("Not very useful in script commands, but very good "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("for conditional branches."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Hell, you can use a conditional branch just to execute "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("a very long one liner that just wouldn't fit into a script "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("command."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "!labels", pattern: 3, tile_id: 0, direction: 8, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), ], name: "Tip and Tricks", y: 0, x: 1, id: 3, ), 25: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("By default, events will use the same sprite for their "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("reflection."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("You can change that behavior by following the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("examples near this event."), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_npc_protophet", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "Reflections", y: 11, x: 0, id: 25, ), 20: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Toggle static effect"), ], ), EventCommand( indent: 0, code: 111, parameters: [ Integer(0), Integer(468), Integer(0), ], ), EventCommand( indent: 1, code: 121, parameters: [ Integer(468), Integer(468), Integer(1), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("OFF"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 411, parameters: [], ), EventCommand( indent: 1, code: 121, parameters: [ Integer(468), Integer(468), Integer(0), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("ON"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_npc_silver", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "static effect toggle", y: 1, x: 14, id: 20, ), 9: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 101, parameters: [ String("@alula_speak I AM a bird!"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 45, parameters: [ String("update_routine()"), ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 5, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "green_npc_alula", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "alula", y: 6, x: 2, id: 9, ), 31: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Changes the sprite offsets for your party members"), ], ), EventCommand( indent: 0, code: 111, parameters: [ Integer(2), String("A"), Integer(0), ], ), EventCommand( indent: 1, code: 355, parameters: [ String("$game_party.set_offset(0,0,0)"), ], ), EventCommand( indent: 1, code: 123, parameters: [ String("A"), Integer(1), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 411, parameters: [], ), EventCommand( indent: 1, code: 355, parameters: [ String("$game_party.set_offset(16,16,0)"), ], ), EventCommand( indent: 1, code: 123, parameters: [ String("A"), Integer(0), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 412, parameters: [], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_items_1", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "Party sprite offset", y: 6, x: 7, id: 31, ), 37: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("The choices functionality has been expanded!"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("You can now have:"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("- More than 4 (+ cancel) options"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("- Conditional choice availability"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("- Color!"), ], ), EventCommand( indent: 0, code: 101, parameters: [ String("@niko_speak Pick an option!"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("You can have more than 4 options by simply adding "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("another choices command right after the previous "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("one"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("In this example, you get 5 total options:"), ], ), EventCommand( indent: 0, code: 102, parameters: [ Array([ "Option A", "Option B", ]), Integer(0), ], ), EventCommand( indent: 0, code: 402, parameters: [ Integer(0), String("Option A"), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("@niko_speak A!"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 402, parameters: [ Integer(1), String("Option B"), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("@niko_speak B!"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 404, parameters: [], ), EventCommand( indent: 0, code: 102, parameters: [ Array([ "Option C", "Option D", "Option Z", ]), Integer(0), ], ), EventCommand( indent: 0, code: 402, parameters: [ Integer(0), String("Option C"), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("@niko_speak C!"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 402, parameters: [ Integer(1), String("Option D"), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("@niko_speak D!"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 402, parameters: [ Integer(2), String("Option Z"), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("@niko_speak Z!"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 404, parameters: [], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("You can define conditions for when a choice should "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("be available"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Simple make the first command in the choices branch "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("be a comment that starts with , and then "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("the code to eval to decide whether it should appear"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("You can also add colors to your choices by starting "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("the text with 'c[i]', the 'i' being replaced with the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("index of the color you want. (same as text color)"), ], ), EventCommand( indent: 0, code: 102, parameters: [ Array([ "c[3]Option E", "Option F", ]), Integer(0), ], ), EventCommand( indent: 0, code: 402, parameters: [ Integer(0), String("c[3]Option E"), ], ), EventCommand( indent: 1, code: 108, parameters: [ String(" self_switch(\"A\")"), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("@niko_speak E!"), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 402, parameters: [ Integer(1), String("Option F"), ], ), EventCommand( indent: 1, code: 123, parameters: [ String("A"), Integer(0), ], ), EventCommand( indent: 1, code: 101, parameters: [ String("@niko_eyeclosed F."), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 404, parameters: [], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "niko", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "Expanded choices", y: 10, x: 18, id: 37, ), 15: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("In order to manipulate followers, you need a dummy "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("event to act as a leader for them."), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("This event will be the dummy in this case, and we'll "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("move it around according to our needs."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("IMPORTANT:"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Make sure to disable 'through' on the dummy event "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("before assigning it as a leader for a follower, unless "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("you want them to no-clip through blocked tiles."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("But you can still enable `through` in the event itself "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("before manipulating followers if you don't want it to "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("get in the way, just don't forget to reset it when "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("you're done."), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("----------------------------------------------------------------"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Abducting a party follower will have their followers "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("follow their leader"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("So pulling '2' in this case: 1<2<3<4"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Will result in: 1<3<4"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Until the formation is reset via the reset method:"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("1<2<3<4"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "!labels", pattern: 3, tile_id: 0, direction: 8, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 2, through: true, ), ], name: "follower dummy", y: 5, x: 9, id: 15, ), 4: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("[sprite_offset]"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("{ \"x\" :16 ,\"y\":0, \"z\":0 }"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("You can set a sprites offset via the [sprite_offset] "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("attribute"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Supports pages!"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Check the pages on this event for more info"), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(0), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("D"), Integer(1), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "", pattern: 0, tile_id: 447, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("[sprite_offset]"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("{ \"x\" :-16 }"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("You don't need to fill out all the parameters if you just "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("need X or just X and Y for example"), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(0), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("D"), Integer(1), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "", pattern: 0, tile_id: 447, direction: 2, blend_type: 0, character_hue: 250, ), walk_anime: true, move_speed: 3, through: false, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("[sprite_offset]"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("{\"y\":10, \"z\":100 }"), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(0), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("D"), Integer(1), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "B", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "", pattern: 0, tile_id: 447, direction: 2, blend_type: 0, character_hue: 90, ), walk_anime: true, move_speed: 3, through: false, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("[sprite_offset]"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("{\"y\":32, \"z\":-100 }"), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("D"), Integer(0), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "C", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "", pattern: 0, tile_id: 447, direction: 2, blend_type: 0, character_hue: 170, ), walk_anime: true, move_speed: 3, through: false, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("You can disable offset for a certain page by simply "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("omitting the attribute"), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("D"), Integer(1), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "D", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "", pattern: 0, tile_id: 447, direction: 2, blend_type: 0, character_hue: 270, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "sprite offsetting", y: 1, x: 7, id: 4, ), 26: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Add the [reflection] attribute, and set the \"name\" key "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("to the name of the desired character you want "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("reflected"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("[reflection]"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("{\"name\" : \"blue_npc_prototype\"}"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "blue_npc_protophet", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "Different reflection sprite", y: 11, x: 1, id: 26, ), 32: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("Use the `!nopass` autotile and set it to blocking to "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("create invisible blocking terrain"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Huge thanks to Vixia for this!!"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "!labels", pattern: 3, tile_id: 0, direction: 8, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: true, ), ], name: "no pass autotile", y: 13, x: 18, id: 32, ), 21: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("[light] {"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"file_name\" : \"light_cyan\""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("}"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("To define a light, simply follow the format above ^"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("Make sure the comment with the light config starts"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("with the [light] attribute"), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(5), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(0), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(1), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Caramel Dansen time!"), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 3, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 21, parameters: [ ], ), MoveCommand( code: 15, parameters: [ Integer(4), ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 4, step_anime: false, move_frequency: 6, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "jars_new", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("[light] {"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"file_name\" : \"light_green\","), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"flicker_intensity\" : 0.33,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"flicker_speed\" : 1,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"offset_x\": 32, \"offset_y\" : -32"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("}"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("The lights can accept more arguments such as offset"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("'flicker_intensity' and 'flicker_speed' add a flickering "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("effect, experiment with numbers to find what suits "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("the environment best."), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(5), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(0), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(1), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 3, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 21, parameters: [ ], ), MoveCommand( code: 15, parameters: [ Integer(4), ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 4, step_anime: false, move_frequency: 6, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "jars_new", pattern: 1, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("[light] { \"file_name\" : \"light_red\","), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"flicker_intensity\" : 0.33,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"flicker_speed\" : 1,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"flicker_linear\" : true,"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(" \"opacity\" : 175"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("}"), ], ), EventCommand( indent: 0, code: 108, parameters: [ String("Setting 'flicker_linear' to 'true' makes the flickerfollow "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("a sine wave instead of being applied based on noise, "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("making it more linear"), ], ), EventCommand( indent: 0, code: 408, parameters: [ String(""), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("'opacity' is a value between 0 and 255, affecting the "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("sprites opacity (go figure)"), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(5), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(0), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 3, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "B", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 21, parameters: [ ], ), MoveCommand( code: 15, parameters: [ Integer(4), ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 4, step_anime: false, move_frequency: 6, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "jars_new", pattern: 2, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("You can disable a light by simply not including a "), ], ), EventCommand( indent: 0, code: 408, parameters: [ String("comment with the [light] attribute"), ], ), EventCommand( indent: 0, code: 106, parameters: [ Integer(5), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("A"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("B"), Integer(1), ], ), EventCommand( indent: 0, code: 123, parameters: [ String("C"), Integer(1), ], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "C", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: true, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 21, parameters: [ ], ), MoveCommand( code: 15, parameters: [ Integer(4), ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 4, step_anime: false, move_frequency: 3, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "jars_new", pattern: 3, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "Adding lights", y: 5, x: 16, id: 21, ), 10: Event( pages: [ Page( list: [ EventCommand( indent: 0, code: 108, parameters: [ String("This is just a controller for the delegate events"), ], ), EventCommand( indent: 0, code: 101, parameters: [ String("@calamus_smile2 I am the Alula guardian, guardian "), ], ), EventCommand( indent: 0, code: 401, parameters: [ String("of the Alula!"), ], ), EventCommand( indent: 0, code: 101, parameters: [ String("@alula_gasp The entity quivers before him!"), ], ), EventCommand( indent: 0, code: 101, parameters: [ String("@calamus_smile FUCK OFF!"), ], ), EventCommand( indent: 0, code: 102, parameters: [ Array([ "Routine A", "Routine B", "Routine C", ]), Integer(5), ], ), EventCommand( indent: 0, code: 402, parameters: [ Integer(0), String("Routine A"), ], ), EventCommand( indent: 1, code: 122, parameters: [ Integer(4), Integer(4), Integer(0), Integer(0), Integer(0), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 402, parameters: [ Integer(1), String("Routine B"), ], ), EventCommand( indent: 1, code: 122, parameters: [ Integer(4), Integer(4), Integer(0), Integer(0), Integer(1), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 402, parameters: [ Integer(2), String("Routine C"), ], ), EventCommand( indent: 1, code: 122, parameters: [ Integer(4), Integer(4), Integer(0), Integer(0), Integer(2), ], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 403, parameters: [], ), EventCommand( indent: 1, code: 0, parameters: [], ), EventCommand( indent: 0, code: 404, parameters: [], ), EventCommand( indent: 0, code: 0, parameters: [], ), ], move_type: 0, direction_fix: false, condition: Condition( switch2_valid: false, self_switch_ch: "A", switch1_id: 1, switch1_valid: false, variable_value: 0, self_switch_valid: false, variable_id: 1, variable_valid: false, switch2_id: 1, ), move_route: MoveRoute( list: [ MoveCommand( code: 1, parameters: [ ], ), MoveCommand( code: 1, parameters: [ ], ), MoveCommand( code: 1, parameters: [ ], ), MoveCommand( code: 4, parameters: [ ], ), MoveCommand( code: 4, parameters: [ ], ), MoveCommand( code: 4, parameters: [ ], ), MoveCommand( code: 0, parameters: [ ], ), ], skippable: false, repeat: true, ), trigger: 0, step_anime: false, move_frequency: 6, always_on_top: false, graphic: Graphic( opacity: 255, character_name: "green_npc_calamus", pattern: 0, tile_id: 0, direction: 2, blend_type: 0, character_hue: 0, ), walk_anime: true, move_speed: 3, through: false, ), ], name: "Alula Guardian, Guardian of the Alula", y: 4, x: 3, id: 10, ), }, tileset_id: 1, bgs: AudioFile( volume: 80, name: "", pitch: 100, ), autoplay_bgm: true, data: Array( v: 1, dim: (3, 15, 20), data: [ 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 395, 393, 394, 395, 393, 394, 395, 393, 394, 395, 393, 394, 395, 393, 394, 395, 393, 394, 395, 393, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 411, 409, 410, 411, 409, 410, 411, 409, 410, 411, 409, 410, 411, 409, 410, 411, 409, 410, 411, 409, 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 395, 393, 394, 395, 393, 394, 395, 393, 394, 505, 393, 394, 395, 393, 394, 395, 393, 394, 395, 393, 403, 401, 505, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 411, 409, 410, 411, 409, 410, 411, 409, 410, 411, 409, 410, 411, 409, 410, 411, 409, 410, 411, 409, 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 395, 393, 394, 395, 393, 505, 395, 393, 394, 505, 393, 394, 395, 505, 394, 395, 393, 394, 395, 393, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 411, 409, 410, 411, 409, 410, 411, 409, 410, 411, 409, 410, 411, 409, 410, 411, 409, 410, 411, 409, 0, 0, 0, 0, 0, 386, 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 386, 387, 385, 0, 0, 0, 0, 0, 394, 395, 393, 394, 395, 393, 394, 395, 393, 394, 395, 393, 394, 395, 393, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 402, 403, 401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 260, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 240, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 240, 240, ] ), autoplay_bgs: true, height: 15, encounter_step: 30, width: 20, encounter_list: [], )