Lapdog/housecat

I was looking carefully at the tool_armor.json, and it occurs to me that we could get a quick and dirty method for domestic pets. I’ll use the lapdog as an example, but obviously this method could be used for other pets, too:

Craft a “lapdog wanted” item using a collar and a chew toy, taking about an hour to represent the difficulty of luring a formerly domestic pet into the survivor’s care. Load it with chunks of meat (food), and then transform it into an actual lapdog by activating it. That item would then be a warm, extremely encumbering piece of clothing to wear on your legs (and snuggle while sleeping :3 ) that needs to be fed regularly. When the lapdog runs through its meat, it runs away leaving behind the chew toy. (I’d have it leave behind the collar, but this doesn’t really make sense.)

A few questions, though.

  1. Can tool_armor have the NO_UNLOAD flag?
  2. Similarly, can tool_armour have the non_interactive_msg, like the lightstrip (active)? I’d probably opt for, “You pet your lapdog.”
  3. Does the coverage of a piece of clothing affect its ability to keep a survivor warm while sleeping?

I’m sorry, but every time I read this suggestion all I can think of is this:

That said you could probably do something like this, but it’s not exactly an implementation that I’d push for being merged into the mainline. :stuck_out_tongue:

Not really in for this, but to answer your questions:

1. Can tool_armor have the NO_UNLOAD flag?

Some parts of the code see it as tool, some as armor. Everything that can be defined for a tool can be defined for tool_armor.

→ Yes, that flag should work.

You will have another problem: tools (and guns) can only be loaded with ammo, meat chunks are not ammo. Ammo is a separate item type (see data/json/items/ammo.json), so meat chunks can not be used to load a tool.

2. Similarly, can tool_armour have the non_interactive_msg, like the lightstrip (active)? I'd probably opt for, "You pet your lapdog."

The use functions are independent of the item type. All item types can have any use function.

→ Yes, but note that the parameter non_interactive_msg is specific to the use_action type. Only the use_action type “auto_transform” currently has this parameter.

3. Does the coverage of a piece of clothing affect its ability to keep a survivor warm while sleeping?

Code indicates that coverage only affect how much damage is absorbed. Warmth from clothing does not use it.