Added correct metroid death for players in same room

pull/3/head
milesthenerd 6 years ago
parent 4b8f33f098
commit 0a11efb327

@ -324,6 +324,10 @@ if(!is_undefined(oQueenHead.myhealth) && !is_undefined(oQueen.phase)){
} }
} }
if(oQueen.phase != phase){
oQueen.phase = phase;
}
if(!is_undefined(oQueen.phase)){ if(!is_undefined(oQueen.phase)){
if(oQueen.phase >= 1 && instance_exists(inst_146524)){ if(oQueen.phase >= 1 && instance_exists(inst_146524)){
event_perform_object(oQueenFireball, ev_other, ev_user1); event_perform_object(oQueenFireball, ev_other, ev_user1);

@ -71,7 +71,7 @@ mapposy = myposy + global.mapoffsety;
if (room != rm_a0h14) global.dmap[mapposx, mapposy] = 10; if (room != rm_a0h14) global.dmap[mapposx, mapposy] = 10;
else global.dmap[43, 24] = 10; else global.dmap[43, 24] = 10;
with (oControl) event_user(2); with (oControl) event_user(2);
dead = false;
</string> </string>
</argument> </argument>
</arguments> </arguments>
@ -271,8 +271,31 @@ if (state == 5 || dodging) alarm[2] = 3;
<arguments> <arguments>
<argument> <argument>
<kind>1</kind> <kind>1</kind>
<string>if(global.metdead[myid] == 1){ <string>if(global.metdead[myid] == 1 &amp;&amp; !dead){
instance_destroy(); dead = true;
myhealth = 0;
if (myhealth &lt;= 0) {
state = 100;
statetime = 0;
alarm[10] = 1;
alarm[11] = 160;
flashtime = 180;
turndelay = 180;
PlaySoundMono(deathsound);
global.metdead[myid] = 1;
global.monstersleft -= 1;
global.monstersarea -= 1;
check_areaclear();
global.monstersalive -= 1;
if (global.monstersalive == 0) {
mus_fadeout(musGammaFight);
oMusicV2.bossbgm = sndJump;
}
if (instance_exists(grabber)) with (grabber) instance_destroy();
if (instance_exists(arms)) with (arms) instance_destroy();
global.dmap[mapposx, mapposy] = 11;
with (oControl) event_user(2);
}
} }
if (active == 1) { if (active == 1) {
if (state == 1) { if (state == 1) {

@ -90,6 +90,7 @@ inwater = 0;
speedmulti = 1; speedmulti = 1;
targetx = x; targetx = x;
targety = y; targety = y;
dead = false;
</string> </string>
</argument> </argument>
</arguments> </arguments>
@ -331,8 +332,31 @@ if (state == 5 || dodging) alarm[2] = 3;
<arguments> <arguments>
<argument> <argument>
<kind>1</kind> <kind>1</kind>
<string>if(global.metdead[myid] == 1){ <string>if(global.metdead[myid] == 1 &amp;&amp; !dead){
instance_destroy(); dead = true;
myhealth = 0;
if (myhealth &lt;= 0) {
state = 100;
statetime = 0;
alarm[10] = 1;
alarm[11] = 160;
flashtime = 180;
turndelay = 180;
PlaySoundMono(deathsound);
global.metdead[myid] = 1;
global.monstersleft -= 1;
global.monstersarea -= 1;
check_areaclear();
global.monstersalive -= 1;
if (global.monstersalive == 0) {
mus_fadeout(musGammaFight);
oMusicV2.bossbgm = sndJump;
}
if (instance_exists(grabber)) with (grabber) instance_destroy();
if (instance_exists(arms)) with (arms) instance_destroy();
global.dmap[mapposx, mapposy] = 11;
with (oControl) event_user(2);
}
} }
if (active == 1) { if (active == 1) {
if (state == 1) { if (state == 1) {

@ -140,6 +140,7 @@ alarm[9] = 1;
dmg = 0; dmg = 0;
flashtime = 0; flashtime = 0;
laststate = 0; laststate = 0;
dead = false;
</string> </string>
</argument> </argument>
</arguments> </arguments>
@ -379,8 +380,31 @@ if (instance_exists(grab_obj)) {
<arguments> <arguments>
<argument> <argument>
<kind>1</kind> <kind>1</kind>
<string>if(global.metdead[myid] == 1){ <string>if(global.metdead[myid] == 1 &amp;&amp; !dead){
instance_destroy(); dead = true;
myhealth = 0;
if (myhealth &lt;= 0) {
state = 100;
statetime = 0;
alarm[10] = 1;
alarm[11] = 160;
flashtime = 180;
turndelay = 180;
PlaySoundMono(deathsound);
global.metdead[myid] = 1;
global.monstersleft -= 1;
global.monstersarea -= 1;
check_areaclear();
global.monstersalive -= 1;
if (global.monstersalive == 0) {
mus_fadeout(musGammaFight);
oMusicV2.bossbgm = sndJump;
}
if (instance_exists(grabber)) with (grabber) instance_destroy();
if (instance_exists(arms)) with (arms) instance_destroy();
global.dmap[mapposx, mapposy] = 11;
with (oControl) event_user(2);
}
} }
var slash_dist, msl, tl; var slash_dist, msl, tl;
slash_dist = 130; slash_dist = 130;

@ -116,6 +116,7 @@ targety = 0;
alarm[3] = 1; alarm[3] = 1;
alarm[9] = 1; alarm[9] = 1;
scan_log(14, get_text("ScanEvents", "ScanBioform"), 180, 0); scan_log(14, get_text("ScanEvents", "ScanBioform"), 180, 0);
dead = false;
</string> </string>
</argument> </argument>
</arguments> </arguments>
@ -412,8 +413,31 @@ if (instance_exists(mask_obj)) {
<arguments> <arguments>
<argument> <argument>
<kind>1</kind> <kind>1</kind>
<string>if(global.metdead[myid] == 1){ <string>if(global.metdead[myid] == 1 &amp;&amp; !dead){
instance_destroy(); dead = true;
myhealth = 0;
if (myhealth &lt;= 0) {
state = 100;
statetime = 0;
alarm[10] = 1;
alarm[11] = 160;
flashtime = 180;
turndelay = 180;
PlaySoundMono(deathsound);
global.metdead[myid] = 1;
global.monstersleft -= 1;
global.monstersarea -= 1;
check_areaclear();
global.monstersalive -= 1;
if (global.monstersalive == 0) {
mus_fadeout(musGammaFight);
oMusicV2.bossbgm = sndJump;
}
if (instance_exists(grabber)) with (grabber) instance_destroy();
if (instance_exists(arms)) with (arms) instance_destroy();
global.dmap[mapposx, mapposy] = 11;
with (oControl) event_user(2);
}
} }
var msl, fr_speed; var msl, fr_speed;
if (target_mode == 0) { if (target_mode == 0) {

@ -72,6 +72,8 @@ spark3 = -4;
//1.4.4? Movement fixes //1.4.4? Movement fixes
outside = 0; outside = 0;
dead = false;
</string> </string>
</argument> </argument>
</arguments> </arguments>
@ -223,8 +225,9 @@ if (instance_exists(spark3)) {
<arguments> <arguments>
<argument> <argument>
<kind>1</kind> <kind>1</kind>
<string>if(global.metdead[myid] == 1){ <string>if(global.metdead[myid] == 1 &amp;&amp; !dead){
instance_destroy(); hp = 0;
event_user(0);
} }
var tgty; var tgty;
if (state == 0) { if (state == 0) {

Loading…
Cancel
Save