Fixed a bunch of bugs and added damage scaling with items

cleaner v1.4.1
milesthenerd 5 years ago
parent a029624099
commit d434594e1f

@ -3,8 +3,8 @@
<Configs name="configs">
<Config>Configs\Default</Config>
</Configs>
<datafiles number="366" name="datafiles">
<datafiles number="366" name="lang">
<datafiles number="369" name="datafiles">
<datafiles number="369" name="lang">
<datafile>
<name>czech.ini</name>
<exists>-1</exists>
@ -158,7 +158,7 @@
</ConfigOptions>
<filename>languages.txt</filename>
</datafile>
<datafiles number="366" name="headers">
<datafiles number="369" name="headers">
<datafile>
<name>castellano_a1_f24_b0_c3_d19_e21.png</name>
<exists>-1</exists>
@ -857,7 +857,7 @@
<filename>russian_a8_f19_b0_c3_d14_e16.png</filename>
</datafile>
</datafiles>
<datafiles number="366" name="fonts">
<datafiles number="369" name="fonts">
<datafile>
<name>04b09.ttf</name>
<exists>-1</exists>
@ -1030,8 +1030,8 @@
</ConfigOptions>
<filename>readme.txt</filename>
</datafile>
<datafiles number="366" name="mods">
<datafiles number="366" name="titles">
<datafiles number="369" name="mods">
<datafiles number="369" name="titles">
<datafile>
<name>config.ini</name>
<exists>-1</exists>
@ -1067,8 +1067,8 @@
<filename>titlebackground.png</filename>
</datafile>
</datafiles>
<datafiles number="366" name="palettes">
<datafiles number="366" name="monsters">
<datafiles number="369" name="palettes">
<datafiles number="369" name="monsters">
<datafile>
<name>alpha.png</name>
<exists>-1</exists>
@ -1240,7 +1240,7 @@
<filename>zeta_blur.png</filename>
</datafile>
</datafiles>
<datafiles number="366" name="suits">
<datafiles number="369" name="suits">
<datafile>
<name>fusion_gravity.png</name>
<exists>-1</exists>
@ -1343,7 +1343,7 @@
</ConfigOptions>
<filename>varia.png</filename>
</datafile>
<datafiles number="366" name="MorphTrailColors">
<datafiles number="369" name="MorphTrailColors">
<datafile>
<name>fusion_gravity.png</name>
<exists>-1</exists>
@ -1447,7 +1447,7 @@
<filename>varia.png</filename>
</datafile>
</datafiles>
<datafiles number="366" name="SpaceJumpTrails">
<datafiles number="369" name="SpaceJumpTrails">
<datafile>
<name>fusion_gravity.png</name>
<exists>-1</exists>
@ -1551,7 +1551,7 @@
<filename>varia.png</filename>
</datafile>
</datafiles>
<datafiles number="366" name="SpiderBallGlow">
<datafiles number="369" name="SpiderBallGlow">
<datafile>
<name>fusion_gravity.png</name>
<exists>-1</exists>
@ -1656,8 +1656,8 @@
</datafile>
</datafiles>
</datafiles>
<datafiles number="366" name="multitroid">
<datafiles number="366" name="dark_player_icons">
<datafiles number="369" name="multitroid">
<datafiles number="369" name="dark_player_icons">
<datafile>
<name>sDarkMultitroidPlayer_0.png</name>
<exists>-1</exists>
@ -1931,7 +1931,7 @@
<filename>sDarkMultitroidPlayer_15.png</filename>
</datafile>
</datafiles>
<datafiles number="366" name="player_icons">
<datafiles number="369" name="player_icons">
<datafile>
<name>sMultitroidPlayer_0.png</name>
<exists>-1</exists>
@ -2205,7 +2205,7 @@
<filename>sMultitroidPlayer_15.png</filename>
</datafile>
</datafiles>
<datafiles number="366" name="map_icons">
<datafiles number="369" name="map_icons">
<datafile>
<name>sMultitroidMapIcon_0.png</name>
<exists>-1</exists>
@ -2478,6 +2478,57 @@
</ConfigOptions>
<filename>sMultitroidMapIcon_15.png</filename>
</datafile>
<datafile>
<name>sFusionIcon.png</name>
<exists>-1</exists>
<size>150</size>
<exportAction>2</exportAction>
<exportDir></exportDir>
<overwrite>0</overwrite>
<freeData>-1</freeData>
<removeEnd>0</removeEnd>
<store>0</store>
<ConfigOptions>
<Config name="Default">
<CopyToMask>9223372036854775807</CopyToMask>
</Config>
</ConfigOptions>
<filename>sFusionIcon.png</filename>
</datafile>
<datafile>
<name>sSpectatorIcon.png</name>
<exists>-1</exists>
<size>153</size>
<exportAction>2</exportAction>
<exportDir></exportDir>
<overwrite>0</overwrite>
<freeData>-1</freeData>
<removeEnd>0</removeEnd>
<store>0</store>
<ConfigOptions>
<Config name="Default">
<CopyToMask>9223372036854775807</CopyToMask>
</Config>
</ConfigOptions>
<filename>sSpectatorIcon.png</filename>
</datafile>
<datafile>
<name>sSAXIcon.png</name>
<exists>-1</exists>
<size>148</size>
<exportAction>2</exportAction>
<exportDir></exportDir>
<overwrite>0</overwrite>
<freeData>-1</freeData>
<removeEnd>0</removeEnd>
<store>0</store>
<ConfigOptions>
<Config name="Default">
<CopyToMask>9223372036854775807</CopyToMask>
</Config>
</ConfigOptions>
<filename>sSAXIcon.png</filename>
</datafile>
</datafiles>
<datafile>
<name>baby_metroid.png</name>
@ -5226,6 +5277,11 @@
<sprite>sprites\sFusionIcon</sprite>
<sprite>sprites\sFedtogg</sprite>
</sprites>
<sprites name="Default Palettes">
<sprite>sprites\sPowerPalette</sprite>
<sprite>sprites\sVariaPalette</sprite>
<sprite>sprites\sGravityPalette</sprite>
</sprites>
</sprites>
<backgrounds name="background">
<background>background\bgScreenGuide</background>

@ -25,7 +25,7 @@
<option_android_build_version>2</option_android_build_version>
<option_android_color_depth>1</option_android_color_depth>
<option_android_compile_sdk_version>28</option_android_compile_sdk_version>
<option_android_display_name>Multitroid 1.4</option_android_display_name>
<option_android_display_name>Multitroid 1.4.1</option_android_display_name>
<option_android_facebook_app_display_name></option_android_facebook_app_display_name>
<option_android_facebook_appid></option_android_facebook_appid>
<option_android_facebook_enable>0</option_android_facebook_enable>
@ -220,7 +220,7 @@
<option_changeresolution>false</option_changeresolution>
<option_closeesc>true</option_closeesc>
<option_colordepth>0</option_colordepth>
<option_display_name>AM2R Multitroid 1.4</option_display_name>
<option_display_name>AM2R Multitroid 1.4.1</option_display_name>
<option_displayerrors>True</option_displayerrors>
<option_ecma>0</option_ecma>
<option_facebook_app_display_name></option_facebook_app_display_name>
@ -362,7 +362,7 @@
<option_ios_texture_page>1024</option_ios_texture_page>
<option_ios_use_test_ads>false</option_ios_use_test_ads>
<option_lastchanged></option_lastchanged>
<option_linux_display_name>AM2R Multitroid 1.4</option_linux_display_name>
<option_linux_display_name>AM2R Multitroid 1.4.1</option_linux_display_name>
<option_linux_enable_steam>0</option_linux_enable_steam>
<option_linux_fullscreen>0</option_linux_fullscreen>
<option_linux_homepage>https://www.reddit.com/r/AM2R/</option_linux_homepage>

@ -1312,6 +1312,10 @@ if(room == rm_a4b01 &amp;&amp; global.event[203] == 9 &amp;&amp; instance_exists
}
}
if(global.event[203] == 9 &amp;&amp; sfx_isplaying(sndA4AlarmLoop)){
sfx_stop(sndA4AlarmLoop);
}
if(!instance_exists(oQueen) &amp;&amp; global.event[303] == 0){
if(!queenHealthResetQueued){
queenHealthResetQueued = true;
@ -2499,6 +2503,9 @@ switch(type_event){
var saxmode = buffer_read(_buffer, buffer_u8);
var lobbyLocked = buffer_read(_buffer, buffer_u8);
var samCount = buffer_read(_buffer, buffer_u8);
var damageMultStr = buffer_read(_buffer, buffer_string);
var damageMult = real(damageMultStr);
global.damageMult = damageMult;
global.saxmode = saxmode;
if(!lobbyLocked){
if(global.spectator){
@ -4160,29 +4167,29 @@ switch(type_event){
<arguments>
<argument>
<kind>1</kind>
<string>buffer_delete(buffer);
var size, type, alignment;
<string>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, 36);
buffer_write(buffer, buffer_s8, oCharacter.mirror);
buffer_write(buffer, buffer_s16, room);
buffer_write(buffer, buffer_s16, global.currX);
buffer_write(buffer, buffer_s16, global.currY);
buffer_write(buffer, buffer_s8, global.sax);
var bufferSize = buffer_tell(buffer);
buffer_seek(buffer, buffer_seek_start, 0);
buffer_write(buffer, buffer_s32, bufferSize);
buffer_write(buffer, buffer_u8, 36);
buffer_write(buffer, buffer_s8, oCharacter.mirror);
buffer_write(buffer, buffer_s16, room);
buffer_write(buffer, buffer_s16, global.currX);
buffer_write(buffer, buffer_s16, global.currY);
buffer_write(buffer, buffer_s8, global.sax);
var result = network_send_packet(socket, buffer, buffer_tell(buffer));
buffer11 = buffer_create(size, type, alignment);
buffer_seek(buffer11, buffer_seek_start, 0);
buffer_write(buffer11, buffer_u8, 36);
buffer_write(buffer11, buffer_s8, oCharacter.mirror);
buffer_write(buffer11, buffer_s16, room);
buffer_write(buffer11, buffer_s16, global.currX);
buffer_write(buffer11, buffer_s16, global.currY);
buffer_write(buffer11, buffer_s8, global.sax);
var bufferSize = buffer_tell(buffer11);
buffer_seek(buffer11, buffer_seek_start, 0);
buffer_write(buffer11, buffer_s32, bufferSize);
buffer_write(buffer11, buffer_u8, 36);
buffer_write(buffer11, buffer_s8, oCharacter.mirror);
buffer_write(buffer11, buffer_s16, room);
buffer_write(buffer11, buffer_s16, global.currX);
buffer_write(buffer11, buffer_s16, global.currY);
buffer_write(buffer11, buffer_s8, global.sax);
var result = network_send_packet(socket, buffer11, buffer_tell(buffer11));
buffer_delete(buffer11);
</string>
</argument>
</arguments>
@ -4206,23 +4213,23 @@ var result = network_send_packet(socket, buffer, buffer_tell(buffer));
<argument>
<kind>1</kind>
<string>if(!global.saxmode || global.spectator) exit;
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, 35);
buffer_write(buffer, buffer_s16, global.mapposx);
buffer_write(buffer, buffer_s16, global.mapposy);
var bufferSize = buffer_tell(buffer);
buffer_seek(buffer, buffer_seek_start, 0);
buffer_write(buffer, buffer_s32, bufferSize);
buffer_write(buffer, buffer_u8, 35);
buffer_write(buffer, buffer_s16, global.mapposx);
buffer_write(buffer, buffer_s16, global.mapposy);
var result = network_send_packet(socket, buffer, buffer_tell(buffer));
buffer10 = buffer_create(size, type, alignment);
buffer_seek(buffer10, buffer_seek_start, 0);
buffer_write(buffer10, buffer_u8, 35);
buffer_write(buffer10, buffer_s16, global.mapposx);
buffer_write(buffer10, buffer_s16, global.mapposy);
var bufferSize = buffer_tell(buffer10);
buffer_seek(buffer10, buffer_seek_start, 0);
buffer_write(buffer10, buffer_s32, bufferSize);
buffer_write(buffer10, buffer_u8, 35);
buffer_write(buffer10, buffer_s16, global.mapposx);
buffer_write(buffer10, buffer_s16, global.mapposy);
var result = network_send_packet(socket, buffer10, buffer_tell(buffer10));
buffer_delete(buffer10);
</string>
</argument>
</arguments>
@ -4245,21 +4252,21 @@ var result = network_send_packet(socket, buffer, buffer_tell(buffer));
<arguments>
<argument>
<kind>1</kind>
<string>buffer_delete(buffer);
var size, type, alignment;
<string>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, 34);
buffer_write(buffer, buffer_u8, global.saxmode);
var bufferSize = buffer_tell(buffer);
buffer_seek(buffer, buffer_seek_start, 0);
buffer_write(buffer, buffer_s32, bufferSize);
buffer_write(buffer, buffer_u8, 34);
buffer_write(buffer, buffer_u8, global.saxmode);
var result = network_send_packet(socket, buffer, buffer_tell(buffer));
buffer9 = buffer_create(size, type, alignment);
buffer_seek(buffer9, buffer_seek_start, 0);
buffer_write(buffer9, buffer_u8, 34);
buffer_write(buffer9, buffer_u8, global.saxmode);
var bufferSize = buffer_tell(buffer9);
buffer_seek(buffer9, buffer_seek_start, 0);
buffer_write(buffer9, buffer_s32, bufferSize);
buffer_write(buffer9, buffer_u8, 34);
buffer_write(buffer9, buffer_u8, global.saxmode);
var result = network_send_packet(socket, buffer9, buffer_tell(buffer9));
buffer_delete(buffer9);
</string>
</argument>
</arguments>
@ -4282,21 +4289,21 @@ var result = network_send_packet(socket, buffer, buffer_tell(buffer));
<arguments>
<argument>
<kind>1</kind>
<string>buffer_delete(buffer);
var size, type, alignment;
<string>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, 33);
buffer_write(buffer, buffer_u8, global.lobbyLocked);
var bufferSize = buffer_tell(buffer);
buffer_seek(buffer, buffer_seek_start, 0);
buffer_write(buffer, buffer_s32, bufferSize);
buffer_write(buffer, buffer_u8, 33);
buffer_write(buffer, buffer_u8, global.lobbyLocked);
var result = network_send_packet(socket, buffer, buffer_tell(buffer));
buffer8 = buffer_create(size, type, alignment);
buffer_seek(buffer8, buffer_seek_start, 0);
buffer_write(buffer8, buffer_u8, 33);
buffer_write(buffer8, buffer_u8, global.lobbyLocked);
var bufferSize = buffer_tell(buffer8);
buffer_seek(buffer8, buffer_seek_start, 0);
buffer_write(buffer8, buffer_s32, bufferSize);
buffer_write(buffer8, buffer_u8, 33);
buffer_write(buffer8, buffer_u8, global.lobbyLocked);
var result = network_send_packet(socket, buffer8, buffer_tell(buffer8));
buffer_delete(buffer8);
</string>
</argument>
</arguments>
@ -4320,19 +4327,19 @@ var result = network_send_packet(socket, buffer, buffer_tell(buffer));
<argument>
<kind>1</kind>
<string>//Reset server packet
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, 32);
var bufferSize = buffer_tell(buffer);
buffer_seek(buffer, buffer_seek_start, 0);
buffer_write(buffer, buffer_s32, bufferSize);
buffer_write(buffer, buffer_u8, 32);
var result = network_send_packet(socket, buffer, buffer_tell(buffer));
buffer7 = buffer_create(size, type, alignment);
buffer_seek(buffer7, buffer_seek_start, 0);
buffer_write(buffer7, buffer_u8, 32);
var bufferSize = buffer_tell(buffer7);
buffer_seek(buffer7, buffer_seek_start, 0);
buffer_write(buffer7, buffer_s32, bufferSize);
buffer_write(buffer7, buffer_u8, 32);
var result = network_send_packet(socket, buffer7, buffer_tell(buffer7));
buffer_delete(buffer7);
</string>
</argument>
</arguments>
@ -4355,27 +4362,27 @@ var result = network_send_packet(socket, buffer, buffer_tell(buffer));
<arguments>
<argument>
<kind>1</kind>
<string>buffer_delete(buffer);
var size, type, alignment;
<string>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, 31);
buffer_write(buffer, buffer_u8, global.otherAbsorbID);
buffer_write(buffer, buffer_s16, global.otherAbsorbRelativeX);
buffer_write(buffer, buffer_s16, global.otherAbsorbRelativeY);
buffer_write(buffer, buffer_u8, global.otherAbsorbSpriteHeight);
var bufferSize = buffer_tell(buffer);
buffer_seek(buffer, buffer_seek_start, 0);
buffer_write(buffer, buffer_s32, bufferSize);
buffer_write(buffer, buffer_u8, 31);
buffer_write(buffer, buffer_u8, global.otherAbsorbID);
buffer_write(buffer, buffer_s16, global.otherAbsorbRelativeX);
buffer_write(buffer, buffer_s16, global.otherAbsorbRelativeY);
buffer_write(buffer, buffer_u8, global.otherAbsorbSpriteHeight);
var result = network_send_packet(socket, buffer, buffer_tell(buffer));
buffer6 = buffer_create(size, type, alignment);
buffer_seek(buffer6, buffer_seek_start, 0);
buffer_write(buffer6, buffer_u8, 31);
buffer_write(buffer6, buffer_u8, global.otherAbsorbID);
buffer_write(buffer6, buffer_s16, global.otherAbsorbRelativeX);
buffer_write(buffer6, buffer_s16, global.otherAbsorbRelativeY);
buffer_write(buffer6, buffer_u8, global.otherAbsorbSpriteHeight);
var bufferSize = buffer_tell(buffer6);
buffer_seek(buffer6, buffer_seek_start, 0);
buffer_write(buffer6, buffer_s32, bufferSize);
buffer_write(buffer6, buffer_u8, 31);
buffer_write(buffer6, buffer_u8, global.otherAbsorbID);
buffer_write(buffer6, buffer_s16, global.otherAbsorbRelativeX);
buffer_write(buffer6, buffer_s16, global.otherAbsorbRelativeY);
buffer_write(buffer6, buffer_u8, global.otherAbsorbSpriteHeight);
var result = network_send_packet(socket, buffer6, buffer_tell(buffer6));
buffer_delete(buffer6);
</string>
</argument>
</arguments>
@ -4398,33 +4405,33 @@ var result = network_send_packet(socket, buffer, buffer_tell(buffer));
<arguments>
<argument>
<kind>1</kind>
<string>buffer_delete(buffer);
var size, type, alignment;
<string>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, 106);
buffer_write(buffer, buffer_u8, global.checkID);
buffer_write(buffer, buffer_s16, global.checkX);
buffer_write(buffer, buffer_s16, global.checkY);
buffer_write(buffer, buffer_u8, global.checkBeam);
buffer_write(buffer, buffer_u8, global.checkMissile);
buffer_write(buffer, buffer_u8, global.checkDamage);
buffer_write(buffer, buffer_u8, global.checkFreeze);
var bufferSize = buffer_tell(buffer);
buffer_seek(buffer, buffer_seek_start, 0);
buffer_write(buffer, buffer_s32, bufferSize);
buffer_write(buffer, buffer_u8, 106);
buffer_write(buffer, buffer_u8, global.checkID);
buffer_write(buffer, buffer_s16, global.checkX);
buffer_write(buffer, buffer_s16, global.checkY);
buffer_write(buffer, buffer_u8, global.checkBeam);
buffer_write(buffer, buffer_u8, global.checkMissile);
buffer_write(buffer, buffer_u8, global.checkDamage);
buffer_write(buffer, buffer_u8, global.checkFreeze);
var result = network_send_packet(socket, buffer, buffer_tell(buffer));
buffer5 = buffer_create(size, type, alignment);
buffer_seek(buffer5, buffer_seek_start, 0);
buffer_write(buffer5, buffer_u8, 106);
buffer_write(buffer5, buffer_u8, global.checkID);
buffer_write(buffer5, buffer_s16, global.checkX);
buffer_write(buffer5, buffer_s16, global.checkY);
buffer_write(buffer5, buffer_u8, global.checkBeam);
buffer_write(buffer5, buffer_u8, global.checkMissile);
buffer_write(buffer5, buffer_u8, global.checkDamage);
buffer_write(buffer5, buffer_u8, global.checkFreeze);
var bufferSize = buffer_tell(buffer5);
buffer_seek(buffer5, buffer_seek_start, 0);
buffer_write(buffer5, buffer_s32, bufferSize);
buffer_write(buffer5, buffer_u8, 106);
buffer_write(buffer5, buffer_u8, global.checkID);
buffer_write(buffer5, buffer_s16, global.checkX);
buffer_write(buffer5, buffer_s16, global.checkY);
buffer_write(buffer5, buffer_u8, global.checkBeam);
buffer_write(buffer5, buffer_u8, global.checkMissile);
buffer_write(buffer5, buffer_u8, global.checkDamage);
buffer_write(buffer5, buffer_u8, global.checkFreeze);
var result = network_send_packet(socket, buffer5, buffer_tell(buffer5));
buffer_delete(buffer5);
</string>
</argument>
</arguments>
@ -4448,21 +4455,21 @@ var result = network_send_packet(socket, buffer, buffer_tell(buffer));
<argument>
<kind>1</kind>
<string>if(global.spectator) exit;
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, 105);
buffer_write(buffer, buffer_u8, global.otherID);
var bufferSize = buffer_tell(buffer);
buffer_seek(buffer, buffer_seek_start, 0);
buffer_write(buffer, buffer_s32, bufferSize);
buffer_write(buffer, buffer_u8, 105);
buffer_write(buffer, buffer_u8, global.otherID);
var result = network_send_packet(socket, buffer, buffer_tell(buffer));
buffer4 = buffer_create(size, type, alignment);
buffer_seek(buffer4, buffer_seek_start, 0);
buffer_write(buffer4, buffer_u8, 105);
buffer_write(buffer4, buffer_u8, global.otherID);
var bufferSize = buffer_tell(buffer4);
buffer_seek(buffer4, buffer_seek_start, 0);
buffer_write(buffer4, buffer_s32, bufferSize);
buffer_write(buffer4, buffer_u8, 105);
buffer_write(buffer4, buffer_u8, global.otherID);
var result = network_send_packet(socket, buffer4, buffer_tell(buffer4));
buffer_delete(buffer4);
</string>
</argument>
</arguments>
@ -4485,21 +4492,21 @@ var result = network_send_packet(socket, buffer, buffer_tell(buffer));
<arguments>
<argument>
<kind>1</kind>
<string>buffer_delete(buffer);
var size, type, alignment;
<string>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, 30);
buffer_write(buffer, buffer_u8, elm);
var bufferSize = buffer_tell(buffer);
buffer_seek(buffer, buffer_seek_start, 0);
buffer_write(buffer, buffer_s32, bufferSize);
buffer_write(buffer, buffer_u8, 30);
buffer_write(buffer, buffer_u8, elm);
var result = network_send_packet(socket, buffer, buffer_tell(buffer));
buffer3 = buffer_create(size, type, alignment);
buffer_seek(buffer3, buffer_seek_start, 0);
buffer_write(buffer3, buffer_u8, 30);
buffer_write(buffer3, buffer_u8, elm);
var bufferSize = buffer_tell(buffer3);
buffer_seek(buffer3, buffer_seek_start, 0);
buffer_write(buffer3, buffer_s32, bufferSize);
buffer_write(buffer3, buffer_u8, 30);
buffer_write(buffer3, buffer_u8, elm);
var result = network_send_packet(socket, buffer3, buffer_tell(buffer3));
buffer_delete(buffer3);
</string>
</argument>
</arguments>
@ -4522,21 +4529,21 @@ var result = network_send_packet(socket, buffer, buffer_tell(buffer));
<arguments>
<argument>
<kind>1</kind>
<string>buffer_delete(buffer);
var size, type, alignment;
<string>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, 29);
buffer_write(buffer, buffer_u8, syncedDifficulty);
var bufferSize = buffer_tell(buffer);
buffer_seek(buffer, buffer_seek_start, 0);
buffer_write(buffer, buffer_s32, bufferSize);
buffer_write(buffer, buffer_u8, 29);
buffer_write(buffer, buffer_u8, syncedDifficulty);
var result = network_send_packet(socket, buffer, buffer_tell(buffer));
buffer2 = buffer_create(size, type, alignment);
buffer_seek(buffer2, buffer_seek_start, 0);
buffer_write(buffer2, buffer_u8, 29);
buffer_write(buffer2, buffer_u8, syncedDifficulty);
var bufferSize = buffer_tell(buffer2);
buffer_seek(buffer2, buffer_seek_start, 0);
buffer_write(buffer2, buffer_s32, bufferSize);
buffer_write(buffer2, buffer_u8, 29);
buffer_write(buffer2, buffer_u8, syncedDifficulty);
var result = network_send_packet(socket, buffer2, buffer_tell(buffer2));
buffer_delete(buffer2);
</string>
</argument>
</arguments>
@ -4922,7 +4929,7 @@ if(instance_exists(oMapCursor)){
if(arrX != 3 &amp;&amp; arrY != 3) draw_sprite_ext(sMultitroidMapIconMiepee, 0, (arrX * 8), ((arrY * 8) + 32), 1, 1, direction, c_white, oMapCursor.image_alpha);
}
} else {
if(arrX != 3 &amp;&amp; arrY != 3 &amp;&amp; sax == global.sax){
if(arrX != 3 &amp;&amp; arrY != 3 &amp;&amp; sax == global.sax &amp;&amp; !spectator){
draw_sprite_ext(oControl.MultitroidMapIcon, (arrID - 1), (arrX * 8), ((arrY * 8) + 32), 1, 1, direction, c_white, oMapCursor.image_alpha);
}
}

@ -319,7 +319,7 @@ global.fontVersion = font_add_sprite_ext(sVersionFont, "V.0123456789", true, 1);
global.am2r_version = "V1.5.2"; // no longer dynamic, not worth the effort to maintain - mostly because of Android oddities.
global.multitroid_version = "V1.4";
global.multitroid_version = "V1.4.1";
// Android
global.gamestarted = 0;
@ -507,6 +507,9 @@ MultitroidBabyPaletteCustom = sPalMultitroidBaby;
MultitroidIconCustom = sMultitroidIcon;
MultitroidIconDarkCustom = sDarkMultitroidPlayer;
MultitroidMapIconCustom = sMultitroidMapIcon;
MultitroidSpectatorIcon = sSpectatorIcon;
MultitroidFusionIcon = sFusionIcon;
MultitroidSAXIcon = sMultitroidMapIconMiepee;
MultitroidPalette = MultitroidPaletteDefault;
MultitroidPaletteFusion = MultitroidPaletteFusionDefault;
@ -587,6 +590,8 @@ global.playerMapPosTimer = 0;
global.samCount = 0;
global.damageMult = 0;
reset_map();
load_character_vars();

@ -155,6 +155,8 @@ if (statetime &gt; 520) {
//This dictates the credit scrolling speed
if (statetime == 700) vspeed = -0.34;
statetime += 1;
if(audio_is_playing(oMusicV2.currentbgm)) audio_stop_sound(oMusicV2.currentbgm);
</string>
</argument>
</arguments>

@ -25,7 +25,7 @@
<arguments>
<argument>
<kind>1</kind>
<string>image_speed = 0.5;
<string>image_speed = 0.25;
image_index = 0;
fade = 0;
moveplayer = 0;

@ -247,15 +247,24 @@ if(room == rm_a7b08A){
}
if(event &gt; -1){
if(global.event[event] &gt; 0){
if(lock == 1 || lock == 2 || lock == 3){
lock = 0;
open = 1;
if(event == 151){
if(global.event[151] &gt;= 3){
if(lock == 1 || lock == 2 || lock == 3){
lock = 0;
open = 1;
}
}
} else {
if(global.event[event] &gt; 0){
if(lock == 1 || lock == 2 || lock == 3){
lock = 0;
open = 1;
}
}
}
}
if(global.spectator &amp;&amp; instance_exists(oCharacter) &amp;&amp; distance_to_object(oCharacter) &lt; 50 &amp;&amp; room != rm_a2a03 &amp;&amp; id != inst_113941 &amp;&amp; room != rm_a4a06 &amp;&amp; room != rm_a4a08 &amp;&amp; room != rm_a5b02 &amp;&amp; room != rm_a8a13){
if(global.spectator &amp;&amp; instance_exists(oCharacter) &amp;&amp; distance_to_object(oCharacter) &lt; 50 &amp;&amp; room != rm_a2a03 &amp;&amp; id != inst_113941 &amp;&amp; id != inst_113946 &amp;&amp; room != rm_a4a06 &amp;&amp; room != rm_a4a08 &amp;&amp; room != rm_a5b02 &amp;&amp; room != rm_a8a13){
if(!open) open = 1;
}
</string>

@ -74,6 +74,9 @@ GRABBEDQUEENBELLY = 55;
LOCKEDBALL = 60;
DEFEATED = 100;
screwattackpickupframe = irandom(4);
screwattackpickupangle = irandom(359);
absorb = false;
absorbDone = false;
time = 0;

@ -133,7 +133,7 @@
}
}
} else {
if(global.showHealthIndicators &amp;&amp; !tunnel){
if(global.showHealthIndicators &amp;&amp; !tunnel &amp;&amp; !arrSpectator){
var offsetY = 42;
if(string_count("MorphBall", sprite_get_name(arrSprite)) &gt; 0) offsetY = 21;
var offsetX = 7;

@ -25,7 +25,7 @@
<arguments>
<argument>
<kind>1</kind>
<string>
<string>if(global.spectator) instance_destroy();
posx = x + 8;
state = 0;
statetime = 0;

@ -381,7 +381,7 @@ if (global.timeofday == 2) {
<instance objName="oA7Crystal6" x="480" y="1088" name="inst_100967" locked="0" code="" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
<instance objName="oA7Crystal7" x="432" y="1088" name="inst_100968" locked="0" code="" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
<instance objName="oA7Crystal7" x="416" y="1056" name="inst_100969" locked="0" code="" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
<instance objName="oSolid1" x="4432" y="992" name="inst_100970" locked="0" code="&#xA;if (global.event[304] == 0) instance_destroy();&#xA;" scaleX="1" scaleY="4" colour="4294967295" rotation="0"/>
<instance objName="oSolid1" x="4432" y="992" name="inst_100970" locked="0" code="&#xA;if (global.event[304] == 0 || instance_exists(oClient)) instance_destroy();&#xA;" scaleX="1" scaleY="4" colour="4294967295" rotation="0"/>
</instances>
<tiles>
<tile bgName="tlSurfaceBGNight" x="3584" y="1136" w="32" h="48" xo="64" yo="64" id="10000000" name="tile_10000000" depth="120" locked="0" colour="4294967295" scaleX="1" scaleY="1"/>

@ -152,7 +152,7 @@ else oMusicV2.currentbgm = musArea2A;</code>
<instance objName="oBlockShoot" x="288" y="112" name="inst_110202" locked="0" code="&#xA;link_tile(tlPipes1, 16, 96);&#xA;" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
<instance objName="oBlockShoot" x="320" y="144" name="inst_110203" locked="0" code="&#xA;link_tile(tlPipes1, 96, 0);&#xA;" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
<instance objName="oGotoRoom" x="0" y="208" name="inst_110204" locked="0" code="targetroom = rm_a2a04;&#xA;targetx = 304;&#xA;targety = 208;&#xA;height = 80;&#xA;direction = 180;&#xA;camstartx = 304;&#xA;camstarty = 120;&#xA;transitionx = 316;&#xA;transitiony = 208;" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
<instance objName="oDoor" x="24" y="144" name="inst_110205" locked="0" code="&#xA;lock = 1;&#xA;event = 104;&#xA;//if (global.item[0] == 0) lock = 4;&#xA;&#xA;if(global.saxmode &amp;&amp; global.sax &amp;&amp; global.event[103] == 0){&#xA; lock = 4;&#xA;}&#xA;" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
<instance objName="oDoor" x="24" y="144" name="inst_110205" locked="0" code="lock = 1;&#xA;event = 104;&#xA;//if (global.item[0] == 0) lock = 4;&#xA;&#xA;if(global.saxmode &amp;&amp; global.sax &amp;&amp; global.event[103] == 0){&#xA; lock = 4;&#xA;}" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
</instances>
<tiles>
<tile bgName="tlPipes3" x="472" y="16" w="48" h="16" xo="32" yo="80" id="10151419" name="inst_CB38DF8F" depth="100" locked="0" colour="4294967295" scaleX="1" scaleY="1"/>

@ -301,7 +301,7 @@ instance_create(64, 1648, scr_itemsopen(oControl.mod_211));</code>
<instance objName="oBlockSand" x="2640" y="1472" name="inst_113943" locked="0" code="" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
<instance objName="oSolid1" x="48" y="1648" name="inst_113944" locked="0" code="" scaleX="15" scaleY="1" colour="4294967295" rotation="0"/>
<instance objName="oCameraLimit" x="2544" y="1136" name="inst_113945" locked="0" code="&#xA;areax = 64;&#xA;areay = -80;&#xA;lockx = 2720;&#xA;locky = 1080;&#xA;wall = 0;&#xA;smoothin = 120;&#xA;smoothout = 40;&#xA;" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
<instance objName="oDoor" x="1304" y="1328" name="inst_113946" locked="0" code="&#xA;lock = 1;&#xA;event = 151;&#xA;&#xA;if(global.saxmode &amp;&amp; global.sax){&#xA; lock = 4;&#xA;}&#xA;" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
<instance objName="oDoor" x="1304" y="1328" name="inst_113946" locked="0" code="lock = 1;&#xA;event = 151;&#xA;&#xA;if(global.saxmode &amp;&amp; global.sax){&#xA; lock = 4;&#xA;}" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
<instance objName="oSolid1" x="2576" y="1136" name="inst_113947" locked="0" code="" scaleX="1" scaleY="2" colour="4294967295" rotation="0"/>
<instance objName="oBlockSand" x="1376" y="1360" name="inst_113948" locked="0" code="" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>
<instance objName="oBlockSand" x="1408" y="1328" name="inst_113949" locked="0" code="" scaleX="1" scaleY="1" colour="4294967295" rotation="0"/>

@ -3,7 +3,13 @@ var jump_vel;
if (global.enablecontrol) chStepControl();
if (global.movingobj) chStepMovingCheck();
if(global.playerhealth <= 0 && global.sax && oCharacter.sprite_index != sCoreXSAX) global.playerhealth = 1;
if (global.saxmode && !global.lobbyLocked){
xVel = 0;
yVel = 0;
exit;
}
if(global.playerhealth <= 0 && global.sax && global.saxmode && oCharacter.sprite_index != sCoreXSAX) global.playerhealth = 1;
if(global.saxmode && global.sax && global.playerhealth == 1 && !global.spectator && global.lobbyLocked){
if(!global.mosaic){

@ -1,12 +1,16 @@
/// damage_player(damage, knockback_x, knockback_y, ignore_armor, ignore_invincibility)
if(global.spectator) exit;
var damage_taken;
var damage_taken = 0;
if (global.currentsuit == 0 || argument3 == 1) damage_taken = argument0 * oControl.mod_diffmult;
if (argument3 == 0) {
if (global.currentsuit == 1){
if(!global.multiDamageCollision){
damage_taken = ceil(argument0 * 0.5) * oControl.mod_diffmult;
} else damage_taken = ceil(argument0 * 0.75) * oControl.mod_diffmult; //PvP Damage
} else {
damage_taken = ceil(argument0 * 0.75) * oControl.mod_diffmult; //PvP Damage
damage_taken = damage_taken + (damage_taken * global.damageMult); //PvP Damage
}
}
if (global.currentsuit == 2) {
if(!global.multiDamageCollision){
@ -18,14 +22,17 @@ if (argument3 == 0) {
} else {
if(global.item[5] == 0){
damage_taken = ceil(argument0 * 0.75) * oControl.mod_diffmult; //PvP Damage
damage_taken = damage_taken + (damage_taken * global.damageMult); //PvP Damage
} else {
damage_taken = ceil(argument0 * 0.5) * oControl.mod_diffmult; //PvP Damage
damage_taken = ceil(argument0 * 0.6) * oControl.mod_diffmult; //PvP Damage
damage_taken = damage_taken + (damage_taken * global.damageMult); //PvP Damage
}
}
} //added
}
var currState = state;
if (global.playerhealth > 0) with (oCharacter) {
var currState = state;
if ((state != HURT && invincible == 0 || argument4 == 1 && statetime > 2) && !global.ignoreKnockback) {
if (canbehit && state != IDLE && state != SAVING && state != SAVINGFX && state != SAVINGSHIPFX && state != SAVINGSHIP && state != ELEVATOR && state != GFELEVATOR) {
if (state == BALL || state == AIRBALL || state == SPIDERBALL || sjball == 1) {
@ -75,20 +82,22 @@ if (global.playerhealth > 0) with (oCharacter) {
}
} // if (global.playerhealth > 0)
if(global.ignoreKnockback && invincible == 0){
invincible = 60;
if(global.playerFreeze > 0){
invincible = 45;
if(state == BALL || state == AIRBALL || state == SPIDERBALL) fixedx = 0;
}
if(global.playerFreeze == 156){
invincible = 0;
if(state == BALL || state == AIRBALL || state == SPIDERBALL) fixedx = 0;
}
global.playerhealth -= damage_taken;
if (global.playerhealth <= 0 && state != DEFEATED) {
alarm[0] = 6;
state = DEFEATED;
with(oCharacter){
if(global.ignoreKnockback && invincible == 0){
invincible = 60;
if(global.playerFreeze > 0){
invincible = 45;
if(state == BALL || state == AIRBALL || state == SPIDERBALL) fixedx = 0;
}
if(global.playerFreeze == 156){
invincible = 0;
if(state == BALL || state == AIRBALL || state == SPIDERBALL) fixedx = 0;
}
global.playerhealth -= damage_taken;
if (global.playerhealth <= 0 && state != DEFEATED) {
alarm[0] = 6;
state = DEFEATED;
}
}
}

@ -61,7 +61,7 @@ global.item[1] = 1;
reset_logs_list();
reset_hints();
if(global.sax){
if(global.sax && global.saxmode){
//Upgrades
global.item[0] = 1;
global.item[1] = 1;

@ -125,9 +125,9 @@ if (directory_exists(program_directory)) {
// ***Suit palettes***
oControl.PowerPalette = -1;
oControl.VariaPalette = -1;
oControl.GravityPalette = -1;
oControl.PowerPalette = sPowerPalette;
oControl.VariaPalette = sVariaPalette;
oControl.GravityPalette = sGravityPalette;
if (file_exists("mods/palettes/suits/power.png")) oControl.PowerPalette = sprite_add("mods/palettes/suits/power.png", 1, false, false, 0, 0);
if (file_exists("mods/palettes/suits/varia.png")) oControl.VariaPalette = sprite_add("mods/palettes/suits/varia.png", 1, false, false, 0, 0);
@ -293,6 +293,9 @@ if (file_exists("mods/palettes/multitroid/multitroid.png")) oControl.MultitroidP
if (file_exists("mods/palettes/multitroid/multitroid_fusion.png")) oControl.MultitroidPaletteFusionCustom = sprite_add("mods/palettes/multitroid/multitroid_fusion.png", 1, false, false, 0, 0);
if (file_exists("mods/palettes/multitroid/spiderball.png")) oControl.SpiderballPaletteCustom = sprite_add("mods/palettes/multitroid/spiderball.png", 1, false, false, 0, 0);
if (file_exists("mods/palettes/multitroid/baby_metroid.png")) oControl.MultitroidBabyPaletteCustom = sprite_add("mods/palettes/multitroid/baby_metroid.png", 1, false, false, 0, 0);
if (file_exists("mods/palettes/multitroid/map_icons/sSpectatorIcon.png")) oControl.MultitroidSpectatorIcon = sprite_add("mods/palettes/multitroid/map_icons/sSpectatorIcon.png", 1, false, false, 0, 0);
if (file_exists("mods/palettes/multitroid/map_icons/sFusionIcon.png")) oControl.MultitroidFusionIcon = sprite_add("mods/palettes/multitroid/map_icons/sFusionIcon.png", 1, false, false, 0, 0);
if (file_exists("mods/palettes/multitroid/map_icons/sSAXIcon.png")) oControl.MultitroidSAXIcon = sprite_add("mods/palettes/multitroid/map_icons/sSAXIcon.png", 1, false, false, 0, 0);
icon_sprite = 0;
icon_merge = 1;

@ -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>1</bbox_right>
<bbox_top>0</bbox_top>
<bbox_bottom>74</bbox_bottom>
<HTile>0</HTile>
<VTile>0</VTile>
<TextureGroups>
<TextureGroup0>0</TextureGroup0>
</TextureGroups>
<For3D>0</For3D>
<width>2</width>
<height>75</height>
<frames>
<frame index="0">images\sGravityPalette_0.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>1</bbox_right>
<bbox_top>0</bbox_top>
<bbox_bottom>55</bbox_bottom>
<HTile>0</HTile>
<VTile>0</VTile>
<TextureGroups>
<TextureGroup0>0</TextureGroup0>
</TextureGroups>
<For3D>0</For3D>
<width>2</width>
<height>56</height>
<frames>
<frame index="0">images\sPowerPalette_0.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>1</bbox_right>
<bbox_top>0</bbox_top>
<bbox_bottom>44</bbox_bottom>
<HTile>0</HTile>
<VTile>0</VTile>
<TextureGroups>
<TextureGroup0>0</TextureGroup0>
</TextureGroups>
<For3D>0</For3D>
<width>2</width>
<height>45</height>
<frames>
<frame index="0">images\sVariaPalette_0.png</frame>
</frames>
</sprite>
Loading…
Cancel
Save