World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Структура SpellBuff

#include <Spells.h>

+ Граф связей класса SpellBuff:

Открытые члены

 SpellBuff ()
 
bool Apply (GameTime time, unsigned __int16 uSkillLevel, unsigned __int16 uPower, int uOverlayID, unsigned __int8 caster)
 
void Reset ()
 
bool IsBuffExpiredToTime (GameTime time)
 
bool Active () const
 
bool Expired () const
 

Открытые атрибуты

GameTime expire_time
 
unsigned __int16 uPower
 
unsigned __int16 uSkill
 
unsigned __int16 uOverlayID
 
unsigned __int8 uCaster
 
unsigned __int8 uFlags
 

Подробное описание

См. определение в файле Spells.h строка 147

Конструктор(ы)

◆ SpellBuff()

SpellBuff::SpellBuff ( )
inline

См. определение в файле Spells.h строка 148

148  {
149  uPower = 0;
150  uSkill = 0;
151  uOverlayID = 0;
152  uCaster = 0;
153  uFlags = 0;
154  }

Перекрестные ссылки uCaster, uFlags, uOverlayID, uPower и uSkill.

Методы

◆ Apply()

bool SpellBuff::Apply ( GameTime  time,
unsigned __int16  uSkillLevel,
unsigned __int16  uPower,
int  uOverlayID,
unsigned __int8  caster 
)

См. определение в файле Spells.cpp строка 363

365  {
366  if (this->expire_time && (expire_time < this->expire_time)) {
367  return false;
368  }
369 
370  this->uSkill = uSkillLevel;
371  this->uPower = uPower;
372  this->expire_time = expire_time;
373  if (this->uOverlayID && this->uOverlayID != uOverlayID) {
375  pOtherOverlayList->bRedraw = true;
376  this->uOverlayID = 0;
377  }
378  this->uOverlayID = uOverlayID;
379  this->uCaster = caster;
380 
381  return true;
382 }

Перекрестные ссылки OtherOverlayList::bRedraw, expire_time, pOtherOverlayList, OtherOverlayList::pOverlays, OtherOverlay::Reset(), uCaster, uOverlayID, uPower и uSkill.

Используется в Actor::AI_SpellAttack() и Actor::DamageMonsterFromParty().

+ Граф вызовов:
+ Граф вызова функции:

◆ Reset()

void SpellBuff::Reset ( )

См. определение в файле Spells.cpp строка 337

337  {
338  uSkill = 0;
339  uPower = 0;
340  expire_time.Reset();
341  uCaster = 0;
342  uFlags = 0;
343  if (uOverlayID) {
345  pOtherOverlayList->bRedraw = true;
346  uOverlayID = 0;
347  }
348 }

Перекрестные ссылки OtherOverlayList::bRedraw, expire_time, pOtherOverlayList, OtherOverlayList::pOverlays, OtherOverlay::Reset(), GameTime::Reset(), uCaster, uFlags, uOverlayID, uPower и uSkill.

Используется в Actor::_4273BB_DoesHitOtherActor(), _494035_timed_effects__water_walking_damage__etc(), SpellFxRenderer::_4A806F_get_mass_distortion_value(), Actor::ActorHitOrMiss() и Actor::Die().

+ Граф вызовов:
+ Граф вызова функции:

◆ IsBuffExpiredToTime()

bool SpellBuff::IsBuffExpiredToTime ( GameTime  time)

См. определение в файле Spells.cpp строка 351

351  {
352  if (this->expire_time && (this->expire_time < time)) {
353  expire_time.Reset();
354  uPower = 0;
355  uSkill = 0;
356  uOverlayID = 0;
357  return true;
358  }
359  return false;
360 }

Перекрестные ссылки expire_time, GameTime::Reset(), uOverlayID, uPower и uSkill.

Используется в Actor::UpdateActorAI().

+ Граф вызовов:
+ Граф вызова функции:

◆ Active()

bool SpellBuff::Active ( ) const
inline

См. определение в файле Spells.h строка 162

162 { return this->expire_time.value > 0; }

Перекрестные ссылки expire_time и GameTime::value.

Используется в Actor::_4273BB_DoesHitOtherActor(), Actor::_SelectTarget(), Actor::CanAct(), Actor::DamageMonsterFromParty(), DamagePlayerFromMonster(), GameUI_CharacterQuickRecord_Draw(), Actor::GetActorsRelation(), Actor::IsNotAlive(), Player::PlayerHitOrMiss(), stru262_TurnBased::SetAIRecoveryTimes() и Actor::UpdateActorAI().

+ Граф вызова функции:

◆ Expired()

bool SpellBuff::Expired ( ) const
inline

См. определение в файле Spells.h строка 163

163 { return this->expire_time.value < 0; }

Перекрестные ссылки expire_time и GameTime::value.

Используется в Actor::_427102_IsOkToCastSpell(), stru262_TurnBased::AITurnBasedAction() и Actor::UpdateActorAI().

+ Граф вызова функции:

Данные класса

◆ expire_time

◆ uPower

◆ uSkill

unsigned __int16 SpellBuff::uSkill

См. определение в файле Spells.h строка 167

Используется в Actor::Actor(), Apply(), SpellBuff_Image_MM7::Deserialize(), IsBuffExpiredToTime(), Reset(), SpellBuff_Image_MM7::Serialize() и SpellBuff().

◆ uOverlayID

unsigned __int16 SpellBuff::uOverlayID

См. определение в файле Spells.h строка 168

Используется в Apply(), SpellBuff_Image_MM7::Deserialize(), IsBuffExpiredToTime(), Reset(), SpellBuff_Image_MM7::Serialize() и SpellBuff().

◆ uCaster

unsigned __int8 SpellBuff::uCaster

◆ uFlags

unsigned __int8 SpellBuff::uFlags

Объявления и описания членов структур находятся в файлах:
OtherOverlayList::bRedraw
int bRedraw
Definition: Overlays.h:38
SpellBuff::uSkill
unsigned __int16 uSkill
Definition: Spells.h:167
GameTime::value
int64_t value
Definition: Time.h:99
GameTime::Reset
void Reset()
Definition: Time.h:58
OtherOverlayList::pOverlays
OtherOverlay pOverlays[50]
Definition: Overlays.h:36
SpellBuff::expire_time
GameTime expire_time
Definition: Spells.h:165
SpellBuff::uOverlayID
unsigned __int16 uOverlayID
Definition: Spells.h:168
pOtherOverlayList
struct OtherOverlayList * pOtherOverlayList
Definition: Overlays.cpp:19
SpellBuff::uCaster
unsigned __int8 uCaster
Definition: Spells.h:169
SpellBuff::uPower
unsigned __int16 uPower
Definition: Spells.h:166
SpellBuff::uFlags
unsigned __int8 uFlags
Definition: Spells.h:170
OtherOverlay::Reset
void Reset()
Definition: Overlays.cpp:203