|
|
|
|
@ -26,7 +26,7 @@
|
|
|
|
|
<argument>
|
|
|
|
|
<kind>1</kind>
|
|
|
|
|
<string>network_set_config(network_config_connect_timeout, 5000);
|
|
|
|
|
strict_init("dictionary.json");
|
|
|
|
|
strict_init(working_directory + "\dictionary.json");
|
|
|
|
|
queenHealthResetQueued = false;
|
|
|
|
|
canSend = false;
|
|
|
|
|
metroidCountChanged = false;
|
|
|
|
|
@ -56,7 +56,7 @@ mtanksTimer = 10;
|
|
|
|
|
stanksTimer = 10;
|
|
|
|
|
ptanksTimer = 10;
|
|
|
|
|
teleportTimer = 180;
|
|
|
|
|
disconnectTimer = 600;
|
|
|
|
|
disconnectTimer = 900;
|
|
|
|
|
pingTimer = 90;
|
|
|
|
|
teleport = false;
|
|
|
|
|
noName = false;
|
|
|
|
|
@ -174,9 +174,9 @@ update_variables("initprev");
|
|
|
|
|
update_variables("onlinevars");
|
|
|
|
|
|
|
|
|
|
if(global.shaders_compiled){
|
|
|
|
|
alpha = 1
|
|
|
|
|
alpha = 1;
|
|
|
|
|
} else {
|
|
|
|
|
alpha = 0.5
|
|
|
|
|
alpha = 0.8;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
posX = 3;
|
|
|
|
|
@ -1170,7 +1170,7 @@ if(room == rm_a4b01 && global.event[203] == 9 && instance_exists
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!instance_exists(oQueen)){
|
|
|
|
|
if(!instance_exists(oQueen) && global.event[303] == 0){
|
|
|
|
|
if(!queenHealthResetQueued){
|
|
|
|
|
queenHealthResetQueued = true;
|
|
|
|
|
alarm[1] = 5;
|
|
|
|
|
@ -1238,13 +1238,20 @@ if(instance_exists(oCharacter) && (oCharacter.state == oCharacter.SAVING
|
|
|
|
|
refill_heath_ammo();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//Ensure that reloading a save doesn't disable Extreme Lab Metroids
|
|
|
|
|
if(oControl.mod_monstersextremecheck == 1 && oControl.mod_monstersextreme == 0 && global.event[302] > 0){
|
|
|
|
|
oControl.mod_monstersextreme = 1;
|
|
|
|
|
} else if(oControl.mod_monstersextremecheck == 0 && oControl.mod_monstersextreme == 1){
|
|
|
|
|
oControl.mod_monstersextreme = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//Sends event 309 to make sure all players can fight guardian
|
|
|
|
|
if(global.log[21] > 0 && global.event[309] == 0){
|
|
|
|
|
global.event[309] = 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(global.event[309] == 1 && global.log[21] < 1){
|
|
|
|
|
global.log[21] = 2;
|
|
|
|
|
global.log[21] = 1;
|
|
|
|
|
}
|
|
|
|
|
//End of guardian event check
|
|
|
|
|
|
|
|
|
|
@ -1567,7 +1574,8 @@ if(instance_exists(self)){
|
|
|
|
|
<arguments>
|
|
|
|
|
<argument>
|
|
|
|
|
<kind>1</kind>
|
|
|
|
|
<string>if(!global.acceptPacket) exit;
|
|
|
|
|
<string>disconnectTimer = 900;
|
|
|
|
|
if(!global.acceptPacket) exit;
|
|
|
|
|
|
|
|
|
|
var type_event = ds_map_find_value(async_load, "type");
|
|
|
|
|
|
|
|
|
|
@ -1769,9 +1777,6 @@ switch(type_event){
|
|
|
|
|
ds_list_add(checkList, arr[0]);
|
|
|
|
|
if(arr[0] == clientID){
|
|
|
|
|
posData[| v] = arrPosData;
|
|
|
|
|
if(instance_exists(oMapCursor) && surface_exists(oSS_Control.s_map)){
|
|
|
|
|
surface_free(oSS_Control.s_map);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1807,9 +1812,6 @@ switch(type_event){
|
|
|
|
|
case 102:
|
|
|
|
|
ds_list_read(global.idList, strict_decompress(buffer_read(_buffer, buffer_string)));
|
|
|
|
|
break;
|
|
|
|
|
case 103:
|
|
|
|
|
disconnectTimer = 600;
|
|
|
|
|
break;
|
|
|
|
|
case 104:
|
|
|
|
|
var playerHealth = buffer_read(_buffer, buffer_s16);
|
|
|
|
|
var missiles = buffer_read(_buffer, buffer_s16);
|
|
|
|
|
@ -2057,6 +2059,10 @@ switch(type_event){
|
|
|
|
|
if (global.currentsuit == 2) sprite_index = scr_suit_sprites(sGFront,sFront_fusion);
|
|
|
|
|
global.enablecontrol = 0;
|
|
|
|
|
oControl.displaygui = 0;
|
|
|
|
|
xVel = 0;
|
|
|
|
|
yVel = 0;
|
|
|
|
|
xAcc = 0;
|
|
|
|
|
yAcc = 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
popup_text_ext("Ship reached", 120);
|
|
|
|
|
@ -2064,13 +2070,37 @@ switch(type_event){
|
|
|
|
|
if(eventArr[f, 0] == 2 && clientID != global.clientID){
|
|
|
|
|
oControl.displaygui = 0;
|
|
|
|
|
global.enablecontrol = 0;
|
|
|
|
|
if(instance_exists(oCharacter)){
|
|
|
|
|
with(oCharacter){
|
|
|
|
|
xVel = 0;
|
|
|
|
|
yVel = 0;
|
|
|
|
|
xAcc = 0;
|
|
|
|
|
yAcc = 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(eventArr[f, 0] == 3 && clientID != global.clientID){
|
|
|
|
|
instance_create(0, 0, oFinalFadeout);
|
|
|
|
|
mus_fadeout(musHatchling);
|
|
|
|
|
global.enablecontrol = 0;
|
|
|
|
|
if(instance_exists(oCharacter)){
|
|
|
|
|
with(oCharacter){
|
|
|
|
|
xVel = 0;
|
|
|
|
|
yVel = 0;
|
|
|
|
|
xAcc = 0;
|
|
|
|
|
yAcc = 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(eventArr[f, 0] == 4 && clientID != global.clientID){
|
|
|
|
|
if(instance_exists(oCharacter)){
|
|
|
|
|
with(oCharacter){
|
|
|
|
|
xVel = 0;
|
|
|
|
|
yVel = 0;
|
|
|
|
|
xAcc = 0;
|
|
|
|
|
yAcc = 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
remove_persistent_objects();
|
|
|
|
|
sfx_stop_all();
|
|
|
|
|
global.vibL = 0;
|
|
|
|
|
@ -2113,6 +2143,10 @@ switch(type_event){
|
|
|
|
|
if(global.ingame){
|
|
|
|
|
with (oControl) event_user(2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(instance_exists(oMapCursor) && surface_exists(oSS_Control.s_map)){
|
|
|
|
|
surface_free(oSS_Control.s_map);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -2714,6 +2748,10 @@ switch(type_event){
|
|
|
|
|
if(global.ingame){
|
|
|
|
|
with (oControl) event_user(2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(instance_exists(oMapCursor) && surface_exists(oSS_Control.s_map)){
|
|
|
|
|
surface_free(oSS_Control.s_map);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -2868,8 +2906,29 @@ if(!noName){
|
|
|
|
|
draw_set_alpha(arrFXTimer * 0.1);
|
|
|
|
|
if(global.shaders_compiled){
|
|
|
|
|
pal_swap_set(oControl.SpiderballPalette, arrID, false);
|
|
|
|
|
draw_sprite_ext(sSpiderballFX, -1, arrX, arrY, 1, 1, 0, -1, 0.2 + arrFXTimer * 0.1);
|
|
|
|
|
} else {
|
|
|
|
|
switch(arrSprite){
|
|
|
|
|
case sSpiderMorphBall:
|
|
|
|
|
draw_sprite_ext(sSpiderballFX, -1, arrX, arrY, 1, 1, 0, -1, 0.2 + arrFXTimer * 0.1);
|
|
|
|
|
break;
|
|
|
|
|
case sVSpiderMorphBall:
|
|
|
|
|
draw_sprite_ext(sSpiderballFXVaria, -1, arrX, arrY, 1, 1, 0, -1, 0.2 + arrFXTimer * 0.1);
|
|
|
|
|
break;
|
|
|
|
|
case sGSpiderMorphBall:
|
|
|
|
|
draw_sprite_ext(sSpiderballFXGravity, -1, arrX, arrY, 1, 1, 0, -1, 0.2 + arrFXTimer * 0.1);
|
|
|
|
|
break;
|
|
|
|
|
case sSpiderMorphBall_fusion:
|
|
|
|
|
draw_sprite_ext(sSpiderballFX_fusion, -1, arrX, arrY, 1, 1, 0, -1, 0.2 + arrFXTimer * 0.1);
|
|
|
|
|
break;
|
|
|
|
|
case sSpiderballFXVaria_fusion:
|
|
|
|
|
draw_sprite_ext(sSpiderballFXVaria_fusion, -1, arrX, arrY, 1, 1, 0, -1, 0.2 + arrFXTimer * 0.1);
|
|
|
|
|
break;
|
|
|
|
|
case sSpiderballFXGravity_fusion:
|
|
|
|
|
draw_sprite_ext(sSpiderballFXGravity_fusion, -1, arrX, arrY, 1, 1, 0, -1, 0.2 + arrFXTimer * 0.1);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
draw_sprite_ext(sSpiderballFX, -1, arrX, arrY, 1, 1, 0, -1, 0.2 + arrFXTimer * 0.1);
|
|
|
|
|
if(global.shaders_compiled){
|
|
|
|
|
pal_swap_reset();
|
|
|
|
|
shader_reset();
|
|
|
|
|
|