DFHack / dfhack

Memory hacking library for Dwarf Fortress and a set of tools that use it
Other
1.86k stars 466 forks source link

Anti-Cheat Enforcer #842

Open expwnent opened 8 years ago

expwnent commented 8 years ago

Configurably prevent users from using things like danger rooms, cage traps, walling themselves in, selling prepared food and other over-valued products, etc.

warmist commented 8 years ago

Anti-quantum stockpile: few items make a ramp, more items make a wall. Use "Item stuck in wall" to place them. Would also have nice effect of : "these walls are from bones of our enemies" :D

maxthyme commented 8 years ago

I'm torn.

QSP is a fantastic way to save fps with the whole "only the top item is updated" thing... but the pile of bones forming a wall built with defeated foes is... awesome.

expwnent commented 8 years ago

My idea was going to be to automatically "expand" quantum piles when possible. Making a wall sounds like it would be outside the scope of this idea but it would be neat for a different one.

expwnent commented 8 years ago

only the top item is updated

Really? I didn't know that.

warmist commented 8 years ago

@expwnent if you just expand if possible it's not that much of a "anti-cheat enforcer" now is it?

warmist commented 8 years ago

@maxthyme it would even be better: no item is updated :) When you need the items you break the wall down and it forms a ramp and a mess of items around. Break the ramp to fully reclaim items.

expwnent commented 8 years ago

@warmist It would still prevent 1-tile food stockpiles from containing everything.

expwnent commented 8 years ago

Impulse ramps

warmist commented 8 years ago

Dare i say it? Dwarven water reactors! Now that we have a replacement steam engines it's possible.

2016-03-12 21:50 GMT+02:00 expwnent notifications@github.com:

Impulse ramps

— Reply to this email directly or view it on GitHub https://github.com/DFHack/dfhack/issues/842#issuecomment-195797477.

expwnent commented 8 years ago

That would be cool.

expwnent commented 8 years ago

Prevent over 100% efficient melting

maxthyme commented 8 years ago

I can't remember all of the threads and whatnot but with a QSP your dorfs are pathing to 1 tile from x tiles and then back to the same tile, instead of pathing from x tiles to y tiles, where y is changing as items are added/taken away, making pathing calculations vastly more expensive.

There was something about the temperature/wear/something else being checked for the top item in a stack of the same items, various other tests which are of various levels of usefulness for the current version sadly.

The more I think about it the more I like the idea of piling objects into rough [ITEM] walls though.