Skip to content

Commit

Permalink
v0.29.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Zamiell committed Nov 24, 2018
1 parent e0fa12a commit 3670790
Show file tree
Hide file tree
Showing 17 changed files with 128 additions and 38 deletions.
16 changes: 13 additions & 3 deletions HISTORY.md
@@ -1,5 +1,15 @@
# Racing+ Version History and News

### *v0.29.0* - November 19th, 2018

* Season 4 is finished!
* Congradulations to Antizoubilamaka for the best R+7 time of 56:46, Cyber_1 for the second best time of 57:55, and leo_ze_tron for the third best time of 58:42.
* The top 10 times will be stored in the [Hall of Fame page](https://isaacracing.net/halloffame).
* If you want to beat these times, the R+7 (S4) category will continue to be tracked on speedrun.com, but the official competition will move on to season 5.
* [Season 5](https://github.com/Zamiell/isaac-racing-client/blob/master/mod/CHANGES-CHALLENGES.md#r7-season-5) has officially begun! The new category is now considered final; there will be no more major balance changes.
* Diagonal knife throws will now have a 3-frame window instead of a 1-frame window.
* Fixed the bug where Contract From Below would result in errors when clearing a room on a set seed. (Thanks mgln)

### *v0.28.3* - November 19th, 2018

* Isaac is feeling festive. Happy Thanksgiving.
Expand Down Expand Up @@ -545,7 +555,7 @@ Mod Changes:

### *v0.17.0* - April 21st, 2018

* Season 3 is considered finished!
* Season 3 is finished!
* Congradulations to Dea1h for the best R+7 time of 1:03:17, ReidMercury for the second best time of 1:04:04, and BMZ_Loop for the third best time of 1:08:11.
* The top 10 times will be stored in the [Hall of Fame page](https://isaacracing.net/halloffame).
* If you want to beat these times, the R+7 (S3) category will continue to be tracked on speedrun.com, but the official competition will move on to season 4.
Expand Down Expand Up @@ -780,7 +790,7 @@ Website (coded by sillypears):
News:

* Isaac is now feeling festive. Happy Thanksgiving! (Thanks to Gromfalloon for this)
* Season 2 is considered finished!
* Season 2 is finished!
* Congradulations to Dea1h for the best R+7 time of 1:01:13, Shigan for the second best time of 1:07:13, and ceehe for the third best time of 1:09:18.
* The top 10 times will be stored in a hall of fame page on the website in the future.
* If you want to beat these times, the R+7 (S2) category will continue to be tracked on speedrun.com, but the official competition will move on to season 3.
Expand Down Expand Up @@ -1259,7 +1269,7 @@ Client/Server:

News:

* Season 1 is considered finished!
* Season 1 is finished!
* Congradulations to Cyber_1 for the best R+9 time of 1:31:02 and Dea1h on the second best time of 1:33:27. I was luckily able to nab third place with 1:33:49.
* Congradulations to Dea1h for the best R+14 time of 2:41:37, Shigan for the second best time of 2:49:48, and CrafterLynx for the third best time of 2:54:08.
* The top 10 times will be stored in a hall of fame page on the website in the future.
Expand Down
2 changes: 1 addition & 1 deletion mod/content/challenges.xml
Expand Up @@ -6,7 +6,7 @@
<challenge name="R+7 (Season 2)" endstage="11" altpath="false" cursefilter="127" />
<challenge name="R+7 (Season 3)" endstage="11" altpath="false" cursefilter="127" />
<challenge name="R+7 (Season 4)" endstage="11" altpath="true" cursefilter="127" />
<challenge name="R+7 (Season 5 Beta)" endstage="11" altpath="true" cursefilter="103" />
<challenge name="R+7 (Season 5)" endstage="11" altpath="true" cursefilter="103" />
<!-- Curse of the Unknown is left in intentionally -->
<challenge name="R+7 Seeded (Q4 2018)" endstage="11" altpath="true" cursefilter="127" />
<challenge name="R+15 (Vanilla)" endstage="11" altpath="true" cursefilter="127" />
Expand Down
Binary file modified mod/resources/gfx/ui/main menu/titlemenu.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 15 additions & 15 deletions mod/sha1.json
Expand Up @@ -8,7 +8,7 @@
"LICENSE": "12d81f50767d4e09aa7877da077ad9d1b915d75b",
"README-DIVERSITY.md": "eba1aa03f7ed23b7d43b9d7a1dd72841509a5bee",
"README.md": "4518b36fd073a247f3d6261e157de6f84ea84b12",
"content\\challenges.xml": "c2db356954579245b31f8d6f93646f0c7e6db6f2",
"content\\challenges.xml": "f64f46f34eff1a26eb21e116c211e1e099e6c08b",
"content\\costumes2.xml": "52c647293a06d7a2e47bac22b53f2e61cdfadf1f",
"content\\entities2.xml": "a311b8ac060fc1c8a5caddc156c86db257a2e735",
"content\\gfx\\CharacterMenu.anm2": "8b9c333a09a30f2f2d2bf1f93a16a8fb9b6921f5",
Expand Down Expand Up @@ -1960,7 +1960,7 @@
"resources\\gfx\\ui\\main menu\\splashes.png": "405188fa3fbf3ea60741c57ebf4de8eb474f5b17",
"resources\\gfx\\ui\\main menu\\splashes_old.png": "cdb9683e5c86f5387e2b1568587f9b008fe5360d",
"resources\\gfx\\ui\\main menu\\titlemenu-orig.png": "2bc540586ba46877e4bb0fdbe6afded67f3e5bd3",
"resources\\gfx\\ui\\main menu\\titlemenu.png": "adf69bd1e9f17e9735198343c0fc62a35d7d266a",
"resources\\gfx\\ui\\main menu\\titlemenu.png": "b79973a236fd4a2381b811e2bd53706462aa7eb8",
"resources\\gfx\\ui\\samael_wraithmeter.png": "cc67cbb0a2e63e33e647f082779007a5cfea47f1",
"resources\\gfx\\ui\\shiftkey.png": "0c5b80fdc9834d6ce8852b62d318541e10e62fac",
"resources\\gfx\\ui\\stage\\nightmare1.anm2": "bfc49659db55560bf75cc12ce29bfb6adf245ab0",
Expand Down Expand Up @@ -2026,27 +2026,27 @@
"resources\\sfx\\mahalath\\muffled_explosion.wav": "879b16457f01e7182f31601127ef9d355d28e4a8",
"resources\\sfx\\speedrun_finish.wav": "6522d100a4e517fded302db673f0b796a15154c8",
"save-defaults.dat": "6d49045396bd03ce69bc541005cc4a4a4b7575fb",
"sha1.json": "78ffd762e213f17e46891fced84daccc775b91d2",
"sha1.json": "ee9153a97dcc75a20d7e0f897bc017d2483d9591",
"src\\RPBossAPI.lua": "e2af044d6fdbbfeff8abea29554312d243c27f25",
"src\\RPCards.lua": "f89432007c705f370d092fbffcc5c0e326b99abb",
"src\\RPChangeCharOrder.lua": "cf3c66ac0f24162b5184e95fe1ea640576aa4525",
"src\\RPCheckEntities.lua": "a4dc5219e7afe6197617fe8434bfa37987456fc7",
"src\\RPCheckEntities.lua": "8e486132b0da83eff8ff5f388baf2b38ad3efde3",
"src\\RPCheckLoop.lua": "8a244b485f719f5d0cc1215f1c5d649a713fbdd2",
"src\\RPDebug.lua": "c2e4fdd583d45958edb3ceead82a4a4e1c4f37f6",
"src\\RPEntityTakeDmg.lua": "17703b7aaa334e16bc8dbe4c754507266e81ca14",
"src\\RPEvaluateCache.lua": "dc8ab90d4201bcd72a31bbac99351ef2e0ec2245",
"src\\RPExecuteCmd.lua": "49974bc5bfeb9a84f75a8c9f3a0b7198a28f1e87",
"src\\RPFastClear.lua": "03490d6ee4687a34d6e9a41a03e8fa9215a563b0",
"src\\RPFastClear.lua": "fe0be98c5f3b08396f8c3b392f24fd4872d10dcb",
"src\\RPFastDrop.lua": "cbd70de22215f5d53ffa5c2e3674614cc35b100a",
"src\\RPFastTravel.lua": "86e24f04c95bc3dd3c511f008681a3c844e92889",
"src\\RPGlobals.lua": "e1bb5a8b3d5995ca6a6dfe4bfe5dc046653263a2",
"src\\RPInputAction.lua": "a25d9ef12972de70aeec744f5c291f4944269809",
"src\\RPGlobals.lua": "e19b979ee07d0cf62f62e4e33f5fa82d3439bbd5",
"src\\RPInputAction.lua": "ed873c4accd3ca020dcbd12776134839f0582db9",
"src\\RPJrFetus.lua": "6a5d7b52d59ba50a47c0bb4a737765ee5c771ffe",
"src\\RPMahalath.lua": "d96147fcfc135da5458b0f77ffbb0740edfaa47e",
"src\\RPNPCUpdate.lua": "7945b2c89938e64a2eb5ed54b072616c0810c245",
"src\\RPPedestals.lua": "695396bdca7f24d938cea15a12db18374fa96ba5",
"src\\RPPedestals.lua": "ef32874ae2ffda8a7a2a616e3d2bb9950fce1615",
"src\\RPPills.lua": "1499ada06dd6c0c16f58a1b686794a327dcd0315",
"src\\RPPostEntityKill.lua": "9914b6f004c9c23d90a8bd647f1b45c223105d80",
"src\\RPPostEntityKill.lua": "6f9b61ef5baff856cbab15e325484ce8c6d2aa2e",
"src\\RPPostGameStarted.lua": "b4726dc3de8f3587d5e036972d223de42afd1e1d",
"src\\RPPostLaserInit.lua": "4203c9eb160dce4fae5773513556dda810904fb2",
"src\\RPPostNPCInit.lua": "cee9138ab5f835845dbc68be37259fe7c4236adb",
Expand All @@ -2055,24 +2055,24 @@
"src\\RPPostPickupInit.lua": "a52236910022a0cc93e607a056621d6f7f85165e",
"src\\RPPostPickupSelection.lua": "83209adcdefd80d7323e27a7d9e9956615ef5272",
"src\\RPPostPlayerInit.lua": "084f1534be6757ac2ea1666dc6b9164e99d91cfc",
"src\\RPPostRender.lua": "d2e324ec685f04055bc437dd580caeeac2b2ddab",
"src\\RPPostUpdate.lua": "25635312a5ca915001c0c77d89f5621010689f07",
"src\\RPPostRender.lua": "b0938bfc04b3878f2bb3e556d9a854df2a857926",
"src\\RPPostUpdate.lua": "8045031b302c10da6ad44d0641db39225253beac",
"src\\RPPreEntitySpawn.lua": "9571173b92ad43d3ab8c6e45ec7c83f47f92ec17",
"src\\RPPreRoomEntitySpawn.lua": "acc541698e174605668d453e30ece1446a8b895c",
"src\\RPPreUseItem.lua": "935411b8645c86dfdffd1ee20939f54df3c83968",
"src\\RPRace.lua": "23d10a7bb0098f17790e7f3debeeb2491e6bf836",
"src\\RPSamael.lua": "36fafb478aa4ac3cd28ca38627b185fddc5320e0",
"src\\RPSamael.lua": "11e56427b371f62f51c64c47564ebe95962ed0b8",
"src\\RPSaveDat.lua": "07acbb4f9d584511cd8440812ed6979ab7fe3a61",
"src\\RPSchoolbag.lua": "37c8384ed0a20b06fa99608f588533d76c126e6e",
"src\\RPSeededDeath.lua": "ae0bf46cb35b9a6ce5adb4f9ededfdddc7a01b1b",
"src\\RPSeededFloors.lua": "47e01c01a153bbdc360be4e7a2cd593fe164d2f2",
"src\\RPSeededRooms.lua": "228c257bb4839239ceaa622a1d9a060d0f314867",
"src\\RPShapes.lua": "ab90a4fe7df7e020a3d53fa2aa38876efbe8465a",
"src\\RPSoulJar.lua": "4890f38d09e612a7974aeaa5f57b0bd83d3a4269",
"src\\RPSpeedrun.lua": "3df21a887c01884dff3b7ae7c52f92659d639fe8",
"src\\RPSpeedrunPostGameStarted.lua": "f35db1d59d9718f78b29d1497b31bc942ad585b6",
"src\\RPSpeedrun.lua": "691bfe3d458333fc75386a782b3faf142604bc9f",
"src\\RPSpeedrunPostGameStarted.lua": "ea2253e3fc62d3a3af68e6fddeaf53fded581542",
"src\\RPSpeedrunPostNewRoom.lua": "5a3c791f3b1783cd37b00625dc1d3c84234baed7",
"src\\RPSpeedrunPostUpdate.lua": "e32e676e66577672b67641d386f2aa085f81d046",
"src\\RPSpeedrunPostUpdate.lua": "0fa59284fe5badeb022647acf768ea51abfb7ef4",
"src\\RPSprites.lua": "7ae5c9bbb07052099b2f34724ed6e7d13da307cb",
"src\\RPTimer.lua": "30b4f4184c850fbac6acc1f6c10fc17b8af36761",
"src\\RPUseItem.lua": "0d598ebad081006bc94df5023a1fe72b22bdb8be",
Expand Down
2 changes: 1 addition & 1 deletion mod/src/RPCheckEntities.lua
Expand Up @@ -255,7 +255,7 @@ function RPCheckEntities:Entity5_340(pickup)
RPCheckEntities:Entity5_340_S3(pickup)
elseif challenge == Isaac.GetChallengeIdByName("R+7 (Season 4)") then
RPCheckEntities:Entity5_340_S4(pickup)
elseif challenge == Isaac.GetChallengeIdByName("R+7 (Season 5 Beta)") then
elseif challenge == Isaac.GetChallengeIdByName("R+7 (Season 5)") then
RPCheckEntities:Entity5_340_S5(pickup)
elseif RPSpeedrun.inSeededSpeedrun then
RPCheckEntities:Entity5_340_SS(pickup)
Expand Down
3 changes: 1 addition & 2 deletions mod/src/RPFastClear.lua
Expand Up @@ -957,7 +957,7 @@ function RPFastClear:SpawnClearAward()
-- 3 contracts / 4 pickups: 0.2
-- 4 contracts / 5 pickups: 0.13
local nothingChance = 0.666^pickupCount -- "math.pow()" does not exist in Isaac's Lua version
if nothingChance * 0.5 > rng:NextFloat() then
if nothingChance * 0.5 > rng:RandomFloat() then
pickupCount = 0
end
end
Expand Down Expand Up @@ -995,7 +995,6 @@ function RPFastClear:SpawnClearAward()
subType = pickup.SubType
end
end
end
return RPFastClear
3 changes: 2 additions & 1 deletion mod/src/RPGlobals.lua
Expand Up @@ -4,7 +4,7 @@ local RPGlobals = {}
-- Global variables
--

RPGlobals.version = "v0.28.4"
RPGlobals.version = "v0.29.0"
RPGlobals.corrupted = false -- Checked in the MC_POST_GAME_STARTED callback
RPGlobals.saveFile = { -- Checked in the MC_POST_GAME_STARTED callback
state = 0,
Expand Down Expand Up @@ -215,6 +215,7 @@ function RPGlobals:InitRun()
RPGlobals.run.removedCrownHearts = false -- Used to remove health after taking Crown of Light from a fart-reroll
RPGlobals.run.passiveItems = {} -- Used to keep track of the currently collected passive items
RPGlobals.run.queuedItems = false -- Used to keep track of whether the player is picking up an item
RPGlobals.run.knifeDirection = {} -- A 2-dimensional array that stores the directions held on past frames

-- Trapdoor tracking
RPGlobals.run.trapdoor = {
Expand Down
44 changes: 42 additions & 2 deletions mod/src/RPInputAction.lua
Expand Up @@ -11,7 +11,6 @@ function RPInputAction:Main(entity, inputHook, buttonAction)
local room = game:GetRoom()
local roomFrameCount = room:GetFrameCount()

-- Fix the bug where Samael's head will jerk violently when the player spams the tear shoot keys
if (buttonAction == ButtonAction.ACTION_SHOOTLEFT or -- 4
buttonAction == ButtonAction.ACTION_SHOOTRIGHT or -- 5
buttonAction == ButtonAction.ACTION_SHOOTUP or -- 6
Expand All @@ -26,7 +25,15 @@ function RPInputAction:Main(entity, inputHook, buttonAction)
buttonAction == ButtonAction.ACTION_SHOOTDOWN) and -- 7
inputHook == InputHook.GET_ACTION_VALUE then -- 2

return RPSamael:GetActionValue(buttonAction)
local actionValue
actionValue = RPInputAction:KnifeDiagonalFix(buttonAction)
if actionValue ~= nil then
return actionValue
end
actionValue = RPSamael:GetActionValue(buttonAction)
if actionValue ~= nil then
return actionValue
end
end

if buttonAction == ButtonAction.ACTION_PILLCARD and -- 10
Expand Down Expand Up @@ -54,4 +61,37 @@ function RPInputAction:Main(entity, inputHook, buttonAction)
end
end

-- Fix the bug where diagonal knife throws have a 1-frame window when playing on keyboard (2/2)
function RPInputAction:KnifeDiagonalFix(buttonAction)
-- Local variables
local game = Game()
local player = game:GetPlayer(0)

if player:HasCollectible(CollectibleType.COLLECTIBLE_MOMS_KNIFE) == false or -- 114
player:HasCollectible(CollectibleType.COLLECTIBLE_EPIC_FETUS) or -- 168
-- (Epic Fetus is the only thing that overwrites Mom's Knife)
#RPGlobals.run.knifeDirection < 1 then

return
end

local storedDirection = RPGlobals.run.knifeDirection[1]
if (buttonAction == ButtonAction.ACTION_SHOOTLEFT and -- 4
storedDirection[1] and
not storedDirection[2]) or
(buttonAction == ButtonAction.ACTION_SHOOTRIGHT and -- 5
storedDirection[2] and
not storedDirection[1]) or
(buttonAction == ButtonAction.ACTION_SHOOTUP and -- 6
storedDirection[3] and
not storedDirection[4]) or
(buttonAction == ButtonAction.ACTION_SHOOTDOWN and -- 7
storedDirection[4] and
not storedDirection[3]) then

Isaac.DebugString("HOLDING DOWN BUTTON: " .. tostring(buttonAction))
return 1
end
end

return RPInputAction
4 changes: 2 additions & 2 deletions mod/src/RPPedestals.lua
Expand Up @@ -117,7 +117,7 @@ function RPPedestals:Replace(pickup)
local offLimits = false
if (RPGlobals.race.rFormat == "seeded" or
challenge == Isaac.GetChallengeIdByName("R+7 (Season 4)") or
(challenge == Isaac.GetChallengeIdByName("R+7 (Season 5 Beta)") and
(challenge == Isaac.GetChallengeIdByName("R+7 (Season 5)") and
RPSpeedrun.charNum >= 2)) and
stage == 1 and
roomType == RoomType.ROOM_TREASURE and -- 4
Expand Down Expand Up @@ -183,7 +183,7 @@ function RPPedestals:Replace(pickup)
((RPGlobals.race.rFormat == "unseeded" and
RPGlobals.race.status == "in progress" and
(RPGlobals.race.ranked and RPGlobals.race.solo) == false) or
challenge == Isaac.GetChallengeIdByName("R+7 (Season 5 Beta)")) then
challenge == Isaac.GetChallengeIdByName("R+7 (Season 5)")) then

-- Check to see if this is a special Basement 1 diversity reroll
-- (these custom placeholder items are removed in all non-diveristy runs)
Expand Down
4 changes: 2 additions & 2 deletions mod/src/RPPostEntityKill.lua
Expand Up @@ -65,7 +65,7 @@ function RPPostEntityKill:Entity45(entity)
elseif challenge == Isaac.GetChallengeIdByName("R+7 (Season 2)") or
challenge == Isaac.GetChallengeIdByName("R+7 (Season 3)") or
challenge == Isaac.GetChallengeIdByName("R+7 (Season 4)") or
challenge == Isaac.GetChallengeIdByName("R+7 (Season 5 Beta)") then
challenge == Isaac.GetChallengeIdByName("R+7 (Season 5)") then

-- Most seasons give the player a choice between the two photos
situation = 3
Expand Down Expand Up @@ -210,7 +210,7 @@ function RPPostEntityKill:Entity78(entity)
if challenge == Isaac.GetChallengeIdByName("R+9 (Season 1)") or
challenge == Isaac.GetChallengeIdByName("R+14 (Season 1)") or
challenge == Isaac.GetChallengeIdByName("R+7 (Season 4)") or
challenge == Isaac.GetChallengeIdByName("R+7 (Season 5 Beta)") or
challenge == Isaac.GetChallengeIdByName("R+7 (Season 5)") or
RPSpeedrun.inSeededSpeedrun then

-- Season 1, 4, 5, and seeded speedrun challenges always go to Cathedral / The Chest
Expand Down
38 changes: 38 additions & 0 deletions mod/src/RPPostRender.lua
Expand Up @@ -61,6 +61,7 @@ function RPPostRender:Main()
-- Check for inputs
RPPostRender:CheckConsoleInput()
RPPostRender:CheckResetInput()
RPPostRender:CheckKnifeDirection()

-- Ban Basement 1 Treasure Rooms (1/2)
RPPostUpdate:CheckBanB1TreasureRoom()
Expand Down Expand Up @@ -247,6 +248,43 @@ function RPPostRender:CheckResetInput()
end
end

-- Fix the bug where diagonal knife throws have a 1-frame window when playing on keyboard (1/2)
function RPPostRender:CheckKnifeDirection()
-- Local variables
local game = Game()
local player = game:GetPlayer(0)

if player:HasCollectible(CollectibleType.COLLECTIBLE_MOMS_KNIFE) == false or -- 114
player:HasCollectible(CollectibleType.COLLECTIBLE_EPIC_FETUS) then -- 168
-- (Epic Fetus is the only thing that overwrites Mom's Knife)

return
end

local knifeDirection = {}
for i = 1, 4 do -- This corresponds to the "ButtonAction.ACTION_SHOOTX" enum
knifeDirection[i] = Input.IsActionPressed(i + 3, 0) -- e.g. ButtonAction.ACTION_SHOOTLEFT is 4
end
RPGlobals.run.knifeDirection[#RPGlobals.run.knifeDirection + 1] = knifeDirection
if #RPGlobals.run.knifeDirection > 3 then
table.remove(RPGlobals.run.knifeDirection, 1)
end

Isaac.DebugString(" L R U D")
for i, directionTable in ipairs(RPGlobals.run.knifeDirection) do
local frame = #RPGlobals.run.knifeDirection - i
local debugString = "Frame " .. tostring(frame) .. ": "
for j = 1, 4 do
if directionTable[j] then
debugString = debugString .. "X "
else
debugString = debugString .. "O "
end
end
Isaac.DebugString(debugString)
end
end

-- Make Cursed Eye seeded
-- (this has to be in the PostRender callback because game frames do not tick when
-- the teleport animation is happening)
Expand Down
4 changes: 2 additions & 2 deletions mod/src/RPPostUpdate.lua
Expand Up @@ -304,7 +304,7 @@ function RPPostUpdate:CheckBanB1TreasureRoom()
roomType ~= RoomType.ROOM_SECRET and -- 7
(RPGlobals.race.rFormat == "seeded" or
challenge == Isaac.GetChallengeIdByName("R+7 (Season 4)") or
(challenge == Isaac.GetChallengeIdByName("R+7 (Season 5 Beta)") and
(challenge == Isaac.GetChallengeIdByName("R+7 (Season 5)") and
RPSpeedrun.charNum >= 2)) then

local door
Expand Down Expand Up @@ -348,7 +348,7 @@ function RPPostUpdate:CrownOfLight()
RPGlobals.race.rFormat == "diversity") and
RPGlobals.race.status == "in progress" and
(RPGlobals.race.ranked and RPGlobals.race.solo) == false) or
challenge == Isaac.GetChallengeIdByName("R+7 (Season 5 Beta)")) then
challenge == Isaac.GetChallengeIdByName("R+7 (Season 5)")) then

-- Remove the two soul hearts that the Crown of Light gives
RPGlobals.run.removedCrownHearts = true
Expand Down
2 changes: 2 additions & 0 deletions mod/src/RPSamael.lua
Expand Up @@ -1869,6 +1869,7 @@ function SamaelMod:CheckHairpin()
end
end

-- Fix the bug where Samael's head will jerk violently when the player spams the tear shoot keys (1/2)
function SamaelMod:IsActionPressed()
-- Local variables
local game = Game()
Expand Down Expand Up @@ -1905,6 +1906,7 @@ function SamaelMod:IsActionPressed()
return true
end

-- Fix the bug where Samael's head will jerk violently when the player spams the tear shoot keys (2/2)
function SamaelMod:GetActionValue(buttonAction)
-- Local variables
local game = Game()
Expand Down

0 comments on commit 3670790

Please sign in to comment.