binding-of-isaac/README.md

1.7 KiB

--| Syntax for level files |--

  1. General rule each file must be named "room_k" where k is a positive integer if "room_k" exists then all "room_u" where 0 <= u < k exists

  2. Data structure below is a detailled list for all block types ; each block type (Blocks, Teleporters, Entities) must have the corresponding word directly above it not all three keywords have to be written

Data-specific structure : blocks: [x, y, z, w, h, d, rhz, rvt, r, g, b]

teleporters: [x, y, z, w, h, d, rhz, rvt, r, g, b, dest_chx, dest_chy]

entities: [x, y, z, w, h, d, rhz, rvt, r, g, b, hp, damage, entityType ..] Entity types are : -> 0 (coin) -> damage equals the coin's value -> 1 (non-moving explosive) -> 2 (seeking explosive) -> 3 (shooting non-moving explosive) -> 4 (moving platform) [.. amplitude_x, amplitude_y, amplitude_z, mult, divd, phase] with <- extra arguments at the end of [] amplitude_{x,y,z} = double[>= 0.0] {mult,divd} = int {phase} = int[0, 360]

-> **5 (linear moving platform)**
    [.. amplitude_x, amplitude_y, amplitude_z, speed_x, speed_y, speed_z] with
        amplitude_{x,y,z} = double[>= 0.0]
        speed_{x,y,z} = double

-> **6 (text box)**
    [.. text, tred, tgreen, tblue] with
        text = {char*}

-> **7 (warp text box)**
    [.. dest_folder, room_count, text, tred, tgreen, tblue] with
        {dest_folder,text} = {char*} (length <= 50)
        {r,g,b} = int[0-256]


-> **8 (lock box)**
    [.. cost, doPay, tred, tgreen, tblue] with
        cost = int[> 0] (0 breaks)
        doPay = {0, 1} (bool)