Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Spawning a demon binding slab  (Read 1798 times)

UristVanHelsing

  • Bay Watcher
    • View Profile
Spawning a demon binding slab
« on: January 12, 2021, 12:02:21 am »

I am a DF adventure mode veteran, and I recently took my current adventurer to conquer a vault. When I got to the end of the vault, there was no slab. I am aware that this is a known bug, but I know a little bit about DFhack modding and using gui/em-editor, so I thought I would write a script to fix it. So, I looked up the artifact ID using legends and used gm-editor to get the item_slabst reference from there. After that, I wrote this little script to spawn in the slab:
Code: [Select]
local slab = df.item_slabst.find(4)

local pos = copyall(df.global.cursor)
dfhack.items.moveToGround(slab,{x=pos.x,y=pos.y,z=pos.z})

It doesn't produce any error, but the slab doesn't spawn. What's the issue here?

Thanks
Logged
You could always spread it around and paint the floor of your house with the blood of your enemies.
You could very well go for a Christmas themed house, all green and red from blood and vomit. Deck the halls with spilled intestines. Fa la la la la, la la la la!

Rumrusher

  • Bay Watcher
  • current project : searching...
    • View Profile
Re: Spawning a demon binding slab
« Reply #1 on: January 12, 2021, 10:58:16 pm »

I am a DF adventure mode veteran, and I recently took my current adventurer to conquer a vault. When I got to the end of the vault, there was no slab. I am aware that this is a known bug, but I know a little bit about DFhack modding and using gui/em-editor, so I thought I would write a script to fix it. So, I looked up the artifact ID using legends and used gm-editor to get the item_slabst reference from there. After that, I wrote this little script to spawn in the slab:
Code: [Select]
local slab = df.item_slabst.find(4)

local pos = copyall(df.global.cursor)
dfhack.items.moveToGround(slab,{x=pos.x,y=pos.y,z=pos.z})

It doesn't produce any error, but the slab doesn't spawn. What's the issue here?

Thanks
so do you want a script that gives you the bind and banish dialog commands since uhh I learn the slab that binds demons just unlocks those dialog options. which means Dfhacking those options to exist lets you bind and banish anyone you're talking to?
Logged
I thought I would I had never hear my daughter's escapades from some boy...
DAMN YOU RUMRUSHER!!!!!!!!
"body swapping and YOU!"
Adventure in baby making!Adv Homes

UristVanHelsing

  • Bay Watcher
    • View Profile
Re: Spawning a demon binding slab
« Reply #2 on: January 13, 2021, 08:29:19 am »

so do you want a script that gives you the bind and banish dialog commands since uhh I learn the slab that binds demons just unlocks those dialog options. which means Dfhacking those options to exist lets you bind and banish anyone you're talking to?

Not really, I'm kind of looking to collect the slabs as well
Logged
You could always spread it around and paint the floor of your house with the blood of your enemies.
You could very well go for a Christmas themed house, all green and red from blood and vomit. Deck the halls with spilled intestines. Fa la la la la, la la la la!

Rumrusher

  • Bay Watcher
  • current project : searching...
    • View Profile
Re: Spawning a demon binding slab
« Reply #3 on: January 13, 2021, 01:05:13 pm »

so the lack of slab being a bug is from artifact mechanics causing the slab to get lost due to being on the floor, so usually to avoid this I pretty much avoid going to vaults unless I want the slab and if I do I have to go there on the first run else the slab will probably scatter on the surface area of the site.

like looking at your script I never dabble in dfhack.items section so who I don't know if MoveToGround is a fitting command for spawning an item.
like dfhack could give you the reward for reading the slab thus doing away with it, or create a blank slab that you could gm-editor it to match the secret you want to read, or finding the slab on site and have the game or dfhack console point you to the location and or just moving the item into your inventory.

creating a blank slab using gui/create-item could work if you dip into the stat screen of your adventurer first then run that script.
then probably have some to edit the topics of the blank slab to be identical to the topic of the demon slab.

Code: [Select]
for k,v in pairs(df.global.world.items.all) do
local advpos= df.global.world.units.active[0]
if v==df.item_slabst.find(4) then
print (k,v.pos.x,v.pos.y,v.pos.z)
print ('adv',advpos.pos.x,advpos.pos.y,advpos.pos.z)
end
end


so adapting the script you wrote to be more a locator so you could explore the world and grab artifacts by guessing where they are from the numbers in the command console.
since there might be a case of the item not loading on to the site vs just lost somewhere on the site.

Logged
I thought I would I had never hear my daughter's escapades from some boy...
DAMN YOU RUMRUSHER!!!!!!!!
"body swapping and YOU!"
Adventure in baby making!Adv Homes

UristVanHelsing

  • Bay Watcher
    • View Profile
Re: Spawning a demon binding slab
« Reply #4 on: January 13, 2021, 01:53:48 pm »

Thanks, but I did try that, and I am aware of item scatter. I checked the coords with gm-editor when I first noticed the slab was missing, and they're all -30000
Logged
You could always spread it around and paint the floor of your house with the blood of your enemies.
You could very well go for a Christmas themed house, all green and red from blood and vomit. Deck the halls with spilled intestines. Fa la la la la, la la la la!

UristVanHelsing

  • Bay Watcher
    • View Profile
Re: Spawning a demon binding slab
« Reply #5 on: January 14, 2021, 09:04:44 am »

Interesting note: I think the vault mis-generated. Usually, there is a raised pyramid thing for the slab in the middle of the last room, which is a semi-circle. This vault didn't have one. To make sure, I went and knocked off two other vaults and both had raised pyramid thingies for the slab
Logged
You could always spread it around and paint the floor of your house with the blood of your enemies.
You could very well go for a Christmas themed house, all green and red from blood and vomit. Deck the halls with spilled intestines. Fa la la la la, la la la la!

Ziusudra

  • Bay Watcher
    • View Profile
Re: Spawning a demon binding slab
« Reply #6 on: January 14, 2021, 02:01:18 pm »

Known bug. (I would be willing to bet that some of those are the artifact scattering that Rumrusher describes.)

However, sometimes it's a case of the vault generating such that the bottom is inaccessible. You can try using DFHack's reveal to see if there is more to the vault that just doesn't connect. (You could then use flashstep to get in there as a work around for the bug.)

It may also be possible that how one arrives at a site can change how it generates.
Logged
Ironblood didn't use an axe because he needed it. He used it to be kind. And right now he wasn't being kind.

UristVanHelsing

  • Bay Watcher
    • View Profile
Re: Spawning a demon binding slab
« Reply #7 on: January 14, 2021, 03:44:58 pm »

I know that it is a known bug. I used dfhack to teleport further into the mis-generated vault and did get to the final *real* room. This isn't my first time in a vault :P
Logged
You could always spread it around and paint the floor of your house with the blood of your enemies.
You could very well go for a Christmas themed house, all green and red from blood and vomit. Deck the halls with spilled intestines. Fa la la la la, la la la la!

Rumrusher

  • Bay Watcher
  • current project : searching...
    • View Profile
Re: Spawning a demon binding slab
« Reply #8 on: January 15, 2021, 08:14:26 am »

usually I don't explore vaults as it locks me out on a fun thing to unlock down the line when I discover one and weighing the use of a slab for a demon that could have died years ago vs unlocking the means to play as angels protecting it I often go for the latter than the former. 
Logged
I thought I would I had never hear my daughter's escapades from some boy...
DAMN YOU RUMRUSHER!!!!!!!!
"body swapping and YOU!"
Adventure in baby making!Adv Homes

Iä! RIAKTOR!

  • Bay Watcher
    • View Profile
Re: Spawning a demon binding slab
« Reply #9 on: January 23, 2021, 04:21:19 pm »

so the lack of slab being a bug is from artifact mechanics causing the slab to get lost due to being on the floor, so usually to avoid this I pretty much avoid going to vaults unless I want the slab and if I do I have to go there on the first run else the slab will probably scatter on the surface area of the site.

like looking at your script I never dabble in dfhack.items section so who I don't know if MoveToGround is a fitting command for spawning an item.
like dfhack could give you the reward for reading the slab thus doing away with it, or create a blank slab that you could gm-editor it to match the secret you want to read, or finding the slab on site and have the game or dfhack console point you to the location and or just moving the item into your inventory.

creating a blank slab using gui/create-item could work if you dip into the stat screen of your adventurer first then run that script.
then probably have some to edit the topics of the blank slab to be identical to the topic of the demon slab.

Code: [Select]
for k,v in pairs(df.global.world.items.all) do
local advpos= df.global.world.units.active[0]
if v==df.item_slabst.find(4) then
print (k,v.pos.x,v.pos.y,v.pos.z)
print ('adv',advpos.pos.x,advpos.pos.y,advpos.pos.z)
end
end


so adapting the script you wrote to be more a locator so you could explore the world and grab artifacts by guessing where they are from the numbers in the command console.
since there might be a case of the item not loading on to the site vs just lost somewhere on the site.
How to teleport artifacts in fortmode without raids?
Logged