31 #include "dm/champion.h" 32 #include "dm/dungeonman.h" 37 kDMDamageCantReach = -1,
38 kDMDamageNoAmmunition = -2
42 kDMSpellAreaAvailableSymbols = 2,
43 kDMSpellAreaChampionSymbols = 3
47 kDMActionMaskRequiresCharge = 0x0080,
48 kDMActionMaskHitNonMaterialCreatures = 0x8000
53 byte _minimumSkillLevel[3];
54 ChampionAction _actionIndices[3];
57 for (uint16 i = 0; i < 3; ++i) {
58 _minimumSkillLevel[i] = 0;
59 _actionIndices[i] = (ChampionAction)0;
66 byte _actionIndices[3];
67 byte _actionProperties[2];
68 ActionSet(byte a1, byte a2, byte a3, byte b1, byte b2) {
69 _actionIndices[0] = a1;
70 _actionIndices[1] = a2;
71 _actionIndices[2] = a3;
72 _actionProperties[0] = b1;
73 _actionProperties[1] = b2;
83 bool _refreshActionArea;
84 bool _actionAreaContainsIcons;
87 byte *_bitmapSpellAreaLine;
88 byte *_bitmapSpellAreaLines;
89 Thing _actionTargetGroupThing;
92 void clearActingChampion();
93 void drawActionIcon(ChampionIndex championIndex);
95 void drawMovementArrows();
96 void drawDisabledMenu();
97 void refreshActionAreaAndSetChampDirMaxDamageReceived();
98 void drawActionArea();
99 const char *getActionName(ChampionAction actionIndex);
100 void drawSpellAreaControls(ChampionIndex champIndex);
101 void buildSpellAreaLine(int16 spellAreaBitmapLine);
102 void setMagicCasterAndDrawSpellArea(ChampionIndex champIndex);
103 void drawEnabledMenus();
104 int16 getClickOnSpellCastResult();
105 int16 getChampionSpellCastResult(uint16 champIndex);
106 Spell *getSpellFromSymbols(byte *symbols);
107 void menusPrintSpellFailureMessage(
Champion *champ, uint16 failureType, uint16 skillIndex);
109 void createEvent70_light(int16 lightPower, int16 ticks);
110 bool isPartySpellOrFireShieldSuccessful(
Champion *champ,
bool spellShield, uint16 ticks,
bool useMana);
111 void drawAvailableSymbols(uint16 symbolStep);
112 void drawChampionSymbols(
Champion *champ);
113 void addChampionSymbol(int16 symbolIndex);
114 void deleteChampionSymbol();
115 bool didClickTriggerAction(int16 actionListIndex);
116 bool isActionPerformed(uint16 champIndex, int16 actionIndex);
117 void setChampionDirectionToPartyDirection(
Champion *champ);
118 void decrementCharges(
Champion *champ);
119 bool isMeleeActionPerformed(int16 champIndex,
Champion *champ, int16 actionIndex, int16 targetMapX,
120 int16 targetMapY, int16 skillIndex);
121 bool isGroupFrightenedByAction(int16 champIndex, uint16 actionIndex, int16 mapX, int16 mapY);
122 void printMessageAfterReplacements(
const char *str);
123 void processCommands116To119_setActingChampion(uint16 champIndex);
124 void setActionList(
ActionSet *actionSet);
125 int16 getActionObjectChargeCount();
126 void drawActionDamage(int16 damage);
128 Box _boxActionArea3ActionMenu;
129 Box _boxActionArea2ActionMenu;
130 Box _boxActionArea1ActionMenu;
133 unsigned char _actionSkillIndex[44];
134 unsigned char _actionDisabledTicks[44];
136 void initConstants();
Definition: champion.h:463
Definition: champion.h:35
Definition: dungeonman.h:477
Definition: champion.h:398