Mercurial > mm7
comparison mm7_5.cpp @ 1036:7f8be9f9769e
player recieve damage
author | Gloval |
---|---|
date | Wed, 22 May 2013 22:25:44 +0400 |
parents | 3a5c8df8381d |
children | ff2d888f8033 |
comparison
equal
deleted
inserted
replaced
1034:aa848c90181f | 1036:7f8be9f9769e |
---|---|
4756 } | 4756 } |
4757 if ( SHIDWORD(pMonster->pActorBuffs[20].uExpireTime) >= (signed int)v41 | 4757 if ( SHIDWORD(pMonster->pActorBuffs[20].uExpireTime) >= (signed int)v41 |
4758 && (SHIDWORD(pMonster->pActorBuffs[20].uExpireTime) > (signed int)v41 | 4758 && (SHIDWORD(pMonster->pActorBuffs[20].uExpireTime) > (signed int)v41 |
4759 || LODWORD(pMonster->pActorBuffs[20].uExpireTime) > v41) | 4759 || LODWORD(pMonster->pActorBuffs[20].uExpireTime) > v41) |
4760 && uDamageAmount != v41 ) | 4760 && uDamageAmount != v41 ) |
4761 player->ReceiveDamage(uDamageAmount, a2); | 4761 player->ReceiveDamage(uDamageAmount, (DAMAGE_TYPE)a2); |
4762 v50 = 24; | 4762 v50 = 24; |
4763 v59 = 20 * v61 / (signed int)pMonster->pMonsterInfo.uHP; | 4763 v59 = 20 * v61 / (signed int)pMonster->pMonsterInfo.uHP; |
4764 if ( (player->_48EA46_calc_special_bonus_by_items(24) || hit_will_stun != v41) | 4764 if ( (player->_48EA46_calc_special_bonus_by_items(24) || hit_will_stun != v41) |
4765 && stru_50C198.GetMagicalResistance(pMonster, 3u) ) | 4765 && stru_50C198.GetMagicalResistance(pMonster, 3u) ) |
4766 { | 4766 { |
5008 v22 = v7->pMonsterInfo.uAttack1Type; | 5008 v22 = v7->pMonsterInfo.uAttack1Type; |
5009 } | 5009 } |
5010 LABEL_43: | 5010 LABEL_43: |
5011 if ( !(dword_6BE368_debug_settings_2 & 0x10) ) | 5011 if ( !(dword_6BE368_debug_settings_2 & 0x10) ) |
5012 { | 5012 { |
5013 v24 = v6->ReceiveDamage(v77, v22); | 5013 v24 = v6->ReceiveDamage(v77, (DAMAGE_TYPE)v22); |
5014 if ( SHIDWORD(v6->pPlayerBuffs[10].uExpireTime) >= 0 | 5014 if ( SHIDWORD(v6->pPlayerBuffs[10].uExpireTime) >= 0 |
5015 && (SHIDWORD(v6->pPlayerBuffs[10].uExpireTime) > 0 || LODWORD(v6->pPlayerBuffs[10].uExpireTime)) ) | 5015 && (SHIDWORD(v6->pPlayerBuffs[10].uExpireTime) > 0 || LODWORD(v6->pPlayerBuffs[10].uExpireTime)) ) |
5016 { | 5016 { |
5017 v25 = v7->uAIState; | 5017 v25 = v7->uAIState; |
5018 if ( v25 != 5 ) | 5018 if ( v25 != 5 ) |
5071 v6->_48DCF6(v7->pMonsterInfo.uSpecialAttack, v7); | 5071 v6->_48DCF6(v7->pMonsterInfo.uSpecialAttack, v7); |
5072 } | 5072 } |
5073 if ( !pParty->bTurnBasedModeOn ) | 5073 if ( !pParty->bTurnBasedModeOn ) |
5074 { | 5074 { |
5075 v35 = v6->GetActualEndurance(); | 5075 v35 = v6->GetActualEndurance(); |
5076 v36 = (double)(20 - v6->_48EA1B_get_static_effect(v35)) * flt_6BE3A4_debug_recmod1 * 2.133333333333333; | 5076 v36 = (double)(20 - v6->GetParameterBonus(v35)) * flt_6BE3A4_debug_recmod1 * 2.133333333333333; |
5077 v6->SetRecoveryTime((signed __int64)v36); | 5077 v6->SetRecoveryTime((signed __int64)v36); |
5078 } | 5078 } |
5079 if ( v77 ) | 5079 if ( v77 ) |
5080 { | 5080 { |
5081 v73 = (double)(signed int)v75; | 5081 v73 = (double)(signed int)v75; |
5193 else | 5193 else |
5194 v50 = 4; | 5194 v50 = 4; |
5195 LABEL_133: | 5195 LABEL_133: |
5196 if ( !(dword_6BE368_debug_settings_2 & 0x10) ) | 5196 if ( !(dword_6BE368_debug_settings_2 & 0x10) ) |
5197 { | 5197 { |
5198 v54 = v45->ReceiveDamage(v77, v50); | 5198 v54 = v45->ReceiveDamage(v77, (DAMAGE_TYPE)v50); |
5199 if ( SHIDWORD(v45->pPlayerBuffs[10].uExpireTime) >= 0 ) | 5199 if ( SHIDWORD(v45->pPlayerBuffs[10].uExpireTime) >= 0 ) |
5200 { | 5200 { |
5201 if ( SHIDWORD(v45->pPlayerBuffs[10].uExpireTime) > 0 || LODWORD(v45->pPlayerBuffs[10].uExpireTime) ) | 5201 if ( SHIDWORD(v45->pPlayerBuffs[10].uExpireTime) > 0 || LODWORD(v45->pPlayerBuffs[10].uExpireTime) ) |
5202 { | 5202 { |
5203 v55 = v44->uAIState; | 5203 v55 = v44->uAIState; |
5259 && rand() % 100 < v44->pMonsterInfo.uLevel * v44->pMonsterInfo.uSpecialAttackType ) | 5259 && rand() % 100 < v44->pMonsterInfo.uLevel * v44->pMonsterInfo.uSpecialAttackType ) |
5260 v45->_48DCF6(v44->pMonsterInfo.uSpecialAttack, v44); | 5260 v45->_48DCF6(v44->pMonsterInfo.uSpecialAttack, v44); |
5261 if ( !pParty->bTurnBasedModeOn ) | 5261 if ( !pParty->bTurnBasedModeOn ) |
5262 { | 5262 { |
5263 v65 = v45->GetActualEndurance(); | 5263 v65 = v45->GetActualEndurance(); |
5264 v66 = (double)(20 - v45->_48EA1B_get_static_effect(v65)) | 5264 v66 = (double)(20 - v45->GetParameterBonus(v65)) |
5265 * flt_6BE3A4_debug_recmod1 | 5265 * flt_6BE3A4_debug_recmod1 |
5266 * 2.133333333333333; | 5266 * 2.133333333333333; |
5267 v45->SetRecoveryTime((signed __int64)v66); | 5267 v45->SetRecoveryTime((signed __int64)v66); |
5268 } | 5268 } |
5269 return; | 5269 return; |
5290 else | 5290 else |
5291 { | 5291 { |
5292 v68 = pParty->pPlayers[uActorID].CalculateRangedDamageTo(0); | 5292 v68 = pParty->pPlayers[uActorID].CalculateRangedDamageTo(0); |
5293 v69 = 0; | 5293 v69 = 0; |
5294 } | 5294 } |
5295 a4b->ReceiveDamage(v68, v69); | 5295 a4b->ReceiveDamage(v68, (DAMAGE_TYPE)v69); |
5296 if ( v38 == OBJECT_Player && !qword_A750D8 ) | 5296 if ( v38 == OBJECT_Player && !qword_A750D8 ) |
5297 { | 5297 { |
5298 qword_A750D8 = 256i64; | 5298 qword_A750D8 = 256i64; |
5299 word_A750E0 = 44; | 5299 word_A750E0 = 44; |
5300 word_A750E2 = uActorID + 1; | 5300 word_A750E2 = uActorID + 1; |
10764 } | 10764 } |
10765 if ( v51 == 1 ) | 10765 if ( v51 == 1 ) |
10766 { | 10766 { |
10767 v0->RemoveItemAtInventoryIndex(v18); | 10767 v0->RemoveItemAtInventoryIndex(v18); |
10768 v26 = rand(); | 10768 v26 = rand(); |
10769 v0->ReceiveDamage(v26 % 11 + 10, 0); | 10769 v0->ReceiveDamage(v26 % 11 + 10, DMGT_FIRE); |
10770 pAudioPlayer->PlaySound(SOUND_8, 0, 0, -1, 0, 0, 0, 0); | 10770 pAudioPlayer->PlaySound(SOUND_8, 0, 0, -1, 0, 0, 0, 0); |
10771 | 10771 |
10772 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); | 10772 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); |
10773 | 10773 |
10774 v42 = (int *)&a2.y; | 10774 v42 = (int *)&a2.y; |
10780 { | 10780 { |
10781 if ( v51 == 2 ) | 10781 if ( v51 == 2 ) |
10782 { | 10782 { |
10783 v0->RemoveItemAtInventoryIndex(v18); | 10783 v0->RemoveItemAtInventoryIndex(v18); |
10784 v25 = rand(); | 10784 v25 = rand(); |
10785 v0->ReceiveDamage(v25 % 71 + 30, 0); | 10785 v0->ReceiveDamage(v25 % 71 + 30, DMGT_FIRE); |
10786 v23 = 1; | 10786 v23 = 1; |
10787 } | 10787 } |
10788 else | 10788 else |
10789 { | 10789 { |
10790 if ( v51 == 3 ) | 10790 if ( v51 == 3 ) |
10791 { | 10791 { |
10792 v0->RemoveItemAtInventoryIndex(v18); | 10792 v0->RemoveItemAtInventoryIndex(v18); |
10793 v24 = rand(); | 10793 v24 = rand(); |
10794 v0->ReceiveDamage(v24 % 201 + 50, 0); | 10794 v0->ReceiveDamage(v24 % 201 + 50, DMGT_FIRE); |
10795 v23 = 5; | 10795 v23 = 5; |
10796 } | 10796 } |
10797 else | 10797 else |
10798 { | 10798 { |
10799 if ( v51 != 4 ) | 10799 if ( v51 != 4 ) |