diff mm7_5.cpp @ 822:c232f160e6f3

Named SpriteObject spell-related fields.
author Nomad
date Tue, 26 Mar 2013 17:56:24 +0200
parents 9359c114f98c
children fe4c8b113548
line wrap: on
line diff
--- a/mm7_5.cpp	Tue Mar 26 14:55:43 2013 +0200
+++ b/mm7_5.cpp	Tue Mar 26 17:56:24 2013 +0200
@@ -4540,7 +4540,7 @@
       {
         v4 = &pSpriteObjects[v3];
         v36 = v4;
-        v5 = v4->field_58_pid;
+        v5 = v4->spell_caster_pid;
         v2 = v5 & 7;
         v3 = v5 >> 3;
       }
@@ -4781,7 +4781,7 @@
     v4 = &pSpriteObjects[a1 >> 3];
     //uDamageAmount = (int)v4;
     v61 = v4->field_60_distance_related_prolly_lod;
-    a1 = v4->field_58_pid;
+    a1 = v4->spell_caster_pid;
     //v54 = v4->field_58_pid;
   }
   //v5 = a1 & 7;
@@ -4850,7 +4850,7 @@
   }
 
 
-  v19 = v4->field_48 == 99;
+  v19 = v4->spell_id == SPELL_DARK_SOULDRINKER;
   v61 = v4->field_60_distance_related_prolly_lod;
   if ( !v19 )
   {
@@ -4897,8 +4897,8 @@
     v4 = (SpriteObject *)uDamageAmount;
   }
 
-  v15 = v4->field_48;
-  if ( v15 == 102 )
+  v15 = v4->spell_id;
+  if ( v15 == SPELL_LASER_PROJECTILE )
   {
     v16 = player->pActiveSkills[7];
     v61 = 1;
@@ -4908,9 +4908,9 @@
     uDamageAmount = player->CalculateMeleeDamageTo(1, 1, 0);
     goto LABEL_67;
   }
-  if ( v15 != 100 )
-  {
-    if ( v15 == 101 )
+  if ( v15 != SPELL_BOW_ARROW )
+  {
+    if ( v15 == SPELL_101 )
     {
       a2 = 0;
       v18 = player->CalculateRangedDamageTo(0);
@@ -4922,14 +4922,14 @@
       v59 = 1;
       goto LABEL_67;
     }
-    if ( v15 == 39 )
-    {
-      a4 = 5 * v4->field_4C;
+    if ( v15 == SPELL_EARTH_BLADES )
+    {
+      a4 = 5 * v4->spell_level;
       a2 = player->GetSpellSchool(0x27u);
-      v21 = v4->field_4C;
+      v21 = v4->spell_level;
       v50 = pMonster->sCurrentHP;
-      pMonsterName = (char *)v4->field_50;
-      v22 = _43AFE3_calc_spell_damage(39, v21, (signed int)pMonsterName, v50);
+      pMonsterName = (char *)v4->spell_skill;
+      v22 = _43AFE3_calc_spell_damage(39, v21, v4->spell_skill, v50);
       v23 = HIDWORD(pMonster->pActorBuffs[15].uExpireTime) == 0;
       v24 = SHIDWORD(pMonster->pActorBuffs[15].uExpireTime) < 0;
       uDamageAmount = v22;
@@ -4945,24 +4945,23 @@
       }
       goto LABEL_69;
     }
-    if ( v15 == 34 )
+    if ( v15 == SPELL_EARTH_STUN )
     {
       uDamageAmount = 0;
       a2 = 4;
       hit_will_stun = 1;
       goto LABEL_67;
     }
-    v50 = v4->field_48;
-    a2 = player->GetSpellSchool(v50);
-    v25 = v4->field_4C;
-    v26 = v4->field_48;
+    a2 = player->GetSpellSchool(v4->spell_id);
+    v25 = v4->spell_level;
+    v26 = v4->spell_id;
     v50 = pMonster->sCurrentHP;
-    pMonsterName = (char *)v4->field_50;
+    pMonsterName = (char *)v4->spell_skill;
     //v27 = _43AFE3_calc_spell_damage(v26, v25, (signed int)pMonsterName, v50);
     v59 = 0;
     //v57 = (PlayerEquipment *)1;
 //LABEL_65:
-    uDamageAmount = _43AFE3_calc_spell_damage(v26, v25, (signed int)pMonsterName, v50);
+    uDamageAmount = _43AFE3_calc_spell_damage(v26, v25, v4->spell_skill, v50);
     //if ( !v57 )
     //  goto LABEL_67;
     goto LABEL_69;
@@ -5450,10 +5449,10 @@
     return;
   }
   v37 = &pSpriteObjects[uActorID];
-  v38 = v37->field_58_pid & 7;
-  v39 = v37->field_58_pid >> 3;
-  v40 = v37->field_58_pid & 7;
-  uActorID = v37->field_58_pid >> 3;
+  v38 = v37->spell_caster_pid & 7;
+  v39 = v37->spell_caster_pid >> 3;
+  v40 = v37->spell_caster_pid & 7;
+  uActorID = v37->spell_caster_pid >> 3;
   v41 = v40 - 2;
   if ( !v41 )
     goto LABEL_80;
@@ -5639,11 +5638,11 @@
     v43 = &pParty->pPlayers[a4];
 LABEL_168:
     a4b = v43;
-    if ( v38 != OBJECT_Player || v37->field_48 != 100 )
+    if ( v38 != OBJECT_Player || v37->spell_id != SPELL_BOW_ARROW)
     {
       v70 = v43->GetMaxHealth();
-      v68 = _43AFE3_calc_spell_damage(v37->field_48, v37->field_4C, v37->field_50, v70);
-      v69 = LOBYTE(pSpellStats->pInfos[v37->field_48].uSchool);
+      v68 = _43AFE3_calc_spell_damage(v37->spell_id, v37->spell_level, v37->spell_skill, v70);
+      v69 = LOBYTE(pSpellStats->pInfos[v37->spell_id].uSchool);
     }
     else
     {
@@ -5690,7 +5689,7 @@
   v6 = uLayingItemID;
   v2 = uLayingItemID;
   v3 = a2 >> 3;
-  v4 = pSpriteObjects[uLayingItemID].field_58_pid & 7;
+  v4 = pSpriteObjects[uLayingItemID].spell_caster_pid & 7;
   v5 = (a2 & 7) - 3;
   if ( v5 )
   {
@@ -5864,10 +5863,10 @@
     if ( (a2 & 7) == OBJECT_Item)
     {
       v4 = &pSpriteObjects[(signed int)a2 >> 3];
-      v5 = v4->field_48;
+      v5 = v4->spell_id;
       if ( v5 )
       {
-        v6 = _43AFE3_calc_spell_damage(v5, v4->field_4C, v4->field_50, pActor->sCurrentHP);
+        v6 = _43AFE3_calc_spell_damage(v5, v4->spell_level, v4->spell_skill, pActor->sCurrentHP);
         v7 = stru_50C198.CalcMagicalDamageToActor(pActor, 0, v6);
         pActor->sCurrentHP -= v7;
         if ( v7 )
@@ -5924,7 +5923,7 @@
   {
     v5 = &pSpriteObjects[a1 >> 3];
     v4 = v5->field_60_distance_related_prolly_lod;
-    v17 = v5->field_58_pid;
+    v17 = v5->spell_caster_pid;
   }
   LOWORD(v6) = v17 & 7;
   if ( v6 == OBJECT_Actor)