From b72515d61db558c3ea3ede3b29aeb72562dfeac6 Mon Sep 17 00:00:00 2001 From: magicalfeyfenny Date: Sat, 12 Jun 2021 17:57:20 -0400 Subject: [PATCH] finished initial boss logic --- stage1_Byakuren_dialogue.txt | 48 +++++++++++ thpj3/datafiles/stage1_Byakuren_dialogue.txt | 48 +++++++++++ .../Collision_obj_player_shot.gml | 0 .../Create_0.gml | 12 ++- .../Destroy_0.gml | 0 thpj3/objects/obj_boss_parent/Draw_0.gml | 8 ++ .../Step_0.gml | 25 +++--- .../obj_boss_parent.yy} | 7 +- .../objects/obj_boss_stage1_mid/Create_0.gml | 14 ++++ .../obj_boss_stage1_mid.yy | 39 +++++++++ .../obj_enemy_bullet_parent.yy | 4 +- .../obj_enemy_parent/obj_enemy_parent.yy | 4 +- thpj3/objects/obj_stage_controller/Step_0.gml | 2 +- .../8eeee4a9-7615-4a59-87e7-4ae184f6d4c4.png | Bin 0 -> 3873 bytes .../010797cb-bedd-42b2-bbb4-47170e361d5f.png | Bin 0 -> 3873 bytes thpj3/sprites/spr_byakuren/spr_byakuren.yy | 79 ++++++++++++++++++ thpj3/thpj3.yyp | 14 ++-- .../timelines/tl_stage1_logic/moment_150.gml | 2 +- 18 files changed, 277 insertions(+), 29 deletions(-) create mode 100644 stage1_Byakuren_dialogue.txt create mode 100644 thpj3/datafiles/stage1_Byakuren_dialogue.txt rename thpj3/objects/{obj_midboss => obj_boss_parent}/Collision_obj_player_shot.gml (100%) rename thpj3/objects/{obj_midboss => obj_boss_parent}/Create_0.gml (54%) rename thpj3/objects/{obj_midboss => obj_boss_parent}/Destroy_0.gml (100%) create mode 100644 thpj3/objects/obj_boss_parent/Draw_0.gml rename thpj3/objects/{obj_midboss => obj_boss_parent}/Step_0.gml (53%) rename thpj3/objects/{obj_midboss/obj_midboss.yy => obj_boss_parent/obj_boss_parent.yy} (82%) create mode 100644 thpj3/objects/obj_boss_stage1_mid/Create_0.gml create mode 100644 thpj3/objects/obj_boss_stage1_mid/obj_boss_stage1_mid.yy create mode 100644 thpj3/sprites/spr_byakuren/8eeee4a9-7615-4a59-87e7-4ae184f6d4c4.png create mode 100644 thpj3/sprites/spr_byakuren/layers/8eeee4a9-7615-4a59-87e7-4ae184f6d4c4/010797cb-bedd-42b2-bbb4-47170e361d5f.png create mode 100644 thpj3/sprites/spr_byakuren/spr_byakuren.yy diff --git a/stage1_Byakuren_dialogue.txt b/stage1_Byakuren_dialogue.txt new file mode 100644 index 0000000..31e773e --- /dev/null +++ b/stage1_Byakuren_dialogue.txt @@ -0,0 +1,48 @@ +1 +0 Wriggle +1 Byakuren +Ohohohoho~ Speak of the bug! +0 +3 Wriggle +1 Byakuren +Wait that's my catchphrase when did you learn it? +1 +3 Wriggle +1 Byakuren +I lived in Makai. There's a lot of devils there.\n'Speak of the devil' simply didn't catch on. +0 +4 Wriggle +1 Byakuren +You're saying I'm worse than a devil? +1 +4 Wriggle +3 Byakuren +Neither devils nor bugs are bad things in my book. Devils are pretty cool.\nYou're also pretty cool, and also just pretty~~ +0 +3 Wriggle +3 Byakuren +W-wha? >/////////< Aren't you scared of what a bug can do? +1 +3 Wriggle +1 Byakuren +With that cute face? I'd be more afraid of losing sight of Nirvana\nfor the sight in front of me! +0 +3 Wriggle +1 Byakuren +T-thanks I guess? >////<\nI'm actually looking for my lady right now though... A UFO took her. +0 +2 Wriggle +1 Byakuren +Do you know where they might have gone? She's about my height\nand has a cute hat and pink hair. +1 +2 Wriggle +2 Byakuren +I might know a thing or two. Come, let us dance, get to know each other~ +0 +3 Wriggle +2 Byakuren +You mean... a date? +1 +3 Wriggle +1 Byakuren +Yes, in the traditional Gensokyo way! A dance of bullets! diff --git a/thpj3/datafiles/stage1_Byakuren_dialogue.txt b/thpj3/datafiles/stage1_Byakuren_dialogue.txt new file mode 100644 index 0000000..31e773e --- /dev/null +++ b/thpj3/datafiles/stage1_Byakuren_dialogue.txt @@ -0,0 +1,48 @@ +1 +0 Wriggle +1 Byakuren +Ohohohoho~ Speak of the bug! +0 +3 Wriggle +1 Byakuren +Wait that's my catchphrase when did you learn it? +1 +3 Wriggle +1 Byakuren +I lived in Makai. There's a lot of devils there.\n'Speak of the devil' simply didn't catch on. +0 +4 Wriggle +1 Byakuren +You're saying I'm worse than a devil? +1 +4 Wriggle +3 Byakuren +Neither devils nor bugs are bad things in my book. Devils are pretty cool.\nYou're also pretty cool, and also just pretty~~ +0 +3 Wriggle +3 Byakuren +W-wha? >/////////< Aren't you scared of what a bug can do? +1 +3 Wriggle +1 Byakuren +With that cute face? I'd be more afraid of losing sight of Nirvana\nfor the sight in front of me! +0 +3 Wriggle +1 Byakuren +T-thanks I guess? >////<\nI'm actually looking for my lady right now though... A UFO took her. +0 +2 Wriggle +1 Byakuren +Do you know where they might have gone? She's about my height\nand has a cute hat and pink hair. +1 +2 Wriggle +2 Byakuren +I might know a thing or two. Come, let us dance, get to know each other~ +0 +3 Wriggle +2 Byakuren +You mean... a date? +1 +3 Wriggle +1 Byakuren +Yes, in the traditional Gensokyo way! A dance of bullets! diff --git a/thpj3/objects/obj_midboss/Collision_obj_player_shot.gml b/thpj3/objects/obj_boss_parent/Collision_obj_player_shot.gml similarity index 100% rename from thpj3/objects/obj_midboss/Collision_obj_player_shot.gml rename to thpj3/objects/obj_boss_parent/Collision_obj_player_shot.gml diff --git a/thpj3/objects/obj_midboss/Create_0.gml b/thpj3/objects/obj_boss_parent/Create_0.gml similarity index 54% rename from thpj3/objects/obj_midboss/Create_0.gml rename to thpj3/objects/obj_boss_parent/Create_0.gml index 911dfc2..17d31a8 100644 --- a/thpj3/objects/obj_midboss/Create_0.gml +++ b/thpj3/objects/obj_boss_parent/Create_0.gml @@ -4,15 +4,19 @@ face_dir = LEFT; temp_speed = 0; charge_timer = BOSS_APPROACH_TIME; +//these are default values and should be changed by any objects that inherit this object phases = 3; current_phase = 0; phase_hp = []; -phase_hp[3] = 3200; +phase_hp[3] = 3000; phase_hp[2] = 3500; -phase_hp[1] = 3000; -phase_hp[0] = 2500; - +phase_hp[1] = 2500; +phase_hp[0] = 2000; +stagename = "stage1"; +bossname = "midboss"; +boss_title = "bossy person"; hp = phase_hp[current_phase]; +// with ( obj_enemy_bullet_parent ) { instance_destroy(); diff --git a/thpj3/objects/obj_midboss/Destroy_0.gml b/thpj3/objects/obj_boss_parent/Destroy_0.gml similarity index 100% rename from thpj3/objects/obj_midboss/Destroy_0.gml rename to thpj3/objects/obj_boss_parent/Destroy_0.gml diff --git a/thpj3/objects/obj_boss_parent/Draw_0.gml b/thpj3/objects/obj_boss_parent/Draw_0.gml new file mode 100644 index 0000000..63bcc98 --- /dev/null +++ b/thpj3/objects/obj_boss_parent/Draw_0.gml @@ -0,0 +1,8 @@ +image_xscale = face_dir; +draw_self(); + +draw_set_font(fn_GUI); +draw_text(1000, 70, "boss mode: " + string(phase_mode) ); +draw_text(1000, 90, "boss invuln: " + string(invuln) ); +draw_text(1000, 110, "boss HP: " + string(hp) + " / " + string(phase_hp[current_phase]) ); +draw_text(1000, 130, "boss phase: " + string(current_phase) + " / " + string(phases) ); diff --git a/thpj3/objects/obj_midboss/Step_0.gml b/thpj3/objects/obj_boss_parent/Step_0.gml similarity index 53% rename from thpj3/objects/obj_midboss/Step_0.gml rename to thpj3/objects/obj_boss_parent/Step_0.gml index 60d568d..3286321 100644 --- a/thpj3/objects/obj_midboss/Step_0.gml +++ b/thpj3/objects/obj_boss_parent/Step_0.gml @@ -11,18 +11,18 @@ if (hp <= 0) { } } +//attack patterns if ( phase_mode == MODE_ACTIVE ) { invuln = false; - - if ( obj_wriggle.emergency && !temp_speed ) { - temp_speed = speed; - speed = 0; - } else if ( !obj_wriggle.emergency && temp_speed ) { - speed = temp_speed; - temp_speed = 0; + if ( obj_wriggle.emergency ) { + charge_timer++ + //stop shooting + } else if ( !obj_wriggle.emergency ) { + y += (( abs(charge_timer) % 60 ) - 30 ) / 30; } } +//animations in-between phases if ( phase_mode == MODE_CHARGE ) { invuln = true; if ( !charge_timer ) { @@ -30,6 +30,7 @@ if ( phase_mode == MODE_CHARGE ) { } } +//dialogue if ( phase_mode == MODE_CHAT ) { invuln = true; if ( !obj_dialogue.dialogue_mode ) { @@ -38,13 +39,15 @@ if ( phase_mode == MODE_CHAT ) { } } +//jumping on-screen if ( phase_mode == MODE_APPROACH ) { invuln = true; - hspeed = (10 - min( 10, BOSS_APPROACH_TIME - charge_timer ) ) * face_dir; - vspeed = 10 - min( 10, BOSS_APPROACH_TIME - charge_timer ); + hspeed = (15 - min( 15, (BOSS_APPROACH_TIME - charge_timer) / 2 ) ) * face_dir; + vspeed = 15 - min( 15, (BOSS_APPROACH_TIME - charge_timer) / 2 ); + image_angle += 24; if ( !charge_timer ) { - if ( file_exists( "stage1_midboss_chat.txt" ) ) { - scr_dialogue_start( "stage1_midboss_chat.txt" ); + if ( file_exists( stagename + "_" + bossname + "_dialogue.txt" ) ) { // "stage#_bossname_dialogue.txt" + scr_dialogue_start( stagename + "_" + bossname + "_dialogue.txt" ); phase_mode = MODE_CHAT; } else { charge_timer = BOSS_CHARGE_TIME; diff --git a/thpj3/objects/obj_midboss/obj_midboss.yy b/thpj3/objects/obj_boss_parent/obj_boss_parent.yy similarity index 82% rename from thpj3/objects/obj_midboss/obj_midboss.yy rename to thpj3/objects/obj_boss_parent/obj_boss_parent.yy index bf29140..0a82cf3 100644 --- a/thpj3/objects/obj_midboss/obj_midboss.yy +++ b/thpj3/objects/obj_boss_parent/obj_boss_parent.yy @@ -25,15 +25,16 @@ {"isDnD":false,"eventNum":0,"eventType":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, {"isDnD":false,"eventNum":0,"eventType":1,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, {"isDnD":false,"eventNum":0,"eventType":4,"collisionObjectId":{"name":"obj_player_shot","path":"objects/obj_player_shot/obj_player_shot.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, ], "properties": [], "overriddenProperties": [], "parent": { - "name": "thpj3", - "path": "thpj3.yyp", + "name": "parent classes", + "path": "folders/enemies/parent classes.yy", }, "resourceVersion": "1.0", - "name": "obj_midboss", + "name": "obj_boss_parent", "tags": [], "resourceType": "GMObject", } \ No newline at end of file diff --git a/thpj3/objects/obj_boss_stage1_mid/Create_0.gml b/thpj3/objects/obj_boss_stage1_mid/Create_0.gml new file mode 100644 index 0000000..1631595 --- /dev/null +++ b/thpj3/objects/obj_boss_stage1_mid/Create_0.gml @@ -0,0 +1,14 @@ +// Inherit the parent event +event_inherited(); + +phases = 3; +current_phase = 0; +phase_hp = []; +phase_hp[3] = 3000; +phase_hp[2] = 3500; +phase_hp[1] = 2500; +phase_hp[0] = 2000; +stagename = "stage1"; +bossname = "Byakuren"; +boss_title = "Superhuman Youkai Savior"; +hp = phase_hp[current_phase]; \ No newline at end of file diff --git a/thpj3/objects/obj_boss_stage1_mid/obj_boss_stage1_mid.yy b/thpj3/objects/obj_boss_stage1_mid/obj_boss_stage1_mid.yy new file mode 100644 index 0000000..9af13ce --- /dev/null +++ b/thpj3/objects/obj_boss_stage1_mid/obj_boss_stage1_mid.yy @@ -0,0 +1,39 @@ +{ + "spriteId": { + "name": "spr_byakuren", + "path": "sprites/spr_byakuren/spr_byakuren.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "obj_boss_parent", + "path": "objects/obj_boss_parent/obj_boss_parent.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 1, + "physicsGroup": 1, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "enemies", + "path": "folders/enemies.yy", + }, + "resourceVersion": "1.0", + "name": "obj_boss_stage1_mid", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/thpj3/objects/obj_enemy_bullet_parent/obj_enemy_bullet_parent.yy b/thpj3/objects/obj_enemy_bullet_parent/obj_enemy_bullet_parent.yy index 1ef7c6b..e36c3bd 100644 --- a/thpj3/objects/obj_enemy_bullet_parent/obj_enemy_bullet_parent.yy +++ b/thpj3/objects/obj_enemy_bullet_parent/obj_enemy_bullet_parent.yy @@ -25,8 +25,8 @@ "properties": [], "overriddenProperties": [], "parent": { - "name": "enemies", - "path": "folders/enemies.yy", + "name": "parent classes", + "path": "folders/enemies/parent classes.yy", }, "resourceVersion": "1.0", "name": "obj_enemy_bullet_parent", diff --git a/thpj3/objects/obj_enemy_parent/obj_enemy_parent.yy b/thpj3/objects/obj_enemy_parent/obj_enemy_parent.yy index 3079515..7b6cf37 100644 --- a/thpj3/objects/obj_enemy_parent/obj_enemy_parent.yy +++ b/thpj3/objects/obj_enemy_parent/obj_enemy_parent.yy @@ -27,8 +27,8 @@ "properties": [], "overriddenProperties": [], "parent": { - "name": "enemies", - "path": "folders/enemies.yy", + "name": "parent classes", + "path": "folders/enemies/parent classes.yy", }, "resourceVersion": "1.0", "name": "obj_enemy_parent", diff --git a/thpj3/objects/obj_stage_controller/Step_0.gml b/thpj3/objects/obj_stage_controller/Step_0.gml index b6f9cf1..2baf983 100644 --- a/thpj3/objects/obj_stage_controller/Step_0.gml +++ b/thpj3/objects/obj_stage_controller/Step_0.gml @@ -1,4 +1,4 @@ -if ( obj_dialogue.dialogue_mode ) { +if ( obj_dialogue.dialogue_mode || instance_exists(obj_boss_parent) ) { timeline_running = false; } else { timeline_running = true; diff --git a/thpj3/sprites/spr_byakuren/8eeee4a9-7615-4a59-87e7-4ae184f6d4c4.png b/thpj3/sprites/spr_byakuren/8eeee4a9-7615-4a59-87e7-4ae184f6d4c4.png new file mode 100644 index 0000000000000000000000000000000000000000..35f00c03e02d1a0fe8a2a4175b49a202978e997a GIT binary patch literal 3873 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 literal 0 HcmV?d00001 diff --git a/thpj3/sprites/spr_byakuren/layers/8eeee4a9-7615-4a59-87e7-4ae184f6d4c4/010797cb-bedd-42b2-bbb4-47170e361d5f.png b/thpj3/sprites/spr_byakuren/layers/8eeee4a9-7615-4a59-87e7-4ae184f6d4c4/010797cb-bedd-42b2-bbb4-47170e361d5f.png new file mode 100644 index 0000000000000000000000000000000000000000..35f00c03e02d1a0fe8a2a4175b49a202978e997a GIT binary patch literal 3873 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 literal 0 HcmV?d00001 diff --git a/thpj3/sprites/spr_byakuren/spr_byakuren.yy b/thpj3/sprites/spr_byakuren/spr_byakuren.yy new file mode 100644 index 0000000..d785d02 --- /dev/null +++ b/thpj3/sprites/spr_byakuren/spr_byakuren.yy @@ -0,0 +1,79 @@ +{ + "bboxMode": 0, + "collisionKind": 1, + "type": 0, + "origin": 4, + "preMultiplyAlpha": false, + "edgeFiltering": false, + "collisionTolerance": 0, + "swfPrecision": 2.525, + "bbox_left": 26, + "bbox_right": 228, + "bbox_top": 3, + "bbox_bottom": 250, + "HTile": false, + "VTile": false, + "For3D": false, + "width": 256, + "height": 256, + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "swatchColours": null, + "gridX": 0, + "gridY": 0, + "frames": [ + {"compositeImage":{"FrameId":{"name":"8eeee4a9-7615-4a59-87e7-4ae184f6d4c4","path":"sprites/spr_byakuren/spr_byakuren.yy",},"LayerId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",},"images":[ + {"FrameId":{"name":"8eeee4a9-7615-4a59-87e7-4ae184f6d4c4","path":"sprites/spr_byakuren/spr_byakuren.yy",},"LayerId":{"name":"010797cb-bedd-42b2-bbb4-47170e361d5f","path":"sprites/spr_byakuren/spr_byakuren.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",}, + ],"parent":{"name":"spr_byakuren","path":"sprites/spr_byakuren/spr_byakuren.yy",},"resourceVersion":"1.0","name":"8eeee4a9-7615-4a59-87e7-4ae184f6d4c4","tags":[],"resourceType":"GMSpriteFrame",}, + ], + "sequence": { + "spriteId": {"name":"spr_byakuren","path":"sprites/spr_byakuren/spr_byakuren.yy",}, + "timeUnits": 1, + "playback": 1, + "playbackSpeed": 30.0, + "playbackSpeedType": 0, + "autoRecord": true, + "volume": 1.0, + "length": 1.0, + "events": {"Keyframes":[],"resourceVersion":"1.0","resourceType":"KeyframeStore",}, + "moments": {"Keyframes":[],"resourceVersion":"1.0","resourceType":"KeyframeStore",}, + "tracks": [ + {"name":"frames","spriteId":null,"keyframes":{"Keyframes":[ + {"id":"1817c86c-5998-4b07-a982-e2967a810146","Key":0.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"8eeee4a9-7615-4a59-87e7-4ae184f6d4c4","path":"sprites/spr_byakuren/spr_byakuren.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe",}, + ],"resourceVersion":"1.0","resourceType":"KeyframeStore",},"trackColour":0,"inheritsTrackColour":true,"builtinName":0,"traits":0,"interpolation":1,"tracks":[],"events":[],"modifiers":[],"isCreationTrack":false,"resourceVersion":"1.0","tags":[],"resourceType":"GMSpriteFramesTrack",}, + ], + "visibleRange": null, + "lockOrigin": false, + "showBackdrop": true, + "showBackdropImage": false, + "backdropImagePath": "", + "backdropImageOpacity": 0.5, + "backdropWidth": 1366, + "backdropHeight": 768, + "backdropXOffset": 0.0, + "backdropYOffset": 0.0, + "xorigin": 128, + "yorigin": 128, + "eventToFunction": {}, + "eventStubScript": null, + "parent": {"name":"spr_byakuren","path":"sprites/spr_byakuren/spr_byakuren.yy",}, + "resourceVersion": "1.3", + "name": "spr_byakuren", + "tags": [], + "resourceType": "GMSequence", + }, + "layers": [ + {"visible":true,"isLocked":false,"blendMode":0,"opacity":100.0,"displayName":"default","resourceVersion":"1.0","name":"010797cb-bedd-42b2-bbb4-47170e361d5f","tags":[],"resourceType":"GMImageLayer",}, + ], + "nineSlice": null, + "parent": { + "name": "enemies", + "path": "folders/enemies.yy", + }, + "resourceVersion": "1.0", + "name": "spr_byakuren", + "tags": [], + "resourceType": "GMSprite", +} \ No newline at end of file diff --git a/thpj3/thpj3.yyp b/thpj3/thpj3.yyp index f3ce76a..86d8d63 100644 --- a/thpj3/thpj3.yyp +++ b/thpj3/thpj3.yyp @@ -5,24 +5,25 @@ {"id":{"name":"obj_options","path":"objects/obj_options/obj_options.yy",},"order":8,}, {"id":{"name":"spr_player_shot","path":"sprites/spr_player_shot/spr_player_shot.yy",},"order":1,}, {"id":{"name":"obj_stage_controller","path":"objects/obj_stage_controller/obj_stage_controller.yy",},"order":0,}, + {"id":{"name":"spr_byakuren","path":"sprites/spr_byakuren/spr_byakuren.yy",},"order":6,}, {"id":{"name":"obj_disclaimer","path":"objects/obj_disclaimer/obj_disclaimer.yy",},"order":2,}, {"id":{"name":"obj_bomber_topologic","path":"objects/obj_bomber_topologic/obj_bomber_topologic.yy",},"order":13,}, {"id":{"name":"spr_wriggle_hitbox","path":"sprites/spr_wriggle_hitbox/spr_wriggle_hitbox.yy",},"order":3,}, {"id":{"name":"obj_title_moon","path":"objects/obj_title_moon/obj_title_moon.yy",},"order":1,}, {"id":{"name":"obj_option_shot","path":"objects/obj_option_shot/obj_option_shot.yy",},"order":7,}, {"id":{"name":"spr_title_star","path":"sprites/spr_title_star/spr_title_star.yy",},"order":7,}, - {"id":{"name":"obj_bullet_test","path":"objects/obj_bullet_test/obj_bullet_test.yy",},"order":4,}, + {"id":{"name":"obj_bullet_test","path":"objects/obj_bullet_test/obj_bullet_test.yy",},"order":3,}, {"id":{"name":"spr_fluff","path":"sprites/spr_fluff/spr_fluff.yy",},"order":1,}, {"id":{"name":"scr_dialogue_start","path":"scripts/scr_dialogue_start/scr_dialogue_start.yy",},"order":13,}, {"id":{"name":"rm_disclaimer","path":"rooms/rm_disclaimer/rm_disclaimer.yy",},"order":2,}, {"id":{"name":"spr_options","path":"sprites/spr_options/spr_options.yy",},"order":4,}, {"id":{"name":"obj_title_text","path":"objects/obj_title_text/obj_title_text.yy",},"order":3,}, {"id":{"name":"obj_wriggle","path":"objects/obj_wriggle/obj_wriggle.yy",},"order":5,}, - {"id":{"name":"obj_midboss","path":"objects/obj_midboss/obj_midboss.yy",},"order":11,}, + {"id":{"name":"obj_boss_parent","path":"objects/obj_boss_parent/obj_boss_parent.yy",},"order":0,}, {"id":{"name":"spr_title_bg","path":"sprites/spr_title_bg/spr_title_bg.yy",},"order":5,}, {"id":{"name":"spr_wriggle","path":"sprites/spr_wriggle/spr_wriggle.yy",},"order":2,}, - {"id":{"name":"obj_enemy_bullet_parent","path":"objects/obj_enemy_bullet_parent/obj_enemy_bullet_parent.yy",},"order":5,}, - {"id":{"name":"obj_enemy_test","path":"objects/obj_enemy_test/obj_enemy_test.yy",},"order":3,}, + {"id":{"name":"obj_enemy_bullet_parent","path":"objects/obj_enemy_bullet_parent/obj_enemy_bullet_parent.yy",},"order":1,}, + {"id":{"name":"obj_enemy_test","path":"objects/obj_enemy_test/obj_enemy_test.yy",},"order":2,}, {"id":{"name":"obj_player_shot","path":"objects/obj_player_shot/obj_player_shot.yy",},"order":6,}, {"id":{"name":"spr_bomber","path":"sprites/spr_bomber/spr_bomber.yy",},"order":11,}, {"id":{"name":"spr_option_shot","path":"sprites/spr_option_shot/spr_option_shot.yy",},"order":0,}, @@ -37,7 +38,7 @@ {"id":{"name":"fn_contact","path":"fonts/fn_contact/fn_contact.yy",},"order":0,}, {"id":{"name":"obj_bomber","path":"objects/obj_bomber/obj_bomber.yy",},"order":10,}, {"id":{"name":"spr_title_moon","path":"sprites/spr_title_moon/spr_title_moon.yy",},"order":6,}, - {"id":{"name":"obj_enemy_parent","path":"objects/obj_enemy_parent/obj_enemy_parent.yy",},"order":6,}, + {"id":{"name":"obj_enemy_parent","path":"objects/obj_enemy_parent/obj_enemy_parent.yy",},"order":2,}, {"id":{"name":"spr_bg_forest","path":"sprites/spr_bg_forest/spr_bg_forest.yy",},"order":2,}, {"id":{"name":"fn_GUI","path":"fonts/fn_GUI/fn_GUI.yy",},"order":9,}, {"id":{"name":"obj_title_star","path":"objects/obj_title_star/obj_title_star.yy",},"order":2,}, @@ -49,6 +50,7 @@ {"id":{"name":"obj_title_screen","path":"objects/obj_title_screen/obj_title_screen.yy",},"order":4,}, {"id":{"name":"obj_dialogue","path":"objects/obj_dialogue/obj_dialogue.yy",},"order":0,}, {"id":{"name":"obj_darkfade","path":"objects/obj_darkfade/obj_darkfade.yy",},"order":6,}, + {"id":{"name":"obj_boss_stage1_mid","path":"objects/obj_boss_stage1_mid/obj_boss_stage1_mid.yy",},"order":5,}, {"id":{"name":"rm_title","path":"rooms/rm_title/rm_title.yy",},"order":0,}, ], "Options": [ @@ -76,6 +78,7 @@ {"folderPath":"folders/player.yy","order":8,"resourceVersion":"1.0","name":"player","tags":[],"resourceType":"GMFolder",}, {"folderPath":"folders/enemies.yy","order":9,"resourceVersion":"1.0","name":"enemies","tags":[],"resourceType":"GMFolder",}, {"folderPath":"folders/stage.yy","order":10,"resourceVersion":"1.0","name":"stage","tags":[],"resourceType":"GMFolder",}, + {"folderPath":"folders/enemies/parent classes.yy","order":4,"resourceVersion":"1.0","name":"parent classes","tags":[],"resourceType":"GMFolder",}, ], "AudioGroups": [ {"targets":-1,"resourceVersion":"1.3","name":"audiogroup_default","resourceType":"GMAudioGroup",}, @@ -85,6 +88,7 @@ ], "IncludedFiles": [ {"CopyToMask":153157610357391598,"filePath":"datafiles","resourceVersion":"1.0","name":"dialogue_test.txt","resourceType":"GMIncludedFile",}, + {"CopyToMask":-1,"filePath":"datafiles","resourceVersion":"1.0","name":"stage1_Byakuren_dialogue.txt","resourceType":"GMIncludedFile",}, ], "MetaData": { "IDEVersion": "2.3.2.560", diff --git a/thpj3/timelines/tl_stage1_logic/moment_150.gml b/thpj3/timelines/tl_stage1_logic/moment_150.gml index 8a95c8b..99df99e 100644 --- a/thpj3/timelines/tl_stage1_logic/moment_150.gml +++ b/thpj3/timelines/tl_stage1_logic/moment_150.gml @@ -1 +1 @@ -scr_dialogue_start( "dialogue_test.txt" ); \ No newline at end of file +instance_create_layer(1350, 160, "enemy", obj_boss_stage1_mid); \ No newline at end of file