Define clone blocks and teeth in the CC2 tile layout

This commit is contained in:
Eevee (Evelyn Woods) 2020-08-31 12:06:58 -06:00
parent 6076b3c9a1
commit 730824e697
2 changed files with 17 additions and 2 deletions

View File

@ -133,7 +133,14 @@ export const CC2_TILESET_LAYOUT = {
ball: [[10, 10], [11, 10], [12, 10], [13, 10], [14, 10]], ball: [[10, 10], [11, 10], [12, 10], [13, 10], [14, 10]],
steel: [15, 10], steel: [15, 10],
// TODO teeth, seem to be missing north??? teeth: {
// NOTE: CC2 inexplicably dropped north teeth and just uses the south
// sprites instead
north: [[0, 11], [1, 11], [2, 11]],
east: [[3, 11], [4, 11], [5, 11]],
south: [[0, 11], [1, 11], [2, 11]],
west: [[6, 11], [7, 11], [8, 11]],
},
swivel_sw: [9, 11], swivel_sw: [9, 11],
swivel_nw: [10, 11], swivel_nw: [10, 11],
swivel_ne: [11, 11], swivel_ne: [11, 11],

View File

@ -132,7 +132,7 @@ const TILE_TYPES = {
water: { water: {
on_arrive(me, level, other) { on_arrive(me, level, other) {
// TODO cc1 allows items under water, i think; water was on the upper layer // TODO cc1 allows items under water, i think; water was on the upper layer
if (other.type.name == 'dirt_block') { if (other.type.name == 'dirt_block' || other.type.name == 'clone_block') {
other.destroy(); other.destroy();
me.become('dirt'); me.become('dirt');
} }
@ -266,6 +266,13 @@ const TILE_TYPES = {
is_block: true, is_block: true,
ignores: new Set(['fire']), ignores: new Set(['fire']),
}, },
clone_block: {
// TODO is this in any way distinct from dirt block
blocks: true,
is_object: true,
is_block: true,
ignores: new Set(['fire']),
},
green_floor: {}, green_floor: {},
green_wall: { green_wall: {
blocks: true, blocks: true,
@ -457,6 +464,7 @@ const TILE_TYPES = {
movement_speed: 4, movement_speed: 4,
pushes: { pushes: {
dirt_block: true, dirt_block: true,
clone_block: true,
}, },
// FIXME this prevents thief from taking green key // FIXME this prevents thief from taking green key
infinite_items: { infinite_items: {