Mercurial > mm7
comparison mm7_3.cpp @ 844:d593ca75c366
more UpdateActorAI cleaning 2
author | zipi |
---|---|
date | Fri, 29 Mar 2013 14:53:06 +0000 |
parents | 292c6288204d |
children | 8f135b689262 |
comparison
equal
deleted
inserted
replaced
843:292c6288204d | 844:d593ca75c366 |
---|---|
15143 unsigned __int8 v54; // c0@224 | 15143 unsigned __int8 v54; // c0@224 |
15144 unsigned __int8 v55; // c3@224 | 15144 unsigned __int8 v55; // c3@224 |
15145 double v56; // st7@226 | 15145 double v56; // st7@226 |
15146 AIDirection *v57; // eax@246 | 15146 AIDirection *v57; // eax@246 |
15147 double v58; // st7@246 | 15147 double v58; // st7@246 |
15148 signed int v59; // [sp-18h] [bp-C8h]@213 | 15148 //signed int v59; // [sp-18h] [bp-C8h]@213 |
15149 //int v60; // [sp-14h] [bp-C4h]@144 | 15149 //int v60; // [sp-14h] [bp-C4h]@144 |
15150 //int v61; // [sp-14h] [bp-C4h]@168 | 15150 //int v61; // [sp-14h] [bp-C4h]@168 |
15151 AIDirection *v62; // [sp-14h] [bp-C4h]@213 | 15151 //AIDirection *v62; // [sp-14h] [bp-C4h]@213 |
15152 signed int v63; // [sp-14h] [bp-C4h]@216 | 15152 //signed int v63; // [sp-14h] [bp-C4h]@216 |
15153 unsigned int v64; // [sp-14h] [bp-C4h]@219 | 15153 unsigned int v64; // [sp-14h] [bp-C4h]@219 |
15154 unsigned int v65; // [sp-10h] [bp-C0h]@144 | 15154 unsigned int v65; // [sp-10h] [bp-C0h]@144 |
15155 char v66; // [sp-10h] [bp-C0h]@147 | 15155 char v66; // [sp-10h] [bp-C0h]@147 |
15156 //AIDirection *v67; // [sp-10h] [bp-C0h]@167 | 15156 //AIDirection *v67; // [sp-10h] [bp-C0h]@167 |
15157 //int v68; // [sp-10h] [bp-C0h]@168 | 15157 //int v68; // [sp-10h] [bp-C0h]@168 |
15505 v38 = ((v36 - 5120) & 0x80000000u) != 0; | 15505 v38 = ((v36 - 5120) & 0x80000000u) != 0; |
15506 } | 15506 } |
15507 if ( v37 >= 1 && v37 <= 4 && v38 ^ v39 || v37 == 1 ) | 15507 if ( v37 >= 1 && v37 <= 4 && v38 ^ v39 || v37 == 1 ) |
15508 v21->pMonsterInfo.uHostilityType = MonsterInfo::Hostility_Long; | 15508 v21->pMonsterInfo.uHostilityType = MonsterInfo::Hostility_Long; |
15509 } | 15509 } |
15510 | |
15510 if ( (signed __int64)v21->pActorBuffs[4].uExpireTime > 0 ) | 15511 if ( (signed __int64)v21->pActorBuffs[4].uExpireTime > 0 ) |
15511 { | 15512 { |
15512 if ( (signed int)v36 >= 10240 ) | 15513 if ( (signed int)v36 >= 10240 ) |
15513 { | 15514 { |
15514 Actor::_4032B2(actor_id, actor_pid, 1024, 0); | 15515 Actor::_4032B2(actor_id, actor_pid, 1024, 0); |
15519 //guard after attacked | 15520 //guard after attacked |
15520 Actor::_402968(actor_id, actor_pid, 0, &pDir); | 15521 Actor::_402968(actor_id, actor_pid, 0, &pDir); |
15521 } | 15522 } |
15522 continue; | 15523 continue; |
15523 } | 15524 } |
15525 | |
15524 if ( v21->pMonsterInfo.uHostilityType == MonsterInfo::Hostility_Long && actor_pid ) | 15526 if ( v21->pMonsterInfo.uHostilityType == MonsterInfo::Hostility_Long && actor_pid ) |
15525 { | 15527 { |
15526 if ( !(v21->uAttributes & 0x020000) || v21->pMonsterInfo.uAIType == 1 ) | 15528 |
15529 if ( v21->pMonsterInfo.uAIType == 1 ) | |
15527 { | 15530 { |
15528 if ( v21->pMonsterInfo.uAIType == 1 ) | 15531 if ( v21->pMonsterInfo.uMovementType == 5 ) |
15529 { | 15532 { |
15530 if ( v21->pMonsterInfo.uMovementType == 5 ) | 15533 Actor::AI_Stand(actor_id, actor_pid, (signed __int64)((double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333), &pDir); |
15531 { | |
15532 Actor::AI_Stand(actor_id, actor_pid, (signed __int64)((double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333), &pDir); | |
15533 } | |
15534 else | |
15535 { | |
15536 Actor::_402968(actor_id, actor_pid, 0, &pDir); | |
15537 continue; | |
15538 } | |
15539 | |
15540 } | 15534 } |
15541 else | 15535 else |
15542 { | 15536 { |
15537 Actor::_402968(actor_id, actor_pid, 0, &pDir); | |
15538 continue; | |
15539 } | |
15540 | |
15541 } | |
15542 if ( !(v21->uAttributes & 0x020000) ) | |
15543 { | |
15544 if ( v21->pMonsterInfo.uAIType == 2 || v21->pMonsterInfo.uAIType == 3) | |
15545 { | |
15546 if ( v21->pMonsterInfo.uAIType == 2 ) | |
15547 v43 = (double)(signed int)v21->pMonsterInfo.uHP * 0.2; | |
15548 if ( v21->pMonsterInfo.uAIType == 3 ) | |
15549 v43 = (double)(signed int)v21->pMonsterInfo.uHP * 0.1; | |
15543 v84 = v21->sCurrentHP; | 15550 v84 = v21->sCurrentHP; |
15544 v42 = (double)(signed int)v84; | 15551 v42 = (double)(signed int)v84; |
15545 if ( v21->pMonsterInfo.uAIType == 2 ) | 15552 if ( v43 > v42 && (signed int)v36 < 10240 ) |
15546 { | |
15547 | |
15548 v43 = (double)(signed int)v21->pMonsterInfo.uHP * 0.2; | |
15549 } | |
15550 else | |
15551 { | |
15552 v43 = (double)(signed int)v21->pMonsterInfo.uHP * 0.1; | |
15553 } | |
15554 if ( v21->pMonsterInfo.uAIType == 2 || v21->pMonsterInfo.uAIType == 3 && v43 > v42 && (signed int)v36 < 10240 ) | |
15555 { | 15553 { |
15556 Actor::_402968(actor_id, actor_pid, 0, &pDir); | 15554 Actor::_402968(actor_id, actor_pid, 0, &pDir); |
15557 continue; | 15555 continue; |
15558 } | 15556 } |
15559 } | 15557 } |
15560 } | 15558 } |
15559 | |
15561 v81 = v36 - v21->uActorRadius; | 15560 v81 = v36 - v21->uActorRadius; |
15562 if ( actor_pid_type == OBJECT_Actor ) | 15561 if ( actor_pid_type == OBJECT_Actor ) |
15563 v81 -= pActors[actor_pid >> 3].uActorRadius; | 15562 v81 -= pActors[actor_pid >> 3].uActorRadius; |
15564 if ( v81 < 0 ) | 15563 if ( v81 < 0 ) |
15565 v81 = 0; | 15564 v81 = 0; |
15566 rand(); | 15565 rand(); |
15567 v21->uAttributes &= 0xFBFFFF; | 15566 v21->uAttributes &= 0xFBFFFF; |
15568 if ( v81 < 5120 ) | 15567 if ( v81 < 5120 ) |
15569 { | 15568 { |
15570 v45 = stru_50C198.special_ability_use_check(v21, actor_id); | 15569 v45 = stru_50C198.special_ability_use_check(v21, actor_id); |
15571 if ( !v45 ) | 15570 if ( v45 == 0 ) |
15572 { | 15571 { |
15573 if ( v21->pMonsterInfo.uMissleAttack1Type ) | 15572 if ( v21->pMonsterInfo.uMissleAttack1Type ) |
15574 { | 15573 { |
15575 if ( (signed int)v21->pMonsterInfo.uRecoveryTime <= 0 ) | 15574 if ( (signed int)v21->pMonsterInfo.uRecoveryTime <= 0 ) |
15576 { | 15575 { |
15577 Actor::_403476(actor_id, actor_pid, &pDir); | 15576 Actor::_403476(actor_id, actor_pid, &pDir); |
15578 continue; | |
15579 | |
15580 } | 15577 } |
15581 if ( v21->pMonsterInfo.uMovementType == 5 ) | 15578 else if ( v21->pMonsterInfo.uMovementType == 5 ) |
15582 { | 15579 { |
15583 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | 15580 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; |
15584 v64 = (signed __int64)v47; | 15581 v64 = (signed __int64)v47; |
15585 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | 15582 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); |
15586 continue; | |
15587 } | 15583 } |
15588 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | 15584 else |
15589 if ( !(v54 | v55) ) | |
15590 { | 15585 { |
15591 v64 = (signed __int64)v47; | 15586 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; |
15592 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | 15587 if ( !(v54 | v55) ) |
15593 continue; | 15588 { |
15589 v64 = (signed __int64)v47; | |
15590 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | |
15591 continue; | |
15592 } | |
15593 Actor::_402AD7(actor_id, actor_pid, actor_id, (signed __int64)v47, &pDir); | |
15594 } | 15594 } |
15595 Actor::_402AD7(actor_id, actor_pid, actor_id, (signed __int64)v47, &pDir); | |
15596 continue; | |
15597 } | 15595 } |
15598 v56 = v80 * 307.2; | 15596 else |
15599 if ( (double)v81 >= v56 ) | |
15600 { | 15597 { |
15601 if ( v81 >= 1024 ) | 15598 v56 = v80 * 307.2; |
15599 if ( (double)v81 >= v56 ) | |
15602 { | 15600 { |
15603 if ( v21->pMonsterInfo.uMovementType == 5 ) | 15601 if ( v81 >= 1024 ) |
15602 { | |
15603 if ( v21->pMonsterInfo.uMovementType == 5 ) | |
15604 { | |
15605 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | |
15606 v64 = (signed __int64)v47; | |
15607 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | |
15608 } | |
15609 else | |
15610 { | |
15611 //monsters | |
15612 Actor::_402686(actor_id, actor_pid, 0, &pDir); | |
15613 } | |
15614 } | |
15615 else if ( v21->pMonsterInfo.uMovementType == 5 ) | |
15604 { | 15616 { |
15605 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | 15617 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; |
15606 v64 = (signed __int64)v47; | 15618 v64 = (signed __int64)v47; |
15607 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | 15619 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); |
15608 continue; | |
15609 } | 15620 } |
15610 v63 = 0; | 15621 else |
15611 //monsters | 15622 { |
15612 Actor::_402686(actor_id, actor_pid, v63, &pDir); | 15623 v70 = (signed __int64)v56; |
15613 continue; | 15624 //monsters |
15625 //guard after player runs away | |
15626 // follow player | |
15627 Actor::_40281C(actor_id, actor_pid, 0, &pDir, v70); | |
15628 } | |
15614 } | 15629 } |
15615 if ( v21->pMonsterInfo.uMovementType == 5 ) | 15630 else if ( (signed int)v21->pMonsterInfo.uRecoveryTime > 0 ) |
15616 { | 15631 { |
15617 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | 15632 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; |
15618 v64 = (signed __int64)v47; | 15633 v64 = (signed __int64)v47; |
15619 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | 15634 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); |
15620 continue; | |
15621 } | 15635 } |
15622 v70 = (signed __int64)v56; | 15636 else |
15623 v62 = &pDir; | 15637 { |
15624 v59 = 0; | 15638 //monsters |
15625 //monsters | 15639 Actor::_403C6C(actor_id, actor_pid, &pDir); |
15626 //guard after player runs away | 15640 } |
15627 // follow player | |
15628 Actor::_40281C(actor_id, actor_pid, v59, v62, v70); | |
15629 continue; | |
15630 } | 15641 } |
15631 if ( (signed int)v21->pMonsterInfo.uRecoveryTime > 0 ) | |
15632 { | |
15633 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | |
15634 v64 = (signed __int64)v47; | |
15635 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | |
15636 continue; | |
15637 } | |
15638 //monsters | |
15639 Actor::_403C6C(actor_id, actor_pid, &pDir); | |
15640 continue; | 15642 continue; |
15641 } | 15643 } |
15642 if ( v45 != 1 ) | 15644 else if ( v45 == 2 || v45 == 3 ) |
15643 { | 15645 { |
15644 if ( v45 > 1 && v45 <= 3 ) | 15646 if ( v45 == 2 ) |
15647 v46 = v21->pMonsterInfo.uSpell1ID; | |
15648 else | |
15649 v46 = v21->pMonsterInfo.uSpell2ID; | |
15650 if ( v46 ) | |
15645 { | 15651 { |
15646 if ( v45 == 2 ) | 15652 if ( (signed int)v21->pMonsterInfo.uRecoveryTime <= 0 ) |
15647 v46 = v21->pMonsterInfo.uSpell1ID; | 15653 { |
15654 if ( v45 == 2 ) | |
15655 Actor::_403854(actor_id, actor_pid, &pDir); | |
15656 else | |
15657 Actor::_403A60(actor_id, actor_pid, &pDir); | |
15658 } | |
15659 else if ( v80 * 307.2 > (double)v81 || v21->pMonsterInfo.uMovementType == 5 ) | |
15660 { | |
15661 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | |
15662 v64 = (signed __int64)v47; | |
15663 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | |
15664 } | |
15648 else | 15665 else |
15649 v46 = v21->pMonsterInfo.uSpell2ID; | |
15650 if ( v46 ) | |
15651 { | 15666 { |
15652 if ( (signed int)v21->pMonsterInfo.uRecoveryTime <= 0 ) | |
15653 { | |
15654 if ( v45 == 2 ) | |
15655 Actor::_403854(actor_id, actor_pid, &pDir); | |
15656 else | |
15657 Actor::_403A60(actor_id, actor_pid, &pDir); | |
15658 continue; | |
15659 } | |
15660 if ( v80 * 307.2 > (double)v81 || v21->pMonsterInfo.uMovementType == 5 ) | |
15661 { | |
15662 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | |
15663 v64 = (signed __int64)v47; | |
15664 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | |
15665 continue; | |
15666 | |
15667 } | |
15668 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | 15667 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; |
15669 Actor::_402AD7(actor_id, actor_pid, actor_id, (signed __int64)v47, &pDir); | 15668 Actor::_402AD7(actor_id, actor_pid, actor_id, (signed __int64)v47, &pDir); |
15670 continue; | |
15671 } | 15669 } |
15670 } | |
15671 else | |
15672 { | |
15672 v48 = v80 * 307.2; | 15673 v48 = v80 * 307.2; |
15673 if ( (double)v81 >= v48 ) | 15674 if ( (double)v81 >= v48 ) |
15674 { | 15675 { |
15675 if ( v81 >= 1024 ) | 15676 if ( v81 >= 1024 ) |
15676 { | 15677 { |
15682 } | 15683 } |
15683 else | 15684 else |
15684 { | 15685 { |
15685 Actor::_402686(actor_id, actor_pid, 256, &pDir); | 15686 Actor::_402686(actor_id, actor_pid, 256, &pDir); |
15686 } | 15687 } |
15687 continue; | |
15688 | |
15689 } | 15688 } |
15690 if ( v21->pMonsterInfo.uMovementType == 5 ) | 15689 else if ( v21->pMonsterInfo.uMovementType == 5 ) |
15691 { | 15690 { |
15692 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | 15691 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; |
15693 v64 = (signed __int64)v47; | 15692 v64 = (signed __int64)v47; |
15694 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | 15693 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); |
15695 continue; | |
15696 } | 15694 } |
15697 v70 = (signed __int64)v48; | 15695 else |
15698 v62 = &pDir; | 15696 { |
15699 v59 = 0; | 15697 v70 = (signed __int64)v48; |
15700 Actor::_40281C(actor_id, actor_pid, v59, v62, v70); | 15698 Actor::_40281C(actor_id, actor_pid, 0, &pDir, v70); |
15701 continue; | 15699 } |
15702 } | 15700 } |
15703 if ( (signed int)v21->pMonsterInfo.uRecoveryTime > 0 ) | 15701 else if ( (signed int)v21->pMonsterInfo.uRecoveryTime > 0 ) |
15704 { | 15702 { |
15705 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | 15703 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; |
15706 v64 = (signed __int64)v47; | 15704 v64 = (signed __int64)v47; |
15707 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | 15705 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); |
15708 continue; | |
15709 } | 15706 } |
15710 Actor::_403C6C(actor_id, actor_pid, &pDir); | 15707 else |
15711 continue; | 15708 { |
15709 Actor::_403C6C(actor_id, actor_pid, &pDir); | |
15710 } | |
15712 } | 15711 } |
15712 continue; | |
15713 } | 15713 } |
15714 } | 15714 } |
15715 } | 15715 } |
15716 | |
15716 if ( v21->pMonsterInfo.uHostilityType != MonsterInfo::Hostility_Long || !actor_pid || v81 >= 5120 || v45 != 1 ) | 15717 if ( v21->pMonsterInfo.uHostilityType != MonsterInfo::Hostility_Long || !actor_pid || v81 >= 5120 || v45 != 1 ) |
15717 { | 15718 { |
15718 if ( !v21->pMonsterInfo.uMovementType ) | 15719 if ( !v21->pMonsterInfo.uMovementType ) |
15719 { | 15720 { |
15720 Actor::_4032B2(actor_id, 4, 1024, 0); | 15721 Actor::_4032B2(actor_id, 4, 1024, 0); |
15721 continue; | |
15722 | |
15723 } | 15722 } |
15724 if ( v21->pMonsterInfo.uMovementType == 1 ) | 15723 else if ( v21->pMonsterInfo.uMovementType == 1 ) |
15725 { | 15724 { |
15726 Actor::_4032B2(actor_id, 4, 2560, 0); | 15725 Actor::_4032B2(actor_id, 4, 2560, 0); |
15727 continue; | |
15728 } | 15726 } |
15729 if ( v21->pMonsterInfo.uMovementType == 2 ) | 15727 else if ( v21->pMonsterInfo.uMovementType == 2 ) |
15730 { | 15728 { |
15731 Actor::_4032B2(actor_id, 4, 5120, 0); | 15729 Actor::_4032B2(actor_id, 4, 5120, 0); |
15732 continue; | |
15733 } | 15730 } |
15734 if ( v21->pMonsterInfo.uMovementType == 4 ) | 15731 else if ( v21->pMonsterInfo.uMovementType == 4 ) |
15735 { | 15732 { |
15736 Actor::_4032B2(actor_id, 4, 10240, 0); | 15733 Actor::_4032B2(actor_id, 4, 10240, 0); |
15737 continue; | |
15738 } | 15734 } |
15739 if ( v21->pMonsterInfo.uMovementType == 5 ) | 15735 else if ( v21->pMonsterInfo.uMovementType == 5 ) |
15740 { | 15736 { |
15741 v57 = Actor::GetDirectionInfo(a1, 4u, &v72, 0); | 15737 v57 = Actor::GetDirectionInfo(a1, 4u, &v72, 0); |
15742 v58 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | 15738 v58 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; |
15743 memcpy(&v74, v57, sizeof(v74)); | 15739 memcpy(&v74, v57, sizeof(v74)); |
15744 memcpy(&pDir, &v74, sizeof(pDir)); | 15740 memcpy(&pDir, &v74, sizeof(pDir)); |
15745 v64 = (signed __int64)v58; | 15741 v64 = (signed __int64)v58; |
15746 Actor::AI_Stand(actor_id, 4, v64, &pDir); | 15742 Actor::AI_Stand(actor_id, 4, v64, &pDir); |
15747 continue; | 15743 } |
15748 } | |
15749 continue; | |
15750 | |
15751 } | 15744 } |
15752 if ( !v21->pMonsterInfo.uMissleAttack2Type ) | 15745 else if ( !v21->pMonsterInfo.uMissleAttack2Type ) |
15753 { | 15746 { |
15754 v56 = v80 * 307.2; | 15747 v56 = v80 * 307.2; |
15755 if ( (double)v81 >= v56 ) | 15748 if ( (double)v81 >= v56 ) |
15756 { | 15749 { |
15757 if ( v81 >= 1024 ) | 15750 if ( v81 >= 1024 ) |
15759 if ( v21->pMonsterInfo.uMovementType == 5 ) | 15752 if ( v21->pMonsterInfo.uMovementType == 5 ) |
15760 { | 15753 { |
15761 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | 15754 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; |
15762 v64 = (signed __int64)v47; | 15755 v64 = (signed __int64)v47; |
15763 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | 15756 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); |
15764 continue; | |
15765 } | 15757 } |
15766 v63 = 256; | 15758 else |
15767 Actor::_402686(actor_id, actor_pid, v63, &pDir); | 15759 { |
15768 continue; | 15760 Actor::_402686(actor_id, actor_pid, 256, &pDir); |
15761 } | |
15769 } | 15762 } |
15770 if ( v21->pMonsterInfo.uMovementType == 5 ) | 15763 else if ( v21->pMonsterInfo.uMovementType == 5 ) |
15771 { | 15764 { |
15772 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | 15765 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; |
15773 v64 = (signed __int64)v47; | 15766 v64 = (signed __int64)v47; |
15774 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | 15767 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); |
15775 continue; | |
15776 } | 15768 } |
15777 v70 = (signed __int64)v56; | 15769 else |
15778 v62 = &pDir; | 15770 { |
15779 v59 = 0; | 15771 v70 = (signed __int64)v56; |
15780 Actor::_40281C(actor_id, actor_pid, v59, v62, v70); | 15772 Actor::_40281C(actor_id, actor_pid, 0, &pDir, v70); |
15781 continue; | 15773 } |
15782 | |
15783 } | 15774 } |
15784 if ( (signed int)v21->pMonsterInfo.uRecoveryTime > 0 ) | 15775 else if ( (signed int)v21->pMonsterInfo.uRecoveryTime > 0 ) |
15785 { | 15776 { |
15786 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | 15777 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; |
15787 v64 = (signed __int64)v47; | 15778 v64 = (signed __int64)v47; |
15788 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | 15779 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); |
15789 continue; | |
15790 } | 15780 } |
15791 Actor::_403C6C(actor_id, actor_pid, &pDir); | 15781 else |
15792 continue; | 15782 { |
15783 Actor::_403C6C(actor_id, actor_pid, &pDir); | |
15784 } | |
15793 } | 15785 } |
15794 if ( (signed int)v21->pMonsterInfo.uRecoveryTime > 0 ) | 15786 else if ( (signed int)v21->pMonsterInfo.uRecoveryTime > 0 ) |
15795 { | 15787 { |
15796 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; | 15788 v47 = (double)(signed int)v21->pMonsterInfo.uRecoveryTime * 2.133333333333333; |
15797 if ( !(v54 | v55) || v21->pMonsterInfo.uMovementType == 5 ) | 15789 if ( !(v54 | v55) || v21->pMonsterInfo.uMovementType == 5 ) |
15798 { | 15790 { |
15799 v64 = (signed __int64)v47; | 15791 v64 = (signed __int64)v47; |
15800 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); | 15792 Actor::AI_Stand(actor_id, actor_pid, v64, &pDir); |
15801 continue; | |
15802 } | 15793 } |
15803 Actor::_402AD7(actor_id, actor_pid, actor_id, (signed __int64)v47, &pDir); | 15794 else |
15804 continue; | 15795 { |
15796 Actor::_402AD7(actor_id, actor_pid, actor_id, (signed __int64)v47, &pDir); | |
15797 } | |
15805 } | 15798 } |
15806 Actor::_40368B(actor_id, actor_pid, &pDir); | 15799 else |
15800 { | |
15801 Actor::_40368B(actor_id, actor_pid, &pDir); | |
15802 } | |
15807 } | 15803 } |
15808 } | 15804 } |
15809 } | 15805 } |
15810 | 15806 |
15811 //----- (0040261D) -------------------------------------------------------- | 15807 //----- (0040261D) -------------------------------------------------------- |