diff --git a/AM2R.project.gmx b/AM2R.project.gmx index b6bdacaa..ab1a63d8 100644 --- a/AM2R.project.gmx +++ b/AM2R.project.gmx @@ -4127,6 +4127,7 @@ sprites\sPalMultitroidNew sprites\sDarkMultitroidPlayer sprites\sPalMultitroidFusion + sprites\sPalSpiderball diff --git a/objects/oClient.object.gmx b/objects/oClient.object.gmx index 7325dcc9..20d15a59 100644 --- a/objects/oClient.object.gmx +++ b/objects/oClient.object.gmx @@ -28,6 +28,7 @@ network_set_config(network_config_connect_timeout, 5000); strict_init("dictionary.json"); canSend = false; +showName = true; metroidCountChanged = false; itemChanged = false; metdeadChanged = false; @@ -38,6 +39,7 @@ queenHealthWait = false; queenDead = false; sameRoom = false; phase = 0; +state = undefined; seed = undefined; var type; type = network_socket_tcp; @@ -265,6 +267,7 @@ alarm[11] = 20; buffer_write(buffer, buffer_s16, room); buffer_write(buffer, buffer_string, name); buffer_write(buffer, buffer_s16, oCharacter.image_blend); + buffer_write(buffer, buffer_s8, oCharacter.fxtimer); var result = network_send_packet(socket, buffer, buffer_tell(buffer)); } } @@ -809,17 +812,48 @@ if(instance_exists(oCharacter)){ if(instance_exists(oQueen) && !is_undefined(oQueen.phase)){ if(phase >= 1 && instance_exists(inst_146524)){ event_perform_object(oQueenFireball, ev_other, ev_user1); + oQueen.state = 7; + oQueen.statetime = 0; + with(oQueen){ + head_target_snap = 1; + head_target_x = x + neck_x + 30; + head_target_y = y + neck_y; + } } if(phase >= 2 && instance_exists(inst_146525) && instance_exists(inst_146520)){ event_perform_object(oQueenFireball, ev_other, ev_user2); + oQueen.state = 7; + oQueen.statetime = 0; + with(oQueen){ + head_target_snap = 1; + head_target_x = x + neck_x + 30; + head_target_y = y + neck_y; + } } if(phase >= 3 && instance_exists(inst_146526) && instance_exists(inst_146514)){ event_perform_object(oQueenFireball, ev_other, ev_user3); + oQueen.state = 7; + oQueen.statetime = 0; + with(oQueen){ + head_target_snap = 1; + head_target_x = x + neck_x + 30; + head_target_y = y + neck_y; + } } if(phase >= 4 && instance_exists(inst_146527)){ event_perform_object(oQueenFireball, ev_other, ev_user4); + oQueen.state = 7; + oQueen.statetime = 0; + with(oQueen){ + head_target_snap = 1; + head_target_x = x + neck_x + 30; + head_target_y = y + neck_y; + } } if(global.event[303] > 0 && !queenDead){ + oQueen.state = 100; + oQueen.statetime = 0; + /* with(oQueen){ height_target_front = 10; height_target_back = 10; @@ -841,6 +875,7 @@ if(instance_exists(oQueen) && !is_undefined(oQueen.phase)){ oMusicV2.bossbgm = sndJump; sfx_play(sndQueenDeath); } + */ queenDead = true; } } @@ -853,13 +888,16 @@ if(keyboard_check_pressed(vk_f3)){ popup_text_ext(string(oControl.seed), 300); } -/* + if(keyboard_check_pressed(vk_f4)){ - for(var i=0; i<array_length_1d(global.item); i++){ - global.item[i] = 1; + showName = -showName; + if(showName){ + popup_text("Nametags enabled"); + } else { + popup_text("Nametags disabled"); } } -*/ + if(instance_exists(oCharacter)){ posX = global.mapposx; @@ -980,6 +1018,7 @@ switch(type_event){ var clientRoom = buffer_read(_buffer, buffer_s16); var clientName = buffer_read(_buffer, buffer_string); var clientBlend = buffer_read(_buffer, buffer_s16); + var clientFXTimer = buffer_read(_buffer, buffer_s8); var findsocket = ds_list_find_index(roomList, clientID); if(global.clientID != clientID){ if(findsocket < 0){ @@ -1003,6 +1042,7 @@ switch(type_event){ arr[14] = clientRoom; arr[15] = clientName; arr[16] = clientBlend; + arr[17] = clientFXTimer; ds_list_add(roomListData, arr); } } else { @@ -1024,6 +1064,7 @@ switch(type_event){ arr[14] = clientRoom; arr[15] = clientName; arr[16] = clientBlend; + arr[17] = clientFXTimer; var indexValue = ds_list_find_value(roomList, findsocket); for(var i=0; i<ds_list_size(roomListData); i++){ var arrList = roomListData[| i]; @@ -1411,13 +1452,25 @@ ds_list_destroy(posData); var arrRoom = arrDraw[14]; var arrName = arrDraw[15]; var arrBlend = arrDraw[16]; - if(arrRoom == room && instance_exists(oCharacter)){ + var arrFXTimer = arrDraw[17]; + if(arrRoom == room && instance_exists(oCharacter) && room != rm_transition){ + if(arrSprite == sSpiderMorphBall || arrSprite == sGSpiderMorphBall || arrSprite == sVSpiderMorphBall || arrSprite == sSpiderMorphBall_fusion || arrSprite == sSpiderMorphBall_fusion_gravity || arrSprite == sSpiderMorphBall_fusion_varia){ + draw_set_blend_mode(bm_add); + draw_set_alpha(arrFXTimer * 0.1); + pal_swap_set(sPalSpiderball, arrID, false); + draw_sprite_ext(sSpiderballFX, -1, arrX, arrY, 1, 1, 0, -1, 0.2 + arrFXTimer * 0.1); + pal_swap_reset(); + shader_reset(); + draw_set_alpha(1); + draw_set_blend_mode(bm_normal); + } draw_character_ext(arrSprite, arrX, arrY, arrA1, arrA1X, arrA1Y, arrA2, arrA2X, arrA2Y, arrA2A, arrMirror, arrBlend, alpha, arrArmmsl, arrImage, arrID); - draw_set_font(font_displayname); - draw_set_halign(fa_center); - draw_cool_text(arrX, arrY - 52, arrName, c_black, c_white, c_white, 1); + if(showName){ + draw_set_font(font_displayname); + draw_set_halign(fa_center); + draw_cool_text(arrX, arrY - 52, arrName, c_black, c_white, c_white, 1); + } } - } } diff --git a/objects/oControl.object.gmx b/objects/oControl.object.gmx index 4bb8caf8..bf527bb8 100644 --- a/objects/oControl.object.gmx +++ b/objects/oControl.object.gmx @@ -841,7 +841,7 @@ ini_close(); // NOT Dymanic Version Number global.fontVersion = font_add_sprite_ext(sVersionFont, "V.0123456789", true, 1); -global.am2r_version = "V1.5.2"; // no longer dynamic, not worth the effort to maintain - mostly because of Android oddities. +global.am2r_version = "V1.5.2 Co-op"; // no longer dynamic, not worth the effort to maintain - mostly because of Android oddities. // Android global.gamestarted = 0; diff --git a/rooms/rm_death.room.gmx b/rooms/rm_death.room.gmx index 44046620..5f3c65eb 100644 --- a/rooms/rm_death.room.gmx +++ b/rooms/rm_death.room.gmx @@ -14,7 +14,11 @@ view_enabled = true; view_visible[0] = true; } -Mute_Loops(); +Mute_Loops(); + +if(instance_exists(oClient)){ + oClient.phase = 0; +} 0 -1 0 diff --git a/sprites/sPalMultitroidFusion.sprite.gmx b/sprites/sPalMultitroidFusion.sprite.gmx index 39eb63fe..cd20f5bf 100644 --- a/sprites/sPalMultitroidFusion.sprite.gmx +++ b/sprites/sPalMultitroidFusion.sprite.gmx @@ -10,7 +10,7 @@ 0 8 0 - 79 + 80 0 0 @@ -18,7 +18,7 @@ 0 9 - 80 + 81 images\sPalMultitroidFusion_0.png diff --git a/sprites/sPalSpiderball.sprite.gmx b/sprites/sPalSpiderball.sprite.gmx new file mode 100644 index 00000000..d44aceff --- /dev/null +++ b/sprites/sPalSpiderball.sprite.gmx @@ -0,0 +1,25 @@ + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 8 + 0 + 68 + 0 + 0 + + 0 + + 0 + 9 + 69 + + images\sPalSpiderball_0.png + +