Hello, i wish to, as the title suggests, shake up and insert a new TOOL folder for the raws, in order to give modders more power.
Just to clarify, these are
MOCK UP's of coding i've prepared as to give a insight to what it might look like, and potentially save time (and therefore effort) in writing them up from scratch for toady if he ever takes a fancy to them. Please do not attempt to insert them into your game, with all likelyhood they will either do nothing, or break the game into crashes.
ITEM_CAGEThis code beneath is the core basis of my suggestion into turning cages into actual 'items' rather than their own class which they are at the moment that can't be distinguished within raws specifically and are hardcoded into the game.
There are three core sizes of cage (small/medium/large) and additionally the two types of glass cage are typically split up into clear cut divisions (cages and aquariums), for my code (with relevant notes attached with a *asterisk* to the right hand side) in the contained spoiler below i have included the smallest class of cage. These are a basis for what cages would become, as per being identifiable in raws.
item_cage
[OBJECT:ITEM]
[ITEM_CAGE:ITEM_CAGE_SMALL]
[METAL_MAT]
[WOOD_MAT]
[GLASS_MAT]
[CAGE] (*Identifies that it can hold units within it)
[SECURE_PETS] (*A routine in that if required, animals can be pre-loaded or offloaded into cages to be transferred and used in workshops optionally a go to for putting a animal inside and taking it out)
[SECURE_BEASTS] (*Used for 'handling dangerous creatures' routine primarily, extends itself to hostile sentients but this can be revised for specific holding conditions)
[MINIMUM_SIZE_INDEX:0] (*Minimum and maximum holding sizes for animals, 0 is the smallest but cannot be substituted with 'NONE' for that would be null and therefore infinite)
[MAXIMUM_SIZE_INDEX:30000] (*This is about the size of a dog and half the size of a dwarf, a dwarf would be a cramped fit, assume cutting them up first)
[CONTAINER_CAPACITY:60000] (*Placeholder capacity until we can really establish how much room a creature in a cage would take and then multiply that by how many other creatures are in the cage with it*)
[SIZE:30000] (*Placeholder? Height but not essentially width or inside design accounted for, a dog will hit its head of the ceiling but have room to strech its legs by this logic)
[ITEM_CAGE:ITEM_CAGE_AQUARIUM_SMALL]
[GLASS_MAT]
[SECURE_PETS]
[SECURE_BEASTS]
[CAGE]
[AQUATIC_PREFERENCE] (*cage recognises aquatic creature tags such as [UNDERSWIM & AQUATIC] and takes care to execute the ferrying around & release of animals so they do not breach when there is no water, aquatic animals would arrive to the butcher or destination in a cage etc)
[MUST_CONTAIN_CONTENTS:10_LIQUID_WATER] (*Placeholder impromptu, dwarves will run to fill it up, notice how the liquid contents can be substituted)
[MINIMUM_SIZE_INDEX:0]
[MAXIMUM_SIZE_INDEX:30000]
[CONTAINER_CAPACITY:60000]
[SIZE:30000]
That is a shorthand explanation of how my suggestion could sit comfortably within the game raws and establish more realistic holding limits.
Additional TOOL_CAGE entries - EntrapmentBesides holding creatures, within the TOOL_CAGE raw interface it also opens the possibility for more to occur. One such scenario is entrapping your opponent in a cage and locking them inside. Then going on to apply that remotely within a trap, for ease of use in catching particularly difficult beasts, such as flying units.
[ITEM_CAGE:NET] (*can be weaponised into a weapon suitable for hunting/warfare with further modifications*)
[THREAD_PLANT_MAT] (*could probably be extended out to metal for a high strength chain net but this functions for now*)
[CAGE]
[SECURE_BEASTS] (*To transfer 'beasts' from the net to a pasture/pit/new cage*)
[CAPTURE_BEASTS] (*Different kind, it reads the 'capture' tag and seeks to prompt a dwarf to put the creature it is set upon inside the cage, has its own jobs etc)
[CAPTURE]
[SKILL:THROW/TRAPPER] (*Not specified but no doubt some throwing experience will be gained by doing this action a lot, trapper could be the parent job and throwing part of the interaction routine*)
[ENTANGLEMENT] (*Creatures will be weighted down, get wound up in and immobilised by the net, as a substitute for silk web and the dwarf post-throwing can put the creature in the cage/remove armour to stab/shoot etc, size and strength matter to whether the creature will break free, much like GCS web, spider people can throw webs to the same effect in adventure mode studies show*)
[MINIMUM_SIZE_INDEX:0]
[MAXIMUM_SIZE_INDEX:NONE] (*Infinite, dwarves can have a go at trapping a infinitely large creature but its not going to work)
[CONTAINER_CAPACITY:INFINITE] (*Until some kind of upper limit is established, items cannot be put into nets but can be taken out*)
[SIZE:1000] (*the net itself doesnt need to be big at this stage*)
[TRAP:SNARE] A shoddy one use/resetable trap that relies on activating a entagling net upon units who pass one z-level over or ontop of the tile it is placed on, using the capture routines remotely and puts the creature inside the net (usually a dwarf's job) when it recognizes it is sufficiently entangled. Could be billed as a cheap alternative or replacement for the already quite powerful cage trap.
Alternative contributions from ITEM_CAGESome other things are within our reach with these 'animal container' tool items, and how they interact with other tools.
[ITEM_CAGE:BIRD_CAGE] (*Malleable to whatever you want it to be functionally, this is just showing off something you could do for a personal collection of a dwarf's adopted vermin pets without having them on their shoulder and being munched*)
[CAGE]
[VERMIN_PREFERENCE] (*cage recognises vermin and flying preferences, therefore whitelisting them, though its a bird cage, you could suitably fit flying squirrels or gnats inside of it due to space & vermin control*)
[FLYING_PREFERENCE]
[SECURE_PETS]
[PET_TOLERANCE] (*This allows for normally restricted pets to be stashed inside*)
[MINIMUM_SIZE_INDEX:0]
[MAXIMUM_SIZE_INDEX:3000]
[CONTAINER_CAPACITY:6000]
[SIZE:3000]
[ITEM_CAGE:(Chicken)COOP]
[HARD_MAT]
[CAGE]
[USE_NEST_BOX] (*Accessible for the creatures inside the cage to also lay eggs, although the eggs generated contribute to the quantity so it evens it out, dwarves will remove the eggs unless it is forbidden and the eggs do not require being sat over because they are secure, a hybrid item tool reaction*)
[MAXIMUM_SIZE_INDEX:30000]
[CONTAINER_CAPACITY:60000]
[SIZE:30000]
The chicken coop suggestion particularly requires some expansion. The actual coop itself internally would fill up with eggs, which when they hatch will simply add to the amount of chickens in the coop, a overflow of conflicting chickens and eggs & the growing hatchlings will push the smallest creatures out of the cage in a attempt to balance it out unless eggs are capped on high numbers. Therefore it can house lots of small poultry FPS free & still function as long as it is regularly cleared out for fertile eggs from female chickens on the inside.
Replacing the coop with crocodiles (without first modding in a larger heavy duty alternative or using a nest-box) will spit out large quantities of baby crocs growing up for instance. However with smaller vermin like cave swallows, it may contain many many swallows at once and still have room for eggs.
ITEM_CAGE:TRACTION ANIMAL RESTRAINTS & DISSECTION TABLE - Non-specific cages for animal holding and stablisation
> [VETINARY_DIAGNOSTIC_ASSESSMENT] - Surgeons attend to injured pet animals brought here by animal caretakers, treating them as if it was a bed, traction bench work can be done here also or on the bench, animals that are not in these will not recieve treatment, how it relates to a cage is that its a intermediary holding place that is installed. This notion could alternatively be extended out to the regular cages in leaving them in hospital areas.
> [STUDY_ANATOMY] - A illegal foundation of medical research at the time 14/15th century, studying citizen corpses could be taboo but interesting facts and research could be created from dissecting creatures supernatural and mundane, raises natural sciences, surgeon and diagnostian skills simultaneously and can be conducted on living vermin subjects and regular dead bodies, bodies are safely miasma free on tables and placing them in the zone of library study zones would be optimal
Thanks for taking the time to read through. Helpful suggestions and feedback would be appreciated to improving my own suggestion and keeping up good discussion.
Additional readingNets and Animal Trapping author - falcc - February 02, 2015 - Notes - Quite similar to mine, however mine is more expanded as to its function, drawing upon mechanics already of immobilisation in webs in contrast to their suggestion of 'knocking them out', catching beasts in nets is a rather universal concept suggestion wise it seems.
Snares author - GreatWyrmGold - June 30, 2012 - Notes - a more somewhat realistic take on a snare as to being a lethal weapon, maybe i need to revise the name of my own trap.