aliens

Author Topic: TFTD fire and the ocean floor. (Fire stops burning after 1 turn)  (Read 2188 times)

Offline The Martian

  • Commander
  • *****
  • Posts: 754
  • "It implores you to listen to its arguments..."
    • View Profile
In TFTD when using an incindiary weapon fire extinguishes when a turn passes if it is burning on the most commonly found tile on the ocean floor, but it will stay burning on most other tiles.

My guess is this is related to that map tile's configuration and not the weapon itself.

Is it possible to alter these tiles from a .rul file so that incindiary keeps burning, or is there another factor putting the fire out?



Gas Cannon fires an incindiary round:
Spoiler:

The next turn it is gone:
Spoiler:
« Last Edit: March 26, 2022, 01:38:34 am by The Martian »

Offline Nord

  • Commander
  • *****
  • Posts: 1625
  • The Gate is open.
    • View Profile
Re: TFTD fire and the ocean floor. (Fire stops burning after 1 turn)
« Reply #1 on: March 26, 2022, 02:31:59 am »
Maybe you seek byte 57 of mcd tile (teerrain) properties, called "Fuel"? It define how long any tilepart will burn.

Offline The Martian

  • Commander
  • *****
  • Posts: 754
  • "It implores you to listen to its arguments..."
    • View Profile
Re: TFTD fire and the ocean floor. (Fire stops burning after 1 turn)
« Reply #2 on: March 26, 2022, 03:30:58 am »
The information I'm reading about MCD sounds like I'll need to use a map editor program to alter it.

As this is hopefully a small change perhaps this can be done via a .rul file using a MCD Patch instead?

There is a concerning warning listed on the UFOpaedia's Ruleset Reference Nightly page about using it though.
Spoiler:

On the UFOpaedia site the description for 'Fuel - Byte #57' in the MCD Patches section mentions that it doesn't effect fire caused by an incendiary blast.
Quote from: UFOpaedia's Ruleset Reference Nightly
The amount of turns this tile will burn for, byte #57. Seems to be based on fire from tile igniting due to flammability value, and doesn't affect fire caused by an incendiary blast.
Spoiler:

How do I go about editing this?

... there is also no direct reference on what and how can be done with MCDPatches.

Are there any examples available for how a MCD patch is formatted in a .rul file that have been created since Kkmic posted about it back in 2014?

I'm searching the forum but have yet to uncover something I can use as a tutorial document.

EDIT:

Code: [Select]
MCDPatches:
   - type: BARN: # /UFO/TERRAIN/BARN.MCD
     data:
     - MCDIndex: 0 # index 0 of BARN.MCD
       armor: 255 # make tile nearly indestructible
       HEBlock: 200 # may block blaster bombs

Found an example on the UFOpaedia's Ruleset Reference Nightly. (I feel silly for not scrolling all the way down...)


EDIT:
I found a list of all .MCD maps for TFTD, is there an available list of the tile index for these maps?

I think that I need a value to feed MCDIndex: for the tile to alter and it occurs to me that it may be different for each map, unless I'm mistaken and MCDIndex: doesn't contain the value of the tile being altered?


EDIT:
This 'may' be related, I'm still figuring out how to read it...
TERRAIN (TFTD) 0: Seabed Terrain.
« Last Edit: March 26, 2022, 04:21:18 am by The Martian »

Offline The Martian

  • Commander
  • *****
  • Posts: 754
  • "It implores you to listen to its arguments..."
    • View Profile
Re: TFTD fire and the ocean floor. (Fire stops burning after 1 turn)
« Reply #3 on: March 26, 2022, 04:50:48 am »
I was not able to single out the specific tile so I tried to alter all 102 tile entries for the SEABED MCD map, but I'm producing an error that crashes it instead.
Quote
MCDPatch_TEST.rul: yaml-cpp: error at line 2, column 17: illegal map value

As far as I can tell my code matches the example on the UFOpaedia Ruleset Reference Nightly page:
Code: [Select]
MCDPatches:
   - type: BARN: # /UFO/TERRAIN/BARN.MCD
     data:
     - MCDIndex: 0 # index 0 of BARN.MCD
       armor: 255 # make tile nearly indestructible
       HEBlock: 200 # may block blaster bombs


Here is the code inside MCDPatch_TEST.rul
Code: [Select]
MCDPatches:
  - type: SEABED: # /TFTD/TERRAIN/SEABED.MCD
    data:
    - MCDIndex: 0 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 1 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 2 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 3 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 4 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 5 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 6 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 7 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 8 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 9 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 10 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 11 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 12 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 13 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 14 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 15 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 16 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 17 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 18 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 19 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 20 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 21 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 22 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 23 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 24 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 25 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 26 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 27 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 28 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 29 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 30 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 31 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 32 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 33 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 34 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 35 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 36 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 37 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 38 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 39 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 40 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 41 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 42 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 43 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 44 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 45 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 46 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 47 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 48 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 49 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 50 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 51 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 52 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 53 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 54 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 55 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 56 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 57 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 58 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 59 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 60 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 61 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 62 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 63 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 64 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 65 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 66 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 67 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 68 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 69 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 70 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 71 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 72 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 73 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 74 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 75 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 76 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 77 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 78 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 79 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 80 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 81 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 82 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 83 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 84 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 85 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 86 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 87 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 88 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 89 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 90 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 91 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 92 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 93 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 94 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 95 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 96 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 97 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 98 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 99 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 100 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 101 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns
    - MCDIndex: 102 # index value of SEABED.MCD
      fuel: 255 # Tile will burn for 255 turns


I've attached the broken MCD Patch mod to this post for convenience:
Test-MCD-Patch V0-1.zip
« Last Edit: March 26, 2022, 04:59:35 am by The Martian »

Offline kevL

  • Colonel
  • ****
  • Posts: 466
  • pitchforks and torches
    • View Profile
Re: TFTD fire and the ocean floor. (Fire stops burning after 1 turn)
« Reply #4 on: March 26, 2022, 05:30:31 am »
i can't find an MCD file called "seabed" ... I see SAND.MCD

(and i don't believe there should be a colon after "  - type: BARN"

eg.
Code: [Select]
MCDPatches:
  - type: SAND
    data:
    - MCDIndex: 13    # record 13 in SAND.MCD
      fuel: 255       # will burn for 255 turns (id 57)
      flammability: 0 # highly likely to ignite (id 45)
#etc

or backup your MCD file(s) and use either MCDEdit or McdView to edit the values directly.

Offline Nord

  • Commander
  • *****
  • Posts: 1625
  • The Gate is open.
    • View Profile
Re: TFTD fire and the ocean floor. (Fire stops burning after 1 turn)
« Reply #5 on: March 26, 2022, 06:58:18 am »
I recommend to use "MCDedit" from this topic, not an MCD patches. No need to write any terrain.rul, if your new mcd file is named as original, just put it in your mod in folder "terrain".

Offline The Reaver of Darkness

  • Commander
  • *****
  • Posts: 1510
    • View Profile
Re: TFTD fire and the ocean floor. (Fire stops burning after 1 turn)
« Reply #6 on: March 26, 2022, 06:17:18 pm »
mcdpatches works well once you have a good grasp of what you're doing. I recommend using MCDEdit first. Once you get used to it, you may not want to switch away, and you really don't need to. But I sometimes use mcdpatches to make quick changes, and I didn't start doing that until I was quite the veteran of MCDEdit.

Offline The Martian

  • Commander
  • *****
  • Posts: 754
  • "It implores you to listen to its arguments..."
    • View Profile
Re: TFTD fire and the ocean floor. (Fire stops burning after 1 turn)
« Reply #7 on: May 02, 2022, 05:11:23 am »
Thank you.

I'm looking into getting MCDEdit & McdView running via Wine.