diff --git a/AM2R.project.gmx b/AM2R.project.gmx
index b815ce46..b6bdacaa 100644
--- a/AM2R.project.gmx
+++ b/AM2R.project.gmx
@@ -4122,6 +4122,12 @@
sprites\sShipGlow
+
+ sprites\sMultitroidIcon
+ sprites\sPalMultitroidNew
+ sprites\sDarkMultitroidPlayer
+ sprites\sPalMultitroidFusion
+
background\bgScreenGuide
@@ -5074,6 +5080,7 @@
+
@@ -5094,6 +5101,7 @@
fonts\fontMenuTinyDefault
fonts\fontMenuSmall2Default
fonts\fontSubScrDefault
+ fonts\font_displayname
diff --git a/README.md b/README.md
index 2558dc04..b90ac390 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,6 @@ The adjusted patcher for the AM2R mod can be found here: https://github.com/lass
## To-do List
- Save syncing
- - Message that tells you what power-up has been obtained
- More definitive player data tracking by the server - kinda done but not quite
- Other things I haven't thought of yet, so if you have any ideas or suggestions, let me know in the AM2R Discord Server
diff --git a/datafiles/mod settings.ini b/datafiles/mod settings.ini
index 5535c07a..90f85227 100644
--- a/datafiles/mod settings.ini
+++ b/datafiles/mod settings.ini
@@ -1,3 +1,3 @@
[ModSettings]
-ipaddress = 10.220.1.3
+ipaddress = 206.123.128.236
displayname = milesthenerd
diff --git a/fonts/font_displayname.font.gmx b/fonts/font_displayname.font.gmx
new file mode 100644
index 00000000..06f82553
--- /dev/null
+++ b/fonts/font_displayname.font.gmx
@@ -0,0 +1,118 @@
+
+
+ m5x7
+ 12
+ -1
+ 0
+ 0
+ 1
+ 3
+ 0
+
+
+ 0
+
+
+ 32,127
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ font_displayname.png
+
diff --git a/objects/oA2SmallTurbine.object.gmx b/objects/oA2SmallTurbine.object.gmx
index cde55d5c..a632933a 100644
--- a/objects/oA2SmallTurbine.object.gmx
+++ b/objects/oA2SmallTurbine.object.gmx
@@ -112,7 +112,8 @@ alarm[0] = 5 + random(3);
1
- if (stun > 0) stun -= 1;
+ if (global.event[101] >= eventno) instance_destroy();
+if (stun > 0) stun -= 1;
if (flashing > 0) flashing -= 1;
if (fxtimer < 5) {
fxtimer += 1;
diff --git a/objects/oA4RocksCollision.object.gmx b/objects/oA4RocksCollision.object.gmx
index c6db317b..666c26ed 100644
--- a/objects/oA4RocksCollision.object.gmx
+++ b/objects/oA4RocksCollision.object.gmx
@@ -34,6 +34,34 @@
mysolid.image_xscale = 2;
mysolid.image_yscale = 4;
}
+
+
+
+
+
+
+
+ 1
+ 603
+ 7
+ 0
+ 0
+ -1
+ 2
+
+
+ self
+ 0
+ 0
+
+
+ 1
+ if(global.event[206] == 1){
+ with (oA4Rock) event_user(0);
+ with (oA4RockTop) event_user(0);
+ with (mysolid) instance_destroy();
+ instance_destroy();
+}
diff --git a/objects/oClient.object.gmx b/objects/oClient.object.gmx
index 451b7438..7648f33d 100644
--- a/objects/oClient.object.gmx
+++ b/objects/oClient.object.gmx
@@ -2,7 +2,7 @@
+
+
+
+ 1
+ 603
+ 7
+ 0
+ 0
+ -1
+ 2
+
+
+ self
+ 0
+ 0
+
+
+ 1
+ buffer_delete(buffer);
+var size, type, alignment;
+size = 1024;
+type = buffer_grow;
+alignment = 1;
+buffer = buffer_create(size, type, alignment);
+buffer_seek(buffer, buffer_seek_start, 0);
+buffer_write(buffer, buffer_u8, 101);
+buffer_write(buffer, buffer_u8, global.clientID);
+buffer_write(buffer, buffer_s16, room);
+buffer_write(buffer, buffer_s16, posX);
+buffer_write(buffer, buffer_s16, posY);
+var result = network_send_packet(socket, buffer, buffer_tell(buffer));
+
+alarm[11] = 20;
+
+
+
+
+
+
+
+ 1
+ 603
+ 7
+ 0
+ 0
+ -1
+ 2
+
+
+ self
+ 0
+ 0
+
+
+ 1
+ if(sameRoom){
+ if(instance_exists(oCharacter)){
+ if(oCharacter.x != global.prevX || oCharacter.y != global.prevY || global.roomPrev != room || global.prevSprite != oCharacter.sprite_index || global.prevIndex != oCharacter.image_index){
+ if(global.prevX != oCharacter.x){
+ global.prevX = oCharacter.x;
+ }
+ if(global.prevY != oCharacter.y){
+ global.prevY = oCharacter.y;
+ }
+ if(global.roomPrev != room){
+ global.roomPrev = room;
+ }
+ if(global.prevSprite != oCharacter.sprite_index){
+ global.prevSprite = oCharacter.sprite_index;
+ }
+ if(global.prevIndex != oCharacter.image_index){
+ global.prevIndex = oCharacter.image_index;
+ }
+ buffer_delete(buffer);
+ var size, type, alignment;
+ size = 1024;
+ type = buffer_grow;
+ alignment = 1;
+ buffer = buffer_create(size, type, alignment);
+ buffer_seek(buffer, buffer_seek_start, 0);
+ buffer_write(buffer, buffer_u8, 100);
+ buffer_write(buffer, buffer_u8, global.clientID);
+ buffer_write(buffer, buffer_s16, oCharacter.x);
+ buffer_write(buffer, buffer_s16, oCharacter.y);
+ buffer_write(buffer, buffer_s16, oCharacter.sprite_index);
+ buffer_write(buffer, buffer_s16, oCharacter.image_index);
+ buffer_write(buffer, buffer_s16, oCharacter.aspr1);
+ buffer_write(buffer, buffer_s16, oCharacter.asprx);
+ buffer_write(buffer, buffer_s16, oCharacter.aspry);
+ buffer_write(buffer, buffer_s16, oCharacter.aspr2);
+ buffer_write(buffer, buffer_s16, oCharacter.aspr2x);
+ buffer_write(buffer, buffer_s16, oCharacter.aspr2y);
+ buffer_write(buffer, buffer_s16, oCharacter.aspr2a);
+ buffer_write(buffer, buffer_s16, oCharacter.mirror);
+ buffer_write(buffer, buffer_s16, oCharacter.armmsl);
+ buffer_write(buffer, buffer_s16, room);
+ buffer_write(buffer, buffer_string, name);
+ buffer_write(buffer, buffer_s16, oCharacter.image_blend);
+ var result = network_send_packet(socket, buffer, buffer_tell(buffer));
+ }
+ }
+}
+alarm[10] = 3;
+
+
+
+
+
+
+
+ 1
+ 603
+ 7
+ 0
+ 0
+ -1
+ 2
+
+
+ self
+ 0
+ 0
+
+
+ 1
+ var v = 0;
+for(var i=0; i<array_height_2d(global.dmap); i++){
+ for(var f=0; f<array_length_2d(global.dmap, i); f++){
+ if(global.dmapPrev[i, f] != global.dmap[i, f]){
+ global.dmapChanges[v, 0] = global.dmap[i, f];
+ global.dmapChanges[v, 1] = i;
+ global.dmapChanges[v, 2] = f;
+ global.onlineMap[# 0, 0] = global.dmapChanges;
+ mapChanged = true;
+ if(v == 30){
+ break;
+ }
+ v++;
+ }
+ }
+}
+
+if(mapChanged){
+ buffer_delete(buffer);
+ var size, type, alignment;
+ size = 1024;
+ type = buffer_grow;
+ alignment = 1;
+ buffer = buffer_create(size, type, alignment);
+ buffer_seek(buffer, buffer_seek_start, 0);
+ buffer_write(buffer, buffer_u8, 9);
+ buffer_write(buffer, buffer_string, strict_compress(ds_grid_write(global.onlineMap)));
+ buffer_write(buffer, buffer_u8, global.clientID);
+ var result = network_send_packet(socket, buffer, buffer_tell(buffer));
+}
+
+if(!mapChanged){
+ alarm[6] = 30;
+}
+
+if(mapChanged){
+ mapChanged = false;
+ alarm[6]= 75;
}
@@ -151,12 +349,13 @@ if(connected){
1
var v = 0;
for(var f=0; f<array_length_1d(global.event); f++){
+ if(f > 350){
+ break;
+ }
if(global.eventPrev[f] != global.event[f]){
global.eventChanges[v, 0] = global.event[f];
global.eventChanges[v, 1] = f;
global.onlineEvent[# 0, 0] = global.eventChanges;
- show_debug_message(string(global.eventPrev[f]) + " " + string(global.event[f]));
- show_debug_message("event changed");
eventChanged = true;
v++;
}
@@ -212,8 +411,6 @@ for(var f=0; f<array_length_1d(global.metdead); f++){
global.metdeadChanges[v, 0] = global.metdead[f];
global.metdeadChanges[v, 1] = f;
global.onlineMetdead[# 0, 0] = global.metdeadChanges;
- show_debug_message(string(global.metdeadPrev[f]) + " " + string(global.metdead[f]));
- show_debug_message("metdead changed");
metdeadChanged = true;
v++;
}
@@ -269,8 +466,6 @@ for(var f=0; f<array_length_1d(global.item); f++){
global.itemChanges[v, 0] = global.item[f];
global.itemChanges[v, 1] = f;
global.onlineItem[# 0, 0] = global.itemChanges;
- show_debug_message(string(global.itemPrev[f]) + " " + string(global.item[f]));
- show_debug_message("item changed");
itemChanged = true;
v++;
}
@@ -422,7 +617,6 @@ for(var i=0; i<ds_grid_height(global.onlineList); i++){
global.onlineSend[# 0, i] = global.onlineList[# 0, i];
global.onlineSend[# 1, i] = global.onlineList[# 1, i];
global.onlineSend[# 2, i] = global.onlineList[# 2, i];
- show_debug_message(string(global.onlineSend[# 0, i]) + " " + string(global.onlineSend[# 1, i]) + " " + string(global.onlineSend[# 2, i]));
canSend = true;
alarm[0] = 600;
}
@@ -584,6 +778,9 @@ if(instance_exists(oQueenHead) && !is_undefined(oQueenHead.myhealth) &am
alarm[3] = 5;
alarm[4] = 5;
alarm[5] = 5;
+ alarm[6] = 5;
+ alarm[10] = 3;
+ alarm[11] = 20;
} else {
instance_destroy();
popup_text("Failed to connect");
@@ -602,6 +799,10 @@ if(global.event[303] > 0){
phase = 0;
}
+if(global.event[203] < 9){
+ global.event[203] = 9;
+}
+
if(instance_exists(oQueen) && !is_undefined(oQueen.phase)){
if(phase >= 1 && instance_exists(inst_146524)){
event_perform_object(oQueenFireball, ev_other, ev_user1);
@@ -641,43 +842,6 @@ if(instance_exists(oQueen) && !is_undefined(oQueen.phase)){
}
}
-if(connected){
- if(instance_exists(oCharacter)){
- if(oCharacter.x != global.prevX || oCharacter.y != global.prevY || global.roomPrev != room || global.prevSprite != oCharacter.sprite_index || global.prevIndex != oCharacter.image_index){
- if(global.prevX != oCharacter.x){
- global.prevX = oCharacter.x;
- }
- if(global.prevY != oCharacter.y){
- global.prevY = oCharacter.y;
- }
- if(global.roomPrev != room){
- global.roomPrev = room;
- }
- if(global.prevSprite != oCharacter.sprite_index){
- global.prevSprite = oCharacter.sprite_index;
- }
- if(global.prevIndex != oCharacter.image_index){
- global.prevIndex = oCharacter.image_index;
- }
- buffer_delete(buffer);
- var size, type, alignment;
- size = 1024;
- type = buffer_grow;
- alignment = 1;
- buffer = buffer_create(size, type, alignment);
- buffer_seek(buffer, buffer_seek_start, 0);
- buffer_write(buffer, buffer_u8, 100);
- buffer_write(buffer, buffer_u8, global.clientID);
- buffer_write(buffer, buffer_s16, oCharacter.x);
- buffer_write(buffer, buffer_s16, oCharacter.y);
- buffer_write(buffer, buffer_s16, oCharacter.sprite_index);
- buffer_write(buffer, buffer_s16, oCharacter.image_index);
- buffer_write(buffer, buffer_s16, room);
- var result = network_send_packet(socket, buffer, buffer_tell(buffer));
- }
- }
-}
-
if(keyboard_check_pressed(vk_f2)){
instance_destroy();
}
@@ -685,6 +849,14 @@ if(keyboard_check_pressed(vk_f2)){
if(keyboard_check_pressed(vk_f3)){
popup_text_ext(string(oControl.seed), 300);
}
+
+if(instance_exists(oCharacter)){
+ posX = global.mapposx;
+ posY = global.mapposy;
+} else {
+ posX = posX;
+ posY = posY;
+}
@@ -713,17 +885,55 @@ var type_event = ds_map_find_value(async_load, "type");
switch(type_event){
case network_type_data:
var _buffer = ds_map_find_value(async_load, "buffer");
- show_debug_message(buffer_get_size(_buffer));
buffer_seek(_buffer, buffer_seek_start, 0);
+ show_debug_message(string(buffer_get_size(_buffer)));
msgid = buffer_read(_buffer, buffer_u8);
switch(msgid){
+ case 254:
+ var clientID = buffer_read(_buffer, buffer_u8);
+ if(ds_list_size(roomList) > 0){
+ var findsocket = ds_list_find_index(roomList, clientID);
+ if(findsocket >= 0){
+ ds_list_delete(roomList, findsocket);
+ for(var i=0; i<ds_list_size(roomListData); i++){
+ var arrList = roomListData[| i];
+ if(arrList[0] == clientID){
+ ds_list_delete(roomListData, i);
+ }
+ }
+ }
+ }
+ for(var f=0; f<ds_list_size(global.idList); f++){
+ var arrList = global.idList[| f];
+ if(clientID == arrList[0, 0]){
+ ds_list_delete(global.idList, f);
+ }
+ }
+ for(var v=0; v<ds_list_size(posData); v++){
+ var arrList = posData[| v];
+ if(clientID == arrList[0]){
+ ds_list_delete(posData, v);
+ }
+ }
+ break;
case 100:
var clientID = buffer_read(_buffer, buffer_u8);
var clientX = buffer_read(_buffer, buffer_s16);
var clientY = buffer_read(_buffer, buffer_s16);
var clientSprite = buffer_read(_buffer, buffer_s16);
var clientImage = buffer_read(_buffer, buffer_s16);
+ var clientA1 = buffer_read(_buffer, buffer_s16);
+ var clientA1X = buffer_read(_buffer, buffer_s16);
+ var clientA1Y = buffer_read(_buffer, buffer_s16);
+ var clientA2 = buffer_read(_buffer, buffer_s16);
+ var clientA2X = buffer_read(_buffer, buffer_s16);
+ var clientA2Y = buffer_read(_buffer, buffer_s16);
+ var clientA2A = buffer_read(_buffer, buffer_s16);
+ var clientMirror = buffer_read(_buffer, buffer_s16);
+ var clientArmmsl = buffer_read(_buffer, buffer_s16);
var clientRoom = buffer_read(_buffer, buffer_s16);
+ var clientName = buffer_read(_buffer, buffer_string);
+ var clientBlend = buffer_read(_buffer, buffer_s16);
var findsocket = ds_list_find_index(roomList, clientID);
if(global.clientID != clientID){
if(findsocket < 0){
@@ -735,11 +945,48 @@ switch(type_event){
arr[2] = clientY;
arr[3] = clientSprite;
arr[4] = clientImage;
- arr[5] = clientRoom;
+ arr[5] = clientA1;
+ arr[6] = clientA1X;
+ arr[7] = clientA1Y;
+ arr[8] = clientA2;
+ arr[9] = clientA2X;
+ arr[10] = clientA2Y;
+ arr[11] = clientA2A;
+ arr[12] = clientMirror;
+ arr[13] = clientArmmsl;
+ arr[14] = clientRoom;
+ arr[15] = clientName;
+ arr[16] = clientBlend;
ds_list_add(roomListData, arr);
}
} else {
+ var arr;
+ arr[0] = clientID;
+ arr[1] = clientX;
+ arr[2] = clientY;
+ arr[3] = clientSprite;
+ arr[4] = clientImage;
+ arr[5] = clientA1;
+ arr[6] = clientA1X;
+ arr[7] = clientA1Y;
+ arr[8] = clientA2;
+ arr[9] = clientA2X;
+ arr[10] = clientA2Y;
+ arr[11] = clientA2A;
+ arr[12] = clientMirror;
+ arr[13] = clientArmmsl;
+ arr[14] = clientRoom;
+ arr[15] = clientName;
+ arr[16] = clientBlend;
+ var indexValue = ds_list_find_value(roomList, findsocket);
+ for(var i=0; i<ds_list_size(roomListData); i++){
+ var arrList = roomListData[| i];
+ if(arrList[0] == indexValue){
+ roomListData[| i] = arr;
+ }
+ }
if(clientRoom != room){
+ sameRoom = false;
var indexValue = ds_list_find_value(roomList, findsocket);
ds_list_delete(roomList, findsocket);
for(var i=0; i<ds_list_size(roomListData); i++){
@@ -751,7 +998,70 @@ switch(type_event){
}
}
}
- drawUpdate = true;
+ break;
+ case 101:
+ var clientID = buffer_read(_buffer, buffer_u8);
+ var clientRoom = buffer_read(_buffer, buffer_s16);
+ var clientMapX = buffer_read(_buffer, buffer_s16);
+ var clientMapY = buffer_read(_buffer, buffer_s16);
+ var findsocket = ds_list_find_index(roomList, clientID);
+ if(clientRoom == room && global.clientID != clientID){
+ sameRoom = true;
+ } else if(clientRoom != room && global.clientID != clientID){
+ if(ds_list_size(roomList) > 0 && findsocket >= 0){
+ sameRoom = false;
+ var indexValue = ds_list_find_value(roomList, findsocket);
+ ds_list_delete(roomList, findsocket);
+ for(var i=0; i<ds_list_size(roomListData); i++){
+ var arrList = roomListData[| i];
+ if(arrList[0] == indexValue){
+ ds_list_delete(roomListData, i);
+ }
+ }
+ }
+ }
+
+ checkList = ds_list_create();
+
+ if(ds_list_size(global.idList) > 0){
+ for(var f=0; f<ds_list_size(global.idList); f++){
+ if(ds_list_size(posData) > 0 && clientID != global.clientID){
+ var arrPosData;
+ arrPosData[0] = clientID;
+ arrPosData[1] = clientMapX;
+ arrPosData[2] = clientMapY;
+ for(var v=0; v<ds_list_size(posData); v++){
+ var arr = posData[| v];
+ 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);
+ }
+ }
+ }
+
+ var find = ds_list_find_index(checkList, clientID);
+
+ if(find < 0){
+ ds_list_add(posData, arrPosData);
+ }
+ } else if(ds_list_size(posData) == 0 && clientID != global.clientID){
+ var arrPosData;
+ arrPosData[0] = clientID;
+ arrPosData[1] = clientMapX;
+ arrPosData[2] = clientMapY;
+ ds_list_add(posData, arrPosData);
+ if(instance_exists(oMapCursor) && surface_exists(oSS_Control.s_map)){
+ surface_free(oSS_Control.s_map);
+ }
+ }
+ }
+ }
+ ds_list_destroy(checkList);
+ break;
+ case 102:
+ ds_list_read(global.idList, strict_decompress(buffer_read(_buffer, buffer_string)));
break;
case 0:
global.clientID = buffer_read(_buffer, buffer_u8);
@@ -833,7 +1143,6 @@ switch(type_event){
case 5:
var monstersLeft = buffer_read(_buffer, buffer_s8);
var clientID = buffer_read(_buffer, buffer_u8);
- show_debug_message("metroidsleft received " + string(monstersLeft));
if(global.clientID != clientID && global.monstersleft != monstersLeft){
global.monstersleft = monstersLeft;
global.monstersleftPrev = global.monstersleft;
@@ -845,7 +1154,6 @@ switch(type_event){
case 6:
var monstersArea = buffer_read(_buffer, buffer_s8);
var clientID = buffer_read(_buffer, buffer_u8);
- show_debug_message("metroidsarea received " + string(monstersArea));
if(global.clientID != clientID && global.monstersarea != monstersArea){
global.monstersarea = monstersArea;
global.monstersareaPrev = global.monstersarea;
@@ -859,16 +1167,13 @@ switch(type_event){
ds_grid_read(item, strict_decompress(buffer_read(_buffer, buffer_string)));
var clientID = buffer_read(_buffer, buffer_u8);
var itemArr = item[# 0, 0];
- show_debug_message(itemArr);
if(is_array(itemArr)){
for(var i=0; i<array_length_1d(global.item); i++){
for(var f=0; f<array_height_2d(itemArr); f++){
if(i == itemArr[f, 1]){
global.itemPrev[i] = itemArr[f, 0];
- show_debug_message("item prev index " + string(i) + " changed");
if(global.item[i] != itemArr[f, 0]){
global.item[i] = itemArr[f, 0];
- show_debug_message("item current index " + string(i) + " changed");
}
}
}
@@ -886,16 +1191,13 @@ switch(type_event){
ds_grid_read(metdead, strict_decompress(buffer_read(_buffer, buffer_string)));
var clientID = buffer_read(_buffer, buffer_u8);
var metdeadArr = metdead[# 0, 0];
- show_debug_message(metdeadArr);
if(is_array(metdeadArr)){
for(var i=0; i<array_length_1d(global.metdead); i++){
for(var f=0; f<array_height_2d(metdeadArr); f++){
if(i == metdeadArr[f, 1]){
global.metdeadPrev[i] = metdeadArr[f, 0];
- show_debug_message("metdead prev index " + string(i) + " changed");
if(global.metdead[i] != metdeadArr[f, 0]){
global.metdead[i] = metdeadArr[f, 0];
- show_debug_message("metdead current index " + string(i) + " changed");
}
}
}
@@ -913,16 +1215,13 @@ switch(type_event){
ds_grid_read(event, strict_decompress(buffer_read(_buffer, buffer_string)));
var clientID = buffer_read(_buffer, buffer_u8);
var eventArr = event[# 0, 0];
- show_debug_message(eventArr);
if(is_array(eventArr)){
for(var i=0; i<array_length_1d(global.event); i++){
for(var f=0; f<array_height_2d(eventArr); f++){
if(i == eventArr[f, 1]){
global.eventPrev[i] = eventArr[f, 0];
- show_debug_message("event prev index " + string(i) + " changed");
if(global.event[i] != eventArr[f, 0]){
global.event[i] = eventArr[f, 0];
- show_debug_message("event current index " + string(i) + " changed");
}
}
}
@@ -935,6 +1234,35 @@ switch(type_event){
}
ds_grid_destroy(event);
break;
+ case 10:
+ var dmap = ds_grid_create(1, 1);
+ ds_grid_read(dmap, strict_decompress(buffer_read(_buffer, buffer_string)));
+ var clientID = buffer_read(_buffer, buffer_u8);
+ var dmapArr = dmap[# 0, 0];
+ if(is_array(dmapArr)){
+ for(var i=0; i<array_height_2d(global.dmap); i++){
+ for(var f=0; f<array_length_2d(global.dmap, i); f++){
+ for(var v=0; v<array_height_2d(dmapArr); v++){
+ if(i == dmapArr[v, 1] && f == dmapArr[v, 2]){
+ global.dmapPrev[i, f] = dmapArr[v, 0];
+ if(global.dmap[i, f] != dmapArr[v, 0]){
+ global.dmap[i, f] = dmapArr[v, 0];
+ if(global.ingame){
+ with (oControl) event_user(2);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ alarm[6] = 30;
+ if(global.clientID == clientID){
+ ds_grid_clear(global.onlineMap, -1);
+ global.dmapChanges = 0;
+ }
+ ds_grid_destroy(dmap);
+ break;
}
}
@@ -959,7 +1287,20 @@ switch(type_event){
1
- network_destroy(socket);
+ if(connected){
+ buffer_delete(buffer);
+ var size, type, alignment;
+ size = 1024;
+ type = buffer_grow;
+ alignment = 1;
+ buffer = buffer_create(size, type, alignment);
+ buffer_seek(buffer, buffer_seek_start, 0);
+ buffer_write(buffer, buffer_u8, 254);
+ buffer_write(buffer, buffer_u8, global.clientID);
+ var result = network_send_packet(socket, buffer, buffer_tell(buffer));
+}
+
+network_destroy(socket);
buffer_delete(buffer);
ds_grid_destroy(global.onlineList);
ds_grid_destroy(global.onlineSend);
@@ -968,9 +1309,12 @@ ds_grid_destroy(global.onlineReceived);
ds_grid_destroy(global.onlineItem);
ds_grid_destroy(global.onlineMetdead);
ds_grid_destroy(global.onlineEvent);
+ds_grid_destroy(global.onlineMap);
ds_list_destroy(global.receivedPacketIDs);
ds_list_destroy(roomList);
ds_list_destroy(roomListData);
+ds_list_destroy(global.idList);
+ds_list_destroy(posData);
@@ -993,19 +1337,48 @@ ds_list_destroy(roomListData);
1
- if(ds_list_size(roomListData) > 0){
+ if(ds_list_size(roomListData) > 0){
for(var i=0; i<ds_list_size(roomListData); i++){
var arrDraw = roomListData[| i];
+ var arrID = arrDraw[0];
var arrX = arrDraw[1];
var arrY = arrDraw[2];
var arrSprite = arrDraw[3];
var arrImage = arrDraw[4];
- var arrRoom = arrDraw[5];
+ 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];
if(arrRoom == room && instance_exists(oCharacter)){
- draw_sprite_ext(arrSprite, arrImage, arrX, arrY, 1, 1, direction, c_black, image_alpha);
+ 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(instance_exists(oMapCursor)){
+ if(ds_list_size(posData) > 0){
+ for(var i=0; i<ds_list_size(posData); i++){
+ var arrMapIcon = posData[| i];
+ var arrID = arrMapIcon[0];
+ var arrX = arrMapIcon[1];
+ var arrY = arrMapIcon[2];
+ draw_sprite(sDarkMultitroidPlayer, (arrID - 1), (arrX * 8), ((arrY * 8) + 32));
+ }
+ }
+}
+
diff --git a/objects/oControl.object.gmx b/objects/oControl.object.gmx
index 74814a14..2e61899b 100644
--- a/objects/oControl.object.gmx
+++ b/objects/oControl.object.gmx
@@ -393,6 +393,7 @@ yShake = 0;
room_width_map = ds_map_create();
ds_map_read(room_width_map, "9201000075010000000000000000000000907040000000000000000000007440000000000000000000E06840000000000000000000007440000000000000000000607340000000000000000000008440000000000000000000C05840000000000000000000009440000000000000000000B07740000000000000000000008440000000000000000000C06F40000000000000000000007440000000000000000000407440000000000000000000009940000000000000000000A06640000000000000000000007440000000000000000000004D40000000000000000000009940000000000000000000805640000000000000000000008440000000000000000000806140000000000000000000008E40000000000000000000003640000000000000000000009940000000000000000000804440000000000000000000008440000000000000000000507740000000000000000000008440000000000000000000206F40000000000000000000007440000000000000000000A07440000000000000000000007440000000000000000000005F40000000000000000000008440000000000000000000707040000000000000000000008440000000000000000000006840000000000000000000007440000000000000000000807340000000000000000000009940000000000000000000606140000000000000000000009440000000000000000000405140000000000000000000008E40000000000000000000406640000000000000000000008440000000000000000000A06740000000000000000000008440000000000000000000004C40000000000000000000007440000000000000000000805740000000000000000000007440000000000000000000806040000000000000000000009440000000000000000000003740000000000000000000007440000000000000000000907140000000000000000000008440000000000000000000E06940000000000000000000007440000000000000000000607240000000000000000000009940000000000000000000C05940000000000000000000007440000000000000000000B07640000000000000000000007440000000000000000000C06E40000000000000000000008E40000000000000000000407540000000000000000000007440000000000000000000606040000000000000000000007440000000000000000000107840000000000000000000007440000000000000000000405040000000000000000000007440000000000000000000406740000000000000000000008440000000000000000000804540000000000000000000007440000000000000000000507640000000000000000000007440000000000000000000206E4000000000000000000080A140000000000000000000A07540000000000000000000009440000000000000000000005E40000000000000000000007440000000000000000000707140000000000000000000008440000000000000000000006940000000000000000000007440000000000000000000807240000000000000000000008440000000000000000000804640000000000000000000008440000000000000000000507540000000000000000000008440000000000000000000206D40000000000000000000007440000000000000000000A07640000000000000000000008440000000000000000000005D40000000000000000000009440000000000000000000707240000000000000000000007440000000000000000000006A40000000000000000000007440000000000000000000807140000000000000000000007440000000000000000000606340000000000000000000008440000000000000000000405340000000000000000000009440000000000000000000406440000000000000000000008440000000000000000000907240000000000000000000007440000000000000000000E06A40000000000000000000007440000000000000000000607140000000000000000000008440000000000000000000C05A40000000000000000000008440000000000000000000B07540000000000000000000007440000000000000000000C06D40000000000000000000008E40000000000000000000407640000000000000000000008440000000000000000000A06440000000000000000000007440000000000000000000004F40000000000000000000007440000000000000000000805440000000000000000000009440000000000000000000806340000000000000000000008440000000000000000000007840000000000000000000008440000000000000000000606240000000000000000000009440000000000000000000405240000000000000000000008440000000000000000000406540000000000000000000007440000000000000000000804740000000000000000000008440000000000000000000507440000000000000000000008440000000000000000000206C40000000000000000000007440000000000000000000A07740000000000000000000007440000000000000000000005C40000000000000000000009440000000000000000000707340000000000000000000007440000000000000000000006B40000000000000000000008440000000000000000000807040000000000000000000007440000000000000000000A06540000000000000000000007440000000000000000000004E4000000000000000000000844000000000000000000080554000000000000000000000744000000000000000000080624000000000000000000000844000000000000000000000354000000000000000000080B140000000000000000000907340000000000000000000009440000000000000000000E06B40000000000000000000007440000000000000000000607040000000000000000000007440000000000000000000C05B40000000000000000000007440000000000000000000B07440000000000000000000009440000000000000000000C06C4000000000000000000000744000000000000000000040774000000000000000000000A440000000000000000000A06340000000000000000000008E40000000000000000000004840000000000000000000009440000000000000000000805340000000000000000000007440000000000000000000207840000000000000000000008E40000000000000000000806440000000000000000000008E40000000000000000000907540000000000000000000007440000000000000000000E06D40000000000000000000008E40000000000000000000607640000000000000000000007440000000000000000000C05D40000000000000000000007440000000000000000000B07240000000000000000000007440000000000000000000C06A40000000000000000000008E40000000000000000000407140000000000000000000008440000000000000000000606440000000000000000000007440000000000000000000405440000000000000000000008440000000000000000000406340000000000000000000009940000000000000000000804140000000000000000000009440000000000000000000507240000000000000000000007440000000000000000000206A40000000000000000000008440000000000000000000A07140000000000000000000007440000000000000000000005A40000000000000000000008E40000000000000000000707540000000000000000000007440000000000000000000006D40000000000000000000008440000000000000000000807640000000000000000000008E40000000000000000000907440000000000000000000007440000000000000000000E06C40000000000000000000008E40000000000000000000607740000000000000000000007440000000000000000000C05C40000000000000000000008440000000000000000000B07340000000000000000000008440000000000000000000C06B40000000000000000000009440000000000000000000407040000000000000000000008440000000000000000000A06240000000000000000000009440000000000000000000004940000000000000000000007440000000000000000000805240000000000000000000007440000000000000000000806540000000000000000000007440000000000000000000804040000000000000000000009440000000000000000000507340000000000000000000008440000000000000000000206B40000000000000000000007440000000000000000000A07040000000000000000000008440000000000000000000005B40000000000000000000008440000000000000000000707440000000000000000000007440000000000000000000006C40000000000000000000008E40000000000000000000807740000000000000000000007440000000000000000000606540000000000000000000008E40000000000000000000405540000000000000000000007440000000000000000000406240000000000000000000007440000000000000000000606640000000000000000000009440000000000000000000405640000000000000000000007440000000000000000000406140000000000000000000007440000000000000000000804340000000000000000000008440000000000000000000507040000000000000000000008440000000000000000000206840000000000000000000008E40000000000000000000A07340000000000000000000008E4000000000000000000000584000000000000000000000744000000000000000000070774000000000000000000040BF40000000000000000000006F40000000000000000000007440000000000000000000807440000000000000000000007440000000000000000000A06140000000000000000000007440000000000000000000004A40000000000000000000007440000000000000000000805140000000000000000000007440000000000000000000806640000000000000000000008440000000000000000000907740000000000000000000008440000000000000000000E06F40000000000000000000008440000000000000000000607440000000000000000000007440000000000000000000C05F40000000000000000000007440000000000000000000B07040000000000000000000008440000000000000000000C06840000000000000000000008E40000000000000000000407340000000000000000000009940000000000000000000804240000000000000000000008440000000000000000000507140000000000000000000007440000000000000000000206940000000000000000000008440000000000000000000A07240000000000000000000008E40000000000000000000005940000000000000000000007440000000000000000000707640000000000000000000007440000000000000000000006E40000000000000000000008440000000000000000000807540000000000000000000009940000000000000000000606740000000000000000000007440000000000000000000405740000000000000000000008E40000000000000000000406040000000000000000000008440000000000000000000307840000000000000000000008E40000000000000000000907640000000000000000000007440000000000000000000E06E40000000000000000000008440000000000000000000607540000000000000000000009E40000000000000000000C05E40000000000000000000009940000000000000000000B07140000000000000000000008E40000000000000000000C06940000000000000000000007440000000000000000000407240000000000000000000009940000000000000000000A06040000000000000000000007440000000000000000000004B40000000000000000000009E40000000000000000000805040000000000000000000007440000000000000000000806740000000000000000000009940000000000000000000206540000000000000000000009440000000000000000000804E40000000000000000000008440000000000000000000005540000000000000000000008440000000000000000000006240000000000000000000007440000000000000000000107340000000000000000000009440000000000000000000606B40000000000000000000008440000000000000000000E07040000000000000000000009940000000000000000000405B40000000000000000000007440000000000000000000307440000000000000000000008440000000000000000000406C40000000000000000000008440000000000000000000C07740000000000000000000007440000000000000000000E06240000000000000000000007440000000000000000000C05240000000000000000000008E40000000000000000000C06540000000000000000000007440000000000000000000004740000000000000000000007440000000000000000000D07440000000000000000000009440000000000000000000A06C40000000000000000000007440000000000000000000207740000000000000000000007440000000000000000000805C40000000000000000000009940000000000000000000F07340000000000000000000009440000000000000000000806B40000000000000000000008E40000000000000000000007040000000000000000000007440000000000000000000003C40000000000000000000008E40000000000000000000107240000000000000000000009440000000000000000000606A40000000000000000000007440000000000000000000E07140000000000000000000007440000000000000000000405A40000000000000000000007440000000000000000000307540000000000000000000007440000000000000000000406D40000000000000000000008E40000000000000000000C07640000000000000000000009940000000000000000000206440000000000000000000007440000000000000000000804F40000000000000000000007440000000000000000000005440000000000000000000009440000000000000000000006340000000000000000000008440000000000000000000807840000000000000000000009440000000000000000000004640000000000000000000007440000000000000000000D07540000000000000000000007440000000000000000000A06D40000000000000000000007440000000000000000000207640000000000000000000007440000000000000000000805D40000000000000000000008E40000000000000000000F07240000000000000000000007440000000000000000000806A40000000000000000000008E40000000000000000000007140000000000000000000009440000000000000000000003D40000000000000000000007440000000000000000000E06340000000000000000000008E40000000000000000000C05340000000000000000000009940000000000000000000607840000000000000000000007440000000000000000000C06440000000000000000000009440000000000000000000E06040000000000000000000007440000000000000000000907840000000000000000000007440000000000000000000C05040000000000000000000008440000000000000000000C06740000000000000000000008E40000000000000000000004540000000000000000000008440000000000000000000D07640000000000000000000008440000000000000000000A06E40000000000000000000008E40000000000000000000207540000000000000000000009E40000000000000000000805E4000000000000000000080A640000000000000000000F07140000000000000000000007440000000000000000000806940000000000000000000007440000000000000000000007240000000000000000000009940000000000000000000003E40000000000000000000008E40000000000000000000206740000000000000000000008440000000000000000000804C40000000000000000000007440000000000000000000005740000000000000000000008E40000000000000000000006040000000000000000000008440000000000000000000707840000000000000000000007440000000000000000000107140000000000000000000007440000000000000000000606940000000000000000000007440000000000000000000E07240000000000000000000008440000000000000000000405940000000000000000000007440000000000000000000307640000000000000000000008440000000000000000000406E40000000000000000000009940000000000000000000C07540000000000000000000009440000000000000000000004440000000000000000000008440000000000000000000D07740000000000000000000008440000000000000000000A06F40000000000000000000009940000000000000000000207440000000000000000000007440000000000000000000805F40000000000000000000008440000000000000000000F07040000000000000000000008440000000000000000000806840000000000000000000008440000000000000000000007340000000000000000000007440000000000000000000003F40000000000000000000008440000000000000000000E06140000000000000000000008E40000000000000000000C05140000000000000000000008E40000000000000000000C06640000000000000000000008E40000000000000000000107040000000000000000000008E40000000000000000000606840000000000000000000009440000000000000000000E07340000000000000000000008440000000000000000000405840000000000000000000008E40000000000000000000307740000000000000000000009440000000000000000000406F40000000000000000000009440000000000000000000C0744000000000000000000000844000000000000000000020664000000000000000000080A140000000000000000000804D4000000000000000000000A940000000000000000000005640000000000000000000007440000000000000000000006140000000000000000000007440000000000000000000107640000000000000000000007440000000000000000000606E40000000000000000000009440000000000000000000E07540000000000000000000009940000000000000000000405E40000000000000000000009440000000000000000000307140000000000000000000008440000000000000000000406940000000000000000000007440000000000000000000C07240000000000000000000008440000000000000000000206040000000000000000000008440000000000000000000804B40000000000000000000007440000000000000000000507840000000000000000000007440000000000000000000005040000000000000000000007440000000000000000000006740000000000000000000008E40000000000000000000004240000000000000000000008440000000000000000000D07140000000000000000000007440000000000000000000A06940000000000000000000008440000000000000000000207240000000000000000000009440000000000000000000805940000000000000000000007440000000000000000000F07640000000000000000000009440000000000000000000806E40000000000000000000009440000000000000000000007540000000000000000000008440000000000000000000003940000000000000000000007440000000000000000000E06740000000000000000000008440000000000000000000C05740000000000000000000008440000000000000000000C06040000000000000000000007440000000000000000000206140000000000000000000009440000000000000000000804A40000000000000000000008440000000000000000000005140000000000000000000007440000000000000000000006640000000000000000000007440000000000000000000107740000000000000000000008E40000000000000000000606F40000000000000000000007440000000000000000000E07440000000000000000000008440000000000000000000405F40000000000000000000008440000000000000000000307040000000000000000000009940000000000000000000406840000000000000000000008440000000000000000000C07340000000000000000000008440000000000000000000E06640000000000000000000008440000000000000000000C05640000000000000000000007440000000000000000000C06140000000000000000000009440000000000000000000004340000000000000000000007440000000000000000000D07040000000000000000000007440000000000000000000A06840000000000000000000008E40000000000000000000207340000000000000000000009440000000000000000000805840000000000000000000007440000000000000000000F07740000000000000000000008440000000000000000000806F40000000000000000000008E40000000000000000000007440000000000000000000007440000000000000000000003840000000000000000000008E40000000000000000000004040000000000000000000009940000000000000000000D07340000000000000000000008440000000000000000000A06B40000000000000000000007440000000000000000000207040000000000000000000007440000000000000000000805B40000000000000000000007440000000000000000000F07440000000000000000000009940000000000000000000806C4000000000000000000000744000000000000000000000774000000000000000000080A640000000000000000000003B40000000000000000000007440000000000000000000E06540000000000000000000008E40000000000000000000C05540000000000000000000009940000000000000000000C06240000000000000000000008E40000000000000000000107440000000000000000000007440000000000000000000606C40000000000000000000007440000000000000000000E07740000000000000000000007440000000000000000000405C40000000000000000000008440000000000000000000307340000000000000000000007440000000000000000000406B40000000000000000000007440000000000000000000C07040000000000000000000007440000000000000000000206240000000000000000000007440000000000000000000804940000000000000000000007440000000000000000000005240000000000000000000008E40000000000000000000006540000000000000000000007440000000000000000000E06440000000000000000000007440000000000000000000C0544000000000000000000000AE40000000000000000000C06340000000000000000000007440000000000000000000407840000000000000000000008440000000000000000000004140000000000000000000007440000000000000000000D07240000000000000000000007440000000000000000000A06A40000000000000000000008E40000000000000000000207140000000000000000000007440000000000000000000805A40000000000000000000008E40000000000000000000F07540000000000000000000007440000000000000000000806D40000000000000000000008E40000000000000000000007640000000000000000000007440000000000000000000003A40000000000000000000008E40000000000000000000206340000000000000000000007440000000000000000000804840000000000000000000008440000000000000000000005340000000000000000000009440000000000000000000006440000000000000000000008440000000000000000000107540000000000000000000008440000000000000000000606D40000000000000000000008E40000000000000000000E07640000000000000000000007440000000000000000000405D40000000000000000000009E40000000000000000000307240000000000000000000007440000000000000000000406A40000000000000000000008440000000000000000000C07140000000000000000000007440");
+global.canConnect = true;
@@ -435,6 +436,29 @@ else {
}
alarm[11] = 1;
+
+
+
+
+
+
+
+ 1
+ 603
+ 7
+ 0
+ 0
+ -1
+ 2
+
+
+ self
+ 0
+ 0
+
+
+ 1
+ global.canConnect = true;
@@ -2066,7 +2090,7 @@ screen_save(sname + ".png");
1
- if(!instance_exists(oClient)){
+ if(!instance_exists(oClient) && global.canConnect){
instance_create(0, 0, oClient);
}
diff --git a/objects/oDoor.object.gmx b/objects/oDoor.object.gmx
index 3a210b54..5ae3d72c 100644
--- a/objects/oDoor.object.gmx
+++ b/objects/oDoor.object.gmx
@@ -254,6 +254,15 @@ if(room == rm_a7b08A){
}
}
}
+
+if(event > -1){
+ if(global.event[event] > 0){
+ if(lock == 1 || lock == 2 || lock == 3){
+ lock = 0;
+ open = 1;
+ }
+ }
+}
diff --git a/rooms/rm_a1a03.room.gmx b/rooms/rm_a1a03.room.gmx
index 3e6eaf04..1b025b25 100644
--- a/rooms/rm_a1a03.room.gmx
+++ b/rooms/rm_a1a03.room.gmx
@@ -65,7 +65,7 @@ mus_change(musArea1A);
-
+
diff --git a/scripts/draw_character_ext.gml b/scripts/draw_character_ext.gml
new file mode 100644
index 00000000..c92f56c1
--- /dev/null
+++ b/scripts/draw_character_ext.gml
@@ -0,0 +1,36 @@
+/// draw_character_ext(sprite, x, y, sprite2, s2ox, s2oy, sprite3, s3ox, s3oy, s3angle, facing, color, alpha, s3show, arrID)
+var ID = argument15;
+if ((oControl.mod_fusion) && (!oControl.msr_fusionsuit)) { // Fusion suit
+ if (global.currentsuit == 0) { // Power
+ pal_swap_set(sPalFusion0, 1, false);
+ } else if (global.currentsuit == 1) { // Varia
+ pal_swap_set(sPalFusion1, 1, false);
+ } else if (global.currentsuit == 2) { // Gravity
+ pal_swap_set(sPalFusion2, 1, false);
+ }
+} else { // Custom color swaps
+ if (global.currentsuit == 0) { // Power
+ pal_swap_set(oControl.PowerPalette, 1, false);
+ } else if (global.currentsuit == 1) { // Varia
+ pal_swap_set(oControl.VariaPalette, 1, false);
+ } else if (global.currentsuit == 2) { // Gravity
+ pal_swap_set(oControl.GravityPalette, 1, false);
+ }
+}
+
+
+if(oControl.mod_fusion){
+ pal_swap_set(sPalMultitroidFusion, ID, false);
+} else {
+ pal_swap_set(sPalMultitroidNew, ID, false);
+}
+
+
+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);
+if (argument13 == 1) {
+ draw_sprite_ext(argument6, argument14, argument1 + argument7, argument2 + argument8, argument10, 1, argument9, argument11, argument12);
+}
+
+shader_reset();
+pal_swap_reset();
diff --git a/scripts/draw_gui.gml b/scripts/draw_gui.gml
index 95115b2d..494dfb6b 100644
--- a/scripts/draw_gui.gml
+++ b/scripts/draw_gui.gml
@@ -249,6 +249,25 @@ draw_sprite(sGUIPBomb, 1, xoff + 1, 4);
} else draw_sprite(sGUIPBomb, 0, xoff + 1, 4);
}
}
+
+if(instance_exists(oClient)){
+ if(oClient.connected){
+ if(ds_list_size(global.idList) > 1){
+ for(var f=0; f
+
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 8
+ 0
+ 8
+ 0
+ 0
+
+ 0
+
+ 0
+ 9
+ 9
+
+ images\sDarkMultitroidPlayer_0.png
+ images\sDarkMultitroidPlayer_1.png
+ images\sDarkMultitroidPlayer_2.png
+ images\sDarkMultitroidPlayer_3.png
+ images\sDarkMultitroidPlayer_4.png
+ images\sDarkMultitroidPlayer_5.png
+ images\sDarkMultitroidPlayer_6.png
+ images\sDarkMultitroidPlayer_7.png
+
+
diff --git a/sprites/sMultitroidIcon.sprite.gmx b/sprites/sMultitroidIcon.sprite.gmx
new file mode 100644
index 00000000..c2f4e3d2
--- /dev/null
+++ b/sprites/sMultitroidIcon.sprite.gmx
@@ -0,0 +1,32 @@
+
+
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 8
+ 0
+ 8
+ 0
+ 0
+
+ 0
+
+ 0
+ 9
+ 9
+
+ images\sMultitroidIcon_0.png
+ images\sMultitroidIcon_1.png
+ images\sMultitroidIcon_2.png
+ images\sMultitroidIcon_3.png
+ images\sMultitroidIcon_4.png
+ images\sMultitroidIcon_5.png
+ images\sMultitroidIcon_6.png
+ images\sMultitroidIcon_7.png
+
+
diff --git a/sprites/sPalMultitroidFusion.sprite.gmx b/sprites/sPalMultitroidFusion.sprite.gmx
new file mode 100644
index 00000000..4d0f3982
--- /dev/null
+++ b/sprites/sPalMultitroidFusion.sprite.gmx
@@ -0,0 +1,25 @@
+
+
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 8
+ 0
+ 78
+ 0
+ 0
+
+ 0
+
+ 0
+ 9
+ 79
+
+ images\sPalMultitroidFusion_0.png
+
+
diff --git a/sprites/sPalMultitroidNew.sprite.gmx b/sprites/sPalMultitroidNew.sprite.gmx
new file mode 100644
index 00000000..b72e88db
--- /dev/null
+++ b/sprites/sPalMultitroidNew.sprite.gmx
@@ -0,0 +1,25 @@
+
+
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 8
+ 0
+ 86
+ 0
+ 0
+
+ 0
+
+ 0
+ 9
+ 87
+
+ images\sPalMultitroidNew_0.png
+
+