added scoring system, score saving, end of game, second boss, boss patterns, and full stage logic
|
@ -0,0 +1,60 @@
|
|||
0
|
||||
3
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
So, what are you up to?
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
on this fine day of Tuesday
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
not much my good binch
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
just drinking my soup
|
||||
0
|
||||
1
|
||||
Wriggle
|
||||
5
|
||||
Mystia
|
||||
cool cool
|
||||
1
|
||||
2
|
||||
Wriggle
|
||||
1
|
||||
Mystia
|
||||
btw did you hear we're files now
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
1
|
||||
Mystia
|
||||
arent we all like files, you know, in a philosophical sense
|
||||
1
|
||||
3
|
||||
Wriggle
|
||||
3
|
||||
Mystia
|
||||
yeah *sips her soup*
|
||||
1
|
||||
3
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
anyway i must go now my planet needs me
|
||||
0
|
||||
2
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
nooooooooooooo
|
|
@ -1,36 +0,0 @@
|
|||
0
|
||||
3
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
"So, what are you up to?"
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
"on this fine day of Tuesday"
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
"not much my good binch"
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
"just drinking my soup"
|
||||
0
|
||||
1
|
||||
Wriggle
|
||||
5
|
||||
Mystia
|
||||
"cool cool"
|
||||
1
|
||||
2
|
||||
Wriggle
|
||||
1
|
||||
Mystia
|
||||
"btw did you hear we're files now"
|
|
@ -27,7 +27,7 @@ You're saying I'm worse than a devil?
|
|||
Wriggle
|
||||
3
|
||||
Byakuren
|
||||
Neither devils nor bugs are bad things in my book. Devils are pretty cool.#You're also pretty cool, and also just pretty~~
|
||||
Neither devils nor bugs are bad things in my book. Devils are pretty #cool. You're also pretty cool, and also just pretty~~
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
|
|
|
@ -0,0 +1,72 @@
|
|||
1
|
||||
0
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
hello it is i hot topic girl
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
Why do you look like a badly-drawn ghost?
|
||||
1
|
||||
3
|
||||
Wriggle
|
||||
2
|
||||
Nue
|
||||
The devs were being lazy
|
||||
1
|
||||
0
|
||||
Wriggle
|
||||
2
|
||||
Nue
|
||||
look aroudn and you can see the evidence of that everywhere
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
0
|
||||
Nue
|
||||
It just looks like a normal day in Gensokyo ot me
|
||||
1
|
||||
3
|
||||
Wriggle
|
||||
3
|
||||
Nue
|
||||
Huh. I thought the really basic post-midboss patterns were a dead#giveaway.
|
||||
0
|
||||
1
|
||||
Wriggle
|
||||
3
|
||||
Nue
|
||||
I just assumed that meant I was at the final stage.
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
0
|
||||
Nue
|
||||
I am a final boss, of sorts.
|
||||
1
|
||||
0
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
I needed someone with pink hair for a... uh... cosplay shoot.#Yeah. A cosplay shoot.
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
Pink hair... wait does she have wings?
|
||||
1
|
||||
3
|
||||
Wriggle
|
||||
3
|
||||
Nue
|
||||
Yes, and uh you appear to be glowing somehow? Are you the #legendary super saiyabug?
|
||||
1
|
||||
4
|
||||
Wriggle
|
||||
3
|
||||
Nue
|
||||
Um... uh... >///< Yeah! I'm the most powerful bug in the world! #Prepare to face your fate, hot topic girl!
|
|
@ -0,0 +1,72 @@
|
|||
1
|
||||
0
|
||||
Wriggle
|
||||
5
|
||||
Nue
|
||||
gosh that was certainly a date >////<
|
||||
0
|
||||
1
|
||||
Wriggle
|
||||
5
|
||||
Nue
|
||||
Did I make the goth girl blush with my shine?
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
5
|
||||
Nue
|
||||
y-yeah... you uh certainly showed me nya
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
5
|
||||
Nue
|
||||
Wait but you're not a cat why are you nya-ing?
|
||||
1
|
||||
3
|
||||
Wriggle
|
||||
0
|
||||
Nue
|
||||
im too powerful to not nya all the most powerful girls nya
|
||||
0
|
||||
1
|
||||
Wriggle
|
||||
0
|
||||
Nue
|
||||
nya~
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
nya~
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
1
|
||||
Mystia
|
||||
hello i am here now sorry i was doing stuff
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
i'm stuff
|
||||
0
|
||||
1
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
haha you're fucking my birbfriend
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
1
|
||||
Mystia
|
||||
Fun fact about fireflies: when their butts glow it's because they're horny
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
1
|
||||
Mystia
|
||||
>///////////////////////////////////////////<
|
|
@ -0,0 +1,48 @@
|
|||
1
|
||||
0
|
||||
Wriggle
|
||||
5
|
||||
Byakuren
|
||||
that was a good date you may proceed
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
5
|
||||
Byakuren
|
||||
Wait where am i proceeding to? you said you knew whwere the#UFO went?
|
||||
0
|
||||
4
|
||||
Wriggle
|
||||
5
|
||||
Byakuren
|
||||
Are you secretly running an underground UFO travel agency?
|
||||
1
|
||||
4
|
||||
Wriggle
|
||||
5
|
||||
Byakuren
|
||||
Yes my associate is ahead please... pass through... bullet...
|
||||
0
|
||||
2
|
||||
Wriggle
|
||||
5
|
||||
Byakuren
|
||||
noooooo don't die
|
||||
1
|
||||
2
|
||||
Wriggle
|
||||
2
|
||||
Byakuren
|
||||
don't worry everything will be daijoubu#*fades away then reappears like instantly*
|
||||
0
|
||||
2
|
||||
Wriggle
|
||||
1
|
||||
Byakuren
|
||||
i can still hear her voice...
|
||||
1
|
||||
2
|
||||
Wriggle
|
||||
1
|
||||
Byakuren
|
||||
gay gay homosexual gay
|
|
@ -0,0 +1,60 @@
|
|||
0
|
||||
3
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
So, what are you up to?
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
on this fine day of Tuesday
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
not much my good binch
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
just drinking my soup
|
||||
0
|
||||
1
|
||||
Wriggle
|
||||
5
|
||||
Mystia
|
||||
cool cool
|
||||
1
|
||||
2
|
||||
Wriggle
|
||||
1
|
||||
Mystia
|
||||
btw did you hear we're files now
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
1
|
||||
Mystia
|
||||
arent we all like files, you know, in a philosophical sense
|
||||
1
|
||||
3
|
||||
Wriggle
|
||||
3
|
||||
Mystia
|
||||
yeah *sips her soup*
|
||||
1
|
||||
3
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
anyway i must go now my planet needs me
|
||||
0
|
||||
2
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
nooooooooooooo
|
|
@ -1,36 +0,0 @@
|
|||
0
|
||||
3
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
"So, what are you up to?"
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
"on this fine day of Tuesday"
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
"not much my good binch"
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
2
|
||||
Mystia
|
||||
"just drinking my soup"
|
||||
0
|
||||
1
|
||||
Wriggle
|
||||
5
|
||||
Mystia
|
||||
"cool cool"
|
||||
1
|
||||
2
|
||||
Wriggle
|
||||
1
|
||||
Mystia
|
||||
"btw did you hear we're files now"
|
|
@ -0,0 +1,72 @@
|
|||
1
|
||||
0
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
hello it is i hot topic girl
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
Why do you look like a badly-drawn ghost?
|
||||
1
|
||||
3
|
||||
Wriggle
|
||||
2
|
||||
Nue
|
||||
The devs were being lazy
|
||||
1
|
||||
0
|
||||
Wriggle
|
||||
2
|
||||
Nue
|
||||
look aroudn and you can see the evidence of that everywhere
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
0
|
||||
Nue
|
||||
It just looks like a normal day in Gensokyo ot me
|
||||
1
|
||||
3
|
||||
Wriggle
|
||||
3
|
||||
Nue
|
||||
Huh. I thought the really basic post-midboss patterns were a dead#giveaway.
|
||||
0
|
||||
1
|
||||
Wriggle
|
||||
3
|
||||
Nue
|
||||
I just assumed that meant I was at the final stage.
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
0
|
||||
Nue
|
||||
I am a final boss, of sorts.
|
||||
1
|
||||
0
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
I needed someone with pink hair for a... uh... cosplay shoot.#Yeah. A cosplay shoot.
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
Pink hair... wait does she have wings?
|
||||
1
|
||||
3
|
||||
Wriggle
|
||||
3
|
||||
Nue
|
||||
Yes, and uh you appear to be glowing somehow? Are you the #legendary super saiyabug?
|
||||
1
|
||||
4
|
||||
Wriggle
|
||||
3
|
||||
Nue
|
||||
Um... uh... >///< Yeah! I'm the most powerful bug in the world! #Prepare to face your fate, hot topic girl!
|
|
@ -0,0 +1,72 @@
|
|||
1
|
||||
0
|
||||
Wriggle
|
||||
5
|
||||
Nue
|
||||
gosh that was certainly a date >////<
|
||||
0
|
||||
1
|
||||
Wriggle
|
||||
5
|
||||
Nue
|
||||
Did I make the goth girl blush with my shine?
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
5
|
||||
Nue
|
||||
y-yeah... you uh certainly showed me nya
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
5
|
||||
Nue
|
||||
Wait but you're not a cat why are you nya-ing?
|
||||
1
|
||||
3
|
||||
Wriggle
|
||||
0
|
||||
Nue
|
||||
im too powerful to not nya all the most powerful girls nya
|
||||
0
|
||||
1
|
||||
Wriggle
|
||||
0
|
||||
Nue
|
||||
nya~
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
nya~
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
1
|
||||
Mystia
|
||||
hello i am here now sorry i was doing stuff
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
i'm stuff
|
||||
0
|
||||
1
|
||||
Wriggle
|
||||
1
|
||||
Nue
|
||||
haha you're fucking my birbfriend
|
||||
1
|
||||
1
|
||||
Wriggle
|
||||
1
|
||||
Mystia
|
||||
Fun fact about fireflies: when their butts glow it's because they're horny
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
1
|
||||
Mystia
|
||||
>///////////////////////////////////////////<
|
|
@ -0,0 +1,48 @@
|
|||
1
|
||||
0
|
||||
Wriggle
|
||||
5
|
||||
Byakuren
|
||||
that was a good date you may proceed
|
||||
0
|
||||
3
|
||||
Wriggle
|
||||
5
|
||||
Byakuren
|
||||
Wait where am i proceeding to? you said you knew whwere the#UFO went?
|
||||
0
|
||||
4
|
||||
Wriggle
|
||||
5
|
||||
Byakuren
|
||||
Are you secretly running an underground UFO travel agency?
|
||||
1
|
||||
4
|
||||
Wriggle
|
||||
5
|
||||
Byakuren
|
||||
Yes my associate is ahead please... pass through... bullet...
|
||||
0
|
||||
2
|
||||
Wriggle
|
||||
5
|
||||
Byakuren
|
||||
noooooo don't die
|
||||
1
|
||||
2
|
||||
Wriggle
|
||||
2
|
||||
Byakuren
|
||||
don't worry everything will be daijoubu#*fades away then reappears like instantly*
|
||||
0
|
||||
2
|
||||
Wriggle
|
||||
1
|
||||
Byakuren
|
||||
i can still hear her voice...
|
||||
1
|
||||
2
|
||||
Wriggle
|
||||
1
|
||||
Byakuren
|
||||
gay gay homosexual gay
|
|
@ -32,10 +32,49 @@ draw_text( 910 + 1, 18 - 1, "Shine: " );
|
|||
draw_text( 135 + 1, 18 + 1, "Lives: " );
|
||||
draw_text( 525 + 1, 18 + 1, "Spell: " );
|
||||
draw_text( 910 + 1, 18 + 1, "Shine: " );
|
||||
draw_set_font(fn_dialogue_names);
|
||||
draw_text( 130 + 1, 0 + 1, "Score: " );
|
||||
draw_text( 730 + 1, 0 + 1, "High: " );
|
||||
draw_text( 2 + 1, 102 + 1, "x" + string( obj_wriggle.score_multiply ) );
|
||||
draw_set_halign(fa_right);
|
||||
draw_text( 700 + 1, 0 + 1, obj_wriggle.score_current );
|
||||
draw_text( 1260 + 1, 0 + 1, obj_wriggle.score_high );
|
||||
draw_set_halign(fa_left);
|
||||
draw_text( 130 + 1, 0 - 1, "Score: " );
|
||||
draw_text( 730 + 1, 0 - 1, "High: " );
|
||||
draw_text( 2, 102 - 1, "x" + string( obj_wriggle.score_multiply ) );
|
||||
draw_set_halign(fa_right);
|
||||
draw_text( 700 + 1, 0 - 1, obj_wriggle.score_current );
|
||||
draw_text( 1260 + 1, 0 - 1, obj_wriggle.score_high );
|
||||
draw_set_halign(fa_left);
|
||||
draw_text( 130 - 1, 0 + 1, "Score: " );
|
||||
draw_text( 730 - 1, 0 + 1, "High: " );
|
||||
draw_text( 2 - 1, 102 + 1, "x" + string( obj_wriggle.score_multiply ) );
|
||||
draw_set_halign(fa_right);
|
||||
draw_text( 700 - 1, 0 + 1, obj_wriggle.score_current );
|
||||
draw_text( 1260 - 1, 0 + 1, obj_wriggle.score_high );
|
||||
draw_set_halign(fa_left);
|
||||
draw_text( 130 - 1, 0 - 1, "Score: " );
|
||||
draw_text( 730 - 1, 0 - 1, "High: " );
|
||||
draw_text( 2 - 1, 102 - 1, "x" + string( obj_wriggle.score_multiply ) );
|
||||
draw_set_halign(fa_right);
|
||||
draw_text( 700 - 1, 0 - 1, obj_wriggle.score_current );
|
||||
draw_text( 1260 - 1, 0 - 1, obj_wriggle.score_high );
|
||||
draw_set_halign(fa_left);
|
||||
draw_set_font(fn_GUI);
|
||||
draw_set_color(c_white);
|
||||
draw_text( 135, 18, "Lives: " );
|
||||
draw_text( 525, 18, "Spell: " );
|
||||
draw_text( 910, 18, "Shine: " );
|
||||
draw_set_font(fn_dialogue_names);
|
||||
draw_text( 130, 0, "Score: " );
|
||||
draw_text( 730, 0, "High: " );
|
||||
draw_text( 2, 102, "x" + string( obj_wriggle.score_multiply ) );
|
||||
draw_set_halign(fa_right);
|
||||
draw_text( 700, 0, obj_wriggle.score_current );
|
||||
draw_text( 1260, 0, obj_wriggle.score_high );
|
||||
draw_set_halign(fa_left);
|
||||
draw_set_font(fn_GUI);
|
||||
|
||||
if ( instance_exists(obj_boss_parent) ) {
|
||||
with( obj_boss_parent ) {
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
if (!invuln) {
|
||||
hp -= other.damage;
|
||||
}
|
||||
obj_wriggle.hyper_current += .01;
|
||||
if ( point_distance(x, y, obj_wriggle.x, obj_wriggle.y) < 200 ) {
|
||||
obj_wriggle.hyper_current += .03;
|
||||
}
|
||||
if (hp < 60) {
|
||||
audio_play_sound( snd_enemy_hit_deep, 0, false );
|
||||
} else {
|
||||
audio_play_sound( snd_enemy_hit, 0, false );
|
||||
}
|
||||
|
||||
with (other) {
|
||||
instance_destroy();
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
effect_create_below(ef_ring, x, y, 2, c_orange);
|
||||
effect_create_below(ef_ellipse, x, y, 2, c_fuchsia);
|
||||
effect_create_below(ef_ring, x, y, 2, c_white);
|
||||
effect_create_below(ef_ellipse, x, y, 2, c_white);
|
||||
effect_create_below(ef_firework, x, y, 2, c_yellow);
|
||||
effect_create_below(ef_smokeup, x, y, 2, c_silver);
|
||||
audio_play_sound(snd_boss_destroy, 10, false);
|
||||
|
|
|
@ -32,6 +32,7 @@ if ( phase_mode == MODE_CHARGE ) {
|
|||
if ( !charge_timer ) {
|
||||
phase_mode = MODE_ACTIVE;
|
||||
}
|
||||
y = _y;
|
||||
}
|
||||
|
||||
//dialogue
|
||||
|
@ -50,6 +51,7 @@ if ( phase_mode == MODE_APPROACH ) {
|
|||
vspeed = 15 - min( 15, (BOSS_APPROACH_TIME - charge_timer) / 2 );
|
||||
image_angle += 24;
|
||||
if ( !charge_timer ) {
|
||||
_y = y;
|
||||
if ( file_exists( stagename + "_" + bossname + "_dialogue.txt" ) ) { // "stage#_bossname_dialogue.txt"
|
||||
scr_dialogue_start( stagename + "_" + bossname + "_dialogue.txt" );
|
||||
phase_mode = MODE_CHAT;
|
||||
|
|
|
@ -24,8 +24,8 @@
|
|||
{"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"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",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":4,"collisionObjectId":{"name":"obj_player_shot_parent","path":"objects/obj_player_shot_parent/obj_player_shot_parent.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
],
|
||||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
// Inherit the parent event
|
||||
event_inherited();
|
||||
|
||||
phases = 7;
|
||||
current_phase = 0;
|
||||
phase_hp = [];
|
||||
phase_hp[7] = 6500;
|
||||
phase_hp[6] = 5000;
|
||||
phase_hp[5] = 4200;
|
||||
phase_hp[4] = 3000;
|
||||
phase_hp[3] = 3100;
|
||||
phase_hp[2] = 3500;
|
||||
phase_hp[1] = 3400;
|
||||
phase_hp[0] = 3000;
|
||||
stagename = "stage1";
|
||||
bossname = "Nue";
|
||||
boss_title = "An unidentified flying object";
|
||||
hp = phase_hp[current_phase];
|
|
@ -0,0 +1,7 @@
|
|||
effect_create_below(ef_ring, x, y, 2, c_black);
|
||||
effect_create_below(ef_ellipse, x, y, 2, c_red);
|
||||
effect_create_below(ef_firework, x, y, 2, c_fuchsia);
|
||||
effect_create_below(ef_smokeup, x, y, 2, c_silver);
|
||||
audio_play_sound(snd_boss_destroy, 10, false);
|
||||
scr_dialogue_start( "stage1_afterboss_dialogue.txt" );
|
||||
obj_stage_controller.timeline_running = true;
|
|
@ -0,0 +1,136 @@
|
|||
charge_timer--;
|
||||
|
||||
if (hp <= 0) {
|
||||
with (obj_enemy_bullet_parent) {
|
||||
instance_destroy();
|
||||
}
|
||||
if ( current_phase < phases ) {
|
||||
current_phase++;
|
||||
hp = phase_hp[current_phase];
|
||||
charge_timer = BOSS_CHARGE_TIME;
|
||||
phase_mode = MODE_CHARGE;
|
||||
audio_play_sound( snd_boss_spellbreak, 1, false );
|
||||
} else {
|
||||
instance_destroy();
|
||||
}
|
||||
}
|
||||
|
||||
//attack patterns
|
||||
if ( phase_mode == MODE_ACTIVE ) {
|
||||
invuln = false;
|
||||
if ( obj_wriggle.emergency ) {
|
||||
charge_timer++;
|
||||
//stop shooting
|
||||
} else if ( !obj_wriggle.emergency ) {
|
||||
y += (( abs(charge_timer) % 60 ) - 30 ) / 30;
|
||||
|
||||
switch (current_phase) {
|
||||
case 0: {
|
||||
if ( !(abs(charge_timer) % 20) ) {
|
||||
scr_pattern_fire( PATTERN_LANE_RING, 5, obj_bullet_blade );
|
||||
}
|
||||
if ( !(abs(charge_timer) % 120) ) {
|
||||
scr_pattern_fire( PATTERN_RING, 6, obj_bullet_ball );
|
||||
scr_pattern_fire( PATTERN_RING, 5, obj_bullet_ball );
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
if ( !(abs(charge_timer) % 30) ) {
|
||||
scr_pattern_fire( PATTERN_VERT_WALL, 3, obj_bullet_bead );
|
||||
}
|
||||
if ( !(abs(charge_timer) % 10) ) {
|
||||
scr_pattern_fire( PATTERN_RANDOM_SPRAY, 4, obj_bullet_pellet );
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
if ( !(abs(charge_timer) % 180) ) {
|
||||
scr_pattern_fire( PATTERN_SHOTGUN, 3, obj_bullet_blade);
|
||||
}
|
||||
if ( !(abs(charge_timer) % 20) ) {
|
||||
scr_pattern_fire( PATTERN_RANDOM_RING, 5, obj_bullet_card);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
if ( !(abs(charge_timer) % 13) ) {
|
||||
scr_pattern_fire( PATTERN_STREAM_RING, 4, obj_bullet_blade);
|
||||
}
|
||||
if ( !(abs(charge_timer) % 40) ) {
|
||||
scr_pattern_fire( PATTERN_RANDOM_BURST, 5, obj_bullet_bead);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
if ( !(abs(charge_timer) % 40) ) {
|
||||
scr_pattern_fire( PATTERN_SHOTGUN_RING, 4, obj_bullet_diamond );
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 5: {
|
||||
if ( !(abs(charge_timer) % 20) ) {
|
||||
scr_pattern_fire( PATTERN_LANE, 4, obj_bullet_ball );
|
||||
}
|
||||
if ( !(abs(charge_timer) % 60) ) {
|
||||
scr_pattern_fire( PATTERN_LANE_RING, 3, obj_bullet_blade );
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 6: {
|
||||
if ( !(abs(charge_timer) % 60) ) {
|
||||
scr_pattern_fire( PATTERN_SHOTGUN_RING, 4, obj_bullet_diamond );
|
||||
}
|
||||
if ( !((abs(charge_timer) % 30) ) ){
|
||||
scr_pattern_fire( PATTERN_LANE_RING, 5, obj_bullet_blade );
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 7: {
|
||||
if ( !(abs(charge_timer) % 13) ) {
|
||||
scr_pattern_fire( irandom(12), 2 + random(4), choose(obj_bullet_ball, obj_bullet_bead, obj_bullet_blade, obj_bullet_card, obj_bullet_diamond, obj_bullet_pellet));
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//animations in-between phases
|
||||
if ( phase_mode == MODE_CHARGE ) {
|
||||
invuln = true;
|
||||
if ( !charge_timer ) {
|
||||
phase_mode = MODE_ACTIVE;
|
||||
}
|
||||
}
|
||||
|
||||
//dialogue
|
||||
if ( phase_mode == MODE_CHAT ) {
|
||||
invuln = true;
|
||||
if ( !obj_dialogue.dialogue_mode ) {
|
||||
audio_stop_sound( snd_music_stage1 );
|
||||
audio_play_sound( snd_music_st1boss, 0, true );
|
||||
charge_timer = BOSS_CHARGE_TIME;
|
||||
phase_mode = MODE_CHARGE;
|
||||
}
|
||||
}
|
||||
|
||||
//jumping on-screen
|
||||
if ( phase_mode == MODE_APPROACH ) {
|
||||
invuln = true;
|
||||
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( 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;
|
||||
phase_mode = MODE_CHARGE;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_nue",
|
||||
"path": "sprites/spr_nue/spr_nue.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",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":1,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":3,"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_final",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -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",
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
effect_create_below(ef_ring, x, y, 2, c_orange);
|
||||
effect_create_below(ef_ellipse, x, y, 2, c_fuchsia);
|
||||
effect_create_below(ef_firework, x, y, 2, c_yellow);
|
||||
effect_create_below(ef_smokeup, x, y, 2, c_silver);
|
||||
audio_play_sound(snd_boss_destroy, 10, false);
|
||||
scr_dialogue_start( "stage1_aftermid_dialogue.txt" );
|
||||
obj_stage_controller.timeline_running = true;
|
|
@ -0,0 +1,106 @@
|
|||
charge_timer--;
|
||||
|
||||
if (hp <= 0) {
|
||||
with (obj_enemy_bullet_parent) {
|
||||
instance_destroy();
|
||||
}
|
||||
if ( current_phase < phases ) {
|
||||
current_phase++;
|
||||
hp = phase_hp[current_phase];
|
||||
charge_timer = BOSS_CHARGE_TIME;
|
||||
phase_mode = MODE_CHARGE;
|
||||
audio_play_sound( snd_boss_spellbreak, 1, false );
|
||||
} else {
|
||||
instance_destroy();
|
||||
}
|
||||
}
|
||||
|
||||
//attack patterns
|
||||
if ( phase_mode == MODE_ACTIVE ) {
|
||||
invuln = false;
|
||||
|
||||
if ( obj_wriggle.emergency ) {
|
||||
charge_timer++;
|
||||
//stop shooting
|
||||
} else if ( !obj_wriggle.emergency ) {
|
||||
y += (( abs(charge_timer) % 60 ) - 30 ) / 30;
|
||||
|
||||
switch (current_phase) {
|
||||
case 0: {
|
||||
if ( !(abs(charge_timer) % 10) ) {
|
||||
scr_pattern_fire( PATTERN_RANDOM_RING, 3, obj_bullet_card );
|
||||
}
|
||||
if ( !(abs(charge_timer) % 15) ) {
|
||||
scr_pattern_fire( PATTERN_LANE, 6, obj_bullet_diamond );
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
if ( !(abs(charge_timer) % 20) ) {
|
||||
scr_pattern_fire( PATTERN_HORIZ_WALL, 2, obj_bullet_card );
|
||||
scr_pattern_fire( PATTERN_VERT_WALL, 2, obj_bullet_card );
|
||||
}
|
||||
if ( !(abs(charge_timer) % 120) ) {
|
||||
scr_pattern_fire( PATTERN_SHOTGUN, 4, obj_bullet_blade );
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
if ( !(abs(charge_timer) % 180) ) {
|
||||
scr_pattern_fire( PATTERN_AIMED_WAVE, 3, obj_bullet_diamond);
|
||||
scr_pattern_fire( PATTERN_AIMED_WAVE, 2, obj_bullet_diamond);
|
||||
scr_pattern_fire( PATTERN_LANE, 5, obj_bullet_ball);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
if ( !(abs(charge_timer) % 5) ) {
|
||||
scr_pattern_fire( PATTERN_STREAM, 6, obj_bullet_card);
|
||||
}
|
||||
if ( !(abs(charge_timer) % 30) ) {
|
||||
scr_pattern_fire( PATTERN_RANDOM_BURST, 4, obj_bullet_ball);
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//animations in-between phases
|
||||
if ( phase_mode == MODE_CHARGE ) {
|
||||
invuln = true;
|
||||
if ( !charge_timer ) {
|
||||
phase_mode = MODE_ACTIVE;
|
||||
}
|
||||
y = _y;
|
||||
}
|
||||
|
||||
//dialogue
|
||||
if ( phase_mode == MODE_CHAT ) {
|
||||
invuln = true;
|
||||
if ( !obj_dialogue.dialogue_mode ) {
|
||||
charge_timer = BOSS_CHARGE_TIME;
|
||||
phase_mode = MODE_CHARGE;
|
||||
}
|
||||
}
|
||||
|
||||
//jumping on-screen
|
||||
if ( phase_mode == MODE_APPROACH ) {
|
||||
invuln = true;
|
||||
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 ) {
|
||||
_y = y;
|
||||
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;
|
||||
phase_mode = MODE_CHARGE;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -25,6 +25,8 @@
|
|||
"physicsShapePoints": [],
|
||||
"eventList": [
|
||||
{"isDnD":false,"eventNum":0,"eventType":0,"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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
],
|
||||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
"parent": {
|
||||
"name": "enemies",
|
||||
"path": "folders/enemies.yy",
|
||||
"name": "bullets",
|
||||
"path": "folders/enemies/bullets.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "obj_bullet_ball",
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
"parent": {
|
||||
"name": "enemies",
|
||||
"path": "folders/enemies.yy",
|
||||
"name": "bullets",
|
||||
"path": "folders/enemies/bullets.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "obj_bullet_bead",
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
"parent": {
|
||||
"name": "enemies",
|
||||
"path": "folders/enemies.yy",
|
||||
"name": "bullets",
|
||||
"path": "folders/enemies/bullets.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "obj_bullet_blade",
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
"parent": {
|
||||
"name": "enemies",
|
||||
"path": "folders/enemies.yy",
|
||||
"name": "bullets",
|
||||
"path": "folders/enemies/bullets.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "obj_bullet_card",
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
"parent": {
|
||||
"name": "enemies",
|
||||
"path": "folders/enemies.yy",
|
||||
"name": "bullets",
|
||||
"path": "folders/enemies/bullets.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "obj_bullet_diamond",
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
"parent": {
|
||||
"name": "enemies",
|
||||
"path": "folders/enemies.yy",
|
||||
"name": "bullets",
|
||||
"path": "folders/enemies/bullets.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "obj_bullet_pellet",
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
image_speed = 0;
|
||||
image_turner = 60;
|
||||
image_xscale = 1 / 60;
|
||||
image_yscale = 1 / 60;
|
|
@ -0,0 +1,3 @@
|
|||
scr_scores( SCORE_WRITE );
|
||||
audio_stop_all();
|
||||
room_goto(rm_title);
|
|
@ -0,0 +1,9 @@
|
|||
image_turner--;
|
||||
|
||||
if ( image_turner > 0 ) {
|
||||
image_angle += 18;
|
||||
image_xscale = 1 / image_turner;
|
||||
image_yscale = 1 / image_turner;
|
||||
} else {
|
||||
image_speed = 2;
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_congratulations",
|
||||
"path": "sprites/spr_congratulations/spr_congratulations.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": null,
|
||||
"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",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"isDnD":false,"eventNum":7,"eventType":7,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
],
|
||||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
"parent": {
|
||||
"name": "stage",
|
||||
"path": "folders/stage.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "obj_congratulations",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
if ( instance_exists( obj_cutscene_ufo ) ) {
|
||||
move_towards_point(obj_cutscene_ufo.x, obj_cutscene_ufo.y, 6);
|
||||
image_angle += 15;
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_cutscene_mystia",
|
||||
"path": "sprites/spr_cutscene_mystia/spr_cutscene_mystia.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": null,
|
||||
"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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
],
|
||||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
"parent": {
|
||||
"name": "cutscene",
|
||||
"path": "folders/cutscene.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "obj_cutscene_mystia",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
hspeed = -5;
|
|
@ -0,0 +1 @@
|
|||
room_goto_next();
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_cutscene_ufo",
|
||||
"path": "sprites/spr_cutscene_ufo/spr_cutscene_ufo.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": null,
|
||||
"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",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":7,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
],
|
||||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
"parent": {
|
||||
"name": "cutscene",
|
||||
"path": "folders/cutscene.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "obj_cutscene_ufo",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
scr_dialogue_start( "cutscene_dialogue.txt" );
|
|
@ -0,0 +1,3 @@
|
|||
if ( !obj_dialogue.dialogue_mode && !instance_exists(obj_cutscene_ufo) ) {
|
||||
instance_create_layer(1260, 100, "Instances", obj_cutscene_ufo );
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_cutscene_wriggle",
|
||||
"path": "sprites/spr_cutscene_wriggle/spr_cutscene_wriggle.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": null,
|
||||
"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",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
],
|
||||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
"parent": {
|
||||
"name": "cutscene",
|
||||
"path": "folders/cutscene.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "obj_cutscene_wriggle",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -20,7 +20,7 @@ if (dialogue_mode) {
|
|||
actor_left_sprite = asset_get_index( "spr_" + string_lower(actor_left) + "_4_angry" );
|
||||
break;
|
||||
case 5:
|
||||
actor_left_sprite = asset_get_index( "spr_" + string_lower(actor_left) + "_5_sad" );
|
||||
actor_left_sprite = asset_get_index( "spr_" + string_lower(actor_left) + "_5_ouch" );
|
||||
break;
|
||||
default:
|
||||
actor_left_sprite = -1;
|
||||
|
@ -48,7 +48,7 @@ if (dialogue_mode) {
|
|||
actor_right_sprite = asset_get_index( "spr_" + string_lower(actor_right) + "_4_angry" );
|
||||
break;
|
||||
case 5:
|
||||
actor_right_sprite = asset_get_index( "spr_" + string_lower(actor_right) + "_5_sad" );
|
||||
actor_right_sprite = asset_get_index( "spr_" + string_lower(actor_right) + "_5_ouch" );
|
||||
break;
|
||||
default:
|
||||
actor_right_sprite = -1;
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
hp -= other.damage;
|
||||
|
||||
with (other) {
|
||||
instance_destroy();
|
||||
}
|
|
@ -1 +1,3 @@
|
|||
effect_create_below( ef_spark, x, y, 0, c_fuchsia );
|
||||
|
||||
obj_wriggle.score_current += SCORE_BULLET_VALUE * ( obj_wriggle.score_multiply ) * (obj_wriggle.hyper_tier + 1);
|
|
@ -0,0 +1,3 @@
|
|||
gpu_set_blendmode( bm_max );
|
||||
draw_self();
|
||||
gpu_set_blendmode( bm_normal );
|
|
@ -18,6 +18,7 @@ if ( point_distance( x, y, obj_wriggle.x, obj_wriggle.y ) < 64 ) {
|
|||
obj_wriggle.hyper_current += .1;
|
||||
audio_play_sound(snd_graze, 0, false);
|
||||
effect_create_below(ef_spark, obj_wriggle.x, obj_wriggle.y, 0, c_white);
|
||||
obj_wriggle.score_current += SCORE_GRAZE_VALUE * ( obj_wriggle.score_multiply ) * (obj_wriggle.hyper_tier + 1);
|
||||
}
|
||||
|
||||
if ( x < BOUNDARY_LEFT - 128 || x > BOUNDARY_RIGHT + 128 || y < BOUNDARY_TOP - 128 || y > BOUNDARY_BOTTOM + 128 ) {
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
{"isDnD":false,"eventNum":0,"eventType":4,"collisionObjectId":{"name":"obj_wriggle","path":"objects/obj_wriggle/obj_wriggle.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":0,"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":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
],
|
||||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
// Inherit the parent event
|
||||
event_inherited();
|
||||
|
||||
hp = 140;
|
||||
|
||||
pattern_delay = 40 + irandom(20);
|
||||
pattern_delay_target = 120;
|
|
@ -0,0 +1,9 @@
|
|||
// Inherit the parent event
|
||||
event_inherited();
|
||||
|
||||
pattern_delay -= (1 + obj_wriggle.hyper_tier);
|
||||
|
||||
if ( pattern_delay <= 0 && x > 300 ) {
|
||||
scr_pattern_fire( PATTERN_RANDOM_BURST, 1, obj_bullet_pellet );
|
||||
pattern_delay = pattern_delay_target;
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fairy",
|
||||
"path": "sprites/spr_fairy/spr_fairy.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": {
|
||||
"name": "obj_enemy_parent",
|
||||
"path": "objects/obj_enemy_parent/obj_enemy_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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"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_enemy_fairy_A",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fairy_burst",
|
||||
"path": "sprites/spr_fairy_burst/spr_fairy_burst.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": {
|
||||
"name": "obj_enemy_parent",
|
||||
"path": "objects/obj_enemy_parent/obj_enemy_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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"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_enemy_fairy_burst",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fairy",
|
||||
"path": "sprites/spr_fairy/spr_fairy.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": {
|
||||
"name": "obj_enemy_parent",
|
||||
"path": "objects/obj_enemy_parent/obj_enemy_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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"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_enemy_fairy_lane",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fairy",
|
||||
"path": "sprites/spr_fairy/spr_fairy.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": {
|
||||
"name": "obj_enemy_parent",
|
||||
"path": "objects/obj_enemy_parent/obj_enemy_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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"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_enemy_fairy_shotgun",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fluff",
|
||||
"path": "sprites/spr_fluff/spr_fluff.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": {
|
||||
"name": "obj_enemy_parent",
|
||||
"path": "objects/obj_enemy_parent/obj_enemy_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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"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_enemy_popcorn",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -4,6 +4,6 @@ event_inherited();
|
|||
pattern_delay -= (1 + obj_wriggle.hyper_tier);
|
||||
|
||||
if ( pattern_delay <= 0 && x > 300 ) {
|
||||
scr_pattern_fire( PATTERN_LANE, 6, obj_bullet_ball );
|
||||
scr_pattern_fire( PATTERN_LANE, 6, obj_bullet_card );
|
||||
pattern_delay = pattern_delay_target;
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fairy",
|
||||
"path": "sprites/spr_fairy/spr_fairy.yy",
|
||||
"name": "spr_fairy_lane",
|
||||
"path": "sprites/spr_fairy_lane/spr_fairy_lane.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
// Inherit the parent event
|
||||
event_inherited();
|
||||
|
||||
hp = 700;
|
||||
|
||||
pattern_delay = 70 + irandom(20);
|
||||
pattern_delay_target = 120;
|
|
@ -0,0 +1,9 @@
|
|||
// Inherit the parent event
|
||||
event_inherited();
|
||||
|
||||
pattern_delay -= (1 + obj_wriggle.hyper_tier);
|
||||
|
||||
if ( pattern_delay <= 0 && x > 300 ) {
|
||||
scr_pattern_fire( PATTERN_RING, 1, obj_bullet_ball );
|
||||
pattern_delay = pattern_delay_target;
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fairy",
|
||||
"path": "sprites/spr_fairy/spr_fairy.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": {
|
||||
"name": "obj_enemy_parent",
|
||||
"path": "objects/obj_enemy_parent/obj_enemy_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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"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_enemy_fairy_A",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fairy_burst",
|
||||
"path": "sprites/spr_fairy_burst/spr_fairy_burst.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": {
|
||||
"name": "obj_enemy_parent",
|
||||
"path": "objects/obj_enemy_parent/obj_enemy_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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"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_enemy_fairy_burst",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fairy",
|
||||
"path": "sprites/spr_fairy/spr_fairy.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": {
|
||||
"name": "obj_enemy_parent",
|
||||
"path": "objects/obj_enemy_parent/obj_enemy_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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"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_enemy_fairy_lane",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fairy_large",
|
||||
"path": "sprites/spr_fairy_large/spr_fairy_large.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": {
|
||||
"name": "obj_enemy_parent",
|
||||
"path": "objects/obj_enemy_parent/obj_enemy_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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"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_enemy_fairy_large_ring",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fairy",
|
||||
"path": "sprites/spr_fairy/spr_fairy.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": {
|
||||
"name": "obj_enemy_parent",
|
||||
"path": "objects/obj_enemy_parent/obj_enemy_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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"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_enemy_fairy_shotgun",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fluff",
|
||||
"path": "sprites/spr_fluff/spr_fluff.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": {
|
||||
"name": "obj_enemy_parent",
|
||||
"path": "objects/obj_enemy_parent/obj_enemy_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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"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_enemy_popcorn",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fairy",
|
||||
"path": "sprites/spr_fairy/spr_fairy.yy",
|
||||
"name": "spr_fairy_shotgun",
|
||||
"path": "sprites/spr_fairy_shotgun/spr_fairy_shotgun.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_fairy",
|
||||
"path": "sprites/spr_fairy/spr_fairy.yy",
|
||||
"name": "spr_fairy_wave",
|
||||
"path": "sprites/spr_fairy_wave/spr_fairy_wave.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
|
|
|
@ -2,3 +2,7 @@ effect_create_below( ef_ellipse, x, y, 1, c_teal );
|
|||
effect_create_below( ef_smoke, x, y, 0, c_silver );
|
||||
audio_play_sound( snd_enemy_destroy, 0, false );
|
||||
obj_wriggle.hyper_current += 2;
|
||||
if ( !obj_wriggle.bombing ) {
|
||||
obj_wriggle.score_multiply += 100 + (20 * (obj_wriggle.hyper_tier));
|
||||
}
|
||||
obj_wriggle.score_current += SCORE_ENEMY_VALUE * ( obj_wriggle.score_multiply ) * (obj_wriggle.hyper_tier + 1);
|
|
@ -18,7 +18,7 @@
|
|||
"physicsKinematic": false,
|
||||
"physicsShapePoints": [],
|
||||
"eventList": [
|
||||
{"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":4,"collisionObjectId":{"name":"obj_player_shot_parent","path":"objects/obj_player_shot_parent/obj_player_shot_parent.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":4,"collisionObjectId":{"name":"obj_wriggle","path":"objects/obj_wriggle/obj_wriggle.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": {
|
||||
"name": "obj_player_shot",
|
||||
"path": "objects/obj_player_shot/obj_player_shot.yy",
|
||||
"name": "obj_player_shot_parent",
|
||||
"path": "objects/obj_player_shot_parent/obj_player_shot_parent.yy",
|
||||
},
|
||||
"physicsObject": false,
|
||||
"physicsSensor": false,
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
if ( obj_wriggle.hyper_time && damage > 5 ) {
|
||||
with (other) {
|
||||
instance_destroy();
|
||||
}
|
||||
damage--;
|
||||
obj_wriggle.score_multiply++;
|
||||
}
|
|
@ -7,7 +7,10 @@
|
|||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": null,
|
||||
"parentObjectId": {
|
||||
"name": "obj_player_shot_parent",
|
||||
"path": "objects/obj_player_shot_parent/obj_player_shot_parent.yy",
|
||||
},
|
||||
"physicsObject": false,
|
||||
"physicsSensor": false,
|
||||
"physicsShape": 1,
|
||||
|
@ -21,8 +24,7 @@
|
|||
"physicsKinematic": false,
|
||||
"physicsShapePoints": [],
|
||||
"eventList": [
|
||||
{"isDnD":false,"eventNum":0,"eventType":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":4,"collisionObjectId":{"name":"obj_enemy_bullet_parent","path":"objects/obj_enemy_bullet_parent/obj_enemy_bullet_parent.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
],
|
||||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
if ( obj_wriggle.hyper_time && damage >= 5 ) {
|
||||
with (other) {
|
||||
instance_destroy();
|
||||
}
|
||||
}
|
|
@ -1,3 +1,4 @@
|
|||
if ( x > BOUNDARY_RIGHT + 128 || x < BOUNDARY_LEFT - 128 || y > BOUNDARY_BOTTOM + 128 || y < BOUNDARY_TOP - 128 ) {
|
||||
instance_destroy();
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"spriteId": {
|
||||
"name": "spr_player_shot",
|
||||
"path": "sprites/spr_player_shot/spr_player_shot.yy",
|
||||
},
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": null,
|
||||
"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":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
{"isDnD":false,"eventNum":0,"eventType":4,"collisionObjectId":{"name":"obj_enemy_bullet_parent","path":"objects/obj_enemy_bullet_parent/obj_enemy_bullet_parent.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
|
||||
],
|
||||
"properties": [],
|
||||
"overriddenProperties": [],
|
||||
"parent": {
|
||||
"name": "player",
|
||||
"path": "folders/player.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "obj_player_shot",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"spriteId": null,
|
||||
"solid": false,
|
||||
"visible": true,
|
||||
"spriteMaskId": null,
|
||||
"persistent": false,
|
||||
"parentObjectId": null,
|
||||
"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":3,"collisionObjectId":null,"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": "player",
|
||||
"path": "folders/player.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "obj_player_shot_parent",
|
||||
"tags": [],
|
||||
"resourceType": "GMObject",
|
||||
}
|
|
@ -1,6 +1,8 @@
|
|||
lives_current = LIVES_INIT;
|
||||
bombs_current = BOMBS_INIT;
|
||||
hyper_current = HYPER_INIT;
|
||||
score_current = SCORE_ZERO;
|
||||
score_high = scr_scores( SCORE_READ );
|
||||
|
||||
face_dir = RIGHT;
|
||||
|
||||
|
@ -12,6 +14,7 @@ recovery = 0;
|
|||
emergency = 0;
|
||||
hyper_time = 0;
|
||||
hyper_tier = 0;
|
||||
score_multiply = 1;
|
||||
h_move = 0;
|
||||
v_move = 0;
|
||||
shoot_delay = 0;
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
if (score_current > score_high ) {
|
||||
score_high = score_current;
|
||||
}
|
||||
|
||||
hitbox_rotator++;
|
||||
bombing--;
|
||||
recovery--;
|
||||
|
@ -26,9 +30,11 @@ if ( hyper_time <= 0 ) {
|
|||
}
|
||||
if ( lives_current > LIVES_MAX ) {
|
||||
lives_current = LIVES_MAX;
|
||||
score_current += 10000;
|
||||
}
|
||||
if ( bombs_current > BOMBS_MAX ) {
|
||||
bombs_current = BOMBS_MAX;
|
||||
score_current += 10000;
|
||||
}
|
||||
if ( hyper_current > HYPER_MAX ) {
|
||||
hyper_current = HYPER_MAX;
|
||||
|
@ -43,6 +49,7 @@ if ( emergency == 0 ) {
|
|||
hyper_current += HYPER_COST;
|
||||
hyper_time = 0;
|
||||
bombing = 0;
|
||||
score_multiply = score_multiply / 2;
|
||||
respawn = RESPAWN_TIMER;
|
||||
x = SPAWN_X;
|
||||
y = SPAWN_Y;
|
||||
|
@ -76,6 +83,7 @@ if ( input_bomb && !bombing && !recovery && !respawn && !obj_dialogue.dialogue_m
|
|||
bombing = 300;
|
||||
invuln = 360;
|
||||
emergency = -5;
|
||||
score_multiply = score_multiply * (.8);
|
||||
if (hyper_time > 0) {
|
||||
hyper_time = 0;
|
||||
}
|
||||
|
@ -98,6 +106,7 @@ if ( input_bomb && !bombing && !recovery && !respawn && !obj_dialogue.dialogue_m
|
|||
bombs_current -= 1; //costs 1 bomb
|
||||
bombing = 180;
|
||||
invuln = 180;
|
||||
score_multiply = score_multiply * (.8);
|
||||
if (hyper_time > 0) {
|
||||
hyper_time = 0;
|
||||
}
|
||||
|
@ -107,6 +116,12 @@ if ( input_bomb && !bombing && !recovery && !respawn && !obj_dialogue.dialogue_m
|
|||
}
|
||||
}
|
||||
|
||||
score_multiply--;
|
||||
if (score_multiply == 0) {
|
||||
score_multiply = 1;
|
||||
}
|
||||
score_multiply = ceil( score_multiply );
|
||||
|
||||
//movement logic
|
||||
if ( !emergency && !respawn ) {
|
||||
//convert input bools to directions
|
||||
|
@ -221,12 +236,13 @@ if ( !emergency && !respawn && !obj_dialogue.dialogue_mode ) {
|
|||
//death logic
|
||||
if ( lives_current == 0 ) {
|
||||
//TODO: add score and continue logic
|
||||
scr_scores( SCORE_WRITE );
|
||||
audio_stop_all();
|
||||
room_goto(rm_title);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* debug */
|
||||
if (keyboard_check( vk_escape ) ) {
|
||||
game_end();
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
{
|
||||
"isDnd": false,
|
||||
"volume": 1.0,
|
||||
"parentRoom": null,
|
||||
"views": [
|
||||
{"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1280,"hview":720,"xport":0,"yport":0,"wport":1280,"hport":720,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,},
|
||||
{"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1280,"hview":720,"xport":0,"yport":0,"wport":1280,"hport":720,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,},
|
||||
{"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1280,"hview":720,"xport":0,"yport":0,"wport":1280,"hport":720,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,},
|
||||
{"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1280,"hview":720,"xport":0,"yport":0,"wport":1280,"hport":720,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,},
|
||||
{"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1280,"hview":720,"xport":0,"yport":0,"wport":1280,"hport":720,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,},
|
||||
{"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1280,"hview":720,"xport":0,"yport":0,"wport":1280,"hport":720,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,},
|
||||
{"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1280,"hview":720,"xport":0,"yport":0,"wport":1280,"hport":720,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,},
|
||||
{"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1280,"hview":720,"xport":0,"yport":0,"wport":1280,"hport":720,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,},
|
||||
],
|
||||
"layers": [
|
||||
{"instances":[
|
||||
{"properties":[],"isDnd":false,"objectId":{"name":"obj_cutscene_wriggle","path":"objects/obj_cutscene_wriggle/obj_cutscene_wriggle.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":416.0,"y":288.0,"resourceVersion":"1.0","name":"inst_6EF46644","tags":[],"resourceType":"GMRInstance",},
|
||||
{"properties":[],"isDnd":false,"objectId":{"name":"obj_cutscene_mystia","path":"objects/obj_cutscene_mystia/obj_cutscene_mystia.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":992.0,"y":384.0,"resourceVersion":"1.0","name":"inst_13614F48","tags":[],"resourceType":"GMRInstance",},
|
||||
{"properties":[],"isDnd":false,"objectId":{"name":"obj_dialogue","path":"objects/obj_dialogue/obj_dialogue.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":96.0,"y":448.0,"resourceVersion":"1.0","name":"inst_7486C099","tags":[],"resourceType":"GMRInstance",},
|
||||
],"visible":true,"depth":0,"userdefinedDepth":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"resourceVersion":"1.0","name":"Instances","tags":[],"resourceType":"GMRInstanceLayer",},
|
||||
{"spriteId":{"name":"spr_cutscene_bg","path":"sprites/spr_cutscene_bg/spr_cutscene_bg.yy",},"colour":4294967295,"x":0,"y":0,"htiled":false,"vtiled":false,"hspeed":0.0,"vspeed":0.0,"stretch":false,"animationFPS":30.0,"animationSpeedType":0,"userdefinedAnimFPS":false,"visible":true,"depth":100,"userdefinedDepth":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"resourceVersion":"1.0","name":"Background","tags":[],"resourceType":"GMRBackgroundLayer",},
|
||||
],
|
||||
"inheritLayers": false,
|
||||
"creationCodeFile": "",
|
||||
"inheritCode": false,
|
||||
"instanceCreationOrder": [
|
||||
{"name":"inst_7486C099","path":"rooms/rm_cutscene/rm_cutscene.yy",},
|
||||
{"name":"inst_13614F48","path":"rooms/rm_cutscene/rm_cutscene.yy",},
|
||||
{"name":"inst_6EF46644","path":"rooms/rm_cutscene/rm_cutscene.yy",},
|
||||
],
|
||||
"inheritCreationOrder": false,
|
||||
"sequenceId": null,
|
||||
"roomSettings": {
|
||||
"inheritRoomSettings": false,
|
||||
"Width": 1280,
|
||||
"Height": 720,
|
||||
"persistent": false,
|
||||
},
|
||||
"viewSettings": {
|
||||
"inheritViewSettings": false,
|
||||
"enableViews": false,
|
||||
"clearViewBackground": false,
|
||||
"clearDisplayBuffer": true,
|
||||
},
|
||||
"physicsSettings": {
|
||||
"inheritPhysicsSettings": false,
|
||||
"PhysicsWorld": false,
|
||||
"PhysicsWorldGravityX": 0.0,
|
||||
"PhysicsWorldGravityY": 10.0,
|
||||
"PhysicsWorldPixToMetres": 0.1,
|
||||
},
|
||||
"parent": {
|
||||
"name": "thpj3",
|
||||
"path": "thpj3.yyp",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "rm_cutscene",
|
||||
"tags": [],
|
||||
"resourceType": "GMRoom",
|
||||
}
|
|
@ -59,6 +59,13 @@
|
|||
#macro PATTERN_LANE 3
|
||||
#macro PATTERN_RANDOM_BURST 4
|
||||
#macro PATTERN_RING 5
|
||||
#macro PATTERN_RANDOM_RING 6
|
||||
#macro PATTERN_HORIZ_WALL 7
|
||||
#macro PATTERN_VERT_WALL 8
|
||||
#macro PATTERN_RANDOM_SPRAY 9
|
||||
#macro PATTERN_LANE_RING 10
|
||||
#macro PATTERN_SHOTGUN_RING 11
|
||||
#macro PATTERN_STREAM_RING 12
|
||||
|
||||
#macro MODE_APPROACH 0
|
||||
#macro MODE_CHAT 1
|
||||
|
@ -67,6 +74,16 @@
|
|||
#macro BOSS_CHARGE_TIME 120
|
||||
#macro BOSS_APPROACH_TIME 30
|
||||
|
||||
#macro SCORE_READ 0
|
||||
#macro SCORE_WRITE 1
|
||||
#macro SCORE_INIT 2
|
||||
#macro SCORE_ZERO 0
|
||||
#macro SCORE_BULLET_VALUE 100
|
||||
#macro SCORE_ENEMY_VALUE 10000
|
||||
#macro SCORE_GRAZE_VALUE 10
|
||||
|
||||
|
||||
function scr_initialize() {
|
||||
randomize();
|
||||
scr_scores( SCORE_INIT );
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
function scr_pattern_fire( _pattern, _speed, _bullet ) {
|
||||
switch ( _pattern ) {
|
||||
case PATTERN_STREAM:
|
||||
case PATTERN_STREAM: {
|
||||
audio_play_sound( snd_enemy_bullet, 1, false );
|
||||
exy = instance_create_layer( x, y, "enemy", _bullet );
|
||||
with (exy) {
|
||||
|
@ -29,7 +29,8 @@ function scr_pattern_fire( _pattern, _speed, _bullet ) {
|
|||
}
|
||||
}
|
||||
break;
|
||||
case PATTERN_AIMED_WAVE:
|
||||
}
|
||||
case PATTERN_AIMED_WAVE: {
|
||||
audio_play_sound( snd_enemy_bullet, 1, false );
|
||||
for ( var i = 0; i < 5 + (obj_wriggle.hyper_tier * 2); i++ ) {
|
||||
exy = instance_create_layer( x, y, "enemy", _bullet );
|
||||
|
@ -41,7 +42,8 @@ function scr_pattern_fire( _pattern, _speed, _bullet ) {
|
|||
}
|
||||
}
|
||||
break;
|
||||
case PATTERN_SHOTGUN:
|
||||
}
|
||||
case PATTERN_SHOTGUN: {
|
||||
audio_play_sound( snd_enemy_bullet, 1, false );
|
||||
for ( var i = 0; i < 3 + (obj_wriggle.hyper_tier * 2); i++ ) {
|
||||
exy = instance_create_layer( x, y, "enemy", _bullet );
|
||||
|
@ -71,7 +73,8 @@ function scr_pattern_fire( _pattern, _speed, _bullet ) {
|
|||
}
|
||||
}
|
||||
break;
|
||||
case PATTERN_LANE:
|
||||
}
|
||||
case PATTERN_LANE: {
|
||||
audio_play_sound( snd_enemy_bullet, 1, false );
|
||||
for ( var i = 0; i < 5 + (obj_wriggle.hyper_tier * 2); i++ ) {
|
||||
exy = instance_create_layer( x, y, "enemy", _bullet );
|
||||
|
@ -82,7 +85,8 @@ function scr_pattern_fire( _pattern, _speed, _bullet ) {
|
|||
}
|
||||
}
|
||||
break;
|
||||
case PATTERN_RANDOM_BURST:
|
||||
}
|
||||
case PATTERN_RANDOM_BURST: {
|
||||
audio_play_sound( snd_enemy_bullet, 1, false );
|
||||
for ( var i = 0; i < 6 + (obj_wriggle.hyper_tier * 3); i++ ) {
|
||||
exy = instance_create_layer( x, y, "enemy", _bullet );
|
||||
|
@ -93,7 +97,8 @@ function scr_pattern_fire( _pattern, _speed, _bullet ) {
|
|||
}
|
||||
}
|
||||
break;
|
||||
case PATTERN_RING:
|
||||
}
|
||||
case PATTERN_RING: {
|
||||
audio_play_sound( snd_enemy_bullet, 1, false );
|
||||
for ( var i = 0; i < 12 + (obj_wriggle.hyper_tier * 6); i++ ) {
|
||||
exy = instance_create_layer( x, y, "enemy", _bullet );
|
||||
|
@ -104,7 +109,127 @@ function scr_pattern_fire( _pattern, _speed, _bullet ) {
|
|||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
}
|
||||
case PATTERN_RANDOM_RING: {
|
||||
audio_play_sound( snd_enemy_bullet, 1, false );
|
||||
var j = random(4);
|
||||
for ( var i = 0; i < 24 + (obj_wriggle.hyper_tier * 3); i++ ) {
|
||||
exy = instance_create_layer( x - 50 + random(100), y - 200 + random(400), "enemy", _bullet );
|
||||
with (exy) {
|
||||
speed = _speed;
|
||||
friction = -.02 * obj_wriggle.hyper_tier;
|
||||
direction = i * (360 / (24 + obj_wriggle.hyper_tier * 3)) + j;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PATTERN_HORIZ_WALL: {
|
||||
audio_play_sound( snd_enemy_bullet, 1, false );
|
||||
var j = random(10);
|
||||
for ( var i = 0; i < 7 + (obj_wriggle.hyper_tier * 2); i++ ) {
|
||||
exy = instance_create_layer( 1280, 120 + i * (600 / (5 + obj_wriggle.hyper_tier)) + j, "enemy", _bullet );
|
||||
with (exy) {
|
||||
speed = _speed;
|
||||
friction = -.02 * obj_wriggle.hyper_tier;
|
||||
direction = 180;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PATTERN_VERT_WALL: {
|
||||
audio_play_sound( snd_enemy_bullet, 1, false );
|
||||
var j = random(10);
|
||||
for ( var i = 0; i < 10 + (obj_wriggle.hyper_tier * 2); i++ ) {
|
||||
exy = instance_create_layer( 20 + i * (1250 / (5 + obj_wriggle.hyper_tier * 2)) + j, 20, "enemy", _bullet );
|
||||
with (exy) {
|
||||
speed = _speed;
|
||||
friction = -.02 * obj_wriggle.hyper_tier;
|
||||
direction = 270;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PATTERN_RANDOM_SPRAY: {
|
||||
audio_play_sound( snd_enemy_bullet, 1, false );
|
||||
for ( var i = 0; i < 6 + (obj_wriggle.hyper_tier * 3); i++ ) {
|
||||
exy = instance_create_layer( x, y, "enemy", _bullet );
|
||||
with (exy) {
|
||||
speed = _speed + random(2);
|
||||
friction = -.02 * obj_wriggle.hyper_tier;
|
||||
direction = 100 + random(160);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PATTERN_LANE_RING: {
|
||||
audio_play_sound( snd_enemy_bullet, 1, false );
|
||||
var k = random(8);
|
||||
for ( var j = 0; j < 20 + (obj_wriggle.hyper_tier * 3); j++ ) {
|
||||
for ( var i = 0; i < 5 + (obj_wriggle.hyper_tier * 2); i++ ) {
|
||||
exy = instance_create_layer( x, y, "enemy", _bullet );
|
||||
with (exy) {
|
||||
speed = _speed - (i / 2);
|
||||
friction = -.02 * obj_wriggle.hyper_tier;
|
||||
direction = point_direction( x, y, obj_wriggle.x, obj_wriggle.y ) + j * (360 / ( 20 + obj_wriggle.hyper_tier * 3)) + k;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PATTERN_SHOTGUN_RING: {
|
||||
audio_play_sound( snd_enemy_bullet, 1, false );
|
||||
var k = random(6);
|
||||
for ( var j = 0; j < 6 + (obj_wriggle.hyper_tier); j++ ) {
|
||||
for ( var i = 0; i < 3 + (obj_wriggle.hyper_tier * 2); i++ ) {
|
||||
exy = instance_create_layer( x, y, "enemy", _bullet );
|
||||
with (exy) {
|
||||
speed = _speed - 1;
|
||||
friction = -.02 * obj_wriggle.hyper_tier;
|
||||
direction = point_direction( x, y, obj_wriggle.x, obj_wriggle.y )
|
||||
- (10 + 10 * obj_wriggle.hyper_tier) + ( i * (20 + 10 * obj_wriggle.hyper_tier) / (5 + obj_wriggle.hyper_tier * 2) )
|
||||
+ j * (360 / (6 + obj_wriggle.hyper_tier) ) + k;
|
||||
}
|
||||
}
|
||||
for ( var i = 0; i < 3 + (obj_wriggle.hyper_tier * 2); i++ ) {
|
||||
exy = instance_create_layer( x, y, "enemy", _bullet );
|
||||
with (exy) {
|
||||
speed = _speed - .5;
|
||||
friction = -.02 * obj_wriggle.hyper_tier;
|
||||
direction = point_direction( x, y, obj_wriggle.x, obj_wriggle.y )
|
||||
- (10 + 10 * obj_wriggle.hyper_tier) + ( i * (20 + 10 * obj_wriggle.hyper_tier) / (2 + obj_wriggle.hyper_tier * 2) )
|
||||
+ j * (360 / (6 + obj_wriggle.hyper_tier) ) + k;
|
||||
}
|
||||
}
|
||||
for ( var i = 0; i < 3 + (obj_wriggle.hyper_tier * 2); i++ ) {
|
||||
exy = instance_create_layer( x, y, "enemy", _bullet );
|
||||
with (exy) {
|
||||
speed = _speed;
|
||||
friction = -.02 * obj_wriggle.hyper_tier;
|
||||
direction = point_direction( x, y, obj_wriggle.x, obj_wriggle.y )
|
||||
- (10 + 10 * obj_wriggle.hyper_tier) + ( i * (20 + 10 * obj_wriggle.hyper_tier) / (2 + obj_wriggle.hyper_tier * 2) )
|
||||
+ j * (360 / (6 + obj_wriggle.hyper_tier) ) + k;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PATTERN_STREAM_RING: {
|
||||
var _x = x;
|
||||
var _y = y;
|
||||
audio_play_sound( snd_enemy_bullet, 1, false );
|
||||
for ( var i = 0; i < 15 + (obj_wriggle.hyper_tier * 5); i++ ) {
|
||||
exy = instance_create_layer( x + (lengthdir_x(150, i * (360 / (15 + obj_wriggle.hyper_tier * 5 )))),
|
||||
y + (lengthdir_y(150, i * (360 / (15 + obj_wriggle.hyper_tier * 5 )))), "enemy", _bullet );
|
||||
with (exy) {
|
||||
speed = _speed;
|
||||
friction = -.02 * obj_wriggle.hyper_tier;
|
||||
direction = point_direction( _x, _y, obj_wriggle.x, obj_wriggle.y );
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
/// @function scr_scores( _mode);
|
||||
/// @param {real} _mode
|
||||
|
||||
function scr_scores( _mode ) {
|
||||
switch ( _mode ) {
|
||||
case SCORE_READ:
|
||||
if ( file_exists( "scores.txt" ) ) {
|
||||
var file = file_text_open_read( "scores.txt" );
|
||||
var hiscore = 0;
|
||||
var readscore = 0;
|
||||
while ( !file_text_eof(file) ) {
|
||||
readscore = file_text_read_real( file );
|
||||
if ( hiscore < readscore ) {
|
||||
hiscore = readscore;
|
||||
}
|
||||
file_text_readln(file);
|
||||
}
|
||||
}
|
||||
return hiscore;
|
||||
case SCORE_WRITE:
|
||||
if ( file_exists( "scores.txt" ) ) {
|
||||
var file = file_text_open_append( "scores.txt" );
|
||||
file_text_write_real( file, obj_wriggle.score_current );
|
||||
file_text_writeln(file);
|
||||
file_text_close(file);
|
||||
}
|
||||
return 0;
|
||||
case SCORE_INIT:
|
||||
if ( !file_exists( "scores.txt" ) ) {
|
||||
var file = file_text_open_write( "scores.txt" );
|
||||
file_text_write_real( file, 0 );
|
||||
file_text_writeln(file);
|
||||
file_text_close(file);
|
||||
}
|
||||
return 0;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "thpj3",
|
||||
"path": "thpj3.yyp",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "scr_scores",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"compression": 0,
|
||||
"volume": 1.0,
|
||||
"preload": false,
|
||||
"bitRate": 128,
|
||||
"sampleRate": 44100,
|
||||
"type": 0,
|
||||
"bitDepth": 1,
|
||||
"audioGroupId": {
|
||||
"name": "audiogroup_default",
|
||||
"path": "audiogroups/audiogroup_default",
|
||||
},
|
||||
"soundFile": "snd_music_st1boss",
|
||||
"duration": 0.0,
|
||||
"parent": {
|
||||
"name": "stage",
|
||||
"path": "folders/stage.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "snd_music_st1boss",
|
||||
"tags": [],
|
||||
"resourceType": "GMSound",
|
||||
}
|
|
@ -77,8 +77,8 @@
|
|||
],
|
||||
"nineSlice": null,
|
||||
"parent": {
|
||||
"name": "enemies",
|
||||
"path": "folders/enemies.yy",
|
||||
"name": "bullets",
|
||||
"path": "folders/enemies/bullets.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "spr_bullet_ball",
|
||||
|
|
|
@ -77,8 +77,8 @@
|
|||
],
|
||||
"nineSlice": null,
|
||||
"parent": {
|
||||
"name": "enemies",
|
||||
"path": "folders/enemies.yy",
|
||||
"name": "bullets",
|
||||
"path": "folders/enemies/bullets.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "spr_bullet_bead",
|
||||
|
|
|
@ -77,8 +77,8 @@
|
|||
],
|
||||
"nineSlice": null,
|
||||
"parent": {
|
||||
"name": "enemies",
|
||||
"path": "folders/enemies.yy",
|
||||
"name": "bullets",
|
||||
"path": "folders/enemies/bullets.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "spr_bullet_blade",
|
||||
|
|
|
@ -69,8 +69,8 @@
|
|||
],
|
||||
"nineSlice": null,
|
||||
"parent": {
|
||||
"name": "enemies",
|
||||
"path": "folders/enemies.yy",
|
||||
"name": "bullets",
|
||||
"path": "folders/enemies/bullets.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "spr_bullet_card",
|
||||
|
|
|
@ -156,8 +156,8 @@
|
|||
],
|
||||
"nineSlice": null,
|
||||
"parent": {
|
||||
"name": "enemies",
|
||||
"path": "folders/enemies.yy",
|
||||
"name": "bullets",
|
||||
"path": "folders/enemies/bullets.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "spr_bullet_diamond",
|
||||
|
|
|
@ -77,8 +77,8 @@
|
|||
],
|
||||
"nineSlice": null,
|
||||
"parent": {
|
||||
"name": "enemies",
|
||||
"path": "folders/enemies.yy",
|
||||
"name": "bullets",
|
||||
"path": "folders/enemies/bullets.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "spr_bullet_pellet",
|
||||
|
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 6.0 KiB |
|
@ -8,8 +8,8 @@
|
|||
"collisionTolerance": 0,
|
||||
"swfPrecision": 2.525,
|
||||
"bbox_left": 26,
|
||||
"bbox_right": 228,
|
||||
"bbox_top": 3,
|
||||
"bbox_right": 230,
|
||||
"bbox_top": 2,
|
||||
"bbox_bottom": 250,
|
||||
"HTile": false,
|
||||
"VTile": false,
|
||||
|
|
Before Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 9.5 KiB |
|
@ -9,7 +9,7 @@
|
|||
"swfPrecision": 2.525,
|
||||
"bbox_left": 0,
|
||||
"bbox_right": 255,
|
||||
"bbox_top": 56,
|
||||
"bbox_top": 16,
|
||||
"bbox_bottom": 599,
|
||||
"HTile": false,
|
||||
"VTile": false,
|
||||
|
@ -24,9 +24,9 @@
|
|||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"frames": [
|
||||
{"compositeImage":{"FrameId":{"name":"50a9b008-ee6b-4489-bb9c-2f24ac5fd609","path":"sprites/spr_byakuren_0_neutral/spr_byakuren_0_neutral.yy",},"LayerId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",},"images":[
|
||||
{"FrameId":{"name":"50a9b008-ee6b-4489-bb9c-2f24ac5fd609","path":"sprites/spr_byakuren_0_neutral/spr_byakuren_0_neutral.yy",},"LayerId":{"name":"103eb838-b55c-4b6f-bb02-e60e8dd580e3","path":"sprites/spr_byakuren_0_neutral/spr_byakuren_0_neutral.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",},
|
||||
],"parent":{"name":"spr_byakuren_0_neutral","path":"sprites/spr_byakuren_0_neutral/spr_byakuren_0_neutral.yy",},"resourceVersion":"1.0","name":"50a9b008-ee6b-4489-bb9c-2f24ac5fd609","tags":[],"resourceType":"GMSpriteFrame",},
|
||||
{"compositeImage":{"FrameId":{"name":"87bdd3b0-c568-464a-841b-256855d03c3a","path":"sprites/spr_byakuren_0_neutral/spr_byakuren_0_neutral.yy",},"LayerId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",},"images":[
|
||||
{"FrameId":{"name":"87bdd3b0-c568-464a-841b-256855d03c3a","path":"sprites/spr_byakuren_0_neutral/spr_byakuren_0_neutral.yy",},"LayerId":{"name":"103eb838-b55c-4b6f-bb02-e60e8dd580e3","path":"sprites/spr_byakuren_0_neutral/spr_byakuren_0_neutral.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",},
|
||||
],"parent":{"name":"spr_byakuren_0_neutral","path":"sprites/spr_byakuren_0_neutral/spr_byakuren_0_neutral.yy",},"resourceVersion":"1.0","name":"87bdd3b0-c568-464a-841b-256855d03c3a","tags":[],"resourceType":"GMSpriteFrame",},
|
||||
],
|
||||
"sequence": {
|
||||
"spriteId": {"name":"spr_byakuren_0_neutral","path":"sprites/spr_byakuren_0_neutral/spr_byakuren_0_neutral.yy",},
|
||||
|
@ -41,7 +41,7 @@
|
|||
"moments": {"Keyframes":[],"resourceVersion":"1.0","resourceType":"KeyframeStore<MomentsEventKeyframe>",},
|
||||
"tracks": [
|
||||
{"name":"frames","spriteId":null,"keyframes":{"Keyframes":[
|
||||
{"id":"c5fe93c1-cec8-45c0-859a-134b42f28534","Key":0.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"50a9b008-ee6b-4489-bb9c-2f24ac5fd609","path":"sprites/spr_byakuren_0_neutral/spr_byakuren_0_neutral.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe<SpriteFrameKeyframe>",},
|
||||
{"id":"4bb19809-6404-4106-8fca-5d645249a02e","Key":0.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"87bdd3b0-c568-464a-841b-256855d03c3a","path":"sprites/spr_byakuren_0_neutral/spr_byakuren_0_neutral.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe<SpriteFrameKeyframe>",},
|
||||
],"resourceVersion":"1.0","resourceType":"KeyframeStore<SpriteFrameKeyframe>",},"trackColour":0,"inheritsTrackColour":true,"builtinName":0,"traits":0,"interpolation":1,"tracks":[],"events":[],"modifiers":[],"isCreationTrack":false,"resourceVersion":"1.0","tags":[],"resourceType":"GMSpriteFramesTrack",},
|
||||
],
|
||||
"visibleRange": null,
|
||||
|
|