Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Atomic Chicken

Pages: 1 2 3 [4] 5 6 ... 35
46
Utilities and 3rd Party Applications / Re: DFHack 0.47.04-r1
« on: June 24, 2020, 03:30:43 pm »
Here’s an overview of the way the DF map is organised, as copied from my notes. Note that these names aren't official and others might refer to them differently, but I believe I had based them on various references in the structures at the time. ("region tile" might be particularly confusing as it isn't directly related to actual regions).

At the lowest level we have local tiles; 1 local tile is the space the cursor takes up during regular fortress/adventure mode play. Coordinates of units, items, projectiles, etc are written in the local tile scale, where (x = 0, y = 0, z = 0) is the tile at the upper left corner of the lowest z-level on the currently loaded map.

Local tiles on each z-level are grouped into blocks, where
1 block = 16*16*1 local tiles
Blocks are visible during zoomed-in fast travel in adventure mode. Army coordinates use this scale.

Columns of blocks are grouped into region tiles as such:
1 region tile
  = 3*3 block columns
  = 48*48 local tile columns
Region tiles are visible when resizing your fort before embarking, or during zoomed-out fast travel in adventure mode.

Finally comes the world tile:
1 world tile
  = 16*16 region tiles
  = 48*48 block columns
  = 768*768 local tile columns
These are the largest map tiles, visible on the world map before embarking, when checking the dwarf mode civilization screen map and when checking the adventure mode quest log.

47
Forum Games and Roleplaying / Re: Arms Race: War of the Rune
« on: June 13, 2020, 02:06:44 pm »
Quote from: Hint Token
Loji
Yes: TricMagic, AC
No:

Iqua
Yes: Rockeater, NUKE9.13
No: Twinwolf

48
Forum Games and Roleplaying / Re: Rune Race: Loji Thread
« on: June 12, 2020, 04:35:38 pm »
Quote
Doomscale Armour

Improvements to our present equipment are desperately needed, for our everyday soldier cannot be allowed to be overcome by the enemy's potions and fearmongering. Therefore, as an improvement to Improved Scale Armour, we will work magic into our soldiers' armour.

Blue Jade Dust is burnt into existence over the course of a Doom chant, imparting a Planning nature onto the substance. This is subsequently added to the batches of Windforged Steel destined to become armour pieces. To keep costs down, each set should contain a quantity of BJD equivalent to that produced by a Weak rite imbued with a Weak chant, with the dust spread across the various components (intending to fix the cost at 2 Mana). Wearers are expected to display a slight but noticeable increase in speed, discipline and cooperation.

The armour is also improved yet again in defensive capabilities, with the addition of a padded scale aventail that covers the top of the shoulders, the lower face, and the neck, protecting the wearer from strikes that make it past their shield, or making it safer to forgo the shield and use a two-handed weapon with less fear of lucky arrow strikes.

I wrote this before noticing that Tric had already posted their version. In any case, I think it would be good to specify the Mana limit as our allowance for this revision is quite restricted, considering that the unenchanted scale mail already has an Ore deficit and need it to remain cheap.

Quote from: Votes
Swift Scale Armor: (1)
Bluescale Armor: (1) Madman
Targe of the Bloodthirsty: (3) Madman, AC, TricMagic
Paradox Shields: ()
Sky Cart: ()
Refining Sleeping Fire Poison: ()
Swift Unity Scaled Armor: (1) TricMagic
Doomscale Armour: (1) AC

49
Forum Games and Roleplaying / Re: Rune Race: Loji Thread
« on: June 12, 2020, 10:09:16 am »
Quote
Swift Scale Armor: (1)
Bluescale Armor: (2) Madman, AC
Targe of the Bloodthirsty: (3) Madman, AC, TricMagic
Paradox Shields: (1)
Sky Cart: (1) TricMagic

Decided to transfer my vote in consideration of the points raised on Discord.

50
Forum Games and Roleplaying / Re: Rune Race: Loji Thread
« on: June 11, 2020, 09:36:37 am »
Quote
Sky Cart

With Iqua on our tail and the Xi Shan gouging the land, further bedazzling of our trusty vehicles is clearly justified in the interest of maintaining our lead in strategic mobility.

Take a Sail Cart, remove the wheels and steering mechanism, and apply a thick coat of paint mixed with Flight-imbued BJD so as to release it from the grip of the earth (which is to say, to make it levitate). The lack of friction and flimsy wooden wheels should permit faster and more Chanting-efficient travel with a disregard for trenches and rough terrain.


Here's a possible flying cart revision; a little bare-bones, but it gets the idea across. The extra magic is likely to increase their cost, but having a couple around should be useful nevertheless.

Quote
Swift Scale Armor: (1) TricMagic
Bluescale Armor: (1) Madman
Targe of the Bloodthirsty: (2) Madman, AC
Paradox Shields: (1) TricMagic
Sky Cart: (1) AC

51
DF Gameplay Questions / Re: using DFhack for unit id and ????
« on: June 08, 2020, 04:28:26 am »
Since these questions are specific to DFHack, I'd recommend asking them in the DFHack thread or elsewhere in the Utilities subforum next time. They're more likely to be missed here.

1) Assuming you want the unit ID of a creature currently on the map, select the creature and open its status screen or description, then enter the following in the DFHack console:
Code: [Select]
gui/gm-editorThen search the list for the "id" field.

2) Select the corpse, view its description and enter the following in the console:
Code: [Select]
full-heal -rThis should resurrect and fully heal the creature whilst removing its corpse. The documentation for this script is found here.

54
Quote
Heliel
To Trade City (1): C2M
To Xa-Nam (2): Powder Miner, AC

Silver Markswoman
To Darrin (3): C2M, Powder Miner, AC

55
Quote from: Votebox
The Order of the Healing Hand (2) : 10ebbor10, C2M
Limulidae (1) : 10ebbor10
Song of Storms (1): C2M
Refrain of Recuperation (1): m1895
Fortification Golems (0):
Institute of Intrigue (4): Twinwolf, Powder Miner, Failbird, AC
Bright Forge (Polearms) (0):
Bright Forge (Shields) (4): Failbird, Powder Miner, Twinwolf, AC

56
Quote from: Feature creep
Intrigue
Use GATE/HAUNTER to perform recon on the hidden facility draining ICE in MAGMA: (4) NUKE9.13, Madman, Andrea, AC
Cybernization Experiment: (1) TricMagic
No Intrigue:

Moon Nonsense
Lunar Mereth: (1) TricMagic
Moon International Research/International Science Shuttle: (5) NUKE9.13, Madman, TricMagic, Andrea, AC
No Moon Nonsense:

ANGEL Nonsense
Board it:
Crush it:
No ANGEL nonsense: (1) AC

57
Utilities and 3rd Party Applications / Re: DFHack 0.47.04-r1
« on: May 05, 2020, 08:28:46 am »
How make adding syndrome of regeneration and body parts regrowing for blizzard men from any contact with water? Water is hardcoded, so standard way of adding syndromes is not our way. Adding new material will not work too, I need regeneration from rain, rivers and snow.

This was fairly straightforward, so I went ahead and wrote a script for adding syndromes to inbuilt materials:

Code: [Select]
-- Add a syndrome to an inbuilt material.
-- Author: Atomic Chicken

local utils = require 'utils'

local validArgs = utils.invert({
  'material',
  'syndrome',
})

local args = utils.processArgs({...}, validArgs)

if not args.material then
  qerror('Material not specified!')
end
if not args.syndrome then
  qerror('Syndrome not specified!')
end

addedSynMats = addedSynMats or {}

local matInfo = dfhack.matinfo.find(args.material)
if not matInfo then
  qerror('Material not found: ' .. args.material)
end
if matInfo.mode ~= 'builtin' then
  qerror('This script should only be used with inbuilt materials.')
end
local material = matInfo.material

local foundSyn = false
for _, syndrome in ipairs(df.global.world.raws.syndromes.all) do
  if syndrome.syn_name == args.syndrome then
    material.syndrome:insert('#', syndrome)
    if syndrome.flags.SYN_INJECTED then
      material.flags.ENTER_BLOOD = true -- reverses on reload
    end
    if not addedSynMats[args.material] then
      addedSynMats[args.material] = true
    end
    foundSyn = true
    break
  end
end

if not foundSyn then
  qerror('Syndrome not found: ' .. args.syndrome)
end

-- Clear added syndromes when unloading; prevents crashes when reloading
dfhack.onStateChange.InbuiltMatSynMonitor = function(event)
  if event == SC_WORLD_UNLOADED then
    for k,_ in pairs(addedSynMats) do
      local material = dfhack.matinfo.find(k).material
      material.syndrome:resize(0)
      addedSynMats[k] = nil
    end
  end
end

It worked as expected when I tested it (which is to say that I managed to transform my adventurer into a cat by jumping into a river), but I can't guarantee that it won't cause problems, so use with caution. I might add a -help printout and make it possible to specify multiple syndromes simultaneously at a later stage if no problems crop up.

To use, paste the code into a text editor and save it as a .lua file (such as inbuilt-material-syndrome.lua) in \hack\scripts. You can then run it either manually from the console after loading the a save, or place the command in onLoad.init in \raw to have it run automatically when a world is loaded (create this file if it doesn't exist already). Call as follows:
Code: [Select]
inbuilt-material-syndrome -material WATER -syndrome YOUR_SYN_NAME
Other inbuilt materials, such as "VOMIT", may also be specified. The syndrome needs to have been defined elsewhere.

58
DF Dwarf Mode Discussion / Re: modtools/create-unit changes.
« on: May 03, 2020, 02:32:03 pm »
The documentation does quite pointedly include square brackets in its description of the location option (-location [ x y z ]). Is this unclear? Authors sometimes document things in a manner that seems obvious to them without considering how users unfamiliar with system might interpret it, so improvement suggestions are appreciated.

In general, if you see square brackets in the documentation, they should be included where indicated, making sure to leave a space between them and the contained text. In the case of -location, many modtools scripts allow you to specify -location [ \\LOCATION ] in the -command option to pass relevant coordinates to another script, such as modtools/create-unit. For example, modtools/reaction-trigger allows one to do this if they want to create a creature at the location of the workshop following a specific reaction. It would probably be beneficial to document some examples of this.

59
Do cage traps work differently when placed with Advfort? I've tried to capture a dragon with a cage trap by setting one up in his lair and luring him into it, but the trap didn't work. Later tried the same with a random mountain goat and got the same result. I'm using the 0.47.04 version of DFHack.

Cage traps are disabled in adventure mode; \data\init\d_init.txt contains a note by Toady regarding this matter. This was presumably done as getting the player character caught in a cage trap used to give rise to buggy behaviour in earlier versions; escaping cages or otherwise acting from within them hasn't been implemented yet.

60
It'd be possible to check the subtype info of valid item types for a non-clothing armorlevel, but there's a very convenient vmethod that does all the work for us. The following one-liner should serve as a general weapon/armour check (including shields):

Code: [Select]
if item._type == df.item_weaponst or item:isArmorNotClothing() then

Pages: 1 2 3 [4] 5 6 ... 35