3 * Iter Vehemens ad Necem (IVAN)
4 * Copyright (C) Timo Kiviluoto
5 * Released under the GNU General
8 * See LICENSING which should be included
9 * along with this file for more details
23 #define ENTITY_FLAGS 3
34 entity(const entity
&);
37 truth
Exists() const { return Flags
& EXISTS
; }
39 truth
IsEnabled() const { return Flags
& HAS_BE
; }
42 virtual square
* GetSquareUnderEntity(int = 0) const = 0;
43 virtual void SignalVolumeAndWeightChange() { }
44 col24
GetEmitation() const { return Emitation
; }
45 virtual void SignalEmitationIncrease(col24
) { }
46 virtual void SignalEmitationDecrease(col24
) { }
47 virtual truth
ContentsCanBeSeenBy(ccharacter
*) const { return false; }
48 virtual truth
AllowSpoil() const { return false; }
49 virtual void SignalSpoil(material
*) { }
50 virtual void SignalSpoilLevelChange(material
*) { }
51 virtual truth
IsOnGround() const = 0;
52 virtual truth
AllowContentEmitation() const { return true; }
53 virtual void SignalRustLevelChange() { }
54 virtual material
* RemoveMaterial(material
*) { return 0; }
55 virtual character
* TryNecromancy(character
*) { return 0; }
56 virtual void SignalDisappearance() { }
57 virtual void SpecialEatEffect(character
*, int) { }
58 virtual feuLong
GetTrapID() const { return 0; }
59 virtual feuLong
GetVictimID() const { return 0; }
60 virtual void AddTrapName(festring
&, int) const { }
61 virtual void UnStick() { }
62 virtual void UnStick(int) { }
63 virtual truth
TryToUnStick(character
*, v2
);
64 virtual int GetTrapType() const { return 0; }
65 void AddFlags(feuLong What
) { Flags
|= What
; }
66 void RemoveFlags(feuLong What
) { Flags
&= ~What
; }
67 virtual truth
IsStuckTo(ccharacter
*) const { return false; }
68 virtual ccharacter
* FindCarrier() const { return 0; }