module Base
{
	/* MUST be drainable, not normal. MethBaggie declares
	   RequireInHandOrInventory = Base.MethPipe, and vanilla ISEatFoodAction
	   line 59 does this to whatever the required item is:

	       lighter:setUsedDelta(lighter:getCurrentUsesFloat() - lighter:getUseDelta())

	   That path was written for cigarettes needing a Lighter, so it assumes a
	   drainable. As base:normal the pipe was a plain ComboItem with none of
	   those methods, and smoking threw straight into the Lua debugger.
	   UseDelta 0.00001 is the vanilla idiom for "never practically depletes"
	   (four vanilla drainables use it); KeepOnDeplete matches Lighter. */
	item MethPipe
	{
		DisplayCategory = Junk,
		ItemType = base:drainable,
		Weight = 0.1,
		WeightEmpty = 0.1,
		UseDelta = 0.00001,
		KeepOnDeplete = true,
		Icon = MethPipe,
		WorldStaticModel = MethPipe,
		Tooltip = Tooltip_MethPipe,
		Tags = base:ignorezombiedensity,
	}

	item MethBaggie
	{
		DisplayCategory = Junk,
		ItemType = base:food,
		Weight = 0.05,
		Icon = MethBaggie,
		WorldStaticModel = MethBaggie,
		CantBeFrozen = true,
		CustomContextMenu = Smoke,
		EatType = Cigarettes,
		OnEat = KNXDrugs.consumeMeth,
		RequireInHandOrInventory = Base.MethPipe,
		/* HungerChange 0.0 matches vanilla CigaretteSingle, the item this one is modelled on.
		   It was -20 (vanilla Bacon is -12.0), which made a baggie the best meal in the loot
		   table on top of the appetite suppression. Suppression is what the store page promises
		   and KNXDrugs.capStat(HUNGER, HIGH_HUNGER_FLOOR) already delivers for the whole high;
		   the food value on top of it was redundant and inverted the scarcity pressure. */
		HungerChange = 0.0,
		ThirstChange = 25,
		Eattime = 350,
		Tags = base:ignorezombiedensity;base:smokable,
	}
}
