World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Файл Spells.h

См. исходные тексты.

Классы

struct  SpellBuff
 
struct  SpellInfo
 
struct  SpellStats
 
struct  stru324_spell_id_to_sprite_mapping
 
class  SpellData
 
struct  SpellBookIconPos
 
struct  TownPortalData
 

Перечисления

enum  SPELL_TYPE {
  SPELL_0 = 0, SPELL_FIRE_TORCH_LIGHT = 1, SPELL_FIRE_FIRE_BOLT = 2, SPELL_FIRE_PROTECTION_FROM_FIRE = 3,
  SPELL_FIRE_FIRE_AURA = 4, SPELL_FIRE_HASTE = 5, SPELL_FIRE_FIREBALL = 6, SPELL_FIRE_FIRE_SPIKE = 7,
  SPELL_FIRE_IMMOLATION = 8, SPELL_FIRE_METEOR_SHOWER = 9, SPELL_FIRE_INFERNO = 10, SPELL_FIRE_INCINERATE = 11,
  SPELL_AIR_WIZARD_EYE = 12, SPELL_AIR_FEATHER_FALL = 13, SPELL_AIR_PROTECTION_FROM_AIR = 14, SPELL_AIR_SPARKS = 15,
  SPELL_AIR_JUMP = 16, SPELL_AIR_SHIELD = 17, SPELL_AIR_LIGHNING_BOLT = 18, SPELL_AIR_INVISIBILITY = 19,
  SPELL_AIR_IMPLOSION = 20, SPELL_AIR_FLY = 21, SPELL_AIR_STARBURST = 22, SPELL_WATER_AWAKEN = 23,
  SPELL_WATER_POISON_SPRAY = 24, SPELL_WATER_PROTECTION_FROM_WATER = 25, SPELL_WATER_ICE_BOLT = 26, SPELL_WATER_WATER_WALK = 27,
  SPELL_WATER_RECHARGE_ITEM = 28, SPELL_WATER_ACID_BURST = 29, SPELL_WATER_ENCHANT_ITEM = 30, SPELL_WATER_TOWN_PORTAL = 31,
  SPELL_WATER_ICE_BLAST = 32, SPELL_WATER_LLOYDS_BEACON = 33, SPELL_EARTH_STUN = 34, SPELL_EARTH_SLOW = 35,
  SPELL_EARTH_PROTECTION_FROM_EARTH = 36, SPELL_EARTH_DEADLY_SWARM = 37, SPELL_EARTH_STONESKIN = 38, SPELL_EARTH_BLADES = 39,
  SPELL_EARTH_STONE_TO_FLESH = 40, SPELL_EARTH_ROCK_BLAST = 41, SPELL_EARTH_TELEKINESIS = 42, SPELL_EARTH_DEATH_BLOSSOM = 43,
  SPELL_EARTH_MASS_DISTORTION = 44, SPELL_SPIRIT_DETECT_LIFE = 45, SPELL_SPIRIT_BLESS = 46, SPELL_SPIRIT_FATE = 47,
  SPELL_SPIRIT_TURN_UNDEAD = 48, SPELL_SPIRIT_REMOVE_CURSE = 49, SPELL_SPIRIT_PRESERVATION = 50, SPELL_SPIRIT_HEROISM = 51,
  SPELL_SPIRIT_SPIRIT_LASH = 52, SPELL_SPIRIT_RAISE_DEAD = 53, SPELL_SPIRIT_SHARED_LIFE = 54, SPELL_SPIRIT_RESSURECTION = 55,
  SPELL_MIND_REMOVE_FEAR = 56, SPELL_MIND_MIND_BLAST = 57, SPELL_MIND_PROTECTION_FROM_MIND = 58, SPELL_MIND_TELEPATHY = 59,
  SPELL_MIND_CHARM = 60, SPELL_MIND_CURE_PARALYSIS = 61, SPELL_MIND_BERSERK = 62, SPELL_MIND_MASS_FEAR = 63,
  SPELL_MIND_CURE_INSANITY = 64, SPELL_MIND_PSYCHIC_SHOCK = 65, SPELL_MIND_ENSLAVE = 66, SPELL_BODY_CURE_WEAKNESS = 67,
  SPELL_BODY_FIRST_AID = 68, SPELL_BODY_PROTECTION_FROM_BODY = 69, SPELL_BODY_HARM = 70, SPELL_BODY_REGENERATION = 71,
  SPELL_BODY_CURE_POISON = 72, SPELL_BODY_HAMMERHANDS = 73, SPELL_BODY_CURE_DISEASE = 74, SPELL_BODY_PROTECTION_FROM_MAGIC = 75,
  SPELL_BODY_FLYING_FIST = 76, SPELL_BODY_POWER_CURE = 77, SPELL_LIGHT_LIGHT_BOLT = 78, SPELL_LIGHT_DESTROY_UNDEAD = 79,
  SPELL_LIGHT_DISPEL_MAGIC = 80, SPELL_LIGHT_PARALYZE = 81, SPELL_LIGHT_SUMMON_ELEMENTAL = 82, SPELL_LIGHT_DAY_OF_THE_GODS = 83,
  SPELL_LIGHT_PRISMATIC_LIGHT = 84, SPELL_LIGHT_DAY_OF_PROTECTION = 85, SPELL_LIGHT_HOUR_OF_POWER = 86, SPELL_LIGHT_SUNRAY = 87,
  SPELL_LIGHT_DIVINE_INTERVENTION = 88, SPELL_DARK_REANIMATE = 89, SPELL_DARK_TOXIC_CLOUD = 90, SPELL_DARK_VAMPIRIC_WEAPON = 91,
  SPELL_DARK_SHRINKING_RAY = 92, SPELL_DARK_SHARPMETAL = 93, SPELL_DARK_CONTROL_UNDEAD = 94, SPELL_DARK_PAIN_REFLECTION = 95,
  SPELL_DARK_SACRIFICE = 96, SPELL_DARK_DRAGON_BREATH = 97, SPELL_DARK_ARMAGEDDON = 98, SPELL_DARK_SOULDRINKER = 99,
  SPELL_BOW_ARROW = 100, SPELL_101 = 101, SPELL_LASER_PROJECTILE = 102, BECOME_MAGIC_GUILD_MEMBER = 150,
  SPELL_QUEST_COMPLETED = 151, SPELL_152 = 152, SPELL_DISEASE = 153
}
 
enum  SPELL_SCHOOL : int {
  SPELL_SCHOOL_FIRE = 0, SPELL_SCHOOL_AIR = 1, SPELL_SCHOOL_WATER = 2, SPELL_SCHOOL_EARTH = 3,
  SPELL_SCHOOL_NONE = 4, SPELL_SCHOOL_MAGIC = 5, SPELL_SCHOOL_SPIRIT = 6, SPELL_SCHOOL_MIND = 7,
  SPELL_SCHOOL_BODY = 8, SPELL_SCHOOL_LIGHT = 9, SPELL_SCHOOL_DARK = 10
}
 

Функции

int _43AFE3_calc_spell_damage (int spellId, int spellLevel, signed int skillMastery, int currentHp)
 
bool sub_427769_isSpellQuickCastableOnShiftClick (unsigned int uSpellID)
 
void EventCastSpell (int uSpellID, int uSkillLevel, int uSkill, int fromx, int fromy, int fromz, int tox, int toy, int toz)
 

Переменные

std::array< TownPortalData, 6 > TownPortalList
 
struct SpellStatspSpellStats
 
std::array< std::array< struct SpellBookIconPos, 12 >, 9 > pIconPos
 
std::array< stru324_spell_id_to_sprite_mapping, 103 > spell_sprite_mapping
 
std::array< SpellData, 100 > pSpellDatas
 
std::array< SPELL_TYPE, 25 > wand_spell_ids
 

Перечисления

◆ SPELL_TYPE

enum SPELL_TYPE
Элементы перечислений
SPELL_0 
SPELL_FIRE_TORCH_LIGHT 
SPELL_FIRE_FIRE_BOLT 
SPELL_FIRE_PROTECTION_FROM_FIRE 
SPELL_FIRE_FIRE_AURA 
SPELL_FIRE_HASTE 
SPELL_FIRE_FIREBALL 
SPELL_FIRE_FIRE_SPIKE 
SPELL_FIRE_IMMOLATION 
SPELL_FIRE_METEOR_SHOWER 
SPELL_FIRE_INFERNO 
SPELL_FIRE_INCINERATE 
SPELL_AIR_WIZARD_EYE 
SPELL_AIR_FEATHER_FALL 
SPELL_AIR_PROTECTION_FROM_AIR 
SPELL_AIR_SPARKS 
SPELL_AIR_JUMP 
SPELL_AIR_SHIELD 
SPELL_AIR_LIGHNING_BOLT 
SPELL_AIR_INVISIBILITY 
SPELL_AIR_IMPLOSION 
SPELL_AIR_FLY 
SPELL_AIR_STARBURST 
SPELL_WATER_AWAKEN 
SPELL_WATER_POISON_SPRAY 
SPELL_WATER_PROTECTION_FROM_WATER 
SPELL_WATER_ICE_BOLT 
SPELL_WATER_WATER_WALK 
SPELL_WATER_RECHARGE_ITEM 
SPELL_WATER_ACID_BURST 
SPELL_WATER_ENCHANT_ITEM 
SPELL_WATER_TOWN_PORTAL 
SPELL_WATER_ICE_BLAST 
SPELL_WATER_LLOYDS_BEACON 
SPELL_EARTH_STUN 
SPELL_EARTH_SLOW 
SPELL_EARTH_PROTECTION_FROM_EARTH 
SPELL_EARTH_DEADLY_SWARM 
SPELL_EARTH_STONESKIN 
SPELL_EARTH_BLADES 
SPELL_EARTH_STONE_TO_FLESH 
SPELL_EARTH_ROCK_BLAST 
SPELL_EARTH_TELEKINESIS 
SPELL_EARTH_DEATH_BLOSSOM 
SPELL_EARTH_MASS_DISTORTION 
SPELL_SPIRIT_DETECT_LIFE 
SPELL_SPIRIT_BLESS 
SPELL_SPIRIT_FATE 
SPELL_SPIRIT_TURN_UNDEAD 
SPELL_SPIRIT_REMOVE_CURSE 
SPELL_SPIRIT_PRESERVATION 
SPELL_SPIRIT_HEROISM 
SPELL_SPIRIT_SPIRIT_LASH 
SPELL_SPIRIT_RAISE_DEAD 
SPELL_SPIRIT_SHARED_LIFE 
SPELL_SPIRIT_RESSURECTION 
SPELL_MIND_REMOVE_FEAR 
SPELL_MIND_MIND_BLAST 
SPELL_MIND_PROTECTION_FROM_MIND 
SPELL_MIND_TELEPATHY 
SPELL_MIND_CHARM 
SPELL_MIND_CURE_PARALYSIS 
SPELL_MIND_BERSERK 
SPELL_MIND_MASS_FEAR 
SPELL_MIND_CURE_INSANITY 
SPELL_MIND_PSYCHIC_SHOCK 
SPELL_MIND_ENSLAVE 
SPELL_BODY_CURE_WEAKNESS 
SPELL_BODY_FIRST_AID 
SPELL_BODY_PROTECTION_FROM_BODY 
SPELL_BODY_HARM 
SPELL_BODY_REGENERATION 
SPELL_BODY_CURE_POISON 
SPELL_BODY_HAMMERHANDS 
SPELL_BODY_CURE_DISEASE 
SPELL_BODY_PROTECTION_FROM_MAGIC 
SPELL_BODY_FLYING_FIST 
SPELL_BODY_POWER_CURE 
SPELL_LIGHT_LIGHT_BOLT 
SPELL_LIGHT_DESTROY_UNDEAD 
SPELL_LIGHT_DISPEL_MAGIC 
SPELL_LIGHT_PARALYZE 
SPELL_LIGHT_SUMMON_ELEMENTAL 
SPELL_LIGHT_DAY_OF_THE_GODS 
SPELL_LIGHT_PRISMATIC_LIGHT 
SPELL_LIGHT_DAY_OF_PROTECTION 
SPELL_LIGHT_HOUR_OF_POWER 
SPELL_LIGHT_SUNRAY 
SPELL_LIGHT_DIVINE_INTERVENTION 
SPELL_DARK_REANIMATE 
SPELL_DARK_TOXIC_CLOUD 
SPELL_DARK_VAMPIRIC_WEAPON 
SPELL_DARK_SHRINKING_RAY 
SPELL_DARK_SHARPMETAL 
SPELL_DARK_CONTROL_UNDEAD 
SPELL_DARK_PAIN_REFLECTION 
SPELL_DARK_SACRIFICE 
SPELL_DARK_DRAGON_BREATH 
SPELL_DARK_ARMAGEDDON 
SPELL_DARK_SOULDRINKER 
SPELL_BOW_ARROW 
SPELL_101 
SPELL_LASER_PROJECTILE 
BECOME_MAGIC_GUILD_MEMBER 
SPELL_QUEST_COMPLETED 
SPELL_152 
SPELL_DISEASE 

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

10  {
11  SPELL_0 = 0,
12 
17  SPELL_FIRE_HASTE = 5,
22  SPELL_FIRE_INFERNO = 10,
24 
28  SPELL_AIR_SPARKS = 15,
29  SPELL_AIR_JUMP = 16,
30  SPELL_AIR_SHIELD = 17,
34  SPELL_AIR_FLY = 21,
36 
37  SPELL_WATER_AWAKEN = 23,
48 
49  SPELL_EARTH_STUN = 34,
50  SPELL_EARTH_SLOW = 35,
54  SPELL_EARTH_BLADES = 39,
60 
62  SPELL_SPIRIT_BLESS = 46,
63  SPELL_SPIRIT_FATE = 47,
72 
77  SPELL_MIND_CHARM = 60,
79  SPELL_MIND_BERSERK = 62,
83  SPELL_MIND_ENSLAVE = 66,
84 
88  SPELL_BODY_HARM = 70,
96 
106  SPELL_LIGHT_SUNRAY = 87,
108 
120 
121  SPELL_BOW_ARROW = 100,
122  SPELL_101 = 101,
124 
126  SPELL_QUEST_COMPLETED = 151,
127  SPELL_152 = 152,
128  SPELL_DISEASE = 153
129 };

◆ SPELL_SCHOOL

enum SPELL_SCHOOL : int
Элементы перечислений
SPELL_SCHOOL_FIRE 
SPELL_SCHOOL_AIR 
SPELL_SCHOOL_WATER 
SPELL_SCHOOL_EARTH 
SPELL_SCHOOL_NONE 
SPELL_SCHOOL_MAGIC 
SPELL_SCHOOL_SPIRIT 
SPELL_SCHOOL_MIND 
SPELL_SCHOOL_BODY 
SPELL_SCHOOL_LIGHT 
SPELL_SCHOOL_DARK 

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

131  : int {
132  SPELL_SCHOOL_FIRE = 0,
133  SPELL_SCHOOL_AIR = 1,
134  SPELL_SCHOOL_WATER = 2,
135  SPELL_SCHOOL_EARTH = 3,
136  SPELL_SCHOOL_NONE = 4,
137  SPELL_SCHOOL_MAGIC = 5,
139  SPELL_SCHOOL_MIND = 7,
140  SPELL_SCHOOL_BODY = 8,
141  SPELL_SCHOOL_LIGHT = 9,
142  SPELL_SCHOOL_DARK = 10
143 };

Функции

◆ _43AFE3_calc_spell_damage()

int _43AFE3_calc_spell_damage ( int  spellId,
int  spellLevel,
signed int  skillMastery,
int  currentHp 
)

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

746  {
747  int result; // eax@1
748  unsigned int v5; // [sp-4h] [bp-8h]@9
749 
750  result = 0;
751  if (spellId == SPELL_FIRE_FIRE_SPIKE) {
752  switch (skillMastery) {
753  case 1:
754  case 2:
755  v5 = 6;
756  break;
757  case 3:
758  v5 = 8;
759  break;
760  case 4:
761  v5 = 10;
762  break;
763  default:
764  return 0;
765  }
766  result = GetDiceResult(spellLevel, v5);
767  } else if (spellId == SPELL_EARTH_MASS_DISTORTION) {
768  result = currentHp *
770  2 * spellLevel) /
771  100;
772  } else {
773  result =
774  pSpellDatas[spellId].baseDamage +
775  GetDiceResult(spellLevel, pSpellDatas[spellId].bonusSkillDamage);
776  }
777 
778  return result;
779 }

Перекрестные ссылки GetDiceResult(), pSpellDatas, SPELL_EARTH_MASS_DISTORTION и SPELL_FIRE_FIRE_SPIKE.

Используется в Actor::_43B3E0_CalcDamage(), Actor::DamageMonsterFromParty(), DamagePlayerFromMonster() и ItemDamageFromActor().

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

◆ sub_427769_isSpellQuickCastableOnShiftClick()

bool sub_427769_isSpellQuickCastableOnShiftClick ( unsigned int  uSpellID)

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

741  {
742  return (pSpellDatas[uSpellID].stats & 0xC) != 0;
743 }

Перекрестные ссылки pSpellDatas.

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

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

◆ EventCastSpell()

void EventCastSpell ( int  uSpellID,
int  uSkillLevel,
int  uSkill,
int  fromx,
int  fromy,
int  fromz,
int  tox,
int  toy,
int  toz 
)

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

430  {
431  unsigned int skillMasteryPlusOne = uSkillLevel + 1;
432  Assert(skillMasteryPlusOne > 0 && skillMasteryPlusOne <= 4,
433  "Invalid mastery level");
434 
435  int64_t x_coord_delta = 0;
436  int64_t y_coord_delta = 0;
437  int64_t z_coord_delta = 0;
438  if (tox || toy || toz) {
439  x_coord_delta = tox - fromx;
440  y_coord_delta = toy - fromy;
441  z_coord_delta = toz - fromz;
442  } else {
443  x_coord_delta = pParty->vPosition.x - fromx;
444  y_coord_delta = pParty->vPosition.y - fromy;
445  z_coord_delta = (pParty->vPosition.z + pParty->sEyelevel) - fromz;
446  }
447 
448  int yaw = 0;
449  int pitch = 0;
450  double distance_to_target = sqrt((long double)(
451  x_coord_delta * x_coord_delta + y_coord_delta * y_coord_delta +
452  z_coord_delta * z_coord_delta));
453  if (distance_to_target <= 1.0) {
454  distance_to_target = 1;
455  } else {
456  int64_t ySquared = y_coord_delta * y_coord_delta;
457  int64_t xSquared = x_coord_delta * x_coord_delta;
458  int xy_distance = (int)sqrt((long double)(xSquared + ySquared));
459  yaw = stru_5C6E00->Atan2((int)x_coord_delta, (int)y_coord_delta);
460  pitch = stru_5C6E00->Atan2(xy_distance, (int)z_coord_delta);
461  }
462 
463  SpriteObject spell_sprites;
464 
465  switch (uSpellID) {
467  case SPELL_FIRE_FIREBALL:
472  case SPELL_EARTH_BLADES:
475  case SPELL_AIR_SPARKS:
477  spell_sprites.uType = spell_sprite_mapping[uSpellID].uSpriteType;
478  spell_sprites.containing_item.Reset();
479  spell_sprites.spell_id = uSpellID;
480  spell_sprites.spell_level = uSkill;
481  spell_sprites.spell_skill = skillMasteryPlusOne;
482  spell_sprites.uObjectDescID = pObjectList->ObjectIDByItemID(spell_sprites.uType);
483  spell_sprites.vPosition.x = fromx;
484  spell_sprites.vPosition.y = fromy;
485  spell_sprites.vPosition.z = fromz;
486  spell_sprites.uAttributes = 16;
487  spell_sprites.uSectorID = pIndoor->GetSector(fromx, fromy, fromz);
488  spell_sprites.field_60_distance_related_prolly_lod = distance_to_target;
489  spell_sprites.uSpriteFrameID = 0;
490  spell_sprites.spell_caster_pid = 8000 | OBJECT_Item;
491  spell_sprites.uSoundID = 0;
492  break;
493  }
494 
495  int spell_length = 0;
496  GameTime spell_expire_time;
497  int spell_power;
498  int launch_angle;
499  int launch_speed;
500  int spell_num_objects = 0;
501  int spell_spray_arc;
502  int spell_spray_angles;
503  int spriteid;
504 
505  switch (uSpellID) {
507  case SPELL_FIRE_FIREBALL:
512  case SPELL_EARTH_BLADES:
514  // v20 = yaw;
515  spell_sprites.spell_target_pid = 0;
516  spell_sprites.uFacing = yaw;
517  spell_sprites.uSoundID = 0;
518  launch_speed =
520  ->pObjects[(signed __int16)spell_sprites.uObjectDescID]
521  .uSpeed;
522  spriteid = spell_sprites.Create(yaw, pitch, launch_speed, 0);
523  // pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID],
524  // 0, 0, fromx, fromy, 0, 0, 0);
525  pAudioPlayer->PlaySpellSound(uSpellID, PID(OBJECT_Item, spriteid));
526  return;
528  spell_num_objects = (skillMasteryPlusOne * 2) - 1;
529  spell_sprites.spell_target_pid = 0;
530  spell_sprites.uFacing = yaw;
531  if (spell_num_objects == 1) {
532  launch_speed =
534  ->pObjects[(signed __int16)spell_sprites.uObjectDescID]
535  .uSpeed;
536  spriteid = spell_sprites.Create(yaw, pitch, launch_speed, 0);
537  } else {
538  spell_spray_arc =
539  (signed int)(60 * stru_5C6E00->uIntegerDoublePi) / 360;
540  spell_spray_angles = spell_spray_arc / (spell_num_objects - 1);
541  for (int i = spell_spray_arc / -2; i <= spell_spray_arc / 2;
542  i += spell_spray_angles) {
543  spell_sprites.uFacing = i + yaw;
544  spriteid = spell_sprites.Create(
545  i + yaw, pitch,
546  pObjectList->pObjects[spell_sprites.uObjectDescID]
547  .uSpeed,
548  0);
549  }
550  }
551  // pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID],
552  // 0, 0, fromx, fromy, 0, 0, 0);
553  pAudioPlayer->PlaySpellSound(uSpellID, PID(OBJECT_Item, spriteid));
554  return;
555  case SPELL_AIR_SPARKS:
556  spell_num_objects = (skillMasteryPlusOne * 2) + 1;
557  spell_spray_arc =
558  (signed int)(60 * stru_5C6E00->uIntegerDoublePi) / 360;
559  spell_spray_angles = spell_spray_arc / (spell_num_objects - 1);
560  spell_sprites.spell_target_pid = 4;
561  for (int i = spell_spray_arc / -2; i <= spell_spray_arc / 2;
562  i += spell_spray_angles) {
563  spell_sprites.uFacing = i + yaw;
564  spriteid = spell_sprites.Create(
565  i + yaw, pitch,
566  pObjectList->pObjects[spell_sprites.uObjectDescID].uSpeed,
567  0);
568  }
569  // pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID],
570  // 0, 0, fromx, fromy, 0, 0, 0);
571  pAudioPlayer->PlaySpellSound(uSpellID, PID(OBJECT_Item, spriteid));
572  return;
575  spell_sprites.spell_target_pid = 4;
576  launch_speed =
577  pObjectList->pObjects[spell_sprites.uObjectDescID].uSpeed;
578  launch_angle = stru_5C6E00->uIntegerHalfPi / 2;
579  spriteid = spell_sprites.Create(yaw, launch_angle, launch_speed, 0);
580  // pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID],
581  // 0, 0, fromx, fromy, 0, 0, 0);
582  pAudioPlayer->PlaySpellSound(uSpellID, PID(OBJECT_Item, spriteid));
583  return;
584 
585  case SPELL_FIRE_HASTE:
586  if (skillMasteryPlusOne > 0) {
587  if (skillMasteryPlusOne <= 2)
588  spell_length = 60 * (uSkill + 60);
589  else if (skillMasteryPlusOne == 3)
590  spell_length = 180 * (uSkill + 20);
591  else if (skillMasteryPlusOne == 4)
592  spell_length = 240 * (uSkill + 15);
593  }
594  for (uint i = 0; i < 4; ++i)
595  if (pParty->pPlayers[i].IsWeak()) return;
598  skillMasteryPlusOne, 0, 0, 0);
599  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 0);
600  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 1);
601  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 2);
602  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 3);
603  // pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID],
604  // 0, 0, fromx, fromy, 0, 0, 0); // звук алтаря
605  pAudioPlayer->PlaySpellSound(uSpellID, 0);
606  return;
607  case SPELL_AIR_SHIELD:
610  switch (skillMasteryPlusOne) {
611  case 1:
612  case 2:
613  spell_length = 300 * (uSkill + 12);
614  break;
615  case 3:
616  spell_length = 900 * (uSkill + 4);
617  break;
618  case 4:
619  spell_length = 3600 * (uSkill + 1);
620  break;
621  }
622  switch (uSpellID) {
623  case SPELL_AIR_SHIELD:
624  spell_num_objects = 0;
625  uSkill = 14;
626  break;
628  spell_num_objects = uSkill + 5;
629  uSkill = 15;
630  break;
632  spell_num_objects = uSkill + 5;
633  uSkill = 9;
634  break;
635  }
636  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 0);
637  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 1);
638  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 2);
639  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 3);
640  spell_expire_time =
642  pParty->pPartyBuffs[uSkill].Apply(spell_expire_time,
643  skillMasteryPlusOne,
644  spell_num_objects, 0, 0);
645  // pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID],
646  // 0, 0, fromx, fromy, 0, 0, 0);
647  pAudioPlayer->PlaySpellSound(uSpellID, 0);
648  return;
650  if (skillMasteryPlusOne == 4)
651  spell_length = 600 * uSkill;
652  else
653  spell_length = 60 * uSkill;
654  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 0);
655  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 1);
656  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 2);
657  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 3);
658 
659  spell_expire_time =
662  spell_expire_time, skillMasteryPlusOne, uSkill, 0, 0);
663  // pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID],
664  // 0, 0, fromx, fromy, 0, 0, 0);
665  pAudioPlayer->PlaySpellSound(uSpellID, 0);
666  return;
673  spell_length = 3600 * uSkill;
674  spell_num_objects = uSkill * skillMasteryPlusOne;
675 
676  switch (uSpellID) {
678  uSkill = PARTY_BUFF_RESIST_FIRE;
679  break;
681  uSkill = PARTY_BUFF_RESIST_AIR;
682  break;
684  uSkill = PARTY_BUFF_RESIST_WATER;
685  break;
687  uSkill = PARTY_BUFF_RESIST_EARTH;
688  break;
690  uSkill = PARTY_BUFF_RESIST_MIND;
691  break;
693  uSkill = PARTY_BUFF_RESIST_BODY;
694  break;
695  }
696  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 0);
697  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 1);
698  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 2);
699  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 3);
700  pParty->pPartyBuffs[uSkill].Apply(
702  skillMasteryPlusOne, spell_num_objects, 0, 0);
703  // pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID],
704  // 0, 0, fromx, fromy, 0, 0, 0);
705  pAudioPlayer->PlaySpellSound(uSpellID, 0);
706  return;
708  switch (skillMasteryPlusOne) {
709  case 2:
710  spell_length = 10800 * uSkill;
711  spell_power = 3 * uSkill + 10;
712  break;
713  case 3:
714  spell_length = 18000 * uSkill;
715  spell_power = 5 * uSkill + 10;
716  break;
717  case 4:
718  spell_length = 14400 * uSkill;
719  spell_power = 4 * uSkill + 10;
720  break;
721  }
722  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 0);
723  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 1);
724  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 2);
725  spell_fx_renderer->SetPlayerBuffAnim(uSpellID, 3);
726 
727  spell_expire_time =
730  spell_expire_time, skillMasteryPlusOne, spell_power, 0, 0);
731  // pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID],
732  // 0, 0, fromx, fromy, 0, 0, 0);
733  pAudioPlayer->PlaySpellSound(uSpellID, 0);
734  return;
735  default:
736  return;
737  }
738 }

Перекрестные ссылки stru193_math::Atan2(), SpriteObject::containing_item, SpriteObject::Create(), SpriteObject::field_60_distance_related_prolly_lod, GameTime::FromSeconds(), Party::GetPlayingTime(), IndoorLocation::GetSector(), LEVEL_Indoor, OBJECT_Item, ObjectList::ObjectIDByItemID(), PARTY_BUFF_DAY_OF_GODS, PARTY_BUFF_HASTE, PARTY_BUFF_IMMOLATION, PARTY_BUFF_RESIST_AIR, PARTY_BUFF_RESIST_BODY, PARTY_BUFF_RESIST_EARTH, PARTY_BUFF_RESIST_FIRE, PARTY_BUFF_RESIST_MIND, PARTY_BUFF_RESIST_WATER, pAudioPlayer, pIndoor, AudioPlayer::PlaySpellSound(), pObjectList, ObjectList::pObjects, pParty, Party::pPartyBuffs, Party::pPlayers, ItemGen::Reset(), SpellFxRenderer::SetPlayerBuffAnim(), Party::sEyelevel, SPELL_AIR_LIGHNING_BOLT, SPELL_AIR_PROTECTION_FROM_AIR, SPELL_AIR_SHIELD, SPELL_AIR_SPARKS, SPELL_BODY_PROTECTION_FROM_BODY, SpriteObject::spell_caster_pid, SPELL_EARTH_BLADES, SPELL_EARTH_DEATH_BLOSSOM, SPELL_EARTH_PROTECTION_FROM_EARTH, SPELL_EARTH_ROCK_BLAST, SPELL_EARTH_STONESKIN, SPELL_FIRE_FIRE_BOLT, SPELL_FIRE_FIREBALL, SPELL_FIRE_HASTE, SPELL_FIRE_IMMOLATION, SPELL_FIRE_PROTECTION_FROM_FIRE, spell_fx_renderer, SpriteObject::spell_id, SpriteObject::spell_level, SPELL_LIGHT_DAY_OF_THE_GODS, SPELL_MIND_PROTECTION_FROM_MIND, SpriteObject::spell_skill, SPELL_SPIRIT_HEROISM, spell_sprite_mapping, SpriteObject::spell_target_pid, SPELL_WATER_ACID_BURST, SPELL_WATER_ICE_BLAST, SPELL_WATER_ICE_BOLT, SPELL_WATER_POISON_SPRAY, SPELL_WATER_PROTECTION_FROM_WATER, stru_5C6E00, SpriteObject::uAttributes, uCurrentlyLoadedLevelType, SpriteObject::uFacing, stru193_math::uIntegerDoublePi, stru193_math::uIntegerHalfPi, SpriteObject::uObjectDescID, SpriteObject::uSectorID, SpriteObject::uSoundID, ObjectDesc::uSpeed, SpriteObject::uSpriteFrameID, SpriteObject::uType, SpriteObject::vPosition и Party::vPosition.

Используется в EventProcessor().

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

Переменные

◆ TownPortalList

std::array<TownPortalData, 6> TownPortalList

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

Используется в Application::Game::EventLoop().

◆ pSpellStats

◆ pIconPos

std::array<std::array<struct SpellBookIconPos, 12>, 9> pIconPos

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

Используется в GUIWindow_Spellbook::OpenSpellbook() и GUIWindow_Spellbook::Update().

◆ spell_sprite_mapping

std::array<stru324_spell_id_to_sprite_mapping, 103> spell_sprite_mapping

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

Используется в CastSpellInfoHelpers::_427E01_cast_spell(), _493938_regenerate(), Actor::AI_SpellAttack(), EventCastSpell() и Actor::GetObjDescId().

◆ pSpellDatas

◆ wand_spell_ids

std::array<SPELL_TYPE, 25> wand_spell_ids

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

Используется в Player::_42ECB5_PlayerAttacksActor() и Player::GetAttackRecoveryTime().

spell_fx_renderer
SpellFxRenderer * spell_fx_renderer
Definition: Spells.cpp:22
SpriteObject
Definition: SpriteObject.h:189
spell_sprite_mapping
std::array< stru324_spell_id_to_sprite_mapping, 103 > spell_sprite_mapping
Definition: Spells.cpp:35
SPELL_LIGHT_PARALYZE
@ SPELL_LIGHT_PARALYZE
Definition: Spells.h:100
ObjectDesc::uSpeed
int16_t uSpeed
Definition: ObjectList.h:31
SPELL_EARTH_STONESKIN
@ SPELL_EARTH_STONESKIN
Definition: Spells.h:53
Party::vPosition
Vec3_int_ vPosition
Definition: Party.h:250
PARTY_BUFF_DAY_OF_GODS
@ PARTY_BUFF_DAY_OF_GODS
Definition: Party.h:73
SPELL_SPIRIT_RESSURECTION
@ SPELL_SPIRIT_RESSURECTION
Definition: Spells.h:71
SPELL_SPIRIT_SHARED_LIFE
@ SPELL_SPIRIT_SHARED_LIFE
Definition: Spells.h:70
stru193_math::uIntegerDoublePi
static const unsigned int uIntegerDoublePi
Definition: OurMath.h:90
SPELL_SPIRIT_TURN_UNDEAD
@ SPELL_SPIRIT_TURN_UNDEAD
Definition: Spells.h:64
SPELL_SCHOOL_FIRE
@ SPELL_SCHOOL_FIRE
Definition: Spells.h:132
SpriteObject::uFacing
unsigned __int16 uFacing
Definition: SpriteObject.h:220
SPELL_LIGHT_DESTROY_UNDEAD
@ SPELL_LIGHT_DESTROY_UNDEAD
Definition: Spells.h:98
SPELL_101
@ SPELL_101
Definition: Spells.h:122
SPELL_DARK_VAMPIRIC_WEAPON
@ SPELL_DARK_VAMPIRIC_WEAPON
Definition: Spells.h:111
Party::GetPlayingTime
GameTime & GetPlayingTime()
Definition: Party.h:230
SPELL_LIGHT_LIGHT_BOLT
@ SPELL_LIGHT_LIGHT_BOLT
Definition: Spells.h:97
SPELL_DARK_ARMAGEDDON
@ SPELL_DARK_ARMAGEDDON
Definition: Spells.h:118
SPELL_0
@ SPELL_0
Definition: Spells.h:11
SPELL_SPIRIT_PRESERVATION
@ SPELL_SPIRIT_PRESERVATION
Definition: Spells.h:66
SPELL_MIND_PSYCHIC_SHOCK
@ SPELL_MIND_PSYCHIC_SHOCK
Definition: Spells.h:82
SPELL_SCHOOL_WATER
@ SPELL_SCHOOL_WATER
Definition: Spells.h:134
SPELL_DARK_PAIN_REFLECTION
@ SPELL_DARK_PAIN_REFLECTION
Definition: Spells.h:115
SpriteObject::field_60_distance_related_prolly_lod
char field_60_distance_related_prolly_lod
Definition: SpriteObject.h:234
OBJECT_Item
@ OBJECT_Item
Definition: Actor.h:66
SPELL_WATER_POISON_SPRAY
@ SPELL_WATER_POISON_SPRAY
Definition: Spells.h:38
PARTY_BUFF_IMMOLATION
@ PARTY_BUFF_IMMOLATION
Definition: Party.h:81
SPELL_LIGHT_HOUR_OF_POWER
@ SPELL_LIGHT_HOUR_OF_POWER
Definition: Spells.h:105
SPELL_AIR_WIZARD_EYE
@ SPELL_AIR_WIZARD_EYE
Definition: Spells.h:25
SPELL_LIGHT_DAY_OF_PROTECTION
@ SPELL_LIGHT_DAY_OF_PROTECTION
Definition: Spells.h:104
SPELL_EARTH_ROCK_BLAST
@ SPELL_EARTH_ROCK_BLAST
Definition: Spells.h:56
SPELL_WATER_WATER_WALK
@ SPELL_WATER_WATER_WALK
Definition: Spells.h:41
Party::sEyelevel
int sEyelevel
Definition: Party.h:239
SpriteObject::uSectorID
__int16 uSectorID
Definition: SpriteObject.h:223
stru193_math::uIntegerHalfPi
static const unsigned int uIntegerHalfPi
Definition: OurMath.h:89
SPELL_SCHOOL_SPIRIT
@ SPELL_SCHOOL_SPIRIT
Definition: Spells.h:138
SPELL_EARTH_DEADLY_SWARM
@ SPELL_EARTH_DEADLY_SWARM
Definition: Spells.h:52
SPELL_FIRE_FIRE_SPIKE
@ SPELL_FIRE_FIRE_SPIKE
Definition: Spells.h:19
SPELL_BODY_HARM
@ SPELL_BODY_HARM
Definition: Spells.h:88
GetDiceResult
int GetDiceResult(unsigned int uNumDice, unsigned int uDiceSides)
Definition: OurMath.cpp:194
ObjectList::ObjectIDByItemID
unsigned int ObjectIDByItemID(unsigned int uItemID)
Definition: ObjectList.cpp:7
SPELL_AIR_JUMP
@ SPELL_AIR_JUMP
Definition: Spells.h:29
SPELL_EARTH_PROTECTION_FROM_EARTH
@ SPELL_EARTH_PROTECTION_FROM_EARTH
Definition: Spells.h:51
int64_t
__int64 int64_t
Definition: alext.h:31
Party::pPlayers
std::array< Player, 4 > pPlayers
Definition: Party.h:310
SPELL_EARTH_DEATH_BLOSSOM
@ SPELL_EARTH_DEATH_BLOSSOM
Definition: Spells.h:58
SPELL_EARTH_STONE_TO_FLESH
@ SPELL_EARTH_STONE_TO_FLESH
Definition: Spells.h:55
SPELL_MIND_TELEPATHY
@ SPELL_MIND_TELEPATHY
Definition: Spells.h:76
SPELL_FIRE_TORCH_LIGHT
@ SPELL_FIRE_TORCH_LIGHT
Definition: Spells.h:13
PARTY_BUFF_RESIST_AIR
@ PARTY_BUFF_RESIST_AIR
Definition: Party.h:71
SpriteObject::uType
SPRITE_OBJECT_TYPE uType
Definition: SpriteObject.h:215
SPELL_MIND_MIND_BLAST
@ SPELL_MIND_MIND_BLAST
Definition: Spells.h:74
SPELL_FIRE_PROTECTION_FROM_FIRE
@ SPELL_FIRE_PROTECTION_FROM_FIRE
Definition: Spells.h:15
SPELL_WATER_TOWN_PORTAL
@ SPELL_WATER_TOWN_PORTAL
Definition: Spells.h:45
SPELL_MIND_PROTECTION_FROM_MIND
@ SPELL_MIND_PROTECTION_FROM_MIND
Definition: Spells.h:75
SPELL_DARK_SHARPMETAL
@ SPELL_DARK_SHARPMETAL
Definition: Spells.h:113
SPELL_WATER_ICE_BOLT
@ SPELL_WATER_ICE_BOLT
Definition: Spells.h:40
SPELL_FIRE_METEOR_SHOWER
@ SPELL_FIRE_METEOR_SHOWER
Definition: Spells.h:21
ItemGen::Reset
void Reset()
Definition: Items.cpp:133
PARTY_BUFF_RESIST_MIND
@ PARTY_BUFF_RESIST_MIND
Definition: Party.h:83
SpriteObject::uSpriteFrameID
unsigned __int16 uSpriteFrameID
Definition: SpriteObject.h:224
SPELL_AIR_PROTECTION_FROM_AIR
@ SPELL_AIR_PROTECTION_FROM_AIR
Definition: Spells.h:27
pIndoor
IndoorLocation * pIndoor
Definition: Indoor.cpp:49
SPELL_MIND_ENSLAVE
@ SPELL_MIND_ENSLAVE
Definition: Spells.h:83
SPELL_152
@ SPELL_152
Definition: Spells.h:127
result
GLuint64EXT * result
Definition: SDL_opengl_glext.h:9435
SpriteObject::uObjectDescID
unsigned __int16 uObjectDescID
Definition: SpriteObject.h:217
SPELL_FIRE_FIRE_BOLT
@ SPELL_FIRE_FIRE_BOLT
Definition: Spells.h:14
Party::pPartyBuffs
std::array< SpellBuff, 20 > pPartyBuffs
Definition: Party.h:309
SPELL_FIRE_INFERNO
@ SPELL_FIRE_INFERNO
Definition: Spells.h:22
SPELL_DISEASE
@ SPELL_DISEASE
Definition: Spells.h:128
SPELL_EARTH_TELEKINESIS
@ SPELL_EARTH_TELEKINESIS
Definition: Spells.h:57
SPELL_BODY_FIRST_AID
@ SPELL_BODY_FIRST_AID
Definition: Spells.h:86
SPELL_DARK_SOULDRINKER
@ SPELL_DARK_SOULDRINKER
Definition: Spells.h:119
SPELL_LASER_PROJECTILE
@ SPELL_LASER_PROJECTILE
Definition: Spells.h:123
SPELL_AIR_FEATHER_FALL
@ SPELL_AIR_FEATHER_FALL
Definition: Spells.h:26
SpriteObject::vPosition
struct Vec3_int_ vPosition
Definition: SpriteObject.h:218
pParty
Party * pParty
Definition: Party.cpp:30
SPELL_BODY_CURE_POISON
@ SPELL_BODY_CURE_POISON
Definition: Spells.h:90
SPELL_WATER_ICE_BLAST
@ SPELL_WATER_ICE_BLAST
Definition: Spells.h:46
SPELL_SCHOOL_DARK
@ SPELL_SCHOOL_DARK
Definition: Spells.h:142
SPELL_DARK_CONTROL_UNDEAD
@ SPELL_DARK_CONTROL_UNDEAD
Definition: Spells.h:114
PARTY_BUFF_RESIST_WATER
@ PARTY_BUFF_RESIST_WATER
Definition: Party.h:88
AudioPlayer::PlaySpellSound
void PlaySpellSound(unsigned int spell, unsigned int pid)
Definition: AudioPlayer.cpp:476
SPELL_MIND_CHARM
@ SPELL_MIND_CHARM
Definition: Spells.h:77
SPELL_WATER_AWAKEN
@ SPELL_WATER_AWAKEN
Definition: Spells.h:37
SPELL_SCHOOL_MIND
@ SPELL_SCHOOL_MIND
Definition: Spells.h:139
SPELL_SCHOOL_AIR
@ SPELL_SCHOOL_AIR
Definition: Spells.h:133
SPELL_FIRE_IMMOLATION
@ SPELL_FIRE_IMMOLATION
Definition: Spells.h:20
PARTY_BUFF_HASTE
@ PARTY_BUFF_HASTE
Definition: Party.h:79
pSpellDatas
std::array< SpellData, 100 > pSpellDatas
Definition: Spells.cpp:170
SPELL_SCHOOL_EARTH
@ SPELL_SCHOOL_EARTH
Definition: Spells.h:135
SPELL_LIGHT_DISPEL_MAGIC
@ SPELL_LIGHT_DISPEL_MAGIC
Definition: Spells.h:99
SPELL_BODY_REGENERATION
@ SPELL_BODY_REGENERATION
Definition: Spells.h:89
SpriteObject::spell_id
int spell_id
Definition: SpriteObject.h:228
SPELL_FIRE_FIRE_AURA
@ SPELL_FIRE_FIRE_AURA
Definition: Spells.h:16
SPELL_BODY_HAMMERHANDS
@ SPELL_BODY_HAMMERHANDS
Definition: Spells.h:91
SPELL_LIGHT_SUMMON_ELEMENTAL
@ SPELL_LIGHT_SUMMON_ELEMENTAL
Definition: Spells.h:101
SPELL_EARTH_SLOW
@ SPELL_EARTH_SLOW
Definition: Spells.h:50
SPELL_EARTH_STUN
@ SPELL_EARTH_STUN
Definition: Spells.h:49
SPELL_AIR_SHIELD
@ SPELL_AIR_SHIELD
Definition: Spells.h:30
SPELL_DARK_SACRIFICE
@ SPELL_DARK_SACRIFICE
Definition: Spells.h:116
SPELL_BODY_POWER_CURE
@ SPELL_BODY_POWER_CURE
Definition: Spells.h:95
SPELL_MIND_MASS_FEAR
@ SPELL_MIND_MASS_FEAR
Definition: Spells.h:80
SPELL_MIND_CURE_INSANITY
@ SPELL_MIND_CURE_INSANITY
Definition: Spells.h:81
SPELL_QUEST_COMPLETED
@ SPELL_QUEST_COMPLETED
Definition: Spells.h:126
SPELL_LIGHT_SUNRAY
@ SPELL_LIGHT_SUNRAY
Definition: Spells.h:106
LEVEL_Indoor
@ LEVEL_Indoor
Definition: Indoor.h:286
SpriteObject::Create
int Create(int yaw, int pitch, int a4, int a5)
Definition: SpriteObject.cpp:56
SpriteObject::containing_item
struct ItemGen containing_item
Definition: SpriteObject.h:227
SPELL_FIRE_FIREBALL
@ SPELL_FIRE_FIREBALL
Definition: Spells.h:18
SPELL_SPIRIT_RAISE_DEAD
@ SPELL_SPIRIT_RAISE_DEAD
Definition: Spells.h:69
SPELL_SPIRIT_BLESS
@ SPELL_SPIRIT_BLESS
Definition: Spells.h:62
SpriteObject::uSoundID
unsigned __int16 uSoundID
Definition: SpriteObject.h:221
SPELL_BODY_PROTECTION_FROM_BODY
@ SPELL_BODY_PROTECTION_FROM_BODY
Definition: Spells.h:87
SPELL_SCHOOL_BODY
@ SPELL_SCHOOL_BODY
Definition: Spells.h:140
SPELL_SPIRIT_REMOVE_CURSE
@ SPELL_SPIRIT_REMOVE_CURSE
Definition: Spells.h:65
stru193_math::Atan2
unsigned int Atan2(int x, int y)
Definition: OurMath.cpp:46
SPELL_SCHOOL_NONE
@ SPELL_SCHOOL_NONE
Definition: Spells.h:136
PARTY_BUFF_RESIST_EARTH
@ PARTY_BUFF_RESIST_EARTH
Definition: Party.h:75
SPELL_SPIRIT_SPIRIT_LASH
@ SPELL_SPIRIT_SPIRIT_LASH
Definition: Spells.h:68
SPELL_AIR_SPARKS
@ SPELL_AIR_SPARKS
Definition: Spells.h:28
SpriteObject::spell_level
int spell_level
Definition: SpriteObject.h:229
SPELL_EARTH_MASS_DISTORTION
@ SPELL_EARTH_MASS_DISTORTION
Definition: Spells.h:59
SpriteObject::spell_target_pid
int spell_target_pid
Definition: SpriteObject.h:233
SPELL_BODY_CURE_WEAKNESS
@ SPELL_BODY_CURE_WEAKNESS
Definition: Spells.h:85
SPELL_SPIRIT_FATE
@ SPELL_SPIRIT_FATE
Definition: Spells.h:63
SPELL_WATER_ACID_BURST
@ SPELL_WATER_ACID_BURST
Definition: Spells.h:43
SPELL_DARK_DRAGON_BREATH
@ SPELL_DARK_DRAGON_BREATH
Definition: Spells.h:117
uint
unsigned int uint
Definition: MM7.h:4
SPELL_AIR_IMPLOSION
@ SPELL_AIR_IMPLOSION
Definition: Spells.h:33
SPELL_WATER_PROTECTION_FROM_WATER
@ SPELL_WATER_PROTECTION_FROM_WATER
Definition: Spells.h:39
SPELL_AIR_STARBURST
@ SPELL_AIR_STARBURST
Definition: Spells.h:35
SPELL_BODY_CURE_DISEASE
@ SPELL_BODY_CURE_DISEASE
Definition: Spells.h:92
SpriteObject::spell_skill
int spell_skill
Definition: SpriteObject.h:230
SPELL_LIGHT_PRISMATIC_LIGHT
@ SPELL_LIGHT_PRISMATIC_LIGHT
Definition: Spells.h:103
SPELL_EARTH_BLADES
@ SPELL_EARTH_BLADES
Definition: Spells.h:54
SPELL_LIGHT_DIVINE_INTERVENTION
@ SPELL_LIGHT_DIVINE_INTERVENTION
Definition: Spells.h:107
SPELL_BOW_ARROW
@ SPELL_BOW_ARROW
Definition: Spells.h:121
stru_5C6E00
struct stru193_math * stru_5C6E00
Definition: mm7_data.cpp:19
SPELL_WATER_LLOYDS_BEACON
@ SPELL_WATER_LLOYDS_BEACON
Definition: Spells.h:47
PARTY_BUFF_RESIST_BODY
@ PARTY_BUFF_RESIST_BODY
Definition: Party.h:72
SPELL_SPIRIT_DETECT_LIFE
@ SPELL_SPIRIT_DETECT_LIFE
Definition: Spells.h:61
PARTY_BUFF_RESIST_FIRE
@ PARTY_BUFF_RESIST_FIRE
Definition: Party.h:77
uCurrentlyLoadedLevelType
LEVEL_TYPE uCurrentlyLoadedLevelType
Definition: Indoor.cpp:52
IndoorLocation::GetSector
int GetSector(int sX, int sY, int sZ)
Definition: Indoor.cpp:1279
SPELL_MIND_BERSERK
@ SPELL_MIND_BERSERK
Definition: Spells.h:79
SPELL_WATER_ENCHANT_ITEM
@ SPELL_WATER_ENCHANT_ITEM
Definition: Spells.h:44
ObjectList::pObjects
struct ObjectDesc * pObjects
Definition: ObjectList.h:54
BECOME_MAGIC_GUILD_MEMBER
@ BECOME_MAGIC_GUILD_MEMBER
Definition: Spells.h:125
SPELL_AIR_LIGHNING_BOLT
@ SPELL_AIR_LIGHNING_BOLT
Definition: Spells.h:31
pAudioPlayer
AudioPlayer * pAudioPlayer
Definition: AudioPlayer.cpp:20
SPELL_BODY_FLYING_FIST
@ SPELL_BODY_FLYING_FIST
Definition: Spells.h:94
SPELL_MIND_REMOVE_FEAR
@ SPELL_MIND_REMOVE_FEAR
Definition: Spells.h:73
SPELL_AIR_INVISIBILITY
@ SPELL_AIR_INVISIBILITY
Definition: Spells.h:32
SpellFxRenderer::SetPlayerBuffAnim
void SetPlayerBuffAnim(uint16_t uSpellID, uint16_t uPlayerID)
Definition: SpellFxRenderer.cpp:1103
SPELL_DARK_TOXIC_CLOUD
@ SPELL_DARK_TOXIC_CLOUD
Definition: Spells.h:110
SPELL_WATER_RECHARGE_ITEM
@ SPELL_WATER_RECHARGE_ITEM
Definition: Spells.h:42
SPELL_DARK_REANIMATE
@ SPELL_DARK_REANIMATE
Definition: Spells.h:109
SpriteObject::uAttributes
unsigned __int16 uAttributes
Definition: SpriteObject.h:222
SPELL_DARK_SHRINKING_RAY
@ SPELL_DARK_SHRINKING_RAY
Definition: Spells.h:112
SPELL_SCHOOL_LIGHT
@ SPELL_SCHOOL_LIGHT
Definition: Spells.h:141
SPELL_FIRE_HASTE
@ SPELL_FIRE_HASTE
Definition: Spells.h:17
SPELL_AIR_FLY
@ SPELL_AIR_FLY
Definition: Spells.h:34
SPELL_MIND_CURE_PARALYSIS
@ SPELL_MIND_CURE_PARALYSIS
Definition: Spells.h:78
GameTime
Definition: Time.h:14
SPELL_FIRE_INCINERATE
@ SPELL_FIRE_INCINERATE
Definition: Spells.h:23
pObjectList
struct ObjectList * pObjectList
Definition: ObjectList.cpp:5
SPELL_SPIRIT_HEROISM
@ SPELL_SPIRIT_HEROISM
Definition: Spells.h:67
GameTime::FromSeconds
static GameTime FromSeconds(int seconds)
Definition: Time.h:83
SPELL_BODY_PROTECTION_FROM_MAGIC
@ SPELL_BODY_PROTECTION_FROM_MAGIC
Definition: Spells.h:93
SPELL_SCHOOL_MAGIC
@ SPELL_SCHOOL_MAGIC
Definition: Spells.h:137
SpriteObject::spell_caster_pid
int spell_caster_pid
Definition: SpriteObject.h:232
SPELL_LIGHT_DAY_OF_THE_GODS
@ SPELL_LIGHT_DAY_OF_THE_GODS
Definition: Spells.h:102