From 78ec93b3397bf36b8a04fbdad2820b042e61288f Mon Sep 17 00:00:00 2001 From: DodoBirb Date: Fri, 1 Jul 2022 21:17:59 +1000 Subject: [PATCH] Suit Changes --- Export_Code/gml_Object_oCharacter_Other_12.gml | 4 ++-- Export_Code/gml_Object_oClient_Other_68.gml | 8 +++++--- Export_Code/gml_Object_oControl_Create_0.gml | 1 + Export_CodeServer/gml_Object_oServer_Alarm_0.gml | 9 +++++++-- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/Export_Code/gml_Object_oCharacter_Other_12.gml b/Export_Code/gml_Object_oCharacter_Other_12.gml index 56720b1..f15cf7c 100644 --- a/Export_Code/gml_Object_oCharacter_Other_12.gml +++ b/Export_Code/gml_Object_oCharacter_Other_12.gml @@ -32,7 +32,7 @@ if (invincible == 0) show_debug_message("rollback freeze") if (global.playerFreeze == 0 && (!global.frozenByRollback)) { - if (otherOBJ == 439 && other.ibeam && (!((global.currentsuit == 2 && global.item[5] == 1))) && global.playerFreeze == 0 && invincible == 0 && canbehit && state != IDLE && state != SAVING && state != SAVINGFX && state != SAVINGSHIPFX && state != SAVINGSHIP && state != ELEVATOR && state != GFELEVATOR) + if (otherOBJ == 439 && other.ibeam && (!global.freezeDisabled) && global.playerFreeze == 0 && invincible == 0 && canbehit && state != IDLE && state != SAVING && state != SAVINGFX && state != SAVINGSHIPFX && state != SAVINGSHIP && state != ELEVATOR && state != GFELEVATOR) { global.playerFreeze = 120 damageDir = 0 @@ -46,7 +46,7 @@ if (invincible == 0) kDown = 0 } } - if ((otherOBJ == 440 || otherOBJ == 438) && other.icemissiles && (!other.smissile) && (!((global.currentsuit == 2 && global.item[5] == 1))) && global.playerFreeze == 0 && invincible == 0 && canbehit && state != IDLE && state != SAVING && state != SAVINGFX && state != SAVINGSHIPFX && state != SAVINGSHIP && state != ELEVATOR && state != GFELEVATOR) + if ((otherOBJ == 440 || otherOBJ == 438) && other.icemissiles && (!other.smissile) && (!global.freezeDisabled) && global.playerFreeze == 0 && invincible == 0 && canbehit && state != IDLE && state != SAVING && state != SAVINGFX && state != SAVINGSHIPFX && state != SAVINGSHIP && state != ELEVATOR && state != GFELEVATOR) { global.playerFreeze = 120 damageDir = 0 diff --git a/Export_Code/gml_Object_oClient_Other_68.gml b/Export_Code/gml_Object_oClient_Other_68.gml index 1c58c3c..200ffba 100644 --- a/Export_Code/gml_Object_oClient_Other_68.gml +++ b/Export_Code/gml_Object_oClient_Other_68.gml @@ -1,4 +1,4 @@ -var type_event, _buffer, bufferSize, bufferSizePacket, clientID, findsocket, i, arrList, f, v, ban, clientX, clientY, clientSprite, clientImage, clientA1, clientA1X, clientA1Y, clientA2, clientA2X, clientA2Y, clientA2A, clientMirror, clientArmmsl, clientRoom, clientName, clientBlend, clientFXTimer, clientRoomPrev, clientState, clientSAX, clientSpeedboost, clientSJBall, clientSJDir, clientSpeedCharge, clientPlayerHealth, clientSpectator, clientInvincible, clientMosaic, clientReform, clientVisible, arr, indexValue, clientMapX, clientMapY, sax, spectator, arrPosData, find, event, playerHealth, missiles, smissiles, pbombs, playerhealth, ping, item, metdead, team, spacejump, screwattack, spiderball, speedbooster, bomb, ibeam, wbeam, pbeam, sbeam, cbeam, otherItemArr, IDCheck, tempArr, ID, checkBeam, checkMissile, checkDamage, checkFreeze, newTeam, saxmode, lobbyLocked, samCount, getGravity, receivedPasswordHash, size, type, alignment, result, _seed, monstersLeft, monstersArea, itemArr, metdeadArr, eventArr, tileCount, tileX, tileY, tileData, itemstaken, maxmissiles, maxsmissiles, maxpbombs, maxhealth, etanks, mtanks, stanks, ptanks, time, dir, sprX, sprY, charge, arrDraw, arrID, bombX, bombY, currentWeapon, missileX, missileY, velX, velY, icemissiles, pbombX, pbombY, syncDiff, str, syncELM, otherAbsorbRelativeX, otherAbsorbRelativeY, otherAbsorbSpriteHeight, mapposx, mapposy, mirror, sentRoom, playerX, playerY, resend, receivedItem, etankCount, stankCount, ptankCount, mtankCount, receivedEvent, receivedMetdead, countArea, countLeft, part, j, receiveddmap, damageMultStr, damageMult, experimental, playerState, combatState; +var type_event, _buffer, bufferSize, bufferSizePacket, clientID, findsocket, i, arrList, f, v, ban, clientX, clientY, clientSprite, clientImage, clientA1, clientA1X, clientA1Y, clientA2, clientA2X, clientA2Y, clientA2A, clientMirror, clientArmmsl, clientRoom, clientName, clientBlend, clientFXTimer, clientRoomPrev, clientState, clientSAX, clientSpeedboost, clientSJBall, clientSJDir, clientSpeedCharge, clientPlayerHealth, clientSpectator, clientInvincible, clientMosaic, clientReform, clientVisible, arr, indexValue, clientMapX, clientMapY, sax, spectator, arrPosData, find, event, playerHealth, missiles, smissiles, pbombs, playerhealth, ping, item, metdead, team, spacejump, screwattack, spiderball, speedbooster, bomb, ibeam, wbeam, pbeam, sbeam, cbeam, otherItemArr, IDCheck, tempArr, ID, checkBeam, checkMissile, checkDamage, checkFreeze, newTeam, saxmode, lobbyLocked, samCount, getGravity, receivedPasswordHash, size, type, alignment, result, _seed, monstersLeft, monstersArea, itemArr, metdeadArr, eventArr, tileCount, tileX, tileY, tileData, itemstaken, maxmissiles, maxsmissiles, maxpbombs, maxhealth, etanks, mtanks, stanks, ptanks, time, dir, sprX, sprY, charge, arrDraw, arrID, bombX, bombY, currentWeapon, missileX, missileY, velX, velY, icemissiles, pbombX, pbombY, syncDiff, str, syncELM, otherAbsorbRelativeX, otherAbsorbRelativeY, otherAbsorbSpriteHeight, mapposx, mapposy, mirror, sentRoom, playerX, playerY, resend, receivedItem, etankCount, stankCount, ptankCount, mtankCount, receivedEvent, receivedMetdead, countArea, countLeft, part, j, receiveddmap, damageMultStr, damageMult, experimental, playerState, combatState, freezeOff; disconnectTimer = 900 if (!global.acceptPacket) exit @@ -397,7 +397,7 @@ switch type_event show_debug_message("normal freeze") if (checkFreeze && global.playerFreeze == 0 && (!global.frozenNormally)) { - if (checkBeam && (!((global.currentsuit == 2 && global.item[5] == 1))) && global.playerFreeze == 0 && invincible == 0 && canbehit && state != IDLE && state != SAVING && state != SAVINGFX && state != SAVINGSHIPFX && state != SAVINGSHIP && state != ELEVATOR && state != GFELEVATOR) + if (checkBeam && (!global.freezeDisabled) && global.playerFreeze == 0 && invincible == 0 && canbehit && state != IDLE && state != SAVING && state != SAVINGFX && state != SAVINGSHIPFX && state != SAVINGSHIP && state != ELEVATOR && state != GFELEVATOR) { global.playerFreeze = 120 damageDir = 0 @@ -411,7 +411,7 @@ switch type_event kDown = 0 } } - if (checkMissile && (checkDamage == 10 || checkDamage == 20) && (!((global.currentsuit == 2 && global.item[5] == 1))) && global.playerFreeze == 0 && invincible == 0 && canbehit && state != IDLE && state != SAVING && state != SAVINGFX && state != SAVINGSHIPFX && state != SAVINGSHIP && state != ELEVATOR && state != GFELEVATOR) + if (checkMissile && (checkDamage == 10 || checkDamage == 20) && (!global.freezeDisabled) && global.playerFreeze == 0 && invincible == 0 && canbehit && state != IDLE && state != SAVING && state != SAVINGFX && state != SAVINGSHIPFX && state != SAVINGSHIP && state != ELEVATOR && state != GFELEVATOR) { global.playerFreeze = 120 damageDir = 0 @@ -485,8 +485,10 @@ switch type_event break case 115: getGravity = buffer_read(_buffer, buffer_u8) + freezeOff = buffer_read(_buffer, buffer_u8) if (getGravity && global.saxmode && global.sax && (!global.item[9]) && instance_number(oCoreXGravity) == 0 && string_count("rm_a", room_get_name(room))) instance_create(irandom_range(0, room_width), -100, oCoreXGravity) + global.freezeDisabled = freezeOff break case 116: receivedPasswordHash = buffer_read(_buffer, buffer_string) diff --git a/Export_Code/gml_Object_oControl_Create_0.gml b/Export_Code/gml_Object_oControl_Create_0.gml index 898b996..ff13761 100644 --- a/Export_Code/gml_Object_oControl_Create_0.gml +++ b/Export_Code/gml_Object_oControl_Create_0.gml @@ -465,5 +465,6 @@ global.warpPipeCooldown = 0 global.experimental = 0 global.saveStationCooldown = 0 global.hitBySuper = 0 +global.freezeDisabled = 0 reset_map() load_character_vars() diff --git a/Export_CodeServer/gml_Object_oServer_Alarm_0.gml b/Export_CodeServer/gml_Object_oServer_Alarm_0.gml index 51cc95a..34bf87c 100644 --- a/Export_CodeServer/gml_Object_oServer_Alarm_0.gml +++ b/Export_CodeServer/gml_Object_oServer_Alarm_0.gml @@ -1,4 +1,4 @@ -var sockets, size, type, alignment, bufferSize, i, getGravity; +var sockets, size, type, alignment, bufferSize, i, getGravity, freezeOff; sockets = ds_list_size(playerList) buffer_delete(buffer) size = 1024 @@ -31,8 +31,11 @@ buffer_write(buffer, buffer_u8, syncedELM) for (i = 0; i < sockets; i++) network_send_packet(ds_list_find_value(playerList, i), buffer, buffer_tell(buffer)) getGravity = 0 -if (global.itemSamus[5] && global.itemSamus[9]) +freezeOff = 0 +if global.itemSamus[9] getGravity = 1 +if global.itemSamus[5] + freezeOff = 1 buffer_delete(buffer) size = 1024 type = buffer_grow @@ -41,11 +44,13 @@ buffer = buffer_create(size, type, alignment) buffer_seek(buffer, buffer_seek_start, 0) buffer_write(buffer, buffer_u8, 115) buffer_write(buffer, buffer_u8, getGravity) +buffer_write(buffer, buffer_u8, freezeOff) bufferSize = buffer_tell(buffer) buffer_seek(buffer, buffer_seek_start, 0) buffer_write(buffer, buffer_s32, bufferSize) buffer_write(buffer, buffer_u8, 115) buffer_write(buffer, buffer_u8, getGravity) +buffer_write(buffer, buffer_u8, freezeOff) for (i = 0; i < sockets; i++) network_send_packet(ds_list_find_value(playerList, i), buffer, buffer_tell(buffer)) buffer_delete(buffer)