5 MATERIAL(liquid
, material
)
8 virtual cchar
* GetConsumeVerb() const;
9 virtual truth
IsLiquid() const { return true; }
10 void TouchEffect(item
*, cfestring
&);
11 void TouchEffect(character
*, int);
12 void TouchEffect(lterrain
*);
13 liquid
* SpawnMoreLiquid(sLong Volume
) const { return static_cast<liquid
*>(SpawnMore(Volume
)); }
21 cchar
* liquid::GetConsumeVerb() const { return "drinking"; }
25 void liquid::TouchEffect(item
* Item
, cfestring
& LocationName
)
28 Item
->TryToRust(GetRustModifier() * GetVolume());
31 Item
->ReceiveAcid(this, LocationName
, Volume
* GetAcidicity());
33 character
* Char
= Item
->GetBodyPartMaster();
36 Effect(Char
, Item
->GetBodyPartIndex(), Volume
>> 6);
41 void liquid::TouchEffect(lterrain
* Terrain
)
44 Terrain
->TryToRust(GetRustModifier() * GetVolume());
47 Terrain
->ReceiveAcid(this, Volume
* GetAcidicity());
52 void liquid::TouchEffect(character
* Char
, int BodyPartIndex
)
55 Char
->GetBodyPart(BodyPartIndex
)->TryToRust(GetRustModifier() * GetVolume());
57 if(Char
->IsEnabled() && GetAcidicity())
58 Char
->GetBodyPart(BodyPartIndex
)->ReceiveAcid(this, CONST_S(""), Volume
* GetAcidicity() >> 1);
61 Effect(Char
, BodyPartIndex
, Volume
>> 9);