Alcoholic

From IvanWiki
Revision as of 01:28, 23 July 2015 by 4zb4 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Coding: This article contains code which is for experienced users only, and may reveal game secrets


IsAlcoholic as defined in char.dat states whether a character will ignore a food's consumeWisdomLimit so long as that food is a beverage.
This causes alcoholic NPCs to consume potentially dangerous liquids (i.e. ones with negative effects) such as Vodka if they come across them, whereas sufficiently smart monsters would normally ignore them.

Alcoholic characters include:

truth material::CanBeEatenByAI(ccharacter* Eater) const
{
  return ((Eater->GetAttribute(WISDOM) < GetConsumeWisdomLimit()
	   || (Eater->IsAlcoholic() && (GetCategoryFlags() & IS_BEVERAGE)))
	  && !GetSpoilLevel() && !Eater->CheckCannibalism(this));
}

Entertainingly, guards are able to sniff out alcohol on your person. If you try to chat with one, he will ask "Do you have something for me?" and prompt you to hand over a bottle of alcoholic liquid on your person.
If you comply he will promptly drink it and become confused.