37 enum TimelineEventType {
39 kDMEventTypeCreateReactionDangerOnSquare = -3,
41 kDMEventTypeCreateReactionHitByProjectile = -2,
43 kDMEventTypeCreateReactionPartyIsAdjacent = -1,
45 kDMEventTypeDoorAnimation = 1,
46 kDMEventTypeDoorDestruction = 2,
47 kDMEventTypeCorridor = 5,
49 kDMEventTypeFakeWall = 7,
50 kDMEventTypeTeleporter = 8,
52 kDMEventTypeDoor = 10,
53 kDMEventTypeEnableChampionAction = 11,
54 kDMEventTypeHideDamageReceived = 12,
55 kDMEventTypeViAltarRebirth = 13,
56 kDMEventTypePlaySound = 20,
57 kDMEventTypeCPSE = 22,
58 kDMEventTypeRemoveFluxcage = 24,
59 kDMEventTypeExplosion = 25,
60 kDMEventTypeGroupReactionDangerOnSquare = 29,
61 kDMEventTypeGroupReacionHitByProjectile = 30,
62 kDMEventTypeGroupReactionPartyIsAdjecent = 31,
63 kDMEventTypeUpdateAspectGroup = 32,
65 kDMEventTypeUpdateAspectCreature0 = 33,
66 kDMEventTypeUpdateAspectCreature1 = 34,
67 kDMEventTypeUpdateAspectCreature2 = 35,
68 kDMEventTypeUpdateAspectCreature3 = 36,
69 kDMEventTypeUpdateBehaviourGroup = 37,
70 kDMEventTypeUpdateBehavior0 = 38,
71 kDMEventTypeUpdateBehavior1 = 39,
72 kDMEventTypeUpdateBehavior2 = 40,
73 kDMEventTypeUpdateBehavior3 = 41,
75 kDMEventTypeMoveProjectileIgnoreImpacts = 48,
77 kDMEventTypeMoveProjectile = 49,
78 kDMEventTypeWatchdoge = 53,
79 kDMEventTypeMoveGroupSilent = 60,
80 kDMEventTypeMoveGroupAudible = 61,
81 kDMEventTypeEnableGroupGenerator = 65,
82 kDMEventTypeLight = 70,
83 kDMEventTypeInvisibility = 71,
84 kDMEventTypeChampionShield = 72,
85 kDMEventTypeThievesEye = 73,
86 kDMEventTypePartyShield = 74,
87 kDMEventTypePoisonChampion = 75,
88 kDMEventTypeSpellShield = 77,
89 kDMEventTypeFireShield = 78,
90 kDMEventTypeFootprints = 79,
91 kDMEventTypeMagicMap0 = 80,
92 kDMEventTypeMagicMap1 = 81,
93 kDMEventTypeMagicMap2 = 82,
94 kDMEventTypeMagicMap3 = 83
97 #define kDMMaskGeneratedCreatureCount 0x0007 // @ MASK0x0007_GENERATED_CREATURE_COUNT 98 #define kDMMaskRandomizeGeneratedCreatureCount 0x0008 // @ MASK0x0008_RANDOMIZE_GENERATED_CREATURE_COUNT 103 TimelineEventType _type;
106 uint16 getTypePriority() {
return (_type << 8) + _priority; }
122 int16 getMapXY() {
return (_Bu._location._mapX << 8) + _Bu._location._mapY; }
133 uint16 getMapX() {
return _backing & 0x1F; }
134 uint16 getMapY() {
return (_backing >> 5) & 0x1F; }
135 Direction getDir() {
return (Direction)((_backing >> 10) & 0x3); }
136 uint16 getStepEnergy() {
return (_backing >> 12) & 0xF; }
137 void setMapX(uint16 val) { _backing = (_backing & ~0x1F) | (val & 0x1F); }
138 void setMapY(uint16 val) { _backing = (_backing & ~(0x1F << 5)) | ((val & 0x1F) << 5); }
139 void setDir(Direction val) { _backing = (_backing & ~(0x3 << 10)) | ((val & 0x3) << 10); }
140 void setStepEnergy(uint16 val) { _backing = (_backing & ~(0xF << 12)) | ((val & 0xF) << 12); }
154 uint16 _eventMaxCount;
158 uint16 _firstUnusedEventIndex;
163 void deleteEvent(uint16 eventIndex);
164 void fixChronology(uint16 timelineIndex);
166 uint16 getIndex(uint16 eventIndex);
168 void processTimeline();
169 bool isFirstEventExpiered();
176 void moveTeleporterOrPitSquareThings(uint16 mapX, uint16 mapY);
183 void processEventEnableChampionAction(uint16 champIndex);
184 void processEventMoveWeaponFromQuiverToSlot(uint16 champIndex, uint16 slotIndex);
185 bool hasWeaponMovedSlot(int16 champIndex,
Champion *champ,
186 uint16 sourceSlotIndex, int16 destSlotIndex);
187 void processEventHideDamageReceived(uint16 champIndex);
189 void refreshAllChampionStatusBoxes();
196 signed char _actionDefense[44];
198 void initConstants();
Definition: savefile.h:54
Definition: timeline.h:100
Definition: champion.h:35
Definition: timeline.h:124
Definition: timeline.h:108
Definition: dungeonman.h:377
Definition: champion.h:398
Definition: timeline.h:151