jam release

This commit is contained in:
Jennifer Hogueison 2022-06-30 22:16:34 -07:00
parent 228c74d7fc
commit 867c6e5bb6
427 changed files with 5492 additions and 268 deletions

View File

@ -57,7 +57,7 @@ So you're going to be mad at me no matter what my #intentions are? That's pretty
Marisa
1
Yuuka
I'm not mad at you. I'm actually happy you're here. #I wanted a private chat with you anyway.
I'm not mad at you! I'm actually happy you're here. #I wanted a private chat with you anyway.
1
0
Marisa
@ -69,7 +69,7 @@ I had intended to pass my most powerful technique #on to whoever could withstand
Marisa
0
Yuuka
I'm listening.
... #I'm listening.
1
1
Marisa

View File

@ -0,0 +1,30 @@
1
0
Marisa
5
Yuuka
Uwaaaaaaah! You got me!
0
1
Marisa
5
Yuuka
Haha! I got you!
0
1
Marisa
5
Yuuka
Those were some powerful lasers. Are you sure it's safe #for one such as I to wield them?
1
1
Marisa
5
Yuuka
You concern yourself with safety? The forbidden technique, #the great [Master Spark] is yours at last!
1
1
Marisa
5
Yuuka
Please, demonstrate what you have learned. Do not hold back. #In phantasmagoria you may use your full power without fear.

View File

@ -0,0 +1,42 @@
1
0
Marisa
5
Yuuka
Concentrate your mind!
0
0
Marisa
5
Yuuka
Okay... I need to concentrate...
1
0
Marisa
5
Yuuka
Mutter the spell to your Mini-Hakkero tenderly~ <3
0
0
Marisa
5
Yuuka
*whispering sweet nothings that encompass everything*
1
0
Marisa
5
Yuuka
Aim at someone you don't like...
0
0
Marisa
5
Yuuka
'Love' isn't necessarily 'like'. Taking aim.
1
1
Marisa
5
Yuuka
Now, unleash your annihilation of love!!!

View File

@ -0,0 +1,30 @@
1
1
Marisa
5
Yuuka
That was indeed an impressive Spark. My knowledge #will not leave this world easily. Thank you, Marisa.
1
1
Marisa
5
Yuuka
Now it's time for me to explode.
0
3
Marisa
5
Yuuka
wait but why?
1
3
Marisa
5
Yuuka
It's just what bottoms do after a date in this world. #Even if this wasn't a dream I'd be perfectly safe, don't worry.
1
3
Marisa
5
Yuuka
See you in the waking world, my love~ <3

View File

@ -8,17 +8,5 @@ Yuuka! I know that's you! Is this another of your tricks?
4
Marisa
0
Wriggle
___
I, uh, am flattered? Lady Yuuka isn't here right now, though.
1
4
Marisa
3
Wriggle
Wait, have I met you before?
0
3
Marisa
3
Wriggle
I, um... don't believe so? I get the feeling it'd be inevitable #at some point, though.

View File

@ -1,3 +1,15 @@
1
4
Marisa
3
Wriggle
Wait, have I met you before?
0
3
Marisa
3
Wriggle
I, um... don't believe so? I get the feeling it'd be inevitable #at some point, though.
0
4
Marisa

View File

@ -1,2 +1,10 @@
if (!audio_is_playing(areatheme)) {
audio_stop_sound(lovecoloredweh);
audio_stop_sound(inaudibledream);
audio_stop_sound(mooninginsect);
audio_play_sound(areatheme, 0, true);
}
global.camera = view_camera[0];
counter = 0;

View File

@ -22,29 +22,27 @@ if (!global.cutscene_mode) {
}
}
draw_set_font(fn_cursive);
draw_set_font(fn_dialogue_names);
draw_set_color(c_white);
draw_text( dx+360, dy+10, "Score: " );
draw_text( dx+360, dy+25, "Shot: " );
draw_text( dx+370, dy+18, "Shot: " );
if (instance_exists(obj_marisa) ) {
draw_set_halign(fa_right);
draw_text( dx+625, dy+13, obj_marisa.point);
switch (obj_marisa.powerup) {
case PLAYER_POWERUP_NORMAL: {
draw_text( dx+625, dy+33, "NORMAL");
draw_text( dx+615, dy+18, "NORMAL");
break;
}
case PLAYER_POWERUP_FLAMES: {
draw_text( dx+625, dy+33, "F. THROWER " + string(obj_marisa.powerup_ammo));
draw_text( dx+615, dy+18, "F. THROWER " + string(obj_marisa.powerup_ammo));
break;
}
case PLAYER_POWERUP_LASER: {
draw_text( dx+625, dy+33, "ILLUSION L. " + string(obj_marisa.powerup_ammo));
draw_text( dx+615, dy+18, "ILLUSION L. " + string(obj_marisa.powerup_ammo));
break;
}
case PLAYER_POWERUP_MISSILE: {
draw_text( dx+625, dy+33, "M. MISSILE " + string(obj_marisa.powerup_ammo));
draw_text( dx+615, dy+18, "M. MISSILE " + string(obj_marisa.powerup_ammo));
break;
}
default: {
@ -54,3 +52,4 @@ if (!global.cutscene_mode) {
draw_set_halign(fa_left);
}
}

View File

@ -22,6 +22,7 @@
"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",},
],
"properties": [],
"overriddenProperties": [],

View File

@ -0,0 +1,3 @@
hp = 1000;
butterfly = 100;
pathing = false;

View File

@ -0,0 +1,13 @@
effect_create_below(ef_ring, x, y, 1, c_blue);effect_create_below(ef_ellipse, x, y, 1, c_maroon);
effect_create_below(ef_firework, x, y, 1, c_lime);
effect_create_below(ef_smokeup, x, y, 1, c_silver);
audio_play_sound(snd_boss_destroy, 10, false);
if (!audio_is_playing(areatheme)) {
audio_stop_sound(lovecoloredweh);
audio_stop_sound(inaudibledream);
audio_stop_sound(mooninginsect);
audio_play_sound(areatheme, 0, true);
}
instance_create_layer(x, y, "lyr_ground", obj_powerup);

View File

@ -0,0 +1 @@
draw_sprite(spr_dropshadow, 0, x, y + 40);draw_self();

View File

@ -0,0 +1,30 @@
event_inherited();
if ( global.combat_mode ) {
if (!pathing) {
path_start(pth_wrigglewalk, 3, path_action_reverse, false);
pathing = true;
}
butterfly--;
if (butterfly <= 0) {
bullet_a = instance_create_layer(x, y, "lyr_ground", obj_wriggle_butterfly);
with (bullet_a) {
lifetime = 600;
speed = 2;
direction = point_direction(x, y, obj_marisa.x, obj_marisa.y) + 45;
}
bullet_b = instance_create_layer(x, y, "lyr_ground", obj_wriggle_butterfly);
with (bullet_b) {
lifetime = 600;
speed = 2;
direction = point_direction(x, y, obj_marisa.x, obj_marisa.y) - 45;
}
butterfly = 420;
}
}

View File

@ -0,0 +1,42 @@
{
"spriteId": {
"name": "spr_boss_wriggle",
"path": "sprites/spr_boss_wriggle/spr_boss_wriggle.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":8,"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",},
{"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
],
"properties": [],
"overriddenProperties": [],
"parent": {
"name": "actors",
"path": "folders/actors.yy",
},
"resourceVersion": "1.0",
"name": "obj_boss_wriggle",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -0,0 +1,10 @@
event_inherited();
swap = false;
cutscene_anim = false;
combat_moveback = true;
sparkdrop = 100;
hp = 1500;

View File

@ -1 +1,4 @@
instance_create_layer(x,y,"lyr_terrain", obj_cutscene_final)
with (obj_master_spark) {
instance_destroy();
}
instance_create_layer(x,y,"lyr_ground", obj_cutscene_final)

View File

@ -0,0 +1 @@
draw_sprite(spr_dropshadow, 0, x, y + 40);draw_self();

View File

@ -0,0 +1,45 @@
if (hp <= 0) {
instance_destroy();
}
if (!cutscene_anim) {
image_index = (direction + 22.5) / 45;
if (direction + 22.5 >= 360 ) {
image_index = 0;
}
}
if (cutscene_anim && !swap ) {
sprite_index = spr_yuuka_cutscene;
image_index = 0;
swap = true;
}
if (cutscene_anim && swap && image_index == 3) {
image_speed = 0;
image_index = 3;
}
if (global.combat_mode) {
if (combat_moveback) {
move_towards_point(736, 360, 6);
if (x > 730 && x < 742 && y > 354 && y < 366) {
combat_moveback = false;
path_start(pth_yuukawalk, 4, path_action_restart, false);
}
}
if (!combat_moveback) {
sparkdrop--;
if (sparkdrop <= 0) {
sparkdrop = 200;
spark = instance_create_layer(x, y, "lyr_ground", obj_master_spark);
with (spark) {
direction = point_direction(x, y, obj_marisa.x, obj_marisa.y);
image_angle = direction;
}
audio_play_sound(snd_spark, 10, false);
}
}
}

View File

@ -1,7 +1,7 @@
{
"spriteId": {
"name": "spr_enemy_placeholder",
"path": "sprites/spr_enemy_placeholder/spr_enemy_placeholder.yy",
"name": "spr_boss_yuuka",
"path": "sprites/spr_boss_yuuka/spr_boss_yuuka.yy",
},
"solid": false,
"visible": true,
@ -25,6 +25,9 @@
"physicsShapePoints": [],
"eventList": [
{"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",},
{"isDnD":false,"eventNum":0,"eventType":0,"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": [],

View File

@ -1,6 +1,13 @@
if (!global.cutscene_mode) {
yuuka = instance_create_layer(736, 608, "lyr_ground", obj_boss_yuuka );
with (yuuka) {
direction = 270;
}
lockcam = instance_nearest(x,y,obj_cutscene_camera);
global.cutscene_mode = true;
global.cutscene_number = CUTSCENE_BOSS;
timeline_index = tml_cutscene_boss;
}

View File

@ -0,0 +1 @@

View File

@ -4,7 +4,7 @@
"path": "sprites/spr_cutscene/spr_cutscene.yy",
},
"solid": false,
"visible": true,
"visible": false,
"spriteMaskId": null,
"persistent": false,
"parentObjectId": null,
@ -24,6 +24,7 @@
{"isDnD":false,"eventNum":0,"eventType":4,"collisionObjectId":{"name":"obj_marisa","path":"objects/obj_marisa/obj_marisa.yy",},"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",},
{"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
],
"properties": [],
"overriddenProperties": [],

View File

@ -4,7 +4,7 @@
"path": "sprites/spr_camera/spr_camera.yy",
},
"solid": false,
"visible": true,
"visible": false,
"spriteMaskId": null,
"persistent": false,
"parentObjectId": null,

View File

@ -1,5 +1,9 @@
global.cutscene_mode = false;
global.cutscene_number = CUTSCENE_NOSCENE;
global.dialogue_mode = false;
timeline_running = false;
effect_create_below(ef_ring, x, y, 1, c_maroon);
effect_create_below(ef_ellipse, x, y, 1, c_fuchsia);
effect_create_below(ef_firework, x, y, 1, c_green);
effect_create_below(ef_smokeup, x, y, 1, c_white);
audio_play_sound(snd_boss_destroy, 10, false);
ender = instance_create_layer(x, y, "lyr_UI", obj_ender);

View File

@ -1,7 +1,7 @@
{
"spriteId": {
"name": "spr_cutscene",
"path": "sprites/spr_cutscene/spr_cutscene.yy",
"name": "spr_boss_yuuka",
"path": "sprites/spr_boss_yuuka/spr_boss_yuuka.yy",
},
"solid": false,
"visible": true,

View File

@ -4,7 +4,7 @@
"path": "sprites/spr_cutscene/spr_cutscene.yy",
},
"solid": false,
"visible": true,
"visible": false,
"spriteMaskId": null,
"persistent": false,
"parentObjectId": null,

View File

@ -4,7 +4,7 @@
"path": "sprites/spr_cutscene/spr_cutscene.yy",
},
"solid": false,
"visible": true,
"visible": false,
"spriteMaskId": null,
"persistent": false,
"parentObjectId": null,

View File

@ -64,7 +64,7 @@ if (global.dialogue_mode) {
if (text_advance_ready == TEXT_TYPING ) {
textspew += string_char_at(texttarget, spewlength);
//audio_play_sound( snd_typewriter, 0, false );
audio_play_sound( snd_typewriter, 0, false );
spewlength++;
if (keyboard_check_pressed(ord("Z"))) {
// if ( scr_input_get(INPUT_SHOT_LEFT) || scr_input_get(INPUT_SHOT_RIGHT) ) {
@ -102,3 +102,4 @@ if (global.dialogue_mode) {

View File

@ -0,0 +1 @@
end_timer = 180;

View File

@ -0,0 +1,3 @@
draw_set_color(c_black);
draw_set_alpha(1 - (end_timer / 100));
draw_rectangle(0, 0, 3000, 3000, false);

View File

@ -0,0 +1,11 @@
end_timer--;
if (end_timer <= 0) {
global.cutscene_mode = false;
global.cutscene_number = CUTSCENE_NOSCENE;
global.dialogue_mode = false;
timeline_running = false;
room_goto_next();
}

View File

@ -0,0 +1,38 @@
{
"spriteId": {
"name": "spr_controller",
"path": "sprites/spr_controller/spr_controller.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":0,"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": "UI",
"path": "folders/UI.yy",
},
"resourceVersion": "1.0",
"name": "obj_ender",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -1 +0,0 @@
direction++;

View File

@ -0,0 +1 @@
move_towards_point(obj_marisa.x, obj_marisa.y, 1);

View File

@ -1,7 +1,7 @@
{
"spriteId": {
"name": "spr_enemy_placeholder",
"path": "sprites/spr_enemy_placeholder/spr_enemy_placeholder.yy",
"name": "spr_enemy_chaser",
"path": "sprites/spr_enemy_chaser/spr_enemy_chaser.yy",
},
"solid": false,
"visible": true,
@ -33,7 +33,7 @@
"path": "folders/actors.yy",
},
"resourceVersion": "1.0",
"name": "obj_enemy_basic",
"name": "obj_enemy_chaser",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -0,0 +1,12 @@
// Inherit the parent event
event_inherited();
shootdelay = 20;
rundelay = 320;
volley = 0;
runtarget_x = x;
runtarget_y = y;
targeting = false;
hp = 250;

View File

@ -0,0 +1,3 @@
event_inherited();
instance_create_layer(x,y, "lyr_ground", obj_powerup);

View File

@ -0,0 +1,41 @@
shootdelay--;
rundelay--;
if (shootdelay <= 0 && volley < 4) {
shootdelay = 30;
volley++;
audio_play_sound(snd_enemy_bullet, 10, false);
shoot = instance_create_layer(x, y, "lyr_ground", obj_enemy_shooter_bullet);
with (shoot) {
speed = 2;
direction = point_direction(x, y, obj_marisa.x, obj_marisa.y) - 20;
}
shoot = instance_create_layer(x, y, "lyr_ground", obj_enemy_shooter_bullet);
with (shoot) {
speed = 2;
direction = point_direction(x, y, obj_marisa.x, obj_marisa.y);
}
shoot = instance_create_layer(x, y, "lyr_ground", obj_enemy_shooter_bullet);
with (shoot) {
speed = 2;
direction = point_direction(x, y, obj_marisa.x, obj_marisa.y) + 20;
}
}
if (rundelay <= 0) {
if (!targeting) {
runtarget_x = obj_marisa.x;
runtarget_y = obj_marisa.y;
targeting = true;
}
if (targeting) {
move_towards_point(runtarget_x, runtarget_y, 3);
if (x < runtarget_x + 10 && x > runtarget_x - 10 && y < runtarget_y + 10 && y > runtarget_y - 10) {
speed = 0;
rundelay = 300;
volley = 0;
targeting = false;
}
}
}

View File

@ -0,0 +1,41 @@
{
"spriteId": {
"name": "spr_enemy_large",
"path": "sprites/spr_enemy_large/spr_enemy_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":1,"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",},
{"isDnD":false,"eventNum":0,"eventType":1,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
],
"properties": [],
"overriddenProperties": [],
"parent": {
"name": "actors",
"path": "folders/actors.yy",
},
"resourceVersion": "1.0",
"name": "obj_enemy_large",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -0,0 +1,5 @@
hp -= SHOT_FLAME_DAMAGE;

View File

@ -0,0 +1,9 @@
with (other) {
instance_destroy();
}
hp -= SHOT_MISSILE_DAMAGE;

View File

@ -2,10 +2,5 @@ with (other) {
instance_destroy();
}
hp -= 1;
if (hp <= 0) {
instance_destroy();
}
hp -= SHOT_NORMAL_DAMAGE;

View File

@ -0,0 +1 @@
effect_create_above(ef_flare, x, y, 1, make_color_rgb(irandom(255), irandom(255), irandom(255)));audio_play_sound(snd_enemy_destroy, 10, false);

View File

@ -2,3 +2,8 @@ image_index = (direction + 22.5) / 45;
if (direction + 22.5 >= 360 ) {
image_index = 0;
}
if (hp <= 0) {
instance_destroy();
}

View File

@ -21,6 +21,9 @@
{"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
{"isDnD":false,"eventNum":0,"eventType":4,"collisionObjectId":{"name":"obj_marisa_shot","path":"objects/obj_marisa_shot/obj_marisa_shot.yy",},"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_marisa_flame","path":"objects/obj_marisa_flame/obj_marisa_flame.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
{"isDnD":false,"eventNum":0,"eventType":4,"collisionObjectId":{"name":"obj_marisa_missile","path":"objects/obj_marisa_missile/obj_marisa_missile.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
{"isDnD":false,"eventNum":0,"eventType":1,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
],
"properties": [],
"overriddenProperties": [],

View File

@ -0,0 +1,5 @@
// Inherit the parent event
event_inherited();
shootdelay = 20;
hp = 30;

View File

@ -0,0 +1,11 @@
shootdelay--;
if (shootdelay <= 0) {
shootdelay = 40;
audio_play_sound(snd_enemy_bullet, 10, false);
shoot = instance_create_layer(x, y, "lyr_ground", obj_enemy_shooter_bullet);
with (shoot) {
speed = 3;
direction = point_direction(x, y, obj_marisa.x, obj_marisa.y);
}
}

View File

@ -0,0 +1,40 @@
{
"spriteId": {
"name": "spr_enemy_shooter",
"path": "sprites/spr_enemy_shooter/spr_enemy_shooter.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":1,"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": "actors",
"path": "folders/actors.yy",
},
"resourceVersion": "1.0",
"name": "obj_enemy_shooter",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -0,0 +1,37 @@
{
"spriteId": {
"name": "spr_enemy_shooter_bullet",
"path": "sprites/spr_enemy_shooter_bullet/spr_enemy_shooter_bullet.yy",
},
"solid": false,
"visible": true,
"spriteMaskId": null,
"persistent": false,
"parentObjectId": {
"name": "obj_enemy_shot_parent",
"path": "objects/obj_enemy_shot_parent/obj_enemy_shot_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": [],
"properties": [],
"overriddenProperties": [],
"parent": {
"name": "sunflowers-in-the-rain",
"path": "sunflowers-in-the-rain.yyp",
},
"resourceVersion": "1.0",
"name": "obj_enemy_shooter_bullet",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -0,0 +1,5 @@
hp -= SHOT_FLAME_DAMAGE;

View File

@ -0,0 +1,9 @@
with (other) {
instance_destroy();
}
hp -= SHOT_MISSILE_DAMAGE;

View File

@ -0,0 +1,6 @@
with (other) {
instance_destroy();
}
hp -= SHOT_NORMAL_DAMAGE;

View File

@ -0,0 +1 @@
lifetime = 100;

View File

@ -0,0 +1,4 @@
lifetime--;
if (lifetime <= 0) {
instance_destroy();
}

View File

@ -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":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": "actors",
"path": "folders/actors.yy",
},
"resourceVersion": "1.0",
"name": "obj_enemy_shot_parent",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -1,5 +1,6 @@
if (!instance_exists( obj_enemy_basic ) ) {
if (!instance_exists( obj_enemy_parent ) ) {
global.combat_mode = false;
instance_deactivate_object(self);
}

View File

@ -0,0 +1,5 @@
dspeed = 2;
direction = random(360);

View File

@ -0,0 +1 @@
draw_sprite(spr_dropshadow, 0, x, y + 40);draw_self();

View File

@ -0,0 +1,11 @@
if (!place_meeting( x + lengthdir_x( dspeed, direction ), y, obj_wall ) ) { x += lengthdir_x( dspeed, direction );
} else {
direction = 180 - direction;
x += lengthdir_x( dspeed, direction );
}
if (!place_meeting( x, y + lengthdir_y( dspeed, direction ), obj_wall ) ) {
y += lengthdir_y( dspeed, direction );
} else {
direction = -direction;
y += lengthdir_y( dspeed, direction );
}

View File

@ -0,0 +1,38 @@
{
"spriteId": {
"name": "spr_heartup",
"path": "sprites/spr_heartup/spr_heartup.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":8,"collisionObjectId":null,"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",},
],
"properties": [],
"overriddenProperties": [],
"parent": {
"name": "actors",
"path": "folders/actors.yy",
},
"resourceVersion": "1.0",
"name": "obj_heartup",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -0,0 +1,17 @@
if (invuln <= 0) {
hp -= 1;
invuln = 90;
target_speed = 12;
dspeed = 12;
target_direction = point_direction(other.x,other.y,x,y);
direction = target_direction;
audio_play_sound(snd_ow, 10, false);
}
if (hp < 1) {
global.cutscene_mode = false;
global.cutscene_number = CUTSCENE_NOSCENE;
global.dialogue_mode = false;
room_goto(rm_game);
}

View File

@ -0,0 +1,18 @@
if (invuln <= 0) {
hp -= 1;
invuln = 90;
target_speed = 12;
dspeed = 12;
target_direction = point_direction(other.x,other.y,x,y);
direction = target_direction;
audio_play_sound(snd_ow, 10, false);
}
if (hp < 1) {
global.cutscene_mode = false;
global.cutscene_number = CUTSCENE_NOSCENE;
global.dialogue_mode = false;
room_goto(rm_game);
}

View File

@ -0,0 +1,9 @@
hp = 10;
audio_play_sound(snd_boss_laugh, 10, false);
with (other) {
instance_destroy();
}

View File

@ -0,0 +1,24 @@
if (global.combat_mode && other.expander > 0 && other.expander < 80) {
if (invuln <= 0) {
hp -= 1;
invuln = 90;
target_speed = 12;
dspeed = 12;
target_direction = point_direction(other.x,other.y,x,y);
direction = target_direction;
audio_play_sound(snd_ow, 10, false);
}
if (hp < 1) {
global.cutscene_mode = false;
global.cutscene_number = CUTSCENE_NOSCENE;
global.dialogue_mode = false;
room_goto(rm_game);
}
}

View File

@ -0,0 +1,25 @@
switch ( ceil(other.image_index) ) { case PLAYER_POWERUP_FLAMES: {
powerup_ammo = 500;
powerup = PLAYER_POWERUP_FLAMES;
break;
}
case PLAYER_POWERUP_LASER: {
powerup_ammo = 50;
powerup = PLAYER_POWERUP_LASER;
break;
}
case PLAYER_POWERUP_MISSILE: {
powerup_ammo = 200;
powerup = PLAYER_POWERUP_MISSILE;
break;
}
default: {
break;
}
}
with (other) {
instance_destroy();
}

View File

@ -4,18 +4,23 @@ shot_direction = 0;
held_shot_direction = -1;
delayer = 0;
aim = -5 + random(10);
dspeed = 0
dspeed = 0;
cycler = 0;
target_speed = 0;
image_speed = 0;
hp = 5;
hp = 10;
point = 0;
powerup = PLAYER_POWERUP_LASER;
powerup = PLAYER_POWERUP_NORMAL;
powerup_ammo = 0;
cutscene_mover = false;
cutscene_anim = false;
cutscene_timer = 0;
cut_timer = 0;
cutscene_anim_charge = false;
invuln = 0;

View File

@ -0,0 +1,7 @@
if (invuln > 0 && invuln % 3 == 0) { exit;
} else {
draw_sprite(spr_dropshadow, 0, x, y + 40);
draw_self();
}

View File

@ -19,7 +19,7 @@ if (direction + 22.5 >= 360 ) {
image_index = 0;
}
if (!global.cutscene_mode) {
if ( up || down || left || right ) {
if (( up || down || left || right ) && invuln < 75) {
move = true;
target_speed = UNFOC_SPEED;
if ( left ) {
@ -59,6 +59,7 @@ if (!global.cutscene_mode) {
if ( shoot ) {
delayer++;
cycler++;
shot_direction = target_direction;
if ( hold ) {
if (held_shot_direction == -1 ) {
@ -72,16 +73,87 @@ if (!global.cutscene_mode) {
held_shot_direction = -1;
target_speed = UNFOC_SPEED;
}
if (delayer >= SHOT_DELAY ) {
aim = -5 + random(10);
var shot = instance_create_layer( x, y, "lyr_ground", obj_marisa_shot );
with (shot) {
direction = other.shot_direction - other.aim;
speed = SHOT_PLAYER_SPEED;
switch ( powerup ) {
case PLAYER_POWERUP_NORMAL: {
if (delayer >= SHOT_NORMAL_DELAY ) {
aim = -5 + random(10);
audio_play_sound(snd_player_shot, 10, false);
var shot = instance_create_layer( x, y, "lyr_ground", obj_marisa_shot );
with (shot) {
direction = other.shot_direction + other.aim;
speed = SHOT_NORMAL_SPEED;
lifetime = SHOT_NORMAL_LIFETIME;
}
delayer = 0;
}
break;
}
case PLAYER_POWERUP_FLAMES: {
if (delayer >= SHOT_FLAME_DELAY ) {
aim = -8 + (16 * sin(cycler));
if (!audio_is_playing(snd_flames)) {
audio_play_sound(snd_flames, 10, true);
}
var shot = instance_create_layer( x, y, "lyr_ground", obj_marisa_flame );
with (shot) {
direction = other.shot_direction + other.aim;
speed = SHOT_FLAME_SPEED;
lifetime = SHOT_FLAME_LIFETIME;
friction = SHOT_FLAME_FRICTION;
}
powerup_ammo--;
if (powerup_ammo <= 0) {
powerup = PLAYER_POWERUP_NORMAL;
powerup_ammo = 0;
}
delayer = 0;
}
break;
}
case PLAYER_POWERUP_LASER: {
if (delayer >= SHOT_LASER_DELAY ) {
var shot = instance_create_layer( x, y, "lyr_ground", obj_marisa_laser );
with (shot) {
lifetime = SHOT_LASER_LIFETIME;
}
powerup_ammo--;
if (powerup_ammo <= 0) {
powerup = PLAYER_POWERUP_NORMAL;
powerup_ammo = 0;
}
delayer = 0;
}
break;
}
case PLAYER_POWERUP_MISSILE: {
if (delayer >= SHOT_MISSILE_DELAY ) {
aim = 130 + random(100);
audio_play_sound(snd_player_hypershot, 10, false);
var shot = instance_create_layer( x, y, "lyr_ground", obj_marisa_missile );
with (shot) {
direction = other.shot_direction + other.aim;
speed = SHOT_MISSILE_SPEED;
lifetime = SHOT_MISSILE_LIFETIME;
}
powerup_ammo--;
if (powerup_ammo <= 0) {
powerup = PLAYER_POWERUP_NORMAL;
powerup_ammo = 0;
}
delayer = 0;
}
break;
}
default: {
break;
}
delayer = 0;
}
}
if (!shoot) {
if ( audio_is_playing(snd_flames) ) {
audio_stop_sound(snd_flames);
}
}
if ( move ) {
@ -124,21 +196,17 @@ if ( global.cutscene_mode ) {
if (direction != 270) {
prevdir = direction;
direction = 270;
cutscene_timer = 60;
}
cutscene_timer--;
if (cutscene_timer < 0 ) {
cutscene_anim = false;
cutscene_timer = 0;
direction = prevdir;
if (!cutscene_anim && !cutscene_mover) {
direction = 0;
}
}
break;
}
case CUTSCENE_MIDBOSS: {
if (cutscene_mover) {
move_towards_point( 2272, 928, 2 );
if (x > 2271 && x < 2273 && y > 927 && y < 929 ) {
if (cutscene_mover) {
move_towards_point( 2272, 896, 2 );
if (x > 2271 && x < 2273 && y > 895 && y < 897 ) {
cutscene_mover = false;
speed = 0;
direction = 90;
@ -147,9 +215,45 @@ if ( global.cutscene_mode ) {
break;
}
case CUTSCENE_BOSS: {
if (cutscene_mover) {
move_towards_point( 736, 768, 2.5 );
if (x > 734 && x < 738 && y > 766 && y < 770 ) {
cutscene_mover = false;
speed = 0;
direction = 90;
}
}
break;
}
case CUTSCENE_FINAL: {
if (cutscene_mover) {
move_towards_point( 736, 768, 2.5 );
if (x > 734 && x < 738 && y > 766 && y < 770 ) {
cutscene_mover = false;
speed = 0;
direction = 90;
}
}
if (cutscene_anim) {
spark = instance_create_layer( x, y, "lyr_ground", obj_master_spark);
with (spark) {
direction = point_direction( x, y, obj_cutscene_final.x, obj_cutscene_final.y );
image_angle = direction;
}
audio_play_sound(snd_spark, 10, false);
cutscene_anim = false;
}
if (cutscene_anim_charge) {
cut_timer++;
if (cut_timer % 5 == 0) {
var angle = random(360);
star = instance_create_layer( x + (64 * dcos(angle)), y + (64 * dsin(angle)), "lyr_ground", obj_marisa_charge_star );
with (star) {
direction = point_direction(x, y, other.x, other.y);
speed = 1.5;
}
}
}
break;
}
default: {
@ -158,3 +262,24 @@ if ( global.cutscene_mode ) {
}
}
invuln -= 1;

View File

@ -23,6 +23,12 @@
"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",},
{"isDnD":false,"eventNum":0,"eventType":4,"collisionObjectId":{"name":"obj_enemy_parent","path":"objects/obj_enemy_parent/obj_enemy_parent.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
{"isDnD":false,"eventNum":0,"eventType":4,"collisionObjectId":{"name":"obj_enemy_shot_parent","path":"objects/obj_enemy_shot_parent/obj_enemy_shot_parent.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_powerup","path":"objects/obj_powerup/obj_powerup.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
{"isDnD":false,"eventNum":0,"eventType":4,"collisionObjectId":{"name":"obj_master_spark","path":"objects/obj_master_spark/obj_master_spark.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
{"isDnD":false,"eventNum":0,"eventType":4,"collisionObjectId":{"name":"obj_heartup","path":"objects/obj_heartup/obj_heartup.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
],
"properties": [],
"overriddenProperties": [],

View File

@ -0,0 +1 @@
timer = 30;

View File

@ -0,0 +1,4 @@
timer--;
if (timer <= 0) {
instance_destroy();
}

View File

@ -0,0 +1,37 @@
{
"spriteId": {
"name": "spr_marisa_shot",
"path": "sprites/spr_marisa_shot/spr_marisa_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":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
],
"properties": [],
"overriddenProperties": [],
"parent": {
"name": "actors",
"path": "folders/actors.yy",
},
"resourceVersion": "1.0",
"name": "obj_marisa_charge_star",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -0,0 +1,7 @@
image_angle += 10
lifetime -= 1;
if ( lifetime <= 0 ) {
instance_destroy();
}

View File

@ -0,0 +1,37 @@
{
"spriteId": {
"name": "spr_marisa_flame",
"path": "sprites/spr_marisa_flame/spr_marisa_flame.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":4,"collisionObjectId":{"name":"obj_wall","path":"objects/obj_wall/obj_wall.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
],
"properties": [],
"overriddenProperties": [],
"parent": {
"name": "actors",
"path": "folders/actors.yy",
},
"resourceVersion": "1.0",
"name": "obj_marisa_flame",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -1,4 +1 @@
room_goto_next();
instance_destroy();

View File

@ -0,0 +1 @@
sound_played = false;

View File

@ -0,0 +1,12 @@
draw_self();
if (lifetime <= SHOT_LASER_LIFETIME - SHOT_LASER_ARM ) {
draw_set_color(c_white);
draw_line_width(x, y, x + 500, y, 6);
draw_line_width(x, y, x + 500, y + 500, 6);
draw_line_width(x, y, x, y + 500, 6);
draw_line_width(x, y, x - 500, y + 500, 6);
draw_line_width(x, y, x - 500, y, 6);
draw_line_width(x, y, x - 500, y - 500, 6);
draw_line_width(x, y, x + 500, y - 500, 6);
draw_line_width(x, y, x, y - 500, 6);
}

View File

@ -0,0 +1,46 @@
lifetime -= 1;
if ( lifetime <= 0 ) {
instance_destroy();
}
if (lifetime <= SHOT_LASER_LIFETIME - SHOT_LASER_ARM ) {
if (!sound_played) {
audio_play_sound(snd_boss_spellbreak, 10, false);
sound_played = true;
}
var collider = collision_line(x, y, x + 500, y, obj_enemy_parent, false, true);
if ( instance_exists( collider ) ) {
collider.hp -= SHOT_LASER_DAMAGE;
}
var collider = collision_line(x, y, x + 500, y + 500, obj_enemy_parent, false, true);
if ( instance_exists( collider ) ) {
collider.hp -= SHOT_LASER_DAMAGE;
}
var collider = collision_line(x, y, x, y + 500, obj_enemy_parent, false, true);
if ( instance_exists( collider ) ) {
collider.hp -= SHOT_LASER_DAMAGE;
}
var collider = collision_line(x, y, x - 500, y + 500, obj_enemy_parent, false, true);
if ( instance_exists( collider ) ) {
collider.hp -= SHOT_LASER_DAMAGE;
}
var collider = collision_line(x, y, x - 500, y, obj_enemy_parent, false, true);
if ( instance_exists( collider ) ) {
collider.hp -= SHOT_LASER_DAMAGE;
}
var collider = collision_line(x, y, x - 500, y - 500, obj_enemy_parent, false, true);
if ( instance_exists( collider ) ) {
collider.hp -= SHOT_LASER_DAMAGE;
}
var collider = collision_line(x, y, x + 500, y - 500, obj_enemy_parent, false, true);
if ( instance_exists( collider ) ) {
collider.hp -= SHOT_LASER_DAMAGE;
}
var collider = collision_line(x, y, x, y - 500, obj_enemy_parent, false, true);
if ( instance_exists( collider ) ) {
collider.hp -= SHOT_LASER_DAMAGE;
}
}

View File

@ -0,0 +1,38 @@
{
"spriteId": {
"name": "spr_marisa_laser",
"path": "sprites/spr_marisa_laser/spr_marisa_laser.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":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
],
"properties": [],
"overriddenProperties": [],
"parent": {
"name": "actors",
"path": "folders/actors.yy",
},
"resourceVersion": "1.0",
"name": "obj_marisa_laser",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -0,0 +1 @@
instance_destroy();

View File

@ -0,0 +1,7 @@
target_delay = SHOT_MISSILE_TARGET_DELAY;
if ( instance_exists( obj_enemy_parent ) ) {
target = instance_nearest(x,y, obj_enemy_parent);
} else {
target = instance_nearest(x,y, obj_wall);
}

View File

@ -0,0 +1,14 @@
image_angle = direction;
lifetime -= 1;
if ( lifetime <= 0 ) {
instance_destroy();
}
target_delay--;
if (target_delay <= 0) {
if (instance_exists( target )) {
move_towards_point(target.x, target.y, SHOT_MISSILE_SPEED);
}
}

View File

@ -0,0 +1,38 @@
{
"spriteId": {
"name": "spr_marisa_missile",
"path": "sprites/spr_marisa_missile/spr_marisa_missile.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":0,"eventType":4,"collisionObjectId":{"name":"obj_wall","path":"objects/obj_wall/obj_wall.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
],
"properties": [],
"overriddenProperties": [],
"parent": {
"name": "actors",
"path": "folders/actors.yy",
},
"resourceVersion": "1.0",
"name": "obj_marisa_missile",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -0,0 +1,9 @@
if (global.combat_mode && expander < 80) {
//collision
}

View File

@ -0,0 +1,6 @@
image_yscale = 0.1;
image_xscale = 1;
expander = -20;

View File

@ -0,0 +1,3 @@
gpu_set_blendmode(bm_max);draw_self();
gpu_set_blendmode(bm_normal);

View File

@ -0,0 +1,16 @@
expander++;
if (expander > 0) {
image_yscale = min(0.1 + (0.05 * expander), 3);
image_xscale = min(1 + (0.3 * expander), 4 );
if (expander < 80) {
image_alpha = (0.05 * expander);
} else {
image_alpha = 1 - ( (expander - 80) / 40);
}
}
image_angle = direction;
if (expander > 120) {
instance_destroy();
}

View File

@ -0,0 +1,38 @@
{
"spriteId": {
"name": "spr_master_spark",
"path": "sprites/spr_master_spark/spr_master_spark.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":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",},
],
"properties": [],
"overriddenProperties": [],
"parent": {
"name": "actors",
"path": "folders/actors.yy",
},
"resourceVersion": "1.0",
"name": "obj_master_spark",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -0,0 +1,5 @@
image_speed = 0.5;
dspeed = 2;
direction = random(360);

View File

@ -0,0 +1 @@
draw_sprite(spr_dropshadow, 0, x, y + 40);draw_self();

View File

@ -0,0 +1,11 @@
if (!place_meeting( x + lengthdir_x( dspeed, direction ), y, obj_wall ) ) { x += lengthdir_x( dspeed, direction );
} else {
direction = 180 - direction;
x += lengthdir_x( dspeed, direction );
}
if (!place_meeting( x, y + lengthdir_y( dspeed, direction ), obj_wall ) ) {
y += lengthdir_y( dspeed, direction );
} else {
direction = -direction;
y += lengthdir_y( dspeed, direction );
}

View File

@ -0,0 +1,38 @@
{
"spriteId": {
"name": "spr_powerup",
"path": "sprites/spr_powerup/spr_powerup.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":8,"collisionObjectId":null,"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",},
],
"properties": [],
"overriddenProperties": [],
"parent": {
"name": "actors",
"path": "folders/actors.yy",
},
"resourceVersion": "1.0",
"name": "obj_powerup",
"tags": [],
"resourceType": "GMObject",
}

View File

@ -4,7 +4,7 @@
"path": "sprites/spr_spawnzone/spr_spawnzone.yy",
},
"solid": false,
"visible": true,
"visible": false,
"spriteMaskId": null,
"persistent": false,
"parentObjectId": null,

View File

@ -4,7 +4,7 @@
"path": "sprites/spr_spawnzone/spr_spawnzone.yy",
},
"solid": false,
"visible": true,
"visible": false,
"spriteMaskId": null,
"persistent": false,
"parentObjectId": {

View File

@ -4,7 +4,7 @@
"path": "sprites/spr_spawnzone/spr_spawnzone.yy",
},
"solid": false,
"visible": true,
"visible": false,
"spriteMaskId": null,
"persistent": false,
"parentObjectId": {

View File

@ -4,7 +4,7 @@
"path": "sprites/spr_spawnzone/spr_spawnzone.yy",
},
"solid": false,
"visible": true,
"visible": false,
"spriteMaskId": null,
"persistent": false,
"parentObjectId": {

View File

@ -4,7 +4,7 @@
"path": "sprites/spr_spawnzone/spr_spawnzone.yy",
},
"solid": false,
"visible": true,
"visible": false,
"spriteMaskId": null,
"persistent": false,
"parentObjectId": {

View File

@ -4,7 +4,7 @@
"path": "sprites/spr_spawnzone/spr_spawnzone.yy",
},
"solid": false,
"visible": true,
"visible": false,
"spriteMaskId": null,
"persistent": false,
"parentObjectId": {

View File

@ -1,3 +1,5 @@
audio_stop_all();
title_mode = TITLE_MODE_START_FADEIN;
title_switch_timer = 100;
@ -7,3 +9,5 @@ menu_wait = 5;

Some files were not shown because too many files have changed in this diff Show More