- GetBoard
- GetGame
- GetScripts
- AddEvent
- GetMax
- GetValue
| diff --git c/src/com/megacrit/cardcrawl/actions/unique/NightTerrorAction.java w/src/com/megacrit/cardcrawl/actions/unique/NightTerrorAction.java | |
| index bb05c1d..d5d6704 100644 | |
| --- c/src/com/megacrit/cardcrawl/actions/unique/NightTerrorAction.java | |
| +++ w/src/com/megacrit/cardcrawl/actions/unique/NightTerrorAction.java | |
| @@ -42,7 +42,7 @@ extends AbstractGameAction { | |
| return; | |
| } | |
| if (this.p.hand.size() == 1) { | |
| - AbstractDungeon.actionManager.addToTop(new ApplyPowerAction(this.p, this.p, new NightTerrorPower(this.p, this.amount, this.p.hand.getBottomCard()))); | |
| + this.setupPower(this.p.hand.getBottomCard()); |
| ==================== Asm code ==================== | |
| .section .data | |
| .align 8 | |
| .align 1 | |
| .globl $wackermann_closure | |
| $wackermann_closure: | |
| .quad $wackermann_info | |
| let { | |
| $wbuildTable_s5dj | |
| $wbuildTable_s5dj | |
| = \ ww2_s5d6 ww3_s5da ww4_s5de -> | |
| join { | |
| exit_XS | |
| exit_XS ww5_s5cU ww6_s5cY | |
| = (# or# ww5_s5cU (uncheckedShiftL# 1## (andI# (word2Int# r#_a4by) 63#)), ww6_s5cY #) } in | |
| joinrec { | |
| $wbuildTable1_s5d0 |
| {-# LANGUAGE OverloadedStrings #-} | |
| {-# LANGUAGE BangPatterns #-} | |
| module Lib (longestCommonSubstring) where | |
| import qualified Data.Text as T | |
| import qualified Data.Text.IO as T | |
| import qualified Data.Text.Internal.Fusion.Common as S | |
| import qualified Data.Text.Internal.Fusion as S | |
| import qualified Data.List as L | |
| import qualified Data.Text.Unsafe as U |
| function SerializePawn(pawn) | |
| -- Used in scripts | |
| -- GetType(), GetId(), IsFrozen(), SetFrozen(bool), IsFire(), SetFire(bool), | |
| -- SetPowered(bool), IsActive(), SetActive(bool), SetNeutral(bool), | |
| -- SetCustomAnim(string), FlyAway(), Move(Point), | |
| -- Retreat(), SetPriorityTarget(Point), GetTarget(), FireWeapon(Point (offset), 1), | |
| -- SetMoveSpeed(int), GetMoveSpeed(), SetMech(), IsBusy(), IsUndoPossible() | |
| -- IsWeaponArmed(), GetArmedWeaponId(), IsSelected(), SetHealth(int), | |
| -- GetHealth() SetMissionCritical(bool), SetAcid(bool), IsAcid(), | |
| -- SpawnAnimation(), GetSpace(), SetSpace(Point) |
| Prime_Punchmech.PathSize = INT_MAX | |
| Prime_Punchmech.Damage = 1 | |
| -- statemachine for the conga | |
| local Tracked = {} | |
| local ST_ACTIVE = 0 -- in the conga | |
| local ST_DROPPED = 1 -- fell into a hole | |
| local ST_PUSHED = 2 -- run into an immovable obstacle, acts as an immovable obstacle itself now | |
| local ST_PAUSED = 3 -- temporarily paused until the conga catches up |
| int getweaponname(lua_State* L) { | |
| int** userdata = (int**)lua_touserdata(L, 1); | |
| int idx = luaL_checkint(L, 2); | |
| luaL_argcheck(L, userdata != NULL, 1, "`pawn' expected"); | |
| int* pawn = (int*)userdata[0][2]; | |
| int* weapon_arr_start = (int*)pawn[1]; | |
| int* weapon_arr_end = (int*)pawn[2]; | |
| int* weapon_addr = weapon_arr_start + 2 * idx; |
| struct Weapon { | |
| void* head; | |
| void* tail; | |
| }; | |
| int getweaponname(lua_State* L) { | |
| int*** userdata = (int***)lua_touserdata(L, 1); | |
| luaL_argcheck(L, userdata != NULL, 1, "`pawn' expected"); | |
| size_t idx = luaL_checkint(L, 2); | |
| // we go userdata -> luabind data -> pawn struct -> weapon vec |
| {-# LANGUAGE BangPatterns #-} | |
| module Test where | |
| import Data.Vector.Unboxed as U | |
| import GHC.Word | |
| data State = A | B | |
| process :: U.Vector Word8 -> Bool |