Draft:Feeding and gifts

From Omega Wiki
Revision as of 14:13, 12 September 2026 by OmegaAdmin (talk | contribs) (整理投喂赠礼与盗窃机制,修正宝石交付并连接相关草稿)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Omega 0.90.4

Feeding and gifts can satisfy a creature's hunger or demand for valuables, often ending ordinary hostility without combat. What matters is the recipient's current need and the particular offering: having a gift taken does not necessarily mean that the creature is satisfied. Special abilities can remain dangerous after a successful bribe.[1]

Giving

Use Give toward an adjacent creature, then choose cash or an item. An item gift transfers exactly one unit from the selected stack. Any cursed item is refused, even if it is not equipped. Noncursed equipment can be given; losing the last unit also removes its equipment effect. Cancelling the direction, item selection or cash prompt makes no gift.[2]

Cash is deducted before the recipient responds. You cannot offer more cash than you have, but zero Au is accepted by the input; pressing Enter without digits also produces zero. A gift rejected by the creature is not automatically restored to your inventory: it is left on the ground at the creature's position.[3]

Throwing provides another delivery route. A thrown object with a zero damage rating is caught as a gift if it reaches a creature with a positive random-treasure allowance. Already carrying a fixed item does not qualify the recipient. The same acceptance rules then apply. Cash cannot be thrown, and an unused cursed object can be thrown even though Give would reject it. This does not make every projectile a gift: damaging objects follow the attack branch. An ordinary horse does not catch thrown gifts, so feed it with Give; the LawBringer likewise ignores a thrown Gem.[4]

Acceptance and value

The following responses are checked in order. A creature which is both greedy and hungry evaluates the offering as treasure first, even if the offering is food.[5]

Recipient condition Required offering Result
LawBringer receiving the Star Gem The Gem itself Consumed for the special quest reward; ordinary need and value checks are bypassed
Greedy True value at least 100 times the creature's current level Keeps the gift and adds 1 alignment toward Law; a sufficient gift clears hostility, greed and need
Needy True value at least the square of the current local map's depth Keeps the gift and adds 1 alignment; a sufficient gift clears hostility, greed and need
Hungry, with neither greed nor need Suitable food Eats it and clears hunger; safe food also clears hostility, while poison food makes the creature hostile again
No applicable need, or unsuitable food for a hungry creature None Leaves the offering on the ground

For a greedy or needy recipient, each gift is evaluated separately. Earlier gifts do not contribute to the next threshold. An inadequate gift is still kept and still adds one alignment point, but does not clear those needs or hostility. If both greed and need are present, both value thresholds must be met. Satisfying either or both does not clear hunger.[5]

True item value

Gift value is independent of identification and shop prices. Start with the item's base value, then apply these adjustments in order. Each integer division discards its fractional part.[6]

Item or modifier Calculation
A miscellaneous thing Use base value directly; skip the remaining adjustments
A wand or rod Add current value times remaining charges divided by 20
Nonnegative enchantment P Add current value times P divided by 4
Negative enchantment P Divide current value by the absolute value of P
Positive blessing Double the result once, regardless of blessing strength

Stack size does not multiply this value, and negative blessing does not directly reduce it. Ordinary Give still rejects cursed items. For example, a non-thing item with base value 80, no charge adjustment and +1 enchantment is worth 100; blessing it raises that value to 200. Cash has value equal to the amount offered.[7]

Thus an ordinary level-1 goblin accepts 100 Au, a level-2 sneak-thief 200 Au, and a level-6 master thief 600 Au. These are single-gift thresholds, not installment plans. A mendicant priest instead needs value 9 at depth 3 or 100 at depth 10; at depth zero a zero-Au gift satisfies its need.[8]

Food

A hungry horse accepts grain only. Other hungry creatures accept ordinary food or poison food; an edible item with another special eating effect is not automatically suitable. The generic feeding response consumes the offered unit, clears hunger and, for safe food, clears hostility. It does not heal the recipient or grant a general pet or follower status.[9]

Poison food first clears hunger, then makes the recipient hostile and attempts 100 poison damage. It also moves the player's alignment two points toward Chaos. Poison immunity prevents the HP damage but does not undo the renewed hostility or restore the consumed food. Greedy or needy creatures take food as treasure before this feeding branch, so merely handing a poisoned ration to a greedy opponent does not poison it.[10]

Special recipients

Feeding and payment often enable a later interaction, rather than completing it immediately.

Recipient After the gift
Horse Talk to the peaceful, fed horse and accept the ride; riding has further location and existing-mount restrictions
Mendicant priest A later nearby special action grants further alignment and conditional healing, then removes the priest; prior melee aggression can instead trigger its curse
Sneak-thief or master thief A sufficient bribe ends ordinary hostility but leaves theft active; guild recognition is a different conversation which makes the thief vanish with its possessions
LawBringer The Gem grants its specific reward and records delivery; returning to the Order for promotion is separate, and this gift does not itself clear the LawBringer's hostility

These results come from the recipient's own response, not a universal reward for generosity.[11]

Surrender is a separate, costly interaction. Its general acceptance branch takes all cash, chooses a valuable carried object for delivery, reduces experience and strengthens the recipient. It need not end an evil creature's attacks. Do not infer its costs or outcome from the ordinary Give command.[12]

Strategy

Choose the offering for the actual need. A single adequate payment avoids losing several insufficient gifts; grain solves a horse's hunger where ordinary rations do not. After satisfying greed, any hunger still present requires a separate feeding response. An accepted safe meal buys an end to ordinary hostility, not immunity from every special ability.

A gift kept as treasure remains among the creature's possessions and can later be recovered by pickpocketing or an ordinary drop or death. Consumed food and the delivered Gem are no longer loot. An unwanted offering left on the floor is recoverable if you can reach or retrieve it, but a departing mendicant or a thief dismissed through guild recognition does not provide an ordinary death drop.[13]

References

  1. inv.c in Omega 0.90.4, lines 377–460; mspec.c in Omega 0.90.4, lines 638–673.
  2. command2.c in Omega 0.90.4, lines 400–454; inv.c in Omega 0.90.4, lines 500–537; inv.c in Omega 0.90.4, lines 1584–1591.
  3. inv.c in Omega 0.90.4, lines 38–66; inv.c in Omega 0.90.4, lines 364–460; scr.c in Omega 0.90.4, lines 1256–1299.
  4. command3.c in Omega 0.90.4, lines 223–311; minit.h in Omega 0.90.4, line 95; minit.h in Omega 0.90.4, line 291.
  5. 5.0 5.1 inv.c in Omega 0.90.4, lines 377–460. Recipient priority, thresholds, alignment and disposal.
  6. aux2.c in Omega 0.90.4, lines 503–535.
  7. aux2.c in Omega 0.90.4, lines 522–535; iinit.h in Omega 0.90.4, line 436; inv.c in Omega 0.90.4, lines 38–49.
  8. minit.h in Omega 0.90.4, line 8; minit.h in Omega 0.90.4, line 37; minit.h in Omega 0.90.4, line 73; minit.h in Omega 0.90.4, line 205; inv.c in Omega 0.90.4, lines 410–429.
  9. inv.c in Omega 0.90.4, lines 427–460.
  10. inv.c in Omega 0.90.4, lines 410–460; mon.c in Omega 0.90.4, lines 112–131.
  11. mtalk.c in Omega 0.90.4, lines 576–600; mspec.c in Omega 0.90.4, lines 8–24; mspec.c in Omega 0.90.4, lines 638–673; mtalk.c in Omega 0.90.4, lines 238–253; inv.c in Omega 0.90.4, lines 381–404; guild2.c in Omega 0.90.4, lines 637–670.
  12. aux1.c in Omega 0.90.4, lines 796–871.
  13. mon.c in Omega 0.90.4, lines 87–109; mon.c in Omega 0.90.4, lines 134–203; command3.c in Omega 0.90.4, lines 774–827; mmove.c in Omega 0.90.4, lines 228–241.