Mercurial > mm7
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)