Oh boy, there's a ton of changes

cleaner
milesthenerd 5 years ago
parent 481808c903
commit 32f08de165

@ -4128,6 +4128,8 @@
<sprite>sprites\sDarkMultitroidPlayer</sprite>
<sprite>sprites\sPalMultitroidFusion</sprite>
<sprite>sprites\sPalSpiderball</sprite>
<sprite>sprites\sPalMultitroidBaby</sprite>
<sprite>sprites\sMultitroidMapIcon</sprite>
</sprites>
</sprites>
<backgrounds name="background">
@ -5063,25 +5065,27 @@
<script>scripts\set_widescreen.gml</script>
</scripts>
<scripts name="Nerd">
<script>scripts\wrap.gml</script>
<script>scripts\update_variables.gml</script>
<script>scripts\create_buffer.gml</script>
<script>scripts\send_seed.gml</script>
<script>scripts\popup_text_ext.gml</script>
<script>scripts\draw_character_ext.gml</script>
</scripts>
<scripts name="Misc">
<script>scripts\pal_swap_get_color_count.gml</script>
<script>scripts\pal_swap_set_depth.gml</script>
<script>scripts\wrap.gml</script>
<script>scripts\pal_swap_get_pal_count.gml</script>
<script>scripts\pal_swap_reset.gml</script>
<script>scripts\pal_swap_init_system.gml</script>
<script>scripts\pal_swap_set.gml</script>
<script>scripts\pal_swap_draw_palette.gml</script>
<script>scripts\findIndex.gml</script>
<script>scripts\update_variables.gml</script>
<script>scripts\pal_swap_set.gml</script>
<script>scripts\pal_swap_init_system.gml</script>
<script>scripts\array_clone.gml</script>
<script>scripts\strict_init.gml</script>
<script>scripts\strict_compress.gml</script>
<script>scripts\strict_decompress.gml</script>
<script>scripts\strict_encode_verb.gml</script>
<script>scripts\create_buffer.gml</script>
<script>scripts\send_seed.gml</script>
<script>scripts\popup_text_ext.gml</script>
<script>scripts\draw_character_ext.gml</script>
<script>scripts\pal_swap_draw_palette.gml</script>
</scripts>
</scripts>
<shaders name="shaders">
@ -6133,6 +6137,7 @@
<object>objects\oA3_Missiles_Glow</object>
</objects>
<object>objects\oClient</object>
<object>objects\oNametag</object>
</objects>
<timelines name="timelines">
<timeline>timelines\timelineCrystal</timeline>

@ -1,3 +1,15 @@
[ModSettings]
ipaddress = 206.123.128.236
displayname = milesthenerd
ipaddress = 127.0.0.1
displayname = name
port = 64198
Ex = "reactorsequence refers to the escape from the reactor explosion in A4"
Ex = "The 'synced' option will teleport any players within the reactor escape to the entrance when another player reaches it"
Ex = "The 'disabled' option will completely disable the reactor escape altogether, and it will already be destroyed upon entering"
Ex = "Players must ensure this option is set to the same for all"
reactorsequence = synced
Ex = "preferredcolor will set your shadow color to what you specify if it is available"
Ex = "If your specified color is already taken, you will be assigned a random one"
Ex = "The options are: green, red, blue, yellow, orange, purple, pink, white, and random"
preferredcolor = random

File diff suppressed because it is too large Load Diff

@ -36,6 +36,7 @@ targetx = 48;
targety = 432;
targetroom = rm_a5h01;
screen_surface = -1;
global.lastroom = room;
global.targetroom = initroom;
black = 0;
global.classicmode = 0;
@ -321,7 +322,7 @@ ini_close();
// NOT Dymanic Version Number
global.fontVersion = font_add_sprite_ext(sVersionFont, "V.0123456789", true, 1);
global.am2r_version = "V1.5.2 Co-op"; // no longer dynamic, not worth the effort to maintain - mostly because of Android oddities.
global.am2r_version = "V1.5.2"; // no longer dynamic, not worth the effort to maintain - mostly because of Android oddities.
// Android
global.gamestarted = 0;
@ -841,7 +842,7 @@ ini_close();
// NOT Dymanic Version Number
global.fontVersion = font_add_sprite_ext(sVersionFont, "V.0123456789", true, 1);
global.am2r_version = "V1.5.2 Co-op"; // no longer dynamic, not worth the effort to maintain - mostly because of Android oddities.
global.am2r_version = "V1.5.2"; // no longer dynamic, not worth the effort to maintain - mostly because of Android oddities.
// Android
global.gamestarted = 0;
@ -1616,6 +1617,7 @@ room_goto(rm_death);
<string>writelog("UnLoading Room " + string(room));
global.roomtime = 0;
fadedone = 0;
global.lastroom = room;
</string>
</argument>
</arguments>

@ -25,7 +25,7 @@
<arguments>
<argument>
<kind>1</kind>
<string>text = "Another " + global.monsterStr + " 2 Remake# # # # # # # # # # # #Producer#Milton 'DoctorM64' Guasti# #Graphic Design#Ramiro Negri#Steve 'Sabre230' Rothlisberger#Jack Witty#Kirill '1Eni1' Fevralev#Jasper#MichaelGabrielR# #Promo Art#Azima 'Zim' Khan# #Writing#James 'Ridley' Hobbs#Paulo 'Latinlingo' Villalobos# #Platform Engine Code#Martin Piecyk# #Music Composition#Milton 'DoctorM64' Guasti#Darren Kerwin#Torbjørn 'Falcool' Brandrud# #Debug#Hemse#Dragondarch#Esteban 'DruidVorse' Criado#Verneri 'Naatiska' Viljanen# #Playtest#Jennifer Potter#Mario Crestanello#Live4Truths#Torbjørn 'Falcool' Brandrud#Lise Trehjørningen#Nommiin#Gabriel Kaplan#Nicolas 'Skol' Del Negro#Darren Kerwin#Robert Sephazon# #Community Management#Dragonheart91#Ammypendent#Karrde# #Special Thanks#Nommiin#Nathan 'wickedclown' Hess#Tyler Rogers#Kousoru#Infinity's End#CapCom#Isabelle Amponin#The " + global.monsterStr + " Community# # # # # #Source Code Reconstruction#YellowAfterlife# # #Continued Revisions# #Lead - Former#Gatordile#Alex 'Wanderer' Mack# #Lead#Lojemiru# #Development#Craig Kostelecky#" + global.monsterStr + "3D# #Art Lead#Dannon 'Shmegleskimo' Yates# #Art#ShirtyScarab#Cooper Garvin#Chris 'Messianic' Oliveira#ChloePlz# #Special Thanks#Banjo, Grom PE,#King Bore, Jean-Samuel Pelletier,#Reaku The Crate, Scooterboot, #Sylandro, TheKhaosDemon, #Unknown, Iwantdevil, #PixHammer, CaptGlitch,#Nokbient, EODTex,#Electrix, gponys,#Japanese Community# # # # # #Original " + global.monsterStr + " II Staff# #Producer#Gunpei Yokoi# #Director#Hiroji Kiyotake, Hiroyuki Kimura# #Main Programmer#Takahiro Harada# #Programmer#Masaru Yamanaka, Masao Yamamoto,#Isao Hirano# #Graphic Designer#Hiroji Kiyotake, Hiroyuki Kimura# #Program Assistant#Yuzuru Ogawa, Nobuhiro Ozaki# #Sound Programmer#Ryohji Yoshitomi# #Designer#Makoto Kanoh, Masafumi Sakashita,#Tomoyoshi Yamane, Takehiko Hosokawa,#Yasuo Inoue# #Debug#Masaru Okadaga, Kenji Nishizawa,#Hirofumi Matsuoka, Tohru Ohsawa,#Kohta Fukui, Keisuke Terasaki,#Kenichi Sugino, Hitoshi Yamagami,#Katsuya Yamaoe, Yuji Hori# # # # # # # # # #In Memory of Satoru Iwata";
<string>text = "Another " + global.monsterStr + " 2 Remake# # # # # # # # # # # #Producer#Milton 'DoctorM64' Guasti# #Graphic Design#Ramiro Negri#Steve 'Sabre230' Rothlisberger#Jack Witty#Kirill '1Eni1' Fevralev#Jasper#MichaelGabrielR# #Promo Art#Azima 'Zim' Khan# #Writing#James 'Ridley' Hobbs#Paulo 'Latinlingo' Villalobos# #Platform Engine Code#Martin Piecyk# #Music Composition#Milton 'DoctorM64' Guasti#Darren Kerwin#Torbjørn 'Falcool' Brandrud# #Debug#Hemse#Dragondarch#Esteban 'DruidVorse' Criado#Verneri 'Naatiska' Viljanen# #Playtest#Jennifer Potter#Mario Crestanello#Live4Truths#Torbjørn 'Falcool' Brandrud#Lise Trehjørningen#Nommiin#Gabriel Kaplan#Nicolas 'Skol' Del Negro#Darren Kerwin#Robert Sephazon# #Community Management#Dragonheart91#Ammypendent#Karrde# #Special Thanks#Nommiin#Nathan 'wickedclown' Hess#Tyler Rogers#Kousoru#Infinity's End#CapCom#Isabelle Amponin#The " + global.monsterStr + " Community# # # # # #Source Code Reconstruction#YellowAfterlife# # #Continued Revisions# #Lead - Former#Gatordile#Alex 'Wanderer' Mack# #Lead#Lojemiru# #Development#Craig Kostelecky#" + global.monsterStr + "3D# #Art Lead#Dannon 'Shmegleskimo' Yates# #Art#ShirtyScarab#Cooper Garvin#Chris 'Messianic' Oliveira#ChloePlz# #Special Thanks#Banjo, Grom PE,#King Bore, Jean-Samuel Pelletier,#Reaku The Crate, Scooterboot, #Sylandro, TheKhaosDemon, #Unknown, Iwantdevil, #PixHammer, CaptGlitch,#Nokbient, EODTex,#Electrix, gponys,#Japanese Community# # # # # #Original " + global.monsterStr + " II Staff# #Producer#Gunpei Yokoi# #Director#Hiroji Kiyotake, Hiroyuki Kimura# #Main Programmer#Takahiro Harada# #Programmer#Masaru Yamanaka, Masao Yamamoto,#Isao Hirano# #Graphic Designer#Hiroji Kiyotake, Hiroyuki Kimura# #Program Assistant#Yuzuru Ogawa, Nobuhiro Ozaki# #Sound Programmer#Ryohji Yoshitomi# #Designer#Makoto Kanoh, Masafumi Sakashita,#Tomoyoshi Yamane, Takehiko Hosokawa,#Yasuo Inoue# #Debug#Masaru Okadaga, Kenji Nishizawa,#Hirofumi Matsuoka, Tohru Ohsawa,#Kohta Fukui, Keisuke Terasaki,#Kenichi Sugino, Hitoshi Yamagami,#Katsuya Yamaoe, Yuji Hori# #Co-op Mod#milesthenerd#xzackly7# # # # # # # # #In Memory of Satoru Iwata";
yoffset = 0;
fadeout = 0;

@ -37,6 +37,7 @@ mealtimer = 0;
flash = 0;
chaseX = 0;
alarm1set = 0;
myid = 0;
</string>
</argument>
</arguments>
@ -84,10 +85,11 @@ followplayer = 0;
<arguments>
<argument>
<kind>1</kind>
<string>sfx_play(choose(sndHatchling,sndHatchling2,sndHatchling3,sndHatchling4));
alarm[0] = 300 + irandom(320);
roaring = 60;
<string>if(myid == 0){
sfx_play(choose(sndHatchling,sndHatchling2,sndHatchling3,sndHatchling4));
alarm[0] = 300 + irandom(320);
roaring = 60;
}
/*sfx_play(sndHatchling);
</string>
@ -112,37 +114,58 @@ roaring = 60;
<arguments>
<argument>
<kind>1</kind>
<string>if (global.event[304] == 1 &amp;&amp; distance_to_object(oA7Crystal1) &lt; 120) {
tgtobj = instance_nearest(x, y, oA7Crystal1);
if (tgtobj != -4) {
targetx = tgtobj.x + 8;
targety = tgtobj.y + 8;
accel = 0.4;
maxspeed = 3.2;
if (mealtimer &gt; 600) accel *= 2;
}
followplayer = 0;
}
else if (distance_to_object(oXPickup) &lt; 150 ) {
if (chaseX == 1)
{
tgtobj = instance_nearest(x, y, oXPickup);
<string>if(myid == 0){
if (global.event[304] == 1 &amp;&amp; distance_to_object(oA7Crystal1) &lt; 120) {
tgtobj = instance_nearest(x, y, oA7Crystal1);
if (tgtobj != -4) {
targetx = tgtobj.x;
targety = tgtobj.y - 11;
targetx = tgtobj.x + 8;
targety = tgtobj.y + 8;
accel = 0.4;
maxspeed = 3.2;
if (mealtimer &gt; 600) accel *= 2;
}
followplayer = 0;
}
else if (distance_to_object(oXPickup) &lt; 150 ) {
if (chaseX == 1)
{
tgtobj = instance_nearest(x, y, oXPickup);
if (tgtobj != -4) {
targetx = tgtobj.x;
targety = tgtobj.y - 11;
accel = 0.4;
maxspeed = 3.2;
if (mealtimer &gt; 600) accel *= 2;
}
followplayer = 0;
}
else if (alarm1set == 0)
{
alarm1set = 1;
alarm[1] = 45;
}
}
else if (alarm1set == 0)
{
alarm1set = 1;
alarm[1] = 45;
else
{
followplayer = 1;
chaseX = 0;
alarm1set = 0;
}
} else {
if(instance_exists(oClient)){
if(ds_list_size(global.hatchlingList) &gt; 0){
var findHatchlingID = ds_list_find_index(global.hatchlingList, myid);
if(findHatchlingID == -1){
instance_destroy();
}
} else {
instance_destroy();
}
} else {
instance_destroy();
}
}
/*
else if (distance_to_object(oEnemy) &lt; 120 ) {
@ -168,14 +191,7 @@ else if (distance_to_object(oEnemy) &lt; 120 ) {
}
*/
else
{
followplayer = 1;
chaseX = 0;
alarm1set = 0;
}
if (followplayer) {
if (followplayer &amp;&amp; myid == 0) {
targetx = oCharacter.x;
targety = oCharacter.y - 30;
if (distance_to_point(oCharacter.x, oCharacter.y - 16) &gt; 128) {
@ -192,6 +208,42 @@ if (followplayer) {
accel = 0.3;
maxspeed = 2.5;
}
} else if(followplayer &amp;&amp; myid != 0){
if(instance_exists(oClient)){
if(ds_list_size(global.hatchlingList) &gt; 0){
var findHatchlingID = ds_list_find_index(global.hatchlingList, myid);
if(findHatchlingID &gt;= 0){
if(ds_list_size(oClient.roomListData) &gt; 0){
for(var h=0; h&lt;ds_list_size(oClient.roomListData); h++){
var arrList = oClient.roomListData[| h];
var arrID = arrList[0];
var arrX = arrList[1];
var arrY = arrList[2];
if(arrID == myid){
targetx = arrX;
targety = arrY - 30;
if (distance_to_point(arrX, arrY - 16) &gt; 128) {
accel = 0.8;
maxspeed = 8;
}
if (distance_to_point(arrX, arrY - 16) &gt; 64) {
accel = 0.6;
maxspeed = 6;
} else if (distance_to_point(arrX, arrY - 16) &gt; 32) {
accel = 0.4;
maxspeed = 4;
} else {
accel = 0.3;
maxspeed = 2.5;
}
}
}
} else {
instance_destroy();
}
}
}
}
}
if (roaring &gt; 0) {
roaring -= 1;
@ -224,10 +276,19 @@ mealtimer += 1;
<arguments>
<argument>
<kind>1</kind>
<string>draw_self();
draw_set_blend_mode(bm_add);
draw_sprite_ext(sprite_index, -1, x, y, 1, 1, 0, -1, flash);
draw_set_blend_mode(bm_normal);
<string>if(myid == 0){
draw_self();
draw_set_blend_mode(bm_add);
draw_sprite_ext(sprite_index, -1, x, y, 1, 1, 0, -1, flash);
draw_set_blend_mode(bm_normal);
} else {
pal_swap_set(sPalMultitroidBaby, myid, false);
draw_self();
draw_sprite_ext(sprite_index, -1, x, y, 1, 1, 0, -1, flash);
pal_swap_reset();
shader_reset();
}
</string>
</argument>
</arguments>

@ -55,6 +55,31 @@ myblock = instance_create(x, y - 16, oSolidItem);
//if (item == 8) {
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="3" enumb="0">
<action>
<libid>1</libid>
<id>603</id>
<kind>7</kind>
<userelative>0</userelative>
<isquestion>0</isquestion>
<useapplyto>-1</useapplyto>
<exetype>2</exetype>
<functionname></functionname>
<codestring></codestring>
<whoName>self</whoName>
<relative>0</relative>
<isnot>0</isnot>
<arguments>
<argument>
<kind>1</kind>
<string>if(global.item[item] == 1){
instance_destroy();
}
</string>
</argument>
</arguments>

@ -54,6 +54,7 @@ deathsound = sndMAlphaDeath;
active = 1;
target = 0;
state = 3;
alarm[1] = 120;
alarm[3] = 1;
image_speed = 0.2;
@ -494,6 +495,32 @@ if (dodging) dodgetime += 1;
if (fxtimer &lt; 5) {
fxtimer += 1;
} else fxtimer = 0;
if(global.metdead[myid] == 1 &amp;&amp; !dead){
myhealth = 0;
state = 100;
statetime = 0;
alarm[10] = 1;
alarm[11] = 160;
flashtime = 180;
turndelay = 180;
PlaySoundMono(deathsound);
check_areaclear();
global.monstersalive -= 1;
if(global.monstersalive &lt; 0){
global.monstersalive = 0;
}
if (global.monstersalive == 0) {
mus_fadeout(musAlphaFight);
oMusicV2.bossbgm = sndJump;
}
with (oMAlpha) event_user(2);
global.dmap[mapposx, mapposy] = 11;
with (oControl) event_user(2);
dead = true;
xVel = 0;
yVel = 0;
}
</string>
</argument>
</arguments>
@ -931,6 +958,7 @@ if (myhealth &lt;= 0) {
with (oMAlpha) event_user(2);
global.dmap[mapposx, mapposy] = 11;
with (oControl) event_user(2);
dead = true;
}
flashing = 1;
canbehit = 0;

@ -78,7 +78,7 @@ repeat (10) {
sy[0] = y;
x = oCharacter.x;
y = oCharacter.y;
switch (oControl.mod_fusion) {
case 1: {
///make_color_rgb(red, green, blue);
@ -99,7 +99,7 @@ repeat (10) {
{
if (global.currentsuit == 1) image_blend = make_color_rgb(oControl.Trail_V_R_F, oControl.Trail_V_G_F, oControl.Trail_V_B_F);
}
if (oControl.msr_fusionsuit == 1)
{
if (global.currentsuit == 2) image_blend = make_color_rgb(oControl.Trail_G_R_F_SR, oControl.Trail_G_G_F_SR, oControl.Trail_G_B_F_SR);
@ -149,6 +149,8 @@ repeat (10) {
draw_set_blend_mode(bm_normal);
i += 1;
}
</string>
</argument>
</arguments>

@ -713,6 +713,34 @@ if (instance_exists(grabber)) {
grabber.y = y + legba1y + legba2y;
if (state != 5) with (grabber) instance_destroy();
}
if(global.metdead[myid] == 1 &amp;&amp; !dead){
myhealth = 0;
state = 100;
statetime = 0;
alarm[10] = 1;
alarm[11] = 160;
flashtime = 180;
turndelay = 180;
PlaySoundMono(deathsound);
check_areaclear();
global.monstersalive -= 1;
if(global.monstersalive &lt; 0){
global.monstersalive = 0;
}
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();
if (instance_exists(shell)) with (shell) instance_destroy();
global.dmap[mapposx, mapposy] = 11;
with (oControl) event_user(2);
dead = true;
xVel = 0;
yVel = 0;
}
</string>
</argument>
</arguments>
@ -1124,6 +1152,7 @@ if (myhealth &lt;= 0) {
if (instance_exists(arms)) with (arms) instance_destroy();
global.dmap[mapposx, mapposy] = 11;
with (oControl) event_user(2);
dead = true;
}
flashing = 1;
canbehit = 0;

@ -1490,6 +1490,21 @@ if (eyes_close == 0) {
} else if (eyes_frame &lt; 4) eyes_frame += 1;
if (target_mode == 1 &amp;&amp; distance_to_point(targetx, targety) &lt; 32) target_mode = 0;
moveTo(xVel, yVel);
if(global.metdead[myid] == 1 &amp;&amp; !dead){
myhealth = 0;
state = 100;
statetime = 0;
alarm[10] = 1;
alarm[11] = 160;
event_user(2);
mus_fadeout(musOmegaFight);
oMusicV2.bossbgm = sndJump;
check_areaclear();
global.dmap[mapposx, mapposy] = 11;
with (oControl) event_user(2);
dead = true;
}
</string>
</argument>
</arguments>
@ -1704,6 +1719,7 @@ if (myhealth &lt;= 0) {
check_areaclear();
global.dmap[mapposx, mapposy] = 11;
with (oControl) event_user(2);
dead = true;
}
if (myhealth &gt; 0) {
if (dmg &lt; 100) { // missile

@ -1364,6 +1364,23 @@ if (fxtimer &lt; 5) {
if (noswipe &gt; 0) noswipe -= 1;
if (roaring &gt; 0) roaring -= 1;
moveTo(xVel, yVel);
if(global.metdead[myid] == 1 &amp;&amp; !dead){
myhealth = 0;
state = 100;
statetime = 0;
alarm[10] = 1;
alarm[11] = 160;
with (body_obj) instance_destroy();
with (head_obj) instance_destroy();
with (mask_obj) instance_destroy();
mus_fadeout(musZetaFight);
oMusicV2.bossbgm = sndJump;
check_areaclear();
global.dmap[mapposx, mapposy] = 11;
with (oControl) event_user(2);
dead = true;
}
</string>
</argument>
</arguments>
@ -1551,6 +1568,7 @@ if (myhealth &lt;= 0) {
check_areaclear();
global.dmap[mapposx, mapposy] = 11;
with (oControl) event_user(2);
dead = true;
}
if (myhealth &gt; 0) {
PlaySoundMono(sndMZetaHit);

@ -0,0 +1,125 @@
<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<object>
<spriteName>&lt;undefined&gt;</spriteName>
<solid>0</solid>
<visible>-1</visible>
<depth>-1000</depth>
<persistent>-1</persistent>
<parentName>&lt;undefined&gt;</parentName>
<maskName>&lt;undefined&gt;</maskName>
<events>
<event eventtype="0" enumb="0">
<action>
<libid>1</libid>
<id>603</id>
<kind>7</kind>
<userelative>0</userelative>
<isquestion>0</isquestion>
<useapplyto>-1</useapplyto>
<exetype>2</exetype>
<functionname></functionname>
<codestring></codestring>
<whoName>self</whoName>
<relative>0</relative>
<isnot>0</isnot>
<arguments>
<argument>
<kind>1</kind>
<string>if(!instance_exists(oClient)){
instance_destroy();
}
</string>
</argument>
</arguments>
</action>
</event>
<event eventtype="8" enumb="0">
<action>
<libid>1</libid>
<id>603</id>
<kind>7</kind>
<userelative>0</userelative>
<isquestion>0</isquestion>
<useapplyto>-1</useapplyto>
<exetype>2</exetype>
<functionname></functionname>
<codestring></codestring>
<whoName>self</whoName>
<relative>0</relative>
<isnot>0</isnot>
<arguments>
<argument>
<kind>1</kind>
<string>if(!instance_exists(oClient)){
instance_destroy();
} else {
if(ds_list_size(oClient.roomListData) &gt; 0){
for(var i=0; i&lt;ds_list_size(oClient.roomListData); i++){
var arrDraw = oClient.roomListData[| i];
var arrID = arrDraw[0];
var arrX = arrDraw[1];
var arrY = arrDraw[2];
var arrSprite = arrDraw[3];
var arrImage = arrDraw[4];
var arrA1 = arrDraw[5];
var arrA1X = arrDraw[6];
var arrA1Y = arrDraw[7];
var arrA2 = arrDraw[8];
var arrA2X = arrDraw[9];
var arrA2Y = arrDraw[10];
var arrA2A = arrDraw[11];
var arrMirror = arrDraw[12];
var arrArmmsl = arrDraw[13];
var arrRoom = arrDraw[14];
var arrName = arrDraw[15];
var arrBlend = arrDraw[16];
var arrFXTimer = arrDraw[17];
var arrRoomPrev = arrDraw[18];
if((arrRoom == room || arrRoom == rm_options || arrRoom == itemroom || arrRoom == subscreenroom || arrRoom == maproom || arrRoom == rm_subscreen) &amp;&amp; instance_exists(oCharacter) &amp;&amp; room != rm_transition){
if(oClient.showName){
var text;
if(arrRoom == room){
text = arrName;
} else {
if(arrRoom == itemroom){
text = arrName + ": collecting item"
} else {
text = arrName + ": paused";
}
}
if(arrRoom != room){
if(arrRoomPrev == room){
draw_set_font(font_displayname);
draw_set_halign(fa_center);
draw_cool_text(arrX, arrY - 52, text, c_black, c_white, c_white, 1);
}
} else {
draw_set_font(font_displayname);
draw_set_halign(fa_center);
draw_cool_text(arrX, arrY - 52, text, c_black, c_white, c_white, 1);
}
}
}
}
}
}
</string>
</argument>
</arguments>
</action>
</event>
</events>
<PhysicsObject>0</PhysicsObject>
<PhysicsObjectSensor>0</PhysicsObjectSensor>
<PhysicsObjectShape>0</PhysicsObjectShape>
<PhysicsObjectDensity>0.5</PhysicsObjectDensity>
<PhysicsObjectRestitution>0.100000001490116</PhysicsObjectRestitution>
<PhysicsObjectGroup>0</PhysicsObjectGroup>
<PhysicsObjectLinearDamping>0.100000001490116</PhysicsObjectLinearDamping>
<PhysicsObjectAngularDamping>0.100000001490116</PhysicsObjectAngularDamping>
<PhysicsObjectFriction>0.200000002980232</PhysicsObjectFriction>
<PhysicsObjectAwake>-1</PhysicsObjectAwake>
<PhysicsObjectKinematic>0</PhysicsObjectKinematic>
<PhysicsShapePoints/>
</object>

@ -892,7 +892,11 @@ if (state == SAVINGSHIP) {
statetime = 0;
}
} else {
if (statetime == 5){
global.event[308] = 1;
}
if (statetime == 120) {
global.event[308] = 2;
with (oSaveShip) instance_destroy();
with (oHatchling) instance_destroy();
instance_create(3296, 1088, oShipOutro);
@ -903,10 +907,12 @@ if (state == SAVINGSHIP) {
global.enablecontrol = 0;
}
if (statetime == 420) {
global.event[308] = 3;
instance_create(0, 0, oFinalFadeout);
mus_fadeout(musHatchling);
}
if (statetime == 760) {
global.event[308] = 4;
remove_persistent_objects();
sfx_stop_all();
global.vibL = 0;

@ -28,9 +28,8 @@ if(oControl.mod_fusion){
draw_sprite_ext(argument0, argument14, argument1, argument2, argument10, 1, 0, argument11, argument12);
draw_sprite_ext(argument3, argument14, argument1 + argument4, argument2 + argument5, argument10, 1, 0, argument11, argument12);
shader_reset();
pal_swap_reset();
if (argument13 == 1) {
draw_sprite_ext(argument6, argument14, argument1 + argument7, argument2 + argument8, argument10, 1, argument9, argument11, argument12);
}
shader_reset();
pal_swap_reset();

@ -295,7 +295,7 @@ if (global.ophudshowmap){
var xDiff = oClient.posX - arrData[1];
var yDiff = oClient.posY - arrData[2];
if(abs(xDiff) <= 2 && abs(yDiff) <= 1){
draw_sprite(sDarkMultitroidPlayer, (arrData[0] - 1), (((276 + widescreen_space) + 16) - (xDiff * 8)), ((0 + 12) - (yDiff * 8)));
draw_sprite_ext(sMultitroidMapIcon, (arrData[0] - 1), (((276 + widescreen_space) + 16) - (xDiff * 8)), ((0 + 12) - (yDiff * 8)), 1, 1, direction, c_white, oControl.malpha);
}
}
}

@ -3,8 +3,19 @@ list = ds_list_create();
ds_list_read(list, base64_decode(file_text_read_string(argument0)));
i = 0;
j = 0;
repeat (350) {
global.event[j] = readline();
j += 1;
if(!instance_exists(oClient)){
repeat (350) {
global.event[j] = readline();
j += 1;
}
} else if(instance_exists(oClient) && global.lastroom == gameoverroom){
//don't reset values
} else if(instance_exists(oClient) && global.lastroom != gameoverroom){
repeat (350) {
global.event[j] = readline();
j += 1;
}
}
ds_list_clear(list);

@ -2,19 +2,41 @@
list = ds_list_create();
ds_list_read(list, base64_decode(file_text_read_string(argument0)));
i = 0;
global.currentsuit = readline();
global.cbeam = readline();
global.ibeam = readline();
global.wbeam = readline();
global.pbeam = readline();
global.sbeam = readline();
global.morphball = readline();
global.jumpball = readline();
global.powergrip = readline();
global.spacejump = readline();
global.screwattack = readline();
global.hijump = readline();
global.spiderball = readline();
global.speedbooster = readline();
global.bomb = readline();
if(!instance_exists(oClient)){
global.currentsuit = readline();
global.cbeam = readline();
global.ibeam = readline();
global.wbeam = readline();
global.pbeam = readline();
global.sbeam = readline();
global.morphball = readline();
global.jumpball = readline();
global.powergrip = readline();
global.spacejump = readline();
global.screwattack = readline();
global.hijump = readline();
global.spiderball = readline();
global.speedbooster = readline();
global.bomb = readline();
} else if(instance_exists(oClient) && global.lastroom == gameoverroom){
//don't reset values
} else if(instance_exists(oClient) && global.lastroom != gameoverroom){
global.currentsuit = readline();
global.cbeam = readline();
global.ibeam = readline();
global.wbeam = readline();
global.pbeam = readline();
global.sbeam = readline();
global.morphball = readline();
global.jumpball = readline();
global.powergrip = readline();
global.spacejump = readline();
global.screwattack = readline();
global.hijump = readline();
global.spiderball = readline();
global.speedbooster = readline();
global.bomb = readline();
}
ds_list_clear(list);

@ -3,8 +3,19 @@ list = ds_list_create();
ds_list_read(list, base64_decode(file_text_read_string(argument0)));
i = 0;
j = 0;
repeat (350) {
global.item[j] = readline();
j += 1;
if(!instance_exists(oClient)){
repeat (350) {
global.item[j] = readline();
j += 1;
}
} else if(instance_exists(oClient) && global.lastroom == gameoverroom){
//don't reset values
} else if(instance_exists(oClient) && global.lastroom != gameoverroom){
repeat (350) {
global.item[j] = readline();
j += 1;
}
}
ds_list_clear(list);

@ -4,16 +4,34 @@ ds_list_read(list, base64_decode(file_text_read_string(argument0)));
i = 0;
global.save_room = readline();
global.difficulty = readline();
global.gametime = readline();
global.itemstaken = readline();
global.etanks = readline();
global.mtanks = readline();
global.stanks = readline();
global.ptanks = readline();
global.monstersleft = readline();
global.monstersarea = readline();
global.lavastate = readline();
global.mapmarker = readline();
global.mapmarkerx = readline();
global.mapmarkery = readline();
if(!instance_exists(oClient)){
global.gametime = readline();
global.itemstaken = readline();
global.etanks = readline();
global.mtanks = readline();
global.stanks = readline();
global.ptanks = readline();
global.monstersleft = readline();
global.monstersarea = readline();
global.lavastate = readline();
global.mapmarker = readline();
global.mapmarkerx = readline();
global.mapmarkery = readline();
} else if(instance_exists(oClient) && global.lastroom == gameoverroom){
//don't reset values
} else if(instance_exists(oClient) && global.lastroom != gameoverroom){
global.gametime = readline();
global.itemstaken = readline();
global.etanks = readline();
global.mtanks = readline();
global.stanks = readline();
global.ptanks = readline();
global.monstersleft = readline();
global.monstersarea = readline();
global.lavastate = readline();
global.mapmarker = readline();
global.mapmarkerx = readline();
global.mapmarkery = readline();
}
ds_list_clear(list);

@ -3,13 +3,27 @@ list = ds_list_create();
ds_list_read(list, base64_decode(file_text_read_string(argument0)));
i = 0;
k = 0;
repeat (80) {
j = 0;
if(!instance_exists(oClient)){
repeat (80) {
j = 0;
repeat (80) {
global.dmap[k, j] = readline();
j += 1;
}
k += 1;
}
} else if(instance_exists(oClient) && global.lastroom == gameoverroom){
//don't reset values
} else if(instance_exists(oClient) && global.lastroom != gameoverroom){
repeat (80) {
global.dmap[k, j] = readline();
j += 1;
j = 0;
repeat (80) {
global.dmap[k, j] = readline();
j += 1;
}
k += 1;
}
k += 1;
}
ds_list_clear(list);

@ -3,8 +3,19 @@ list = ds_list_create();
ds_list_read(list, base64_decode(file_text_read_string(argument0)));
i = 0;
j = 0;
repeat (100) {
global.metdead[j] = readline();
j += 1;
if(!instance_exists(oClient)){
repeat (100) {
global.metdead[j] = readline();
j += 1;
}
} else if(instance_exists(oClient) && global.lastroom == gameoverroom){
//don't reset values
} else if(instance_exists(oClient) && global.lastroom != gameoverroom){
repeat (100) {
global.metdead[j] = readline();
j += 1;
}
}
ds_list_clear(list);

@ -3,9 +3,19 @@
scr_default_global_items();
var header;
load_character_vars();
reset_map();
init_map();
if(!instance_exists(oClient)){
load_character_vars();
reset_map();
init_map();
} else if(instance_exists(oClient) && global.lastroom == gameoverroom){
//don't reset values
} else if(instance_exists(oClient) && global.lastroom != gameoverroom){
load_character_vars();
reset_map();
init_map();
}
filename = argument0;
if (os_is_native) {
file_copy(filename, filename + "d");
@ -70,5 +80,4 @@ if (header != "[AM2R SaveData V7.0]") {
room_change(global.start_room, 1);
} // if (header != "[AM2R SaveData V7.0]") else

@ -57,7 +57,7 @@ switch(argument0){
} else if(global.onlineReceived[# 2, i] == 25 && global.receivedClientID == global.clientID){
global.smissilesPrev = global.smissiles;
}
/*
if(global.onlineReceived[# 2, i] == 2 && global.receivedClientID != global.clientID){
global.itemstaken = global.onlineReceived[# 1, i];
if(global.itemstakenPrev != global.itemstaken){
@ -102,7 +102,7 @@ switch(argument0){
} else if(global.onlineReceived[# 2, i] == 8 && global.receivedClientID == global.clientID){
global.maxhealthPrev = global.maxhealth;
}
*/
if(global.onlineReceived[# 2, i] == 9 && global.receivedClientID != global.clientID){
global.playerhealth = global.onlineReceived[# 1, i];
if(global.playerhealthPrev != global.playerhealth){
@ -316,7 +316,7 @@ switch(argument0){
} else if(global.onlineReceived[# 2, i] == 26 && global.receivedClientID == global.clientID){
global.pbombsPrev = global.pbombs;
}
/*
if(global.onlineReceived[# 2, i] == 27 && global.receivedClientID != global.clientID){
global.etanks = global.onlineReceived[# 1, i];
if(global.etanksPrev != global.etanks){
@ -352,7 +352,7 @@ switch(argument0){
} else if(global.onlineReceived[# 2, i] == 30 && global.receivedClientID == global.clientID){
global.ptanksPrev = global.ptanks;
}
*/
if(global.onlineReceived[# 2, i] == 31 && global.receivedClientID != global.clientID){
global.currentsuit = global.onlineReceived[# 1, i];
if(global.currentsuitPrev != global.currentsuit){
@ -376,20 +376,20 @@ switch(argument0){
//ds_grid_set(global.onlineList, 1, 0, global.item);
//ds_grid_set(global.onlineList, 0, 1, global.metdeadPrev);
//ds_grid_set(global.onlineList, 1, 1, global.metdead);
ds_grid_set(global.onlineList, 0, 2, global.itemstakenPrev);
ds_grid_set(global.onlineList, 1, 2, global.itemstaken);
//ds_grid_set(global.onlineList, 0, 2, global.itemstakenPrev);
//ds_grid_set(global.onlineList, 1, 2, global.itemstaken);
//ds_grid_set(global.onlineList, 0, 3, global.eventPrev);
//ds_grid_set(global.onlineList, 1, 3, global.event);
//ds_grid_set(global.onlineList, 0, 4, global.monstersleftPrev);
//ds_grid_set(global.onlineList, 1, 4, global.monstersleft);
ds_grid_set(global.onlineList, 0, 5, global.maxmissilesPrev);
ds_grid_set(global.onlineList, 1, 5, global.maxmissiles);
ds_grid_set(global.onlineList, 0, 6, global.maxsmissilesPrev);
ds_grid_set(global.onlineList, 1, 6, global.maxsmissiles);
ds_grid_set(global.onlineList, 0, 7, global.maxpbombsPrev);
ds_grid_set(global.onlineList, 1, 7, global.maxpbombs);
ds_grid_set(global.onlineList, 0, 8, global.maxhealthPrev);
ds_grid_set(global.onlineList, 1, 8, global.maxhealth);
//ds_grid_set(global.onlineList, 0, 5, global.maxmissilesPrev);
//ds_grid_set(global.onlineList, 1, 5, global.maxmissiles);
//ds_grid_set(global.onlineList, 0, 6, global.maxsmissilesPrev);
//ds_grid_set(global.onlineList, 1, 6, global.maxsmissiles);
//ds_grid_set(global.onlineList, 0, 7, global.maxpbombsPrev);
//ds_grid_set(global.onlineList, 1, 7, global.maxpbombs);
//ds_grid_set(global.onlineList, 0, 8, global.maxhealthPrev);
//ds_grid_set(global.onlineList, 1, 8, global.maxhealth);
ds_grid_set(global.onlineList, 0, 9, global.playerhealthPrev);
ds_grid_set(global.onlineList, 1, 9, global.playerhealth);
ds_grid_set(global.onlineList, 0, 10, global.morphballPrev);
@ -426,14 +426,14 @@ switch(argument0){
ds_grid_set(global.onlineList, 1, 25, global.smissiles);
ds_grid_set(global.onlineList, 0, 26, global.pbombsPrev);
ds_grid_set(global.onlineList, 1, 26, global.pbombs);
ds_grid_set(global.onlineList, 0, 27, global.etanksPrev);
ds_grid_set(global.onlineList, 1, 27, global.etanks);
ds_grid_set(global.onlineList, 0, 28, global.mtanksPrev);
ds_grid_set(global.onlineList, 1, 28, global.mtanks);
ds_grid_set(global.onlineList, 0, 29, global.stanksPrev);
ds_grid_set(global.onlineList, 1, 29, global.stanks);
ds_grid_set(global.onlineList, 0, 30, global.ptanksPrev);
ds_grid_set(global.onlineList, 1, 30, global.ptanks);
//ds_grid_set(global.onlineList, 0, 27, global.etanksPrev);
//ds_grid_set(global.onlineList, 1, 27, global.etanks);
//ds_grid_set(global.onlineList, 0, 28, global.mtanksPrev);
//ds_grid_set(global.onlineList, 1, 28, global.mtanks);
//ds_grid_set(global.onlineList, 0, 29, global.stanksPrev);
//ds_grid_set(global.onlineList, 1, 29, global.stanks);
//ds_grid_set(global.onlineList, 0, 30, global.ptanksPrev);
//ds_grid_set(global.onlineList, 1, 30, global.ptanks);
ds_grid_set(global.onlineList, 0, 31, global.currentsuitPrev);
ds_grid_set(global.onlineList, 1, 31, global.currentsuit);
//ds_grid_set(global.onlineList, 0, 32, global.monstersareaPrev);
@ -444,13 +444,13 @@ switch(argument0){
case "replaceglobalvars":
//global.item = ds_grid_get(global.onlineList, 1, 0);
//global.metdead = ds_grid_get(global.onlineList, 1, 1);
global.itemstaken = ds_grid_get(global.onlineList, 1, 2);
//global.itemstaken = ds_grid_get(global.onlineList, 1, 2);
//global.event = ds_grid_get(global.onlineList, 1, 3);
//global.monstersleft = ds_grid_get(global.onlineList, 1, 4);
global.maxmissiles = ds_grid_get(global.onlineList, 1, 5);
global.maxsmissiles = ds_grid_get(global.onlineList, 1, 6);
global.maxpbombs = ds_grid_get(global.onlineList, 1, 7);
global.maxhealth = ds_grid_get(global.onlineList, 1, 8);
//global.maxmissiles = ds_grid_get(global.onlineList, 1, 5);
//global.maxsmissiles = ds_grid_get(global.onlineList, 1, 6);
//global.maxpbombs = ds_grid_get(global.onlineList, 1, 7);
//global.maxhealth = ds_grid_get(global.onlineList, 1, 8);
global.playerhealth = ds_grid_get(global.onlineList, 1, 9);
global.morphball = ds_grid_get(global.onlineList, 1, 10);
global.jumpball = ds_grid_get(global.onlineList, 1, 11);
@ -469,10 +469,10 @@ switch(argument0){
global.missiles = ds_grid_get(global.onlineList, 1, 24);
global.smissiles = ds_grid_get(global.onlineList, 1, 25);
global.pbombs = ds_grid_get(global.onlineList, 1, 26);
global.etanks = ds_grid_get(global.onlineList, 1, 27);
global.mtanks = ds_grid_get(global.onlineList, 1, 28);
global.stanks = ds_grid_get(global.onlineList, 1, 29);
global.ptanks = ds_grid_get(global.onlineList, 1, 30);
//global.etanks = ds_grid_get(global.onlineList, 1, 27);
//global.mtanks = ds_grid_get(global.onlineList, 1, 28);
//global.stanks = ds_grid_get(global.onlineList, 1, 29);
//global.ptanks = ds_grid_get(global.onlineList, 1, 30);
global.currentsuit = ds_grid_get(global.onlineList, 1, 31);
//global.monstersarea = ds_grid_get(global.onlineList, 1, 32);
global.lavastate = ds_grid_get(global.onlineList, 1, 33);

@ -0,0 +1,32 @@
<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<sprite>
<type>0</type>
<xorig>0</xorig>
<yorigin>0</yorigin>
<colkind>1</colkind>
<coltolerance>0</coltolerance>
<sepmasks>0</sepmasks>
<bboxmode>0</bboxmode>
<bbox_left>0</bbox_left>
<bbox_right>7</bbox_right>
<bbox_top>0</bbox_top>
<bbox_bottom>7</bbox_bottom>
<HTile>0</HTile>
<VTile>0</VTile>
<TextureGroups>
<TextureGroup0>0</TextureGroup0>
</TextureGroups>
<For3D>0</For3D>
<width>8</width>
<height>8</height>
<frames>
<frame index="0">images\sMultitroidMapIcon_0.png</frame>
<frame index="1">images\sMultitroidMapIcon_1.png</frame>
<frame index="2">images\sMultitroidMapIcon_2.png</frame>
<frame index="3">images\sMultitroidMapIcon_3.png</frame>
<frame index="4">images\sMultitroidMapIcon_4.png</frame>
<frame index="5">images\sMultitroidMapIcon_5.png</frame>
<frame index="6">images\sMultitroidMapIcon_6.png</frame>
<frame index="7">images\sMultitroidMapIcon_7.png</frame>
</frames>
</sprite>

@ -0,0 +1,25 @@
<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
<sprite>
<type>0</type>
<xorig>0</xorig>
<yorigin>0</yorigin>
<colkind>1</colkind>
<coltolerance>0</coltolerance>
<sepmasks>0</sepmasks>
<bboxmode>0</bboxmode>
<bbox_left>0</bbox_left>
<bbox_right>8</bbox_right>
<bbox_top>0</bbox_top>
<bbox_bottom>9</bbox_bottom>
<HTile>0</HTile>
<VTile>0</VTile>
<TextureGroups>
<TextureGroup0>0</TextureGroup0>
</TextureGroups>
<For3D>0</For3D>
<width>9</width>
<height>10</height>
<frames>
<frame index="0">images\sPalMultitroidBaby_0.png</frame>
</frames>
</sprite>
Loading…
Cancel
Save