diff --git a/parts/ai.lua b/parts/ai.lua index 016aa36a..d01ac313 100644 --- a/parts/ai.lua +++ b/parts/ai.lua @@ -59,7 +59,7 @@ if type(_CC)=='table'then end error("Row "..y.." full") ]] - P.AI_thread=nil + P:destroyBot() return end end @@ -68,12 +68,12 @@ if type(_CC)=='table'then n=n+1 end if not pcall(CC.update,P.AI_bot,F,P.b2b>=100,P.combo)then - P.AI_thread=nil + P:destroyBot() end end function CC.switch20G(P) if not pcall(CC.destroy,P.AI_bot)then - P.AI_thread=nil + P:destroyBot() return end P.AIdata._20G=true diff --git a/parts/player/player.lua b/parts/player/player.lua index 4cf56cd1..66d848d1 100644 --- a/parts/player/player.lua +++ b/parts/player/player.lua @@ -230,6 +230,12 @@ end function Player:setRS(RSname) self.RS=RSlist[RSname]or RSlist.TRS end +function Player:destroyBot() + if self.AI_mode=='CC'then + if self.AI_bot then CC.destroy(self.AI_bot)end + end + self.AI_thread=nil +end function Player:getHolePos()--Get a good garbage-line hole position if self.garbageBeneath==0 then diff --git a/parts/player/update.lua b/parts/player/update.lua index ce88c676..491a6c6b 100644 --- a/parts/player/update.lua +++ b/parts/player/update.lua @@ -189,7 +189,7 @@ function update.alive(P,dt) if not C[1]then if P.AI_thread then if not pcall(P.AI_thread)then - P.AI_thread=nil + P:destroyBot() end else P:act_hardDrop()