Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 3 [4] 5 6 ... 61

Author Topic: [SUGGESTIONS] for DFhack plugins  (Read 136193 times)

WillowLuman

  • Bay Watcher
  • They/Them Life is weird
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #45 on: January 18, 2013, 12:45:57 am »

Messages for loading / random other screens, selected randomly from a txt file.

Not that many loading screens right now, so maybe whenever someone goes to unit screen, etc, the tip shows? Would be useful for mods.
Logged
Dwarf Souls: Prepare to Mine
Keep Me Safe - A Girl and Her Computer (Illustrated Game)
Darkest Garden - Illustrated game. - What mysteries lie in the abandoned dark?

Itnetlolor

  • Bay Watcher
    • View Profile
    • Steam ID
Re: [SUGGESTIONS] for DFhack plugins
« Reply #46 on: January 18, 2013, 05:00:03 pm »

I think I mentioned it elsewhere, but a workshop material re-claimer/de-forbid/de-dumper.

When doing a mass-dumping or mass-forbid of materials, workshops and other structures made of said material are reclaimed, as to not affect dwarven behaviors. Especially craftdwarves, masons, and carpenters.

What initially happens is that workshops tend to be rendered essentially forbidden when mass-dumping materials (especially from the stocks screen but also when covering a large swath of area in said commands/designations), and are highlighted as forbidden or dump-in-progress; thereby preventing dwarves to make use of them; a rather odd bug. My suggestion is somewhere in the DFHack suggestion board somewhere that talks about it more in-depth.

Considering the Minecart Quantum Stockpiler, this is rendered a thing of the past, but still lingers anyway for those unaware of MC-QSing, and still doing things Quantum-wise the classic way.

EDIT:
Another one I cooked up in another thread. Burrow specialization/exclusiveness. A plugin that automatically produces a primary burrow for all dwarves (which also takes over the entire map on all Z-levels on all tiles), and then erases portions that are claimed as "exclusive" (by highlighting a burrow in the list, and using a function in DFHack to tag a burrow as "exclusive" (all burrows are "shared" by default (can co-exist in the same areas)).

Simply put:
-Initialization assigns every dwarf to a Primary burrow that covers the entire map, top to bottom, all tiles on every Z-level. (Initialization can be it's own separate function to re-do that step, if you want to "clean slate" the burrow assignments)
-IF any other burrows exist that are tagged as "Exclusive" exist, subtract the claimed areas by the burrow from Primary (or universal, or whatever label you want it to have). So now that area(s) is now completely separated from the rest of the fort, and can be assigned to nobles, or as an evacuation zone or something.
-ADDITIONAL FUNCTIONS: Assign burrow for only (under/above)ground. Does a similar function to Init's, but excludes anything tagged with (Above/Under)ground. Great for separating classes of residents between serfs that mine the underground, and the elites living in aboveground condos and palaces.
-ADDITIONAL FUNCTION: Auto-assign residents of burrow by: (age, gender, profession, Wave-# (with Most Recent, and Initial Wave (starting 7) being special functions) etc.). Really useful if you have an immigration center made, or want to give your original 7 special treatment, and you want all new migrants to be moved in there, or you want burrows to be more automated, and not have to keep tabs on them all the time.
-ONE MORE FUNCTION: Panic Mode. Temporarily assign all non-military dwarves to a burrow; an undo function will revert burrow assignments back to previous setup.

That's all I can come up with. But this is according to my rather limited experience/knowledge of burrows and how to use them. Feel free to improve on my idea if you know better. At least, the burrow functions that already exist, and whatnot could be refined a bit more. The assignment by certain factors and whatnot can help. Especially if you want to sort your fort by gender/age/profession and etc. and the exclusive-tagged burrow could be useful for making noble-exclusive, or high-security sectors. The UG/AG burrow assignments could also make some roleplaying elements work out better, like with the scenario I illustrated for it before.

Auto-immigration assignment would work very well as well to keep them out of everyone else's business when they first enter. Especially useful for sorting them out and working on them; especially if you're not using DwarfTherapist to do the job.
« Last Edit: January 25, 2013, 04:38:31 pm by Itnetlolor »
Logged

Maklak

  • Bay Watcher
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #47 on: January 26, 2013, 05:33:52 am »

A plugin that lists thoughts and how many dwarves have them. For example if I have "Complained about the lack of well x5", I know what the population wants from me. The most currently efficient method is to sort dwarves by ascending happiness and check the least happy citizens in-game.
Logged
Quote from: Omnicega
Since you seem to criticize most things harsher than concentrated acid, I'll take that as a compliment.
On mining Organics
Military guide for FoE mod.
Research: Crossbow with axe and shield.
Dropbox referral

Sutremaine

  • Bay Watcher
  • [ETHIC:ATROCITY: PERSONAL_MATTER]
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #48 on: January 28, 2013, 11:07:33 pm »

Suggestion: a command that claims all flasks in the fortress and which is eight letters or fewer so that I can bind it to one of the in-game hotkeys.
Logged
I am trying to make chickens lay bees as eggs. So far it only produces a single "Tame Small Creature" when a hen lays bees.
Honestly at the time, I didn't see what could go wrong with crowding 80 military Dwarves into a small room with a necromancer for the purpose of making bacon.

WillowLuman

  • Bay Watcher
  • They/Them Life is weird
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #49 on: January 28, 2013, 11:36:05 pm »

A plugin that lists thoughts and how many dwarves have them. For example if I have "Complained about the lack of well x5", I know what the population wants from me. The most currently efficient method is to sort dwarves by ascending happiness and check the least happy citizens in-game.
Seconded, that would be amazing
Logged
Dwarf Souls: Prepare to Mine
Keep Me Safe - A Girl and Her Computer (Illustrated Game)
Darkest Garden - Illustrated game. - What mysteries lie in the abandoned dark?

Warmist

  • Bay Watcher
  • Master of unfinished jobs
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #50 on: January 29, 2013, 04:22:56 am »

Something preliminary:
here put it into scripts folder as e.g. thoughts.lua and type "thoughts" in dfhack.
Gui and sorting to be done later. Also there is severity (don't know if needed to be factored in) and this gives one thought type per dwarf (dwarf could have more than one thoughts of same type).

Thanks to Japa for testing.

WillowLuman

  • Bay Watcher
  • They/Them Life is weird
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #51 on: January 29, 2013, 01:20:39 pm »

SWEET
Logged
Dwarf Souls: Prepare to Mine
Keep Me Safe - A Girl and Her Computer (Illustrated Game)
Darkest Garden - Illustrated game. - What mysteries lie in the abandoned dark?

zach123b

  • Bay Watcher
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #52 on: January 29, 2013, 01:38:31 pm »

how about forcing megabeasts to arrive? or caravans... or sieges
sacrifice a dwarf and force a megabeast to descend upon your fortress
have a shop that "steals from a civ" and force a siege

how about making peace or war with other civs through reactions?
Logged
"IT'S WORLDGEN TIME!"
"No, Meph, No!"

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #53 on: January 29, 2013, 06:40:23 pm »

how about forcing megabeasts to arrive? or caravans... or sieges
sacrifice a dwarf and force a megabeast to descend upon your fortress
have a shop that "steals from a civ" and force a siege

how about making peace or war with other civs through reactions?

Megabeast forcing can be done with this script:

Code: [Select]
--the code itself was made by Quietust
--AFAIK, this should work, hehe.
--Syntax may just be shit :V
--Testing shows that you have to have the prerequisites for the megabeast attack. Sorry.

function force_megabeast()
df.global.timed_events:insert('#', { new = df.timed_event, type = df.timed_event_type.Megabeast, season = df.global.cur_season, season_ticks = df.global.cur_season_tick } )
end
force_megabeast()

zach123b

  • Bay Watcher
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #54 on: January 29, 2013, 07:06:50 pm »

that's awesome, any way to force a certain kind?

could you make the wilderness spawn stuff? i remember starting a new fortress and there being 3-5 or so groups on the surface but after a couple seasons there would be only 1 or 2 (damn thieving creatures..)
maybe certain kinds such as forcing sharks or lions to enter the area :o   then we might be able to use puppies/kittens as shark/lion bate >:D

another suggestion: how about super traps or something cooler sounding that'll spring on trapavoid creatures? like a trap with a web on it does

now to learn how to use dfhack..
Logged
"IT'S WORLDGEN TIME!"
"No, Meph, No!"

Warmist

  • Bay Watcher
  • Master of unfinished jobs
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #55 on: January 30, 2013, 01:27:36 am »

how about forcing megabeasts to arrive? or caravans... or sieges
sacrifice a dwarf and force a megabeast to descend upon your fortress
have a shop that "steals from a civ" and force a siege

how about making peace or war with other civs through reactions?

Megabeast forcing can be done with this script:

Code: [Select]
--the code itself was made by Quietust
--AFAIK, this should work, hehe.
--Syntax may just be shit :V
--Testing shows that you have to have the prerequisites for the megabeast attack. Sorry.

function force_megabeast()
df.global.timed_events:insert('#', { new = df.timed_event, type = df.timed_event_type.Megabeast, season = df.global.cur_season, season_ticks = df.global.cur_season_tick } )
end
force_megabeast()
Also allowed to have different type:
  • Caravan
  • Migrants
  • Diplomat
  • CivAttack
  • FeatureAttack - unused, does nothing
  • Megabeast
  • WildlifeCurious
  • WildlifeMischievous
  • WildlifeFlier
  • NightCreature
Might need to set up entity for those entries that need it (civ attack/caravan/diplomat etc...) or other fields that are unknown.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #56 on: January 30, 2013, 01:41:56 am »

Perfect, let's see if I/someone else (whoever gets to it first :P) can get a script set up for all that...

WillowLuman

  • Bay Watcher
  • They/Them Life is weird
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #57 on: January 30, 2013, 02:08:38 am »

So, theoretically, we could just spam "force migrants" until we hit the pop cap in under a week game time, and then groan as the game keeps sending more waves anyway.
Logged
Dwarf Souls: Prepare to Mine
Keep Me Safe - A Girl and Her Computer (Illustrated Game)
Darkest Garden - Illustrated game. - What mysteries lie in the abandoned dark?

TwilightWalker

  • Bay Watcher
  • Oops.
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #58 on: January 30, 2013, 05:06:52 am »

So, theoretically, we could just spam "force migrants" until we hit the pop cap in under a week game time, and then groan as the game keeps sending more waves anyway.

Quote
fix/*

Scripts in this subdirectory fix various bugs and issues, some of them obscure.

fix/dead-units

Removes uninteresting dead units from the unit list. Doesn't seem to give any noticeable performance gain, but migrants normally stop if the unit list grows to around 3000 units, and this script reduces it back.

fix/population-cap

Run this after every migrant wave to ensure your population cap is not exceeded. The issue with the cap is that it is compared to the population number reported by the last caravan, so once it drops below the cap, migrants continue to come until that number is updated again.


fix/stable-temp

Instantly sets the temperature of all free-lying items to be in equilibrium with the environment and stops temperature updates. In order to maintain this efficient state however, use tweak stable-temp and tweak fast-heat.

fix/item-occupancy

Diagnoses and fixes issues with nonexistant 'items occupying site', usually caused by autodump bugs or other hacking mishaps.
Logged

Triskelli

  • Bay Watcher
  • A man of wealth and taste
    • View Profile
Re: [SUGGESTIONS] for DFhack plugins
« Reply #59 on: January 30, 2013, 05:34:58 am »

I know the Steam Engine plugin already exists, but how much more difficult would it be to create a Water Reactor workshop with the same dimensions and requirements as the real thing?  Provides 170 power, needs to be "primed" with water, requires the pumping labor and all the same materials, but doesn't actually have moving water inside of it?  I know I'd definitely appreciate it, because it maintains the spirit of vanilla mega-constructions without the same FPS requirements.

(on that note, if anyone manages to crack workshops that require power, compact logic gates would be a natural first step)
Logged
Pages: 1 2 3 [4] 5 6 ... 61