Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Modifying room price bands  (Read 945 times)

drayath

  • Bay Watcher
    • View Profile
Modifying room price bands
« on: July 20, 2010, 10:19:01 am »

It there any way to mod the require worth of the rooms (e.g. Meager Quarters, Modest Quarters, Decent Quarters, Fine Quarters, Great Bedroom, Grand Bedroom, Royal* Bedroom)

Most of my dwarfs are in 1x4 engraved rooms with rock cabinet & bed yet are counted as in fine quarters or above.

Wanted to know if there is any way to change the worth bands of the room categories, if you could push up royal rooms to 100k worth instead of 10k would mean you either need a good artifact or some work to make higher quality rooms.

Also prevents the 8x8 earthen dining room with rock chairs and tables being legendary.

Logged
Drayath's Gem Splitting Workshop - Split large gems and gem trinkets into numbers of small gems.
Drayath's Seed Brewery - Convert bags of spare seeds into useful booze.

Deon

  • Bay Watcher
  • 💀 💀 💀 💀 💀
    • View Profile
Re: Modifying room price bands
« Reply #1 on: July 20, 2010, 11:01:44 am »

The only idea I have is to lower values of all materials to make smoothing walls and building furniture to have lower impact. Otherwise the values are hardcoded, so you shouldn't search for a way to up the limit but rather to lower the composing value.
Logged
▬(ஜ۩۞۩ஜ)▬
✫ DF Wanderer ✫ - the adventure mode crafting and tweaks
✫ Cartographer's Lounge ✫ - a custom worldgen repository

0x517A5D

  • Bay Watcher
  • Hex Editor‬‬
    • View Profile
Re: Modifying room price bands
« Reply #2 on: July 20, 2010, 02:30:24 pm »

There is a chance that you can find it with a hex editor viewer.

For instance, assuming the change points are 50, 100, 200, 400, you would convert each of these to hexadecimal: 32, 64, C8, 190

Then you would search for a sequence such as this:
00000032 00000064 000000C8 00000190

Or this one, because the comparisons may actually be done with 49, 99, 199, 399:
00000031 00000063 000000C7 0000018F

There may also be other data intermixed with the sequence, as in an array of pairs of numbers and pointers to the quality rating text:
00000032 ???????? 00000064  ???????? 000000C8  ???????? 00000190

I consider this to be a long shot; it is more likely that the comparisons are done in a sequence of if-then-else statements that would take a true disassembler/debugger to track down.
Logged