DM: Rename ChampionSlot enum

This commit is contained in:
Strangerke 2016-09-10 11:47:36 +02:00
parent 33287b7657
commit d588e15dad
8 changed files with 180 additions and 181 deletions

View File

@ -186,7 +186,7 @@ bool ChampionMan::isLeaderHandObjectThrown(int16 side) {
if (_leaderIndex == kDMChampionNone)
return false;
return isObjectThrown(_leaderIndex, kM1_ChampionSlotLeaderHand, side);
return isObjectThrown(_leaderIndex, kDMSlotLeaderHand, side);
}
bool ChampionMan::isObjectThrown(uint16 champIndex, int16 slotIndex, int16 side) {
@ -201,9 +201,9 @@ bool ChampionMan::isObjectThrown(uint16 champIndex, int16 slotIndex, int16 side)
curThing = getObjectRemovedFromLeaderHand();
curChampion = &_champions[champIndex];
actionHandThing = curChampion->getSlot(k1_ChampionSlotActionHand);
curChampion->setSlot(k1_ChampionSlotActionHand, curThing);
slotIndex = k1_ChampionSlotActionHand;
actionHandThing = curChampion->getSlot(kDMSlotActionHand);
curChampion->setSlot(kDMSlotActionHand, curThing);
slotIndex = kDMSlotActionHand;
throwingLeaderHandObjectFl = true;
}
@ -293,7 +293,7 @@ void ChampionMan::applyModifiersToStatistics(Champion *champ, int16 slotIndex, i
bool cursed = false;
if (((thingType == k5_WeaponThingType) || (thingType == k6_ArmourThingType))
&& (slotIndex >= k0_ChampionSlotReadyHand) && (slotIndex <= k12_ChampionSlotQuiverLine_1_1)) {
&& (slotIndex >= kDMSlotReadyHand) && (slotIndex <= kDMSlotQuiverLine1_1)) {
if (thingType == k5_WeaponThingType) {
Weapon *weapon = (Weapon *)_vm->_dungeonMan->getThingData(thing);
cursed = weapon->getCursed();
@ -312,10 +312,10 @@ void ChampionMan::applyModifiersToStatistics(Champion *champ, int16 slotIndex, i
if (!cursed) {
statIndex = (ChampionStatType)thingType; // variable sharing
if ((iconIndex == kDMIconIndiceJunkRabbitsFoot) && (slotIndex < k30_ChampionSlotChest_1)) {
if ((iconIndex == kDMIconIndiceJunkRabbitsFoot) && (slotIndex < kDMSlotChest1)) {
statIndex = kDMStatLuck;
modifier = 10;
} else if (slotIndex == k1_ChampionSlotActionHand) {
} else if (slotIndex == kDMSlotActionHand) {
if (iconIndex == kDMIconIndiceWeaponMaceOfOrder) {
statIndex = kDMStatStrength;
modifier = 5;
@ -366,12 +366,12 @@ void ChampionMan::applyModifiersToStatistics(Champion *champ, int16 slotIndex, i
}
}
}
} else if (slotIndex == k4_ChampionSlotLegs) {
} else if (slotIndex == kDMSlotLegs) {
if (iconIndex == kDMIconIndiceArmourPowertowers) {
statIndex = kDMStatStrength;
modifier = 10;
}
} else if (slotIndex == k2_ChampionSlotHead) {
} else if (slotIndex == kDMSlotHead) {
switch (iconIndex) {
case kDMIconIndiceArmourCrownOfNerra:
statIndex = kDMStatWisdom;
@ -384,7 +384,7 @@ void ChampionMan::applyModifiersToStatistics(Champion *champ, int16 slotIndex, i
default:
break;
}
} else if (slotIndex == k3_ChampionSlotTorso) {
} else if (slotIndex == kDMSlotTorso) {
switch (iconIndex) {
case kDMIconIndiceArmourFlamebain:
statIndex = kDMStatAntifire;
@ -397,7 +397,7 @@ void ChampionMan::applyModifiersToStatistics(Champion *champ, int16 slotIndex, i
default:
break;
}
} else if (slotIndex == k10_ChampionSlotNeck) {
} else if (slotIndex == kDMSlotNeck) {
switch (iconIndex) {
case kDMIconIndiceJunkJewelSymalUnequipped:
case kDMIconIndiceJunkJewelSymalEquipped:
@ -484,7 +484,7 @@ void ChampionMan::drawChangedObjectIcons() {
continue;
if (hasObjectIconInSlotBoxChanged(slotBoxIndex, _champions[champIndex].getSlot((ChampionSlot)getHandSlotIndex(slotBoxIndex)))
&& (getHandSlotIndex(slotBoxIndex) == k1_ChampionSlotActionHand)) {
&& (getHandSlotIndex(slotBoxIndex) == kDMSlotActionHand)) {
menuMan.drawActionIcon((ChampionIndex)champIndex);
}
@ -492,13 +492,13 @@ void ChampionMan::drawChangedObjectIcons() {
if (invChampOrdinal) {
Champion *champ = &_champions[_vm->ordinalToIndex(invChampOrdinal)];
Thing *thing = &champ->getSlot(k0_ChampionSlotReadyHand);
Thing *thing = &champ->getSlot(kDMSlotReadyHand);
uint16 drawViewport = 0;
for (uint16 slotIndex = k0_ChampionSlotReadyHand; slotIndex < k30_ChampionSlotChest_1; slotIndex++, thing++) {
for (uint16 slotIndex = kDMSlotReadyHand; slotIndex < kDMSlotChest1; slotIndex++, thing++) {
uint16 objIconChanged = hasObjectIconInSlotBoxChanged(slotIndex + k8_SlotBoxInventoryFirstSlot, *thing) ? 1 : 0;
drawViewport |= objIconChanged;
if (objIconChanged && (slotIndex == k1_ChampionSlotActionHand)) {
if (objIconChanged && (slotIndex == kDMSlotActionHand)) {
menuMan.drawActionIcon((ChampionIndex)_vm->ordinalToIndex(invChampOrdinal));
}
}
@ -531,8 +531,8 @@ void ChampionMan::addObjectInSlot(ChampionIndex champIndex, Thing thing, Champio
Champion *champ = &_champions[champIndex];
if (slotIndex >= k30_ChampionSlotChest_1) {
invMan._chestSlots[slotIndex - k30_ChampionSlotChest_1] = thing;
if (slotIndex >= kDMSlotChest1) {
invMan._chestSlots[slotIndex - kDMSlotChest1] = thing;
} else {
champ->setSlot(slotIndex, thing);
}
@ -544,8 +544,8 @@ void ChampionMan::addObjectInSlot(ChampionIndex champIndex, Thing thing, Champio
applyModifiersToStatistics(champ, slotIndex, iconIndex, 1, thing);
uint16 *rawObjPtr = dunMan.getThingData(thing);
if (slotIndex < k2_ChampionSlotHead) {
if (slotIndex == k1_ChampionSlotActionHand) {
if (slotIndex < kDMSlotHead) {
if (slotIndex == kDMSlotActionHand) {
champ->setAttributeFlag(kDMAttributeActionHand, true);
if (_actingChampionOrdinal == _vm->indexToOrdinal(champIndex))
menuMan.clearActingChampion();
@ -560,11 +560,11 @@ void ChampionMan::addObjectInSlot(ChampionIndex champIndex, Thing thing, Champio
((Weapon *)rawObjPtr)->setLit(true);
_vm->_inventoryMan->setDungeonViewPalette();
drawChangedObjectIcons();
} else if (isInventoryChampion && (slotIndex == k1_ChampionSlotActionHand) &&
} else if (isInventoryChampion && (slotIndex == kDMSlotActionHand) &&
((iconIndex == kDMIconIndiceContainerChestClosed) || ((iconIndex >= kDMIconIndiceScrollOpen) && (iconIndex <= kDMIconIndiceScrollClosed)))) {
champ->setAttributeFlag(kDMAttributePanel, true);
}
} else if (slotIndex == k10_ChampionSlotNeck) {
} else if (slotIndex == kDMSlotNeck) {
if ((iconIndex >= kDMIconIndiceJunkIllumuletUnequipped) && (iconIndex <= kDMIconIndiceJunkIllumuletEquipped)) {
((Junk *)rawObjPtr)->setChargeCount(1);
_party._magicalLightAmount += _lightPowerToLightAmount[2];
@ -654,7 +654,7 @@ uint16 ChampionMan::getStrength(int16 champIndex, int16 slotIndex) {
strength += skillLevel << 1;
}
strength = getStaminaAdjustedValue(curChampion, strength);
if (getFlag(curChampion->_wounds, (slotIndex == k0_ChampionSlotReadyHand) ? kDMWoundReadHand : kDMWoundActionHand)) {
if (getFlag(curChampion->_wounds, (slotIndex == kDMSlotReadyHand) ? kDMWoundReadHand : kDMWoundActionHand)) {
strength >>= 1;
}
return getBoundedValue(0, strength >> 1, 100);
@ -664,9 +664,9 @@ Thing ChampionMan::getObjectRemovedFromSlot(uint16 champIndex, uint16 slotIndex)
Champion *curChampion = &_champions[champIndex];
Thing curThing;
if (slotIndex >= k30_ChampionSlotChest_1) {
curThing = _vm->_inventoryMan->_chestSlots[slotIndex - k30_ChampionSlotChest_1];
_vm->_inventoryMan->_chestSlots[slotIndex - k30_ChampionSlotChest_1] = Thing::_none;
if (slotIndex >= kDMSlotChest1) {
curThing = _vm->_inventoryMan->_chestSlots[slotIndex - kDMSlotChest1];
_vm->_inventoryMan->_chestSlots[slotIndex - kDMSlotChest1] = Thing::_none;
} else {
curThing = curChampion->_slots[slotIndex];
curChampion->_slots[slotIndex] = Thing::_none;
@ -681,7 +681,7 @@ Thing ChampionMan::getObjectRemovedFromSlot(uint16 champIndex, uint16 slotIndex)
applyModifiersToStatistics(curChampion, slotIndex, curIconIndex, -1, curThing);
Weapon *curWeapon = (Weapon *)_vm->_dungeonMan->getThingData(curThing);
if (slotIndex == k10_ChampionSlotNeck) {
if (slotIndex == kDMSlotNeck) {
if ((curIconIndex >= kDMIconIndiceJunkIllumuletUnequipped) && (curIconIndex <= kDMIconIndiceJunkIllumuletEquipped)) {
((Junk *)curWeapon)->setChargeCount(0);
_party._magicalLightAmount -= _lightPowerToLightAmount[2];
@ -695,8 +695,8 @@ Thing ChampionMan::getObjectRemovedFromSlot(uint16 champIndex, uint16 slotIndex)
if (isInventoryChampion)
setFlag(curChampion->_attributes, kDMAttributeViewport);
if (slotIndex < k2_ChampionSlotHead) {
if (slotIndex == k1_ChampionSlotActionHand) {
if (slotIndex < kDMSlotHead) {
if (slotIndex == kDMSlotActionHand) {
setFlag(curChampion->_attributes, kDMAttributeActionHand);
if (_actingChampionOrdinal == _vm->indexToOrdinal(champIndex))
_vm->_menuMan->clearActingChampion();
@ -713,7 +713,7 @@ Thing ChampionMan::getObjectRemovedFromSlot(uint16 champIndex, uint16 slotIndex)
drawChangedObjectIcons();
}
if (isInventoryChampion && (slotIndex == k1_ChampionSlotActionHand)) {
if (isInventoryChampion && (slotIndex == kDMSlotActionHand)) {
switch (curIconIndex) {
case kDMIconIndiceContainerChestClosed:
_vm->_inventoryMan->closeChest();
@ -761,7 +761,7 @@ int16 ChampionMan::addPendingDamageAndWounds_getDamage(int16 champIndex, int16 a
if (attackType != k0_attackType_NORMAL) {
uint16 defense = 0;
uint16 woundCount = 0;
for (int16 woundIndex = k0_ChampionSlotReadyHand; woundIndex <= k5_ChampionSlotFeet; woundIndex++) {
for (int16 woundIndex = kDMSlotReadyHand; woundIndex <= kDMSlotFeet; woundIndex++) {
if (allowedWounds & (1 << woundIndex)) {
woundCount++;
defense += getWoundDefense(champIndex, woundIndex | ((attackType == k4_attackType_SHARP) ? k0x8000_maskUseSharpDefense : k0x0000_maskDoNotUseSharpDefense));
@ -848,7 +848,7 @@ int16 ChampionMan::getWoundDefense(int16 champIndex, uint16 woundIndex) {
clearFlag(woundIndex, k0x8000_maskUseSharpDefense);
uint16 armorShieldDefense = 0;
for (int16 slotIndex = k0_ChampionSlotReadyHand; slotIndex <= k1_ChampionSlotActionHand; slotIndex++) {
for (int16 slotIndex = kDMSlotReadyHand; slotIndex <= kDMSlotActionHand; slotIndex++) {
Thing curThing = curChampion->_slots[slotIndex];
if (curThing.getType() == k6_ArmourThingType) {
ArmourInfo *armorInfo = (ArmourInfo *)_vm->_dungeonMan->getThingData(curThing);
@ -863,7 +863,7 @@ int16 ChampionMan::getWoundDefense(int16 champIndex, uint16 woundIndex) {
woundDefense >>= 1;
woundDefense += curChampion->_actionDefense + curChampion->_shieldDefense + _party._shieldDefense + armorShieldDefense;
if (woundIndex > k1_ChampionSlotActionHand) {
if (woundIndex > kDMSlotActionHand) {
Thing curThing = curChampion->_slots[woundIndex];
if (curThing.getType() == k6_ArmourThingType) {
ArmourInfo *armourInfo = (ArmourInfo *)_vm->_dungeonMan->getThingData(curThing);
@ -1238,7 +1238,7 @@ int16 ChampionMan::getMovementTicks(Champion *champ) {
if (getFlag(champ->_wounds, kDMWoundFeet))
ticks += woundTicks;
if (_vm->_objectMan->getIconIndex(champ->_slots[k5_ChampionSlotFeet]) == kDMIconIndiceArmourBootOfSpeed)
if (_vm->_objectMan->getIconIndex(champ->_slots[kDMSlotFeet]) == kDMIconIndiceArmourBootOfSpeed)
ticks--;
return ticks;
@ -1310,8 +1310,8 @@ void ChampionMan::clickOnSlotBox(uint16 slotBoxIndex) {
Thing leaderHandObject = _leaderHandObject;
Thing slotThing;
if (slotIndex >= k30_ChampionSlotChest_1) {
slotThing = _vm->_inventoryMan->_chestSlots[slotIndex - k30_ChampionSlotChest_1];
if (slotIndex >= kDMSlotChest1) {
slotThing = _vm->_inventoryMan->_chestSlots[slotIndex - kDMSlotChest1];
} else {
slotThing = _champions[champIndex]._slots[slotIndex];
}
@ -1517,40 +1517,40 @@ void ChampionMan::championKill(uint16 champIndex) {
void ChampionMan::dropAllObjects(uint16 champIndex) {
static const int16 slotDropOrder[30] = {
k5_ChampionSlotFeet,
k4_ChampionSlotLegs,
k9_ChampionSlotQuiverLine_2_2,
k8_ChampionSlotQuiverLine_1_2,
k7_ChampionSlotQuiverLine_2_1,
k12_ChampionSlotQuiverLine_1_1,
k6_ChampionSlotPouch_2,
k11_ChampionSlotPouch_1,
k3_ChampionSlotTorso,
k13_ChampionSlotBackpackLine_1_1,
k14_ChampionSlotBackpackLine_2_2,
k15_ChampionSlotBackpackLine_2_3,
k16_ChampionSlotBackpackLine_2_4,
k17_ChampionSlotBackpackLine_2_5,
k18_ChampionSlotBackpackLine_2_6,
k19_ChampionSlotBackpackLine_2_7,
k20_ChampionSlotBackpackLine_2_8,
k21_ChampionSlotBackpackLine_2_9,
k22_ChampionSlotBackpackLine_1_2,
k23_ChampionSlotBackpackLine_1_3,
k24_ChampionSlotBackpackLine_1_4,
k25_ChampionSlotBackpackLine_1_5,
k26_ChampionSlotBackpackLine_1_6,
k27_ChampionSlotBackpackLine_1_7,
k28_ChampionSlotBackpackLine_1_8,
k29_ChampionSlotBackpackLine_1_9,
k10_ChampionSlotNeck,
k2_ChampionSlotHead,
k0_ChampionSlotReadyHand,
k1_ChampionSlotActionHand
kDMSlotFeet,
kDMSlotLegs,
kDMSlotQuiverLine2_2,
kDMSlotQuiverLine1_2,
kDMSlotQuiverLine2_1,
kDMSlotQuiverLine1_1,
kDMSlotPouch_2,
kDMSlotPouch1,
kDMSlotTorso,
kDMSlotBackpackLine1_1,
kDMSlotBackpackLine2_2,
kDMSlotBackpackLine2_3,
kDMSlotBackpackLine2_4,
kDMSlotBackpackLine2_5,
kDMSlotBackpackLine2_6,
kDMSlotBackpackLine2_7,
kDMSlotBackpackLine2_8,
kDMSlotBackpackLine2_9,
kDMSlotBackpackLine1_2,
kDMSlotBackpackLine1_3,
kDMSlotBackpackLine1_4,
kDMSlotBackpackLine1_5,
kDMSlotBackpackLine1_6,
kDMSlotBackpackLine1_7,
kDMSlotBackpackLine1_8,
kDMSlotBackpackLine1_9,
kDMSlotNeck,
kDMSlotHead,
kDMSlotReadyHand,
kDMSlotActionHand
};
uint16 curCell = _champions[champIndex]._cell;
for (uint16 slotIndex = k0_ChampionSlotReadyHand; slotIndex < k30_ChampionSlotChest_1; slotIndex++) {
for (uint16 slotIndex = kDMSlotReadyHand; slotIndex < kDMSlotChest1; slotIndex++) {
Thing curThing = getObjectRemovedFromSlot(champIndex, slotDropOrder[slotIndex]);
if (curThing != Thing::_none)
_vm->_moveSens->getMoveResult(thingWithNewCell(curThing, curCell), kM1_MapXNotOnASquare, 0, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY);
@ -1663,7 +1663,7 @@ void ChampionMan::applyTimeEffects() {
if (_partyIsSleeping)
healthGain <<= 1;
if (_vm->_objectMan->getIconIndex(championPtr->_slots[k10_ChampionSlotNeck]) == kDMIconIndiceJunkEkkhardCross)
if (_vm->_objectMan->getIconIndex(championPtr->_slots[kDMSlotNeck]) == kDMIconIndiceJunkEkkhardCross)
healthGain += (healthGain >> 1) + 1;
championPtr->_currHealth += MIN(healthGain, (int16)(championPtr->_maxHealth - championPtr->_currHealth));
@ -1889,7 +1889,7 @@ void ChampionMan::addCandidateChampionToParty(uint16 championPortraitIndex) {
championPtr->_directionMaximumDamageReceived = _vm->_dungeonMan->_partyDir;
championPtr->_food = 1500 + _vm->getRandomNumber(256);
championPtr->_water = 1500 + _vm->getRandomNumber(256);
for (int16 slotIdx = k0_ChampionSlotReadyHand; slotIdx < k30_ChampionSlotChest_1; slotIdx++)
for (int16 slotIdx = kDMSlotReadyHand; slotIdx < kDMSlotChest1; slotIdx++)
championPtr->_slots[slotIdx] = Thing::_none;
Thing curThing = _vm->_dungeonMan->getSquareFirstThing(_vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY);
@ -1963,16 +1963,16 @@ void ChampionMan::addCandidateChampionToParty(uint16 championPortraitIndex) {
uint16 championObjectsCell = returnOppositeDir(_vm->_dungeonMan->_partyDir);
curMapX += _vm->_dirIntoStepCountEast[_vm->_dungeonMan->_partyDir], curMapY += _vm->_dirIntoStepCountNorth[_vm->_dungeonMan->_partyDir];
curThing = _vm->_dungeonMan->getSquareFirstThing(curMapX, curMapY);
int16 slotIdx = k13_ChampionSlotBackpackLine_1_1;
int16 slotIdx = kDMSlotBackpackLine1_1;
while (curThing != Thing::_endOfList) {
ThingType thingType = curThing.getType();
if ((thingType > k3_SensorThingType) && (curThing.getCell() == championObjectsCell)) {
int16 objectAllowedSlots = _vm->_dungeonMan->_objectInfos[_vm->_dungeonMan->getObjectInfoIndex(curThing)]._allowedSlots;
uint16 curSlotIndex = k0_ChampionSlotReadyHand;
uint16 curSlotIndex = kDMSlotReadyHand;
switch (thingType) {
case k6_ArmourThingType: {
bool skipCheck = false;
for (curSlotIndex = k2_ChampionSlotHead; curSlotIndex <= k5_ChampionSlotFeet; curSlotIndex++) {
for (curSlotIndex = kDMSlotHead; curSlotIndex <= kDMSlotFeet; curSlotIndex++) {
if (objectAllowedSlots & _slotMasks[curSlotIndex]) {
skipCheck = true;
break;
@ -1982,36 +1982,36 @@ void ChampionMan::addCandidateChampionToParty(uint16 championPortraitIndex) {
if (skipCheck)
break;
if ((objectAllowedSlots & _slotMasks[k10_ChampionSlotNeck]) && (championPtr->_slots[k10_ChampionSlotNeck] == Thing::_none))
curSlotIndex = k10_ChampionSlotNeck;
if ((objectAllowedSlots & _slotMasks[kDMSlotNeck]) && (championPtr->_slots[kDMSlotNeck] == Thing::_none))
curSlotIndex = kDMSlotNeck;
else
curSlotIndex = slotIdx++;
break;
}
case k5_WeaponThingType:
if (championPtr->_slots[k1_ChampionSlotActionHand] == Thing::_none)
curSlotIndex = k1_ChampionSlotActionHand;
else if ((objectAllowedSlots & _slotMasks[k10_ChampionSlotNeck]) && (championPtr->_slots[k10_ChampionSlotNeck] == Thing::_none))
curSlotIndex = k10_ChampionSlotNeck;
if (championPtr->_slots[kDMSlotActionHand] == Thing::_none)
curSlotIndex = kDMSlotActionHand;
else if ((objectAllowedSlots & _slotMasks[kDMSlotNeck]) && (championPtr->_slots[kDMSlotNeck] == Thing::_none))
curSlotIndex = kDMSlotNeck;
else
curSlotIndex = slotIdx++;
break;
case k7_ScrollThingType:
case k8_PotionThingType:
if (championPtr->_slots[k11_ChampionSlotPouch_1] == Thing::_none)
curSlotIndex = k11_ChampionSlotPouch_1;
else if (championPtr->_slots[k6_ChampionSlotPouch_2] == Thing::_none)
curSlotIndex = k6_ChampionSlotPouch_2;
else if ((objectAllowedSlots & _slotMasks[k10_ChampionSlotNeck]) && (championPtr->_slots[k10_ChampionSlotNeck] == Thing::_none))
curSlotIndex = k10_ChampionSlotNeck;
if (championPtr->_slots[kDMSlotPouch1] == Thing::_none)
curSlotIndex = kDMSlotPouch1;
else if (championPtr->_slots[kDMSlotPouch_2] == Thing::_none)
curSlotIndex = kDMSlotPouch_2;
else if ((objectAllowedSlots & _slotMasks[kDMSlotNeck]) && (championPtr->_slots[kDMSlotNeck] == Thing::_none))
curSlotIndex = kDMSlotNeck;
else
curSlotIndex = slotIdx++;
break;
case k9_ContainerThingType:
case k10_JunkThingType:
if ((objectAllowedSlots & _slotMasks[k10_ChampionSlotNeck]) && (championPtr->_slots[k10_ChampionSlotNeck] == Thing::_none))
curSlotIndex = k10_ChampionSlotNeck;
if ((objectAllowedSlots & _slotMasks[kDMSlotNeck]) && (championPtr->_slots[kDMSlotNeck] == Thing::_none))
curSlotIndex = kDMSlotNeck;
else
curSlotIndex = slotIdx++;
@ -2021,8 +2021,8 @@ void ChampionMan::addCandidateChampionToParty(uint16 championPortraitIndex) {
}
while (championPtr->_slots[curSlotIndex] != Thing::_none) {
if ((objectAllowedSlots & _slotMasks[k10_ChampionSlotNeck]) && (championPtr->_slots[k10_ChampionSlotNeck] == Thing::_none))
curSlotIndex = k10_ChampionSlotNeck;
if ((objectAllowedSlots & _slotMasks[kDMSlotNeck]) && (championPtr->_slots[kDMSlotNeck] == Thing::_none))
curSlotIndex = kDMSlotNeck;
else
curSlotIndex = slotIdx++;
}
@ -2104,7 +2104,7 @@ uint16 ChampionMan::getMaximumLoad(Champion *champ) {
if (wounds)
maximumLoad -= maximumLoad >> (champ->getWoundsFlag(kDMWoundLegs) ? 2 : 3);
if (_vm->_objectMan->getIconIndex(champ->getSlot(k5_ChampionSlotFeet)) == kDMIconIndiceArmourElvenBoots)
if (_vm->_objectMan->getIconIndex(champ->getSlot(kDMSlotFeet)) == kDMIconIndiceArmourElvenBoots)
maximumLoad += maximumLoad * 16;
maximumLoad += 9;
@ -2216,7 +2216,7 @@ void ChampionMan::drawChampionState(ChampionIndex champIndex) {
}
}
if (getFlag(championAttributes, kDMAttributeWounds)) {
for (int i = isInventoryChampion ? k5_ChampionSlotFeet : k1_ChampionSlotActionHand; i >= k0_ChampionSlotReadyHand; i--)
for (int i = isInventoryChampion ? kDMSlotFeet : kDMSlotActionHand; i >= kDMSlotReadyHand; i--)
drawSlot(champIndex, i);
if (isInventoryChampion)
@ -2275,7 +2275,7 @@ void ChampionMan::drawChampionState(ChampionIndex champIndex) {
setFlag(championAttributes, kDMAttributeViewport);
}
if (getFlag(championAttributes, kDMAttributeActionHand)) {
drawSlot(champIndex, k1_ChampionSlotActionHand);
drawSlot(champIndex, kDMSlotActionHand);
_vm->_menuMan->drawActionIcon(champIndex);
if (isInventoryChampion)
setFlag(championAttributes, kDMAttributeViewport);
@ -2305,15 +2305,15 @@ void ChampionMan::drawSlot(uint16 champIndex, int16 slotIndex) {
uint16 slotBoxIndex;
if (!isInventoryChamp) {
// If drawing a slot for a champion other than the champion whose inventory is open
if ((slotIndex > k1_ChampionSlotActionHand) || (_candidateChampionOrdinal == _vm->indexToOrdinal(champIndex)))
if ((slotIndex > kDMSlotActionHand) || (_candidateChampionOrdinal == _vm->indexToOrdinal(champIndex)))
return;
slotBoxIndex = (champIndex << 1) + slotIndex;
} else
slotBoxIndex = k8_SlotBoxInventoryFirstSlot + slotIndex;
Thing thing;
if (slotIndex >= k30_ChampionSlotChest_1)
thing = _vm->_inventoryMan->_chestSlots[slotIndex - k30_ChampionSlotChest_1];
if (slotIndex >= kDMSlotChest1)
thing = _vm->_inventoryMan->_chestSlots[slotIndex - kDMSlotChest1];
else
thing = champ->getSlot((ChampionSlot)slotIndex);
@ -2329,7 +2329,7 @@ void ChampionMan::drawSlot(uint16 champIndex, int16 slotIndex) {
int16 iconIndex;
if (thing == Thing::_none) {
if (slotIndex <= k5_ChampionSlotFeet) {
if (slotIndex <= kDMSlotFeet) {
iconIndex = kDMIconIndiceReadyHand + (slotIndex << 1);
if (champ->getWoundsFlag((ChampionWound)(1 << slotIndex))) {
iconIndex++;
@ -2337,17 +2337,17 @@ void ChampionMan::drawSlot(uint16 champIndex, int16 slotIndex) {
} else
nativeBitmapIndex = k33_SlotBoxNormalIndice;
} else {
if ((slotIndex >= k10_ChampionSlotNeck) && (slotIndex <= k13_ChampionSlotBackpackLine_1_1))
iconIndex = kDMIconIndiceNeck + (slotIndex - k10_ChampionSlotNeck);
if ((slotIndex >= kDMSlotNeck) && (slotIndex <= kDMSlotBackpackLine1_1))
iconIndex = kDMIconIndiceNeck + (slotIndex - kDMSlotNeck);
else
iconIndex = kDMIconIndiceEmptyBox;
}
} else {
iconIndex = _vm->_objectMan->getIconIndex(thing); // BUG0_35
if (isInventoryChamp && (slotIndex == k1_ChampionSlotActionHand) && ((iconIndex == kDMIconIndiceContainerChestClosed) || (iconIndex == kDMIconIndiceScrollOpen))) {
if (isInventoryChamp && (slotIndex == kDMSlotActionHand) && ((iconIndex == kDMIconIndiceContainerChestClosed) || (iconIndex == kDMIconIndiceScrollOpen))) {
iconIndex++;
} // BUG2_00
if (slotIndex <= k5_ChampionSlotFeet) {
if (slotIndex <= kDMSlotFeet) {
if (champ->getWoundsFlag((ChampionWound)(1 << slotIndex)))
nativeBitmapIndex = k34_SlotBoxWoundedIndice;
else
@ -2355,7 +2355,7 @@ void ChampionMan::drawSlot(uint16 champIndex, int16 slotIndex) {
}
}
if ((slotIndex == k1_ChampionSlotActionHand) && (_vm->indexToOrdinal(champIndex) == _actingChampionOrdinal))
if ((slotIndex == kDMSlotActionHand) && (_vm->indexToOrdinal(champIndex) == _actingChampionOrdinal))
nativeBitmapIndex = k35_SlotBoxActingHandIndice;
if (nativeBitmapIndex != -1) {
@ -2572,13 +2572,13 @@ uint16 ChampionMan::getSkillLevel(int16 champIndex, uint16 skillIndex) {
skillLevel++;
}
if (!ignoreObjModifiers) {
int16 actionHandIconIndex = _vm->_objectMan->getIconIndex(champ->_slots[k1_ChampionSlotActionHand]);
int16 actionHandIconIndex = _vm->_objectMan->getIconIndex(champ->_slots[kDMSlotActionHand]);
if (actionHandIconIndex == kDMIconIndiceWeaponTheFirestaff)
skillLevel++;
else if (actionHandIconIndex == kDMIconIndiceWeaponTheFirestaffComplete)
skillLevel += 2;
int16 neckIconIndex = _vm->_objectMan->getIconIndex(champ->_slots[k10_ChampionSlotNeck]);
int16 neckIconIndex = _vm->_objectMan->getIconIndex(champ->_slots[kDMSlotNeck]);
switch (skillIndex) {
case kDMSkillWizard:
if (neckIconIndex == kDMIconIndiceJunkPendantFeral)

View File

@ -207,7 +207,6 @@ enum ChampionWound {
kDMWoundFeet = 0x0020 // @ MASK0x0020_FEET
};
enum ChampionStatType {
kDMStatLuck = 0, // @ C0_STATISTIC_LUCK
kDMStatStrength = 1, // @ C1_STATISTIC_STRENGTH
@ -249,45 +248,45 @@ enum ChampionSkill {
};
enum ChampionSlot {
kM1_ChampionSlotLeaderHand = -1, // @ CM1_SLOT_LEADER_HAND
k0_ChampionSlotReadyHand = 0, // @ C00_SLOT_READY_HAND
k1_ChampionSlotActionHand = 1, // @ C01_SLOT_ACTION_HAND
k2_ChampionSlotHead = 2, // @ C02_SLOT_HEAD
k3_ChampionSlotTorso = 3, // @ C03_SLOT_TORSO
k4_ChampionSlotLegs = 4, // @ C04_SLOT_LEGS
k5_ChampionSlotFeet = 5, // @ C05_SLOT_FEET
k6_ChampionSlotPouch_2 = 6, // @ C06_SLOT_POUCH_2
k7_ChampionSlotQuiverLine_2_1 = 7, // @ C07_SLOT_QUIVER_LINE2_1
k8_ChampionSlotQuiverLine_1_2 = 8, // @ C08_SLOT_QUIVER_LINE1_2
k9_ChampionSlotQuiverLine_2_2 = 9, // @ C09_SLOT_QUIVER_LINE2_2
k10_ChampionSlotNeck = 10, // @ C10_SLOT_NECK
k11_ChampionSlotPouch_1 = 11, // @ C11_SLOT_POUCH_1
k12_ChampionSlotQuiverLine_1_1 = 12, // @ C12_SLOT_QUIVER_LINE1_1
k13_ChampionSlotBackpackLine_1_1 = 13, // @ C13_SLOT_BACKPACK_LINE1_1
k14_ChampionSlotBackpackLine_2_2 = 14, // @ C14_SLOT_BACKPACK_LINE2_2
k15_ChampionSlotBackpackLine_2_3 = 15, // @ C15_SLOT_BACKPACK_LINE2_3
k16_ChampionSlotBackpackLine_2_4 = 16, // @ C16_SLOT_BACKPACK_LINE2_4
k17_ChampionSlotBackpackLine_2_5 = 17, // @ C17_SLOT_BACKPACK_LINE2_5
k18_ChampionSlotBackpackLine_2_6 = 18, // @ C18_SLOT_BACKPACK_LINE2_6
k19_ChampionSlotBackpackLine_2_7 = 19, // @ C19_SLOT_BACKPACK_LINE2_7
k20_ChampionSlotBackpackLine_2_8 = 20, // @ C20_SLOT_BACKPACK_LINE2_8
k21_ChampionSlotBackpackLine_2_9 = 21, // @ C21_SLOT_BACKPACK_LINE2_9
k22_ChampionSlotBackpackLine_1_2 = 22, // @ C22_SLOT_BACKPACK_LINE1_2
k23_ChampionSlotBackpackLine_1_3 = 23, // @ C23_SLOT_BACKPACK_LINE1_3
k24_ChampionSlotBackpackLine_1_4 = 24, // @ C24_SLOT_BACKPACK_LINE1_4
k25_ChampionSlotBackpackLine_1_5 = 25, // @ C25_SLOT_BACKPACK_LINE1_5
k26_ChampionSlotBackpackLine_1_6 = 26, // @ C26_SLOT_BACKPACK_LINE1_6
k27_ChampionSlotBackpackLine_1_7 = 27, // @ C27_SLOT_BACKPACK_LINE1_7
k28_ChampionSlotBackpackLine_1_8 = 28, // @ C28_SLOT_BACKPACK_LINE1_8
k29_ChampionSlotBackpackLine_1_9 = 29, // @ C29_SLOT_BACKPACK_LINE1_9
k30_ChampionSlotChest_1 = 30, // @ C30_SLOT_CHEST_1
k31_ChampionSlotChest_2 = 31, // @ C31_SLOT_CHEST_2
k32_ChampionSlotChest_3 = 32, // @ C32_SLOT_CHEST_3
k33_ChampionSlotChest_4 = 33, // @ C33_SLOT_CHEST_4
k34_ChampionSlotChest_5 = 34, // @ C34_SLOT_CHEST_5
k35_ChampionSlotChest_6 = 35, // @ C35_SLOT_CHEST_6
k36_ChampionSlotChest_7 = 36, // @ C36_SLOT_CHEST_7
k37_ChampionSlotChest_8 = 37 // @ C37_SLOT_CHEST_8
kDMSlotLeaderHand = -1, // @ CM1_SLOT_LEADER_HAND
kDMSlotReadyHand = 0, // @ C00_SLOT_READY_HAND
kDMSlotActionHand = 1, // @ C01_SLOT_ACTION_HAND
kDMSlotHead = 2, // @ C02_SLOT_HEAD
kDMSlotTorso = 3, // @ C03_SLOT_TORSO
kDMSlotLegs = 4, // @ C04_SLOT_LEGS
kDMSlotFeet = 5, // @ C05_SLOT_FEET
kDMSlotPouch_2 = 6, // @ C06_SLOT_POUCH_2
kDMSlotQuiverLine2_1 = 7, // @ C07_SLOT_QUIVER_LINE2_1
kDMSlotQuiverLine1_2 = 8, // @ C08_SLOT_QUIVER_LINE1_2
kDMSlotQuiverLine2_2 = 9, // @ C09_SLOT_QUIVER_LINE2_2
kDMSlotNeck = 10, // @ C10_SLOT_NECK
kDMSlotPouch1 = 11, // @ C11_SLOT_POUCH_1
kDMSlotQuiverLine1_1 = 12, // @ C12_SLOT_QUIVER_LINE1_1
kDMSlotBackpackLine1_1 = 13, // @ C13_SLOT_BACKPACK_LINE1_1
kDMSlotBackpackLine2_2 = 14, // @ C14_SLOT_BACKPACK_LINE2_2
kDMSlotBackpackLine2_3 = 15, // @ C15_SLOT_BACKPACK_LINE2_3
kDMSlotBackpackLine2_4 = 16, // @ C16_SLOT_BACKPACK_LINE2_4
kDMSlotBackpackLine2_5 = 17, // @ C17_SLOT_BACKPACK_LINE2_5
kDMSlotBackpackLine2_6 = 18, // @ C18_SLOT_BACKPACK_LINE2_6
kDMSlotBackpackLine2_7 = 19, // @ C19_SLOT_BACKPACK_LINE2_7
kDMSlotBackpackLine2_8 = 20, // @ C20_SLOT_BACKPACK_LINE2_8
kDMSlotBackpackLine2_9 = 21, // @ C21_SLOT_BACKPACK_LINE2_9
kDMSlotBackpackLine1_2 = 22, // @ C22_SLOT_BACKPACK_LINE1_2
kDMSlotBackpackLine1_3 = 23, // @ C23_SLOT_BACKPACK_LINE1_3
kDMSlotBackpackLine1_4 = 24, // @ C24_SLOT_BACKPACK_LINE1_4
kDMSlotBackpackLine1_5 = 25, // @ C25_SLOT_BACKPACK_LINE1_5
kDMSlotBackpackLine1_6 = 26, // @ C26_SLOT_BACKPACK_LINE1_6
kDMSlotBackpackLine1_7 = 27, // @ C27_SLOT_BACKPACK_LINE1_7
kDMSlotBackpackLine1_8 = 28, // @ C28_SLOT_BACKPACK_LINE1_8
kDMSlotBackpackLine1_9 = 29, // @ C29_SLOT_BACKPACK_LINE1_9
kDMSlotChest1 = 30, // @ C30_SLOT_CHEST_1
kDMSlotChest2 = 31, // @ C31_SLOT_CHEST_2
kDMSlotChest3 = 32, // @ C32_SLOT_CHEST_3
kDMSlotChest4 = 33, // @ C33_SLOT_CHEST_4
kDMSlotChest5 = 34, // @ C34_SLOT_CHEST_5
kDMSlotChest6 = 35, // @ C35_SLOT_CHEST_6
kDMSlotChest7 = 36, // @ C36_SLOT_CHEST_7
kDMSlotChest8 = 37 // @ C37_SLOT_CHEST_8
};
enum ChampionAction {

View File

@ -1257,7 +1257,7 @@ void EventManager::commandProcessCommands160To162ClickInResurrectReincarnatePane
int16 mapX = dunMan._partyMapX + _vm->_dirIntoStepCountEast[dunMan._partyDir];
int16 mapY = dunMan._partyMapY + _vm->_dirIntoStepCountNorth[dunMan._partyDir];
for (uint16 slotIndex = k0_ChampionSlotReadyHand; slotIndex < k30_ChampionSlotChest_1; slotIndex++) {
for (uint16 slotIndex = kDMSlotReadyHand; slotIndex < kDMSlotChest1; slotIndex++) {
Thing thing = champ->getSlot((ChampionSlot)slotIndex);
if (thing != Thing::_none) {
_vm->_dungeonMan->unlinkThingFromList(thing, Thing(0), mapX, mapY);

View File

@ -1535,7 +1535,7 @@ void GroupMan::stealFromChampion(Group *group, uint16 championIndex) {
uint16 slotIdx = _vm->getRandomNumber(8);
while ((percentage > 0) && !_vm->_championMan->isLucky(champion, percentage)) {
uint16 stealFromSlotIndex = G0394_auc_StealFromSlotIndices[slotIdx];
if (stealFromSlotIndex == k13_ChampionSlotBackpackLine_1_1)
if (stealFromSlotIndex == kDMSlotBackpackLine1_1)
stealFromSlotIndex += _vm->getRandomNumber(17); /* Select a random slot in the backpack */
Thing slotThing = champion->_slots[stealFromSlotIndex];
@ -1803,7 +1803,7 @@ int16 GroupMan::getMeleeActionDamage(Champion *champ, int16 champIndex, Group *g
int16 doubledMapDifficulty = _vm->_dungeonMan->_currMap->_difficulty << 1;
CreatureInfo *creatureInfo = &_vm->_dungeonMan->_creatureInfos[group->_type];
int16 actionHandObjectIconIndex = _vm->_objectMan->getIconIndex(champ->_slots[k1_ChampionSlotActionHand]);
int16 actionHandObjectIconIndex = _vm->_objectMan->getIconIndex(champ->_slots[kDMSlotActionHand]);
bool actionHitsNonMaterialCreatures = getFlag(actionHitProbability, k0x8000_hitNonMaterialCreatures);
if (actionHitsNonMaterialCreatures)
clearFlag(actionHitProbability, k0x8000_hitNonMaterialCreatures);
@ -1813,7 +1813,7 @@ int16 GroupMan::getMeleeActionDamage(Champion *champ, int16 champIndex, Group *g
(!_vm->getRandomNumber(4)) ||
(_vm->_championMan->isLucky(champ, 75 - actionHitProbability)))) {
L0565_i_Damage = _vm->_championMan->getStrength(champIndex, k1_ChampionSlotActionHand);
L0565_i_Damage = _vm->_championMan->getStrength(champIndex, kDMSlotActionHand);
if (!(L0565_i_Damage))
goto T0231009;

View File

@ -149,7 +149,7 @@ void InventoryMan::toggleInventory(ChampionIndex championIndex) {
_vm->_textMan->printToViewport(5, 132, k13_ColorLightestGray, "MANA");
for (uint16 i = k0_ChampionSlotReadyHand; i < k30_ChampionSlotChest_1; i++)
for (uint16 i = kDMSlotReadyHand; i < kDMSlotChest1; i++)
_vm->_championMan->drawSlot(championIndex, i);
setFlag(champion->_attributes, kDMAttributeViewport | kDMAttributeStatusBox | kDMAttributePanel | kDMAttributeLoad | kDMAttributeStatistics | kDMAttributeNameTitle);
@ -246,7 +246,7 @@ void InventoryMan::drawPanel() {
return;
}
Thing thing = cm._champions[_vm->ordinalToIndex(_inventoryChampionOrdinal)].getSlot(k1_ChampionSlotActionHand);
Thing thing = cm._champions[_vm->ordinalToIndex(_inventoryChampionOrdinal)].getSlot(kDMSlotActionHand);
_panelContent = k0_PanelContentFoodWaterPoisoned;
switch (thing.getType()) {
@ -688,7 +688,7 @@ void InventoryMan::setDungeonViewPalette() {
int16 torchesLightPower[8];
int16 *curTorchLightPower = torchesLightPower;
while (counter--) {
uint16 slotIndex = k1_ChampionSlotActionHand + 1;
uint16 slotIndex = kDMSlotActionHand + 1;
while (slotIndex--) {
Thing slotThing = curChampion->_slots[slotIndex];
if ((_vm->_objectMan->getObjectType(slotThing) >= kDMIconIndiceWeaponTorchUnlit) &&
@ -756,7 +756,7 @@ void InventoryMan::decreaseTorchesLightPower() {
Champion *curChampion = _vm->_championMan->_champions;
while (championCount--) {
int16 slotIndex = k1_ChampionSlotActionHand + 1;
int16 slotIndex = kDMSlotActionHand + 1;
while (slotIndex--) {
int16 iconIndex = _vm->_objectMan->getIconIndex(curChampion->_slots[slotIndex]);
if ((iconIndex >= kDMIconIndiceWeaponTorchUnlit) && (iconIndex <= kDMIconIndiceWeaponTorchLit)) {

View File

@ -201,7 +201,7 @@ void MenuMan::drawActionIcon(ChampionIndex championIndex) {
return;
}
byte *bitmapIcon = dm._tmpBitmap;
Thing thing = champion.getSlot(k1_ChampionSlotActionHand);
Thing thing = champion.getSlot(kDMSlotActionHand);
IconIndice iconIndex;
if (thing == Thing::_none) {
iconIndex = kDMIconIndiceActionEmptyHand;
@ -657,14 +657,14 @@ int16 MenuMan::getChampionSpellCastResult(uint16 champIndex) {
Junk *junkData = (Junk *)_vm->_dungeonMan->getThingData(unusedObject);
junkData->setType(k51_JunkTypeZokathra);
ChampionSlot slotIndex;
if (curChampion->_slots[k0_ChampionSlotReadyHand] == Thing::_none)
slotIndex = k0_ChampionSlotReadyHand;
else if (curChampion->_slots[k1_ChampionSlotActionHand] == Thing::_none)
slotIndex = k1_ChampionSlotActionHand;
if (curChampion->_slots[kDMSlotReadyHand] == Thing::_none)
slotIndex = kDMSlotReadyHand;
else if (curChampion->_slots[kDMSlotActionHand] == Thing::_none)
slotIndex = kDMSlotActionHand;
else
slotIndex = kM1_ChampionSlotLeaderHand;
slotIndex = kDMSlotLeaderHand;
if ((slotIndex == k0_ChampionSlotReadyHand) || (slotIndex == k1_ChampionSlotActionHand)) {
if ((slotIndex == kDMSlotReadyHand) || (slotIndex == kDMSlotActionHand)) {
_vm->_championMan->addObjectInSlot((ChampionIndex)champIndex, unusedObject, slotIndex);
_vm->_championMan->drawChampionState((ChampionIndex)champIndex);
} else
@ -785,7 +785,7 @@ void MenuMan::menusPrintSpellFailureMessage(Champion *champ, uint16 failureType,
}
Potion *MenuMan::getEmptyFlaskInHand(Champion *champ, Thing *potionThing) {
for (int16 slotIndex = k2_ChampionSlotHead; --slotIndex >= k0_ChampionSlotReadyHand; ) {
for (int16 slotIndex = kDMSlotHead; --slotIndex >= kDMSlotReadyHand; ) {
Thing curThing = champ->_slots[slotIndex];
if ((curThing != Thing::_none) && (_vm->_objectMan->getIconIndex(curThing) == kDMIconIndicePotionEmptyFlask)) {
*potionThing = curThing;
@ -1041,7 +1041,7 @@ bool MenuMan::isActionPerformed(uint16 champIndex, int16 actionIndex) {
if (!curChampion->_currHealth)
return false;
Weapon *weaponInHand = (Weapon *)_vm->_dungeonMan->getThingData(curChampion->_slots[k1_ChampionSlotActionHand]);
Weapon *weaponInHand = (Weapon *)_vm->_dungeonMan->getThingData(curChampion->_slots[kDMSlotActionHand]);
int16 nextMapX = _vm->_dungeonMan->_partyMapX;
int16 nextMapY = _vm->_dungeonMan->_partyMapY;
@ -1092,7 +1092,7 @@ bool MenuMan::isActionPerformed(uint16 champIndex, int16 actionIndex) {
if ((Square(targetSquare).getType() == k4_DoorElemType) && (Square(targetSquare).getDoorState() == k4_doorState_CLOSED)) {
_vm->_sound->requestPlay(k16_soundCOMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, k1_soundModePlayIfPrioritized);
actionDisabledTicks = 6;
_vm->_groupMan->groupIsDoorDestoryedByAttack(nextMapX, nextMapY, _vm->_championMan->getStrength(champIndex, k1_ChampionSlotActionHand), false, 2);
_vm->_groupMan->groupIsDoorDestoryedByAttack(nextMapX, nextMapY, _vm->_championMan->getStrength(champIndex, kDMSlotActionHand), false, 2);
_vm->_sound->requestPlay(k04_soundWOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, k2_soundModePlayOneTickLater);
break;
}
@ -1127,7 +1127,7 @@ bool MenuMan::isActionPerformed(uint16 champIndex, int16 actionIndex) {
actionPerformed = isGroupFrightenedByAction(champIndex, actionIndex, nextMapX, nextMapY);
break;
case k32_ChampionActionShoot: {
if (Thing(curChampion->_slots[k0_ChampionSlotReadyHand]).getType() != k5_WeaponThingType) {
if (Thing(curChampion->_slots[kDMSlotReadyHand]).getType() != k5_WeaponThingType) {
_actionDamage = kM2_damageNoAmmunition;
actionExperienceGain = 0;
actionPerformed = false;
@ -1135,7 +1135,7 @@ bool MenuMan::isActionPerformed(uint16 champIndex, int16 actionIndex) {
}
WeaponInfo *weaponInfoActionHand = &_vm->_dungeonMan->_weaponInfos[weaponInHand->getType()];
WeaponInfo *weaponInfoReadyHand = _vm->_dungeonMan->getWeaponInfo(curChampion->_slots[k0_ChampionSlotReadyHand]);
WeaponInfo *weaponInfoReadyHand = _vm->_dungeonMan->getWeaponInfo(curChampion->_slots[kDMSlotReadyHand]);
int16 actionHandWeaponClass = weaponInfoActionHand->_class;
int16 readyHandWeaponClass = weaponInfoReadyHand->_class;
int16 stepEnergy = actionHandWeaponClass;
@ -1158,7 +1158,7 @@ bool MenuMan::isActionPerformed(uint16 champIndex, int16 actionIndex) {
}
setChampionDirectionToPartyDirection(curChampion);
Thing removedObject = _vm->_championMan->getObjectRemovedFromSlot(champIndex, k0_ChampionSlotReadyHand);
Thing removedObject = _vm->_championMan->getObjectRemovedFromSlot(champIndex, kDMSlotReadyHand);
_vm->_sound->requestPlay(k16_soundCOMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, k1_soundModePlayIfPrioritized);
_vm->_championMan->championShootProjectile(curChampion, removedObject, weaponInfoActionHand->_kineticEnergy + weaponInfoReadyHand->_kineticEnergy, (weaponInfoActionHand->getShootAttack() + _vm->_championMan->getSkillLevel(champIndex, kDMSkillShoot)) << 1, stepEnergy);
}
@ -1286,11 +1286,11 @@ bool MenuMan::isActionPerformed(uint16 champIndex, int16 actionIndex) {
int16 freezeTicks;
if (weaponInHand->getType() == k42_JunkTypeMagicalBoxBlue) {
freezeTicks = 30;
_vm->_championMan->getObjectRemovedFromSlot(champIndex, k1_ChampionSlotActionHand);
_vm->_championMan->getObjectRemovedFromSlot(champIndex, kDMSlotActionHand);
weaponInHand->setNextThing(Thing::_none);
} else if (weaponInHand->getType() == k43_JunkTypeMagicalBoxGreen) {
freezeTicks = 125;
_vm->_championMan->getObjectRemovedFromSlot(champIndex, k1_ChampionSlotActionHand);
_vm->_championMan->getObjectRemovedFromSlot(champIndex, kDMSlotActionHand);
weaponInHand->setNextThing(Thing::_none);
} else {
freezeTicks = 70;
@ -1306,9 +1306,9 @@ bool MenuMan::isActionPerformed(uint16 champIndex, int16 actionIndex) {
break;
case k42_ChampionActionThrow:
setChampionDirectionToPartyDirection(curChampion);
actionPerformed = _vm->_championMan->isObjectThrown(champIndex, k1_ChampionSlotActionHand, (curChampion->_cell == returnNextVal(_vm->_dungeonMan->_partyDir)) || (curChampion->_cell == (ViewCell)returnOppositeDir(_vm->_dungeonMan->_partyDir)));
actionPerformed = _vm->_championMan->isObjectThrown(champIndex, kDMSlotActionHand, (curChampion->_cell == returnNextVal(_vm->_dungeonMan->_partyDir)) || (curChampion->_cell == (ViewCell)returnOppositeDir(_vm->_dungeonMan->_partyDir)));
if (actionPerformed)
_vm->_timeline->_events[curChampion->_enableActionEventIndex]._B._slotOrdinal = _vm->indexToOrdinal(k1_ChampionSlotActionHand);
_vm->_timeline->_events[curChampion->_enableActionEventIndex]._B._slotOrdinal = _vm->indexToOrdinal(kDMSlotActionHand);
break;
}
@ -1345,7 +1345,7 @@ void MenuMan::setChampionDirectionToPartyDirection(Champion *champ) {
}
void MenuMan::decrementCharges(Champion *champ) {
Thing slotActionThing = champ->_slots[k1_ChampionSlotActionHand];
Thing slotActionThing = champ->_slots[kDMSlotActionHand];
Junk *slotActionData = (Junk *)_vm->_dungeonMan->getThingData(slotActionThing);
switch (slotActionThing.getType()) {
case k5_WeaponThingType:
@ -1488,7 +1488,7 @@ bool MenuMan::isMeleeActionPerformed(int16 champIndex, Champion *champ, int16 ac
uint16 actionHitProbability = actionHitProbabilityArray[actionIndex];
uint16 actionDamageFactor = actionDamageFactorArray[actionIndex];
if ((_vm->_objectMan->getIconIndex(champ->_slots[k1_ChampionSlotActionHand]) == kDMIconIndiceWeaponVorpalBlade) || (actionIndex == k24_ChampionActionDisrupt)) {
if ((_vm->_objectMan->getIconIndex(champ->_slots[kDMSlotActionHand]) == kDMIconIndiceWeaponVorpalBlade) || (actionIndex == k24_ChampionActionDisrupt)) {
setFlag(actionHitProbability, k0x8000_hitNonMaterialCreatures);
}
_actionDamage = _vm->_groupMan->getMeleeActionDamage(champ, champIndex, (Group *)_vm->_dungeonMan->getThingData(_actionTargetGroupThing), _vm->ordinalToIndex(targetCreatureOrdinal), targetMapX, targetMapY, actionHitProbability, actionDamageFactor, skillIndex);
@ -1631,7 +1631,7 @@ void MenuMan::processCommands116To119_setActingChampion(uint16 champIndex) {
return;
uint16 actionSetIndex;
Thing slotActionThing = curChampion->_slots[k1_ChampionSlotActionHand];
Thing slotActionThing = curChampion->_slots[kDMSlotActionHand];
if (slotActionThing == Thing::_none)
actionSetIndex = 2; /* Actions Punch, Kick and War Cry */
@ -1679,7 +1679,7 @@ void MenuMan::setActionList(ActionSet *actionSet) {
}
int16 MenuMan::getActionObjectChargeCount() {
Thing slotActionThing = _vm->_championMan->_champions[_vm->ordinalToIndex(_vm->_championMan->_actingChampionOrdinal)]._slots[k1_ChampionSlotActionHand];
Thing slotActionThing = _vm->_championMan->_champions[_vm->ordinalToIndex(_vm->_championMan->_actingChampionOrdinal)]._slots[kDMSlotActionHand];
Junk *junkData = (Junk *)_vm->_dungeonMan->getThingData(slotActionThing);
switch (slotActionThing.getType()) {
case k5_WeaponThingType:

View File

@ -866,8 +866,8 @@ bool MovesensMan::isObjectInPartyPossession(int16 objectType) {
for (championIdx = kDMChampionFirst; championIdx < _vm->_championMan->_partyChampionCount; championIdx++, curChampion++) {
if (curChampion->_currHealth) {
curSlotThing = curChampion->_slots;
for (slotIdx = k0_ChampionSlotReadyHand; (slotIdx < k30_ChampionSlotChest_1) || !leaderHandObjectProcessed; slotIdx++) {
if (slotIdx < k30_ChampionSlotChest_1)
for (slotIdx = kDMSlotReadyHand; (slotIdx < kDMSlotChest1) || !leaderHandObjectProcessed; slotIdx++) {
if (slotIdx < kDMSlotChest1)
curThing = *curSlotThing++;
else {
leaderHandObjectProcessed = true;

View File

@ -820,15 +820,15 @@ void Timeline::processEventEnableChampionAction(uint16 champIndex) {
curChampion->_actionDefense -= _actionDefense[curChampion->_actionDefense];
}
if (curChampion->_currHealth) {
if ((curChampion->_actionIndex == k32_ChampionActionShoot) && (curChampion->_slots[k0_ChampionSlotReadyHand] == Thing::_none)) {
int16 slotIndex = k12_ChampionSlotQuiverLine_1_1;
if (_vm->_championMan->isAmmunitionCompatibleWithWeapon(champIndex, k1_ChampionSlotActionHand, slotIndex))
_vm->_championMan->addObjectInSlot((ChampionIndex)champIndex, _vm->_championMan->getObjectRemovedFromSlot(champIndex, slotIndex), k0_ChampionSlotReadyHand);
if ((curChampion->_actionIndex == k32_ChampionActionShoot) && (curChampion->_slots[kDMSlotReadyHand] == Thing::_none)) {
int16 slotIndex = kDMSlotQuiverLine1_1;
if (_vm->_championMan->isAmmunitionCompatibleWithWeapon(champIndex, kDMSlotActionHand, slotIndex))
_vm->_championMan->addObjectInSlot((ChampionIndex)champIndex, _vm->_championMan->getObjectRemovedFromSlot(champIndex, slotIndex), kDMSlotReadyHand);
else {
for (int16 quiverSlotIndex = 0; quiverSlotIndex < 3; quiverSlotIndex++) {
slotIndex = quiverSlotIndex + k7_ChampionSlotQuiverLine_2_1;
if (_vm->_championMan->isAmmunitionCompatibleWithWeapon(champIndex, k1_ChampionSlotActionHand, slotIndex))
_vm->_championMan->addObjectInSlot((ChampionIndex)champIndex, _vm->_championMan->getObjectRemovedFromSlot(champIndex, slotIndex), k0_ChampionSlotReadyHand);
slotIndex = quiverSlotIndex + kDMSlotQuiverLine2_1;
if (_vm->_championMan->isAmmunitionCompatibleWithWeapon(champIndex, kDMSlotActionHand, slotIndex))
_vm->_championMan->addObjectInSlot((ChampionIndex)champIndex, _vm->_championMan->getObjectRemovedFromSlot(champIndex, slotIndex), kDMSlotReadyHand);
}
}
}
@ -843,10 +843,10 @@ void Timeline::processEventMoveWeaponFromQuiverToSlot(uint16 champIndex, uint16
if (curChampion->_slots[slotIndex] != Thing::_none)
return;
if (hasWeaponMovedSlot(champIndex, curChampion, k12_ChampionSlotQuiverLine_1_1, slotIndex))
if (hasWeaponMovedSlot(champIndex, curChampion, kDMSlotQuiverLine1_1, slotIndex))
return;
for (uint16 srcSlotIndex = k7_ChampionSlotQuiverLine_2_1; srcSlotIndex <= k9_ChampionSlotQuiverLine_2_2; srcSlotIndex++) {
for (uint16 srcSlotIndex = kDMSlotQuiverLine2_1; srcSlotIndex <= kDMSlotQuiverLine2_2; srcSlotIndex++) {
if (hasWeaponMovedSlot(champIndex, curChampion, srcSlotIndex, slotIndex))
break;
}