Implement level 4
This commit is contained in:
parent
85537fdb56
commit
5183771775
|
@ -190,7 +190,9 @@
|
||||||
(set self.itile nil)
|
(set self.itile nil)
|
||||||
(set self.playerpos player))
|
(set self.playerpos player))
|
||||||
(set y (+ y 30)))
|
(set y (+ y 30)))
|
||||||
|
(when (checkbox self "Is Gord following?" self.level.gord-following x y)
|
||||||
|
(set self.level.gord-following (not self.level.gord-following)))
|
||||||
|
(set y (+ y 30))
|
||||||
(self:draw-tile-selector x y (- self.size.x 20)))
|
(self:draw-tile-selector x y (- self.size.x 20)))
|
||||||
|
|
||||||
(fn MapEditView.get_name [self] (.. "Map: " self.mapfilename))
|
(fn MapEditView.get_name [self] (.. "Map: " self.mapfilename))
|
||||||
|
|
|
@ -39,17 +39,26 @@
|
||||||
) :drop :rdrop)
|
) :drop :rdrop)
|
||||||
(vm.code:append :responder [:dw 0])
|
(vm.code:append :responder [:dw 0])
|
||||||
(vm:word :get-responder :lit :responder :get)
|
(vm:word :get-responder :lit :responder :get)
|
||||||
(vm:word :responder-itile :get-responder :get :itile-at)
|
(vm:word :entity-itile :get :itile-at)
|
||||||
|
(vm:word :responder-itile :get-responder :entity-itile)
|
||||||
(vm:word :entity>do ; entity ev --
|
(vm:word :entity>do ; entity ev --
|
||||||
:over :lit :responder :dup :get :>r :set
|
:over :lit :responder :dup :get :>r :set
|
||||||
:swap 2 :+ :get :execute
|
:swap 2 :+ :get :execute
|
||||||
:r> :lit :responder :set)
|
:r> :lit :responder :set)
|
||||||
|
|
||||||
(vm:word :linked-entity :get-responder :dup 4 :+ :get :dup (vm:if [:execute] [:drop 6 :+ :get]))
|
(vm:word :linked-entity :get-responder :dup 4 :+ :get :dup (vm:if [:execute] [:drop 6 :+ :get]))
|
||||||
|
(vm:word :entity-at>do ; yx ev -- f
|
||||||
|
:>r :entity-at :dup (vm:if [:r> :entity>do vm.true] [:rdrop]))
|
||||||
(vm:word :touch-entity ; yx -- f
|
(vm:word :touch-entity ; yx -- f
|
||||||
:entity-at :dup (vm:when ev.touch :entity>do vm.true))
|
ev.touch :entity-at>do)
|
||||||
(vm:word :untouch-entity ; yx --
|
(vm:word :untouch-entity ; yx --
|
||||||
:entity-at :dup (vm:if [ev.untouch :entity>do] [:drop]))
|
ev.untouch :entity-at>do :drop)
|
||||||
|
|
||||||
|
(vm:word :entity-around>do ; yx ev --
|
||||||
|
:over 0x0100 :yx+ :over :entity-at>do :drop
|
||||||
|
:over 0x0001 :yx+ :over :entity-at>do :drop
|
||||||
|
:over 0xff00 :yx+ :over :entity-at>do :drop
|
||||||
|
:swap 0x00ff :yx+ :swap :entity-at>do :drop)
|
||||||
|
|
||||||
(vm:word :set-entitytile ; e itile --
|
(vm:word :set-entitytile ; e itile --
|
||||||
:swap :get :swap :update-itile)
|
:swap :get :swap :update-itile)
|
||||||
|
@ -72,7 +81,7 @@
|
||||||
] [:drop]))
|
] [:drop]))
|
||||||
|
|
||||||
(vm:word :door ; ev --
|
(vm:word :door ; ev --
|
||||||
(vm:if-and [[:is-jaye?] [:dup ev.touch :=] [:responder-itile (itile :dooropen) :=]]
|
(vm:if-and [[:is-walking?] [:dup ev.touch :=] [:responder-itile (itile :dooropen) :=]]
|
||||||
[:move-to-responder :drop]
|
[:move-to-responder :drop]
|
||||||
[(itile :doorclosed) (itile :dooropen) :handle-onoff]))
|
[(itile :doorclosed) (itile :dooropen) :handle-onoff]))
|
||||||
|
|
||||||
|
@ -87,7 +96,7 @@
|
||||||
:dup ev.touch := (vm:when
|
:dup ev.touch := (vm:when
|
||||||
(vm:ifchain [:is-jaye?] [:drop ev.act]
|
(vm:ifchain [:is-jaye?] [:drop ev.act]
|
||||||
[:is-neut?] [:linked-entity
|
[:is-neut?] [:linked-entity
|
||||||
(vm:if-and [[:dup :get :itile-at (itile :termon) :=]
|
(vm:if-and [[:dup :entity-itile (itile :termon) :=]
|
||||||
[:responder-itile (itile :termon) :=]]
|
[:responder-itile (itile :termon) :=]]
|
||||||
[:get :move-player-to] [:drop])]
|
[:get :move-player-to] [:drop])]
|
||||||
[]))
|
[]))
|
||||||
|
@ -116,6 +125,10 @@
|
||||||
(itile :t-rexx) :set-respondertile
|
(itile :t-rexx) :set-respondertile
|
||||||
0 :set-rexx :move-to-responder])])))
|
0 :set-rexx :move-to-responder])])))
|
||||||
|
|
||||||
|
(vm:word :trigger-sidekick
|
||||||
|
(vm:if-and [[:is-jaye?] [:gord-sitting :get]]
|
||||||
|
[:gord-yx :get ev.touch :entity-around>do]))
|
||||||
|
|
||||||
(fn append-from-map [map entity-org]
|
(fn append-from-map [map entity-org]
|
||||||
(each [_ entity (ipairs map.objects)]
|
(each [_ entity (ipairs map.objects)]
|
||||||
(when entity.name
|
(when entity.name
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
(util.reload :game.map)
|
(util.reload :game.map)
|
||||||
(util.reload :game.entity)
|
(util.reload :game.entity)
|
||||||
|
|
||||||
(local {: walkable : neutable : debris} tile.flag-to-bit)
|
(local {: walkable : neutable : debris : sittable} tile.flag-to-bit)
|
||||||
|
|
||||||
(vm:word :movement-dir ; key -- dyx
|
(vm:word :movement-dir ; key -- dyx
|
||||||
(vm:case [(string.byte "I") 0xff00]
|
(vm:case [(string.byte "I") 0xff00]
|
||||||
|
@ -33,15 +33,18 @@
|
||||||
(vm:var :rexx-yx 0xffff)
|
(vm:var :rexx-yx 0xffff)
|
||||||
(vm:var :gord-yx 0xffff)
|
(vm:var :gord-yx 0xffff)
|
||||||
(vm:var :gord-dir 0x0000)
|
(vm:var :gord-dir 0x0000)
|
||||||
|
(vm:var :gord-sitting vm.false)
|
||||||
|
|
||||||
(vm:var :controlstate [:db controlstate.jaye])
|
(vm:var :controlstate [:db controlstate.jaye])
|
||||||
(vm:word :is-jaye? :controlstate :bget controlstate.jaye :=)
|
(vm:word :is-jaye? :controlstate :bget controlstate.jaye :=)
|
||||||
(vm:word :is-neut? :controlstate :bget controlstate.neut :=)
|
(vm:word :is-neut? :controlstate :bget controlstate.neut :=)
|
||||||
(vm:word :is-rexx? :controlstate :bget controlstate.rexx :=)
|
(vm:word :is-rexx? :controlstate :bget controlstate.rexx :=)
|
||||||
(vm:word :is-prog? :is-neut? :is-rexx? :|)
|
(vm:word :is-prog? :is-neut? :is-rexx? :|)
|
||||||
|
(vm:word :is-walking? :movable-player-flag walkable :=)
|
||||||
(vm:word :neut-hidden? :neut-yx :get 0xffff :=)
|
(vm:word :neut-hidden? :neut-yx :get 0xffff :=)
|
||||||
(vm:word :rexx-active? :rexx-yx :get 0xffff := :not)
|
(vm:word :rexx-active? :rexx-yx :get 0xffff := :not)
|
||||||
(vm:word :gord-hidden? :gord-yx :get 0xffff :=)
|
(vm:word :gord-hidden? :gord-yx :get 0xffff :=)
|
||||||
|
(vm:word :gord-following? :gord-hidden? :gord-sitting :get :| :not)
|
||||||
|
|
||||||
(vm:word :set-rexx ; e --
|
(vm:word :set-rexx ; e --
|
||||||
:dup (vm:if [:get controlstate.rexx] [:drop 0xffff controlstate.neut])
|
:dup (vm:if [:get controlstate.rexx] [:drop 0xffff controlstate.neut])
|
||||||
|
@ -74,10 +77,19 @@
|
||||||
:player-yx :dup :get :dup 0xffff := (vm:if [:drop] [:drawtile-at])
|
:player-yx :dup :get :dup 0xffff := (vm:if [:drop] [:drawtile-at])
|
||||||
:set :draw-player)
|
:set :draw-player)
|
||||||
|
|
||||||
|
(vm:word :transition-gord-sitting ; yx f --
|
||||||
|
controlstate.gord :controlstate :bset
|
||||||
|
:gord-sitting :set :move-player-to
|
||||||
|
controlstate.jaye :controlstate :bset)
|
||||||
|
|
||||||
(vm:word :handle-special-move ; yx -- f
|
(vm:word :handle-special-move ; yx -- f
|
||||||
(vm:if-and [[:is-rexx?] [:dup debris :flag-at?]]
|
(vm:if-and [[:is-rexx?] [:dup debris :flag-at?]]
|
||||||
[(itile :t-floor) :update-itile vm.false]
|
[(itile :t-floor) :update-itile vm.false]
|
||||||
[:drop vm.false]))
|
[(vm:if-and [[:is-jaye?] [:gord-following?] [:dup sittable :flag-at?]]
|
||||||
|
[vm.true :transition-gord-sitting vm.true]
|
||||||
|
[(vm:if-and [[:is-jaye?] [:gord-sitting :get] [:dup :gord-yx :get :=]]
|
||||||
|
[:drop :jaye-yx :get vm.false :transition-gord-sitting 0 :gord-dir :set vm.true]
|
||||||
|
[:drop vm.false])])]))
|
||||||
|
|
||||||
(vm:word :try-move-player ; dir --
|
(vm:word :try-move-player ; dir --
|
||||||
:dup :set-player-dir ; dir
|
:dup :set-player-dir ; dir
|
||||||
|
@ -96,11 +108,13 @@
|
||||||
[:else :lit :jaye-e]))
|
[:else :lit :jaye-e]))
|
||||||
|
|
||||||
(vm:word :gord-tile ; ptile
|
(vm:word :gord-tile ; ptile
|
||||||
:gord-dir :get
|
:gord-sitting :get
|
||||||
(vm:case [0xff00 :lit :gord-n]
|
(vm:if [:lit :gord-sit]
|
||||||
[0x0100 :lit :gord-s]
|
[:gord-dir :get
|
||||||
[0x00ff :lit :gord-w]
|
(vm:case [0xff00 :lit :gord-n]
|
||||||
[:else :lit :gord-e]))
|
[0x0100 :lit :gord-s]
|
||||||
|
[0x00ff :lit :gord-w]
|
||||||
|
[:else :lit :gord-e])]))
|
||||||
|
|
||||||
(vm:word :neut-tile :lit :neut1) ; todo: animate
|
(vm:word :neut-tile :lit :neut1) ; todo: animate
|
||||||
|
|
||||||
|
@ -114,7 +128,7 @@
|
||||||
[controlstate.neut]) :controlstate :bset)
|
[controlstate.neut]) :controlstate :bset)
|
||||||
|
|
||||||
(vm:word :party-follow
|
(vm:word :party-follow
|
||||||
(vm:if-and [[:gord-hidden? :not] [:is-jaye?]]
|
(vm:if-and [[:is-jaye?] [:gord-following?]]
|
||||||
[controlstate.gord :controlstate :bset
|
[controlstate.gord :controlstate :bset
|
||||||
:gord-yx :get :gord-dir :get :yx+ :move-player-to
|
:gord-yx :get :gord-dir :get :yx+ :move-player-to
|
||||||
:jaye-dir :get :gord-dir :set
|
:jaye-dir :get :gord-dir :set
|
||||||
|
@ -123,10 +137,11 @@
|
||||||
(vm:word :player-key ; key --
|
(vm:word :player-key ; key --
|
||||||
(vm:ifchain
|
(vm:ifchain
|
||||||
[:dup (string.byte " ") :=] [:drop :toggle-player]
|
[:dup (string.byte " ") :=] [:drop :toggle-player]
|
||||||
|
[:dup (string.byte "Z") :=] [:drop :trigger-sidekick]
|
||||||
[:movement-dir :dup]
|
[:movement-dir :dup]
|
||||||
[:player-yx :get :swap ; oldyx dir
|
[:player-yx :get :swap ; oldyx dir
|
||||||
:try-move-player
|
:try-move-player
|
||||||
:dup :player-yx :get := :not (vm:if [:party-follow :untouch-entity] [:drop])]
|
:dup :player-yx :get := (vm:if [:drop] [:party-follow :untouch-entity])]
|
||||||
[:drop]))
|
[:drop]))
|
||||||
|
|
||||||
(vm:word :full-redraw :drawmap :player-redraw)
|
(vm:word :full-redraw :drawmap :player-redraw)
|
||||||
|
@ -147,6 +162,8 @@
|
||||||
(vm:word :load-level
|
(vm:word :load-level
|
||||||
:lit :map-jaye-yx :get :jaye-yx :set
|
:lit :map-jaye-yx :get :jaye-yx :set
|
||||||
:lit :map-neut-yx :get :neut-yx :set
|
:lit :map-neut-yx :get :neut-yx :set
|
||||||
|
:lit :map-gord-yx :get :gord-yx :set
|
||||||
|
0 :gord-dir :set
|
||||||
0xffff :rexx-yx :set
|
0xffff :rexx-yx :set
|
||||||
:full-redraw)
|
:full-redraw)
|
||||||
|
|
||||||
|
@ -162,7 +179,7 @@
|
||||||
)
|
)
|
||||||
:quit])
|
:quit])
|
||||||
|
|
||||||
(util.reload :game.level3)
|
(util.reload :game.level4)
|
||||||
|
|
||||||
(prg:assemble)
|
(prg:assemble)
|
||||||
|
|
||||||
|
|
9
game/level4.fnl
Normal file
9
game/level4.fnl
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
(local {: deflevel : say : itile} (require :game.defs))
|
||||||
|
(local {: ev} (require :game.entity))
|
||||||
|
(local level (deflevel "game/map4.json"))
|
||||||
|
(local vm level.vm)
|
||||||
|
|
||||||
|
(vm:word :term-dual-link
|
||||||
|
:lit :term-exit :entity-itile (itile :termon) := (vm:if [:lit :term-exit] [:lit :term-scan]))
|
||||||
|
|
||||||
|
level
|
1
game/map4.json
Normal file
1
game/map4.json
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"neut":{"y":5,"x":20},"jaye":{"y":4,"x":19},"gord-following":true,"map":"61616161616161616261616161616161616161616143C0C0C082E082C0C0636163C0C083C0C0436161C0C0C0C0C0C2C0C0C0C0C1C0C0C0C0C0C0C06161C0C0C0C0C0C0C0C0C0C0C1C0C0C0C0C0C0C2616103C0C0A3C0C0C003C0C06163C0C0C0C082A261616161616161C1616161812261618161616161616143C0C0C0C0C0C04361C0C0C0C0C0C0C0C0636181C0C0C0C0C0C0C0C081C0C0C0C0C0C0C0C0C06122C0C0C0C0C0E2C0C0C1A2E2C0C0C0C0C0C0C08161E082828282E0C02361A2C0C0C0C0C0C003236161026161610222616102616161610261616102612121214121212121212121212121412121212121","objects":[{"x":7,"func":"term","y":11,"linkword":"term-dual-link","name":""},{"link":1,"y":3,"func":"term","name":"term-exit","linkword":"","x":2},{"link":1,"y":3,"func":"term","name":"term-scan","linkword":"","x":7},{"link":2,"y":10,"func":"switch","name":"","linkword":"","x":12},{"link":3,"y":9,"func":"switch","name":"","linkword":"","x":12},{"x":11,"func":"door","y":7,"linkword":"","name":""},{"link":6,"y":7,"func":"scan","name":"","linkword":"","x":12},{"x":15,"func":"door","y":7,"linkword":"","name":""},{"link":8,"y":7,"func":"switch","name":"","linkword":"","x":7},{"x":10,"func":"door","y":5,"linkword":"","name":""},{"link":6,"y":4,"func":"switch","name":"","linkword":"","x":10},{"x":16,"func":"rexx","y":11,"linkword":"","name":""},{"link":10,"y":2,"func":"scan","name":"","linkword":"","x":7},{"link":15,"y":4,"func":"scan","name":"","linkword":"","x":1},{"x":1,"func":"door","y":5,"linkword":"","name":""},{"x":5,"func":"rexx","y":8,"linkword":"","name":""}]}
|
|
@ -1,7 +1,7 @@
|
||||||
(local util (require :lib.util))
|
(local util (require :lib.util))
|
||||||
(local lume (require :lib.lume))
|
(local lume (require :lib.lume))
|
||||||
|
|
||||||
(local flags [:walkable :neutable :debris])
|
(local flags [:walkable :neutable :debris :sittable])
|
||||||
(local flag-to-bit {})
|
(local flag-to-bit {})
|
||||||
(each [iflag flag (ipairs flags)]
|
(each [iflag flag (ipairs flags)]
|
||||||
(tset flag-to-bit flag (bit.lshift 1 (- iflag 1))))
|
(tset flag-to-bit flag (bit.lshift 1 (- iflag 1))))
|
||||||
|
@ -44,7 +44,8 @@
|
||||||
:map [:bytes (map.map:fromhex)]
|
:map [:bytes (map.map:fromhex)]
|
||||||
:map-entity-count [:db (length map.objects)]
|
:map-entity-count [:db (length map.objects)]
|
||||||
:map-jaye-yx [:dw (encode-yx map.jaye)]
|
:map-jaye-yx [:dw (encode-yx map.jaye)]
|
||||||
:map-neut-yx [:dw (encode-yx map.neut)]))
|
:map-neut-yx [:dw (encode-yx map.neut)]
|
||||||
|
:map-gord-yx [:dw (if map.gord-following (encode-yx map.jaye) 0xffff)]))
|
||||||
|
|
||||||
(fn find-itile [tiles label ?itilenext]
|
(fn find-itile [tiles label ?itilenext]
|
||||||
(local itile (or ?itilenext 1))
|
(local itile (or ?itilenext 1))
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
[{"gfx":"7F7F1F03090923436943230909031F7F7F7F784111104542174245101141787F","word":"","label":"neut1","flags":[]},{"gfx":"7F1F03090923436943230909031F7F7F7F784111104542174245101141787F7F","word":"","label":"neut2","flags":[]},{"gfx":"808080C0C0C0E0C0D0C8C04040404080808083058585828A9282820A08081980","word":"","label":"jaye-e","flags":[]},{"gfx":"8080C020A0A0C0C0D0C8C0501010188080808183838782828A8A920202020380","word":"","label":"jaye-w","flags":[]},{"gfx":"8080E030B0B098C0D0D0C840404060808080870D8D8D99828A8A920202020780","word":"","label":"jaye-s","flags":[]},{"gfx":"8080C0E0E0E0B0C0D0C8C040404060808080838787878D828A92820202020780","word":"","label":"jaye-n","flags":[]},{"gfx":"80808C8080808080B08080808C808080808C80808083B0808080808080868080","word":"","label":"t-floor","flags":{"walkable":true}},{"gfx":"007C0C0C0C0C7C007C7E7EAA88888800001F181818181F001F0F979584848400","word":"term","label":"termoff","flags":[]},{"gfx":"007C2C0C0C2C7C007C7E7EAA88888800001F18191C191F001F0F979584848400","word":"term","label":"termon","flags":{"neutable":true}},{"gfx":"D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","word":"","label":"","flags":[]},{"gfx":"D5D5D5D5D5F5F5FDDDD5D5D5D5D5D5D5AAAAAAAAAEAEBFBFBFABAAAAAAAAAAAA","word":"","label":"","flags":[]},{"gfx":"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF","word":"","label":"","flags":{"neutable":true}},{"gfx":"FF8FA7B3B3B3B3B3B3B3B3B3B3B383FFFFF8F2E6E6E6E6E6E6E6E6E6E6E6E0FF","word":"door","label":"doorclosed","flags":[]},{"gfx":"FF8F87838383838383838383838383FFFFF8F0E0E0E0E0E0E0E0E0E0E0E0E0FF","word":"door","label":"dooropen","flags":{"walkable":true}},{"gfx":"FFFFCFCFCFCF898183838787878FFFFFFFFCE4E4E4E4E0E0E0E0E0E0F0F8FFFF","word":"switch","label":"switchoff","flags":{"neutable":true}},{"gfx":"FFFFCFCFCFCF898123232727878FFFFFFFFCE4E4E4E0E0616565656571F8FFFF","word":"switch","label":"switchon","flags":{"neutable":true}},{"gfx":"FFFF83D3D3D3D3D3D3D3D3D3D383FFFFFFFFC0CACACECACBCACACACACAC0FFFF","word":"","label":"","flags":[]},{"gfx":"FFFFAFEBFBFBFBBBBBFBFBFBEBAFFFFFFFFFF5D7DFDFDFDDDDDFDFDFD7F5FFFF","word":"scan","label":"scanoff","flags":{"neutable":true}},{"gfx":"FFFF2F2B2B2B6B6B6B6B2B2B2B2FFFFFFFFF755555555757575755555575FFFF","word":"scan","label":"scanon","flags":{"neutable":true}},{"gfx":"FFF3C78FBFFCF98187BFFFFFBF9F9FC7FFCFE1F1FCFCF8FEFEFCF9F0E6CE8F9F","word":"","label":"","flags":[]},{"gfx":"80808C80808080A8AAAAAAA888888880808C8080808380859595958584848480","word":"","label":"","flags":[]},{"gfx":"80808C8080A0A0A8AAAA8AA0A8808080808C8081919090848594959585858080","word":"","label":"","flags":{"debris":true}},{"gfx":"00005054545450404054545010383800000C0A2A2A2A0A03032A2A0A081C1C00","word":"","label":"t-chair","flags":[]},{"gfx":"0000001C1C10545040606010545454000030070702020A0A0100020A080A0200","word":"","label":"","flags":{"debris":true}},{"gfx":"80A0A8AA92D2D2AAC2C2AA92D2AA808080959595949494959494959494858080","word":"","label":"","flags":[]},{"gfx":"80808C808080A8C292AAAAAAAA8AC0D0808C80808083959290959194948580A8","word":"","label":"","flags":{"debris":true}},{"gfx":"80806008282A0800202880A8A8A8A08080980000141501051511819595958580","word":"","label":"","flags":[]},{"gfx":"80808C808080A0A8AAAA8AA2AAAAAA80808C0000000330010105051511010514","word":"","label":"","flags":{"debris":true}},{"gfx":"80D0D0D0C0D4C4C4CECAC0E0A0808080808A8B8A82AAA2A2F2D2828785808080","word":"rexx","label":"t-rexx","flags":[]},{"gfx":"F8989898BE8686868686BEB098F880809F989898FCE0E0E0E0E0FC8C989F8080","word":"","label":"t-rexxstop","flags":[]},{"gfx":"80808C8088A8A8E0E0F0C8C0CCC08080808C80808080B08183838282829A8080","word":"","label":"gord-ground","flags":[]},{"gfx":"808080A0A080F0F0F0E8D0D09098808080808081818083838385828282868080","word":"","label":"gord-s","flags":[]},{"gfx":"80C09090A080F0F0F0F0D0D09098808080808282818083838383828282868080","word":"","label":"gord-n","flags":[]},{"gfx":"808080A0A080F0F0F0F0D0D090B0808080808181818081838581808282868080","word":"","label":"gord-e","flags":[]},{"gfx":"8080A0A0A080E0F0E8E0D0D09098808080808081818083838383828282838080","word":"","label":"gord-w","flags":[]}]
|
[{"gfx":"7F7F1F03090923436943230909031F7F7F7F784111104542174245101141787F","word":"","label":"neut1","flags":[]},{"gfx":"7F1F03090923436943230909031F7F7F7F784111104542174245101141787F7F","word":"","label":"neut2","flags":[]},{"gfx":"808080C0C0C0E0C0D0C8C04040404080808083058585828A9282820A08081980","word":"","label":"jaye-e","flags":[]},{"gfx":"8080C020A0A0C0C0D0C8C0501010188080808183838782828A8A920202020380","word":"","label":"jaye-w","flags":[]},{"gfx":"8080E030B0B098C0D0D0C840404060808080870D8D8D99828A8A920202020780","word":"","label":"jaye-s","flags":[]},{"gfx":"8080C0E0E0E0B0C0D0C8C040404060808080838787878D828A92820202020780","word":"","label":"jaye-n","flags":[]},{"gfx":"80808C8080808080B08080808C808080808C80808083B0808080808080868080","word":"","label":"t-floor","flags":{"walkable":true}},{"gfx":"007C0C0C0C0C7C007C7E7EAA88888800001F181818181F001F0F979584848400","word":"term","label":"termoff","flags":[]},{"gfx":"007C2C0C0C2C7C007C7E7EAA88888800001F18191C191F001F0F979584848400","word":"term","label":"termon","flags":{"neutable":true}},{"gfx":"D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","word":"","label":"","flags":[]},{"gfx":"D5D5D5D5D5F5F5FDDDD5D5D5D5D5D5D5AAAAAAAAAEAEBFBFBFABAAAAAAAAAAAA","word":"","label":"","flags":[]},{"gfx":"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF","word":"","label":"","flags":{"neutable":true}},{"gfx":"FF8FA7B3B3B3B3B3B3B3B3B3B3B383FFFFF8F2E6E6E6E6E6E6E6E6E6E6E6E0FF","word":"door","label":"doorclosed","flags":[]},{"gfx":"FF8F87838383838383838383838383FFFFF8F0E0E0E0E0E0E0E0E0E0E0E0E0FF","word":"door","label":"dooropen","flags":{"walkable":true}},{"gfx":"FFFFCFCFCFCF898183838787878FFFFFFFFCE4E4E4E4E0E0E0E0E0E0F0F8FFFF","word":"switch","label":"switchoff","flags":{"neutable":true}},{"gfx":"FFFFCFCFCFCF898123232727878FFFFFFFFCE4E4E4E0E0616565656571F8FFFF","word":"switch","label":"switchon","flags":{"neutable":true}},{"gfx":"FFFF83D3D3D3D3D3D3D3D3D3D383FFFFFFFFC0CACACECACBCACACACACAC0FFFF","word":"","label":"","flags":[]},{"gfx":"FFFFAFEBFBFBFBBBBBFBFBFBEBAFFFFFFFFFF5D7DFDFDFDDDDDFDFDFD7F5FFFF","word":"scan","label":"scanoff","flags":{"neutable":true}},{"gfx":"FFFF2F2B2B2B6B6B6B6B2B2B2B2FFFFFFFFF755555555757575755555575FFFF","word":"scan","label":"scanon","flags":{"neutable":true}},{"gfx":"FFF3C78FBFFCF98187BFFFFFBF9F9FC7FFCFE1F1FCFCF8FEFEFCF9F0E6CE8F9F","word":"","label":"","flags":[]},{"gfx":"80808C80808080A8AAAAAAA888888880808C8080808380859595958584848480","word":"","label":"","flags":[]},{"gfx":"80808C8080A0A0A8AAAA8AA0A8808080808C8081919090848594959585858080","word":"","label":"","flags":{"debris":true}},{"gfx":"00005054545450404054545010383800000C0A2A2A2A0A03032A2A0A081C1C00","word":"","label":"t-chair","flags":{"sittable":true}},{"gfx":"0000001C1C10545040606010545454000030070702020A0A0100020A080A0200","word":"","label":"","flags":{"debris":true}},{"gfx":"80A0A8AA92D2D2AAC2C2AA92D2AA808080959595949494959494959494858080","word":"","label":"","flags":[]},{"gfx":"80808C808080A8C292AAAAAAAA8AC0D0808C80808083959290959194948580A8","word":"","label":"","flags":{"debris":true}},{"gfx":"80806008282A0800202880A8A8A8A08080980000141501051511819595958580","word":"","label":"","flags":[]},{"gfx":"80808C808080A0A8AAAA8AA2AAAAAA80808C0000000330010105051511010514","word":"","label":"","flags":{"debris":true}},{"gfx":"80D0D0D0C0D4C4C4CECAC0E0A0808080808A8B8A82AAA2A2F2D2828785808080","word":"rexx","label":"t-rexx","flags":[]},{"gfx":"F8989898BE8686868686BEB098F880809F989898FCE0E0E0E0E0FC8C989F8080","word":"rexx","label":"t-rexxstop","flags":[]},{"gfx":"80808C8088A8A8E0E0F0C8C0CCC08080808C80808080B08183838282829A8080","word":"","label":"gord-ground","flags":[]},{"gfx":"808080A0A080F0F0F0E8D0D09098808080808081818083838385828282868080","word":"","label":"gord-s","flags":[]},{"gfx":"80C09090A080F0F0F0F0D0D09098808080808282818083838383828282868080","word":"","label":"gord-n","flags":[]},{"gfx":"808080A0A080F0F0F0F0D0D090B0808080808181818081838581808282868080","word":"","label":"gord-e","flags":[]},{"gfx":"8080A0A0A080E0F0E8E0D0D09098808080808081818083838383828282838080","word":"","label":"gord-w","flags":[]},{"gfx":"0088A8A8047470F8B8D4D4C4C4E40600000C0A2A2A2A0A81812A2A0A081C1C00","word":"","label":"gord-sit","flags":[]}]
|
Loading…
Reference in a new issue