Talk:Domestic animal
What food tames animals?
The article claims hostile animals are not "hungry", and therefore accept only treats DOGFOOD (and not "acceptable food" ACCFOOD). However, I routinely tame cats and dogs with food rations. Somehow, Source:Dog.c#line781 seems to evaluate EDOG(mtmp)->hungrytime as zero for non-tame monsters. Why? --Tjr
- Looks like that branch is only taken if the monster is tame to begin with (line 776). The relevant check for taming new pets seems to be on line 808 (don't tame if
dogfood(mtmp, obj) >= MANFOOD
, or equivalently tame if code>dogfood(mtmp, obj) <= ACCFOOD). --Ilmari Karonen 18:08, 6 January 2011 (UTC)
Food quality and curse message
I think cursed royal jelly, cream pies, and other cursed non-vegan people food is good enough food to suppress the "reluctantly" message from a dog (Source:Dogmove.c#line377), but not good enough for it to eat it (Source:Dogmove.c#line297, Source:Dogmove.c#line675). Can anybody confirm this? --Tjr 23:20, 10 January 2011 (UTC)
Two different definitions of domestic, and they are different
Article says that domestic animals are (a) those that can be tamed or pacified with food, or (b) those with M2_DOMESTIC flag.
These are two different sets of animals. Monkeys and apes are in (a) but are not in (b).
I'm going to go with (b), and edit the article accordingly. In particular, befriend_with_obj is for (a), and the is_domestic macro is for (b). Other places in the code call is_domestic. For example, function initedog sets initial tameness to 10 for is_domestic monsters, and 5 for non is_domestic monsters.