ScummVM API documentation
DM::GroupMan Class Reference

Public Member Functions

 GroupMan (DMEngine *vm)
 
void initActiveGroups ()
 
uint16 getGroupCells (Group *group, int16 mapIndex)
 
uint16 getGroupDirections (Group *group, int16 mapIndex)
 
int16 getCreatureOrdinalInCell (Group *group, uint16 cell)
 
uint16 getCreatureValue (uint16 groupVal, uint16 creatureIndex)
 
void dropGroupPossessions (int16 mapX, int16 mapY, Thing groupThing, SoundMode mode)
 
void dropCreatureFixedPossessions (CreatureType creatureType, int16 mapX, int16 mapY, uint16 cell, SoundMode soundMode)
 
int16 getDirsWhereDestIsVisibleFromSource (int16 srcMapX, int16 srcMapY, int16 destMapX, int16 destMapY)
 
bool isDestVisibleFromSource (uint16 dir, int16 srcMapX, int16 srcMapY, int16 destMapX, int16 destMapY)
 
bool groupIsDoorDestoryedByAttack (uint16 mapX, uint16 mapY, int16 attack, bool magicAttack, int16 ticks)
 
Thing groupGetThing (int16 mapX, int16 mapY)
 
int16 groupGetDamageCreatureOutcome (Group *group, uint16 creatureIndex, int16 mapX, int16 mapY, int16 damage, bool notMoving)
 
void groupDelete (int16 mapX, int16 mapY)
 
void groupDeleteEvents (int16 mapX, int16 mapY)
 
uint16 getGroupValueUpdatedWithCreatureValue (uint16 groupVal, uint16 creatureIndex, uint16 creatureVal)
 
int16 getDamageAllCreaturesOutcome (Group *group, int16 mapX, int16 mapY, int16 attack, bool notMoving)
 
int16 groupGetResistanceAdjustedPoisonAttack (CreatureType creatureType, int16 poisonAttack)
 
void processEvents29to41 (int16 eventMapX, int16 eventMapY, TimelineEventType eventType, uint16 ticks)
 
bool isMovementPossible (CreatureInfo *creatureInfo, int16 mapX, int16 mapY, uint16 dir, bool allowMovementOverImaginaryPitsAndFakeWalls)
 
int16 getDistanceBetweenSquares (int16 srcMapX, int16 srcMapY, int16 destMapX, int16 destMapY)
 
int16 groupGetDistanceToVisibleParty (Group *group, int16 creatureIndex, int16 mapX, int16 mapY)
 
int16 getDistanceBetweenUnblockedSquares (int16 srcMapX, int16 srcMapY, int16 destMapX, int16 destMapY, bool(GroupMan::*isBlocked)(uint16, uint16))
 
bool isViewPartyBlocked (uint16 mapX, uint16 mapY)
 
int32 getCreatureAspectUpdateTime (ActiveGroup *activeGroup, int16 creatureIndex, bool isAttacking)
 
void setGroupDirection (ActiveGroup *activeGroup, int16 dir, int16 creatureIndex, bool twoHalfSquareSizedCreatures)
 
void addGroupEvent (TimelineEvent *event, uint32 time)
 
int16 getSmelledPartyPrimaryDirOrdinal (CreatureInfo *creatureInfo, int16 mapY, int16 mapX)
 
bool isSmellPartyBlocked (uint16 mapX, uint16 mapY)
 
int16 getFirstPossibleMovementDirOrdinal (CreatureInfo *info, int16 mapX, int16 mapY, bool allowMovementOverImaginaryPitsAndFakeWalls)
 
void setDirGroup (ActiveGroup *activeGroup, int16 dir, int16 creatureIndex, int16 creatureSize)
 
void stopAttacking (ActiveGroup *group, int16 mapX, int16 mapY)
 
bool isArchenemyDoubleMovementPossible (CreatureInfo *info, int16 mapX, int16 mapY, uint16 dir)
 
bool isCreatureAttacking (Group *group, int16 mapX, int16 mapY, uint16 creatureIndex)
 
void setOrderedCellsToAttack (signed char *orderedCellsToAttack, int16 targetMapX, int16 targetMapY, int16 attackerMapX, int16 attackerMapY, uint16 cellSource)
 
void stealFromChampion (Group *group, uint16 championIndex)
 
int16 getChampionDamage (Group *group, uint16 champIndex)
 
void dropMovingCreatureFixedPossession (Thing thing, int16 mapX, int16 mapY)
 
void startWandering (int16 mapX, int16 mapY)
 
void addActiveGroup (Thing thing, int16 mapX, int16 mapY)
 
void removeActiveGroup (uint16 activeGroupIndex)
 
void removeAllActiveGroups ()
 
void addAllActiveGroups ()
 
Thing groupGetGenerated (CreatureType creatureType, int16 healthMultiplier, uint16 creatureCount, Direction dir, int16 mapX, int16 mapY)
 
bool isSquareACorridorTeleporterPitOrDoor (int16 mapX, int16 mapY)
 
int16 getMeleeTargetCreatureOrdinal (int16 groupX, int16 groupY, int16 partyX, int16 paryY, uint16 champCell)
 
int16 getMeleeActionDamage (Champion *champ, int16 champIndex, Group *group, int16 creatureIndex, int16 mapX, int16 mapY, uint16 actionHitProbability, uint16 actionDamageFactor, int16 skillIndex)
 
void fluxCageAction (int16 mapX, int16 mapY)
 
uint16 isLordChaosOnSquare (int16 mapX, int16 mapY)
 
bool isFluxcageOnSquare (int16 mapX, int16 mapY)
 
void fuseAction (uint16 mapX, uint16 mapY)
 
void saveActiveGroupPart (Common::OutSaveFile *file)
 
void loadActiveGroupPart (Common::InSaveFile *file)
 

Public Attributes

uint16 _maxActiveGroupCount
 
ActiveGroup_activeGroups
 
uint16 _currActiveGroupCount
 

The documentation for this class was generated from the following file: