Mercurial > mm7
comparison mm7_4.cpp @ 2030:47ab41698f9d
sudden drop in flight fix
author | Ritor1 |
---|---|
date | Mon, 18 Nov 2013 13:17:12 +0600 |
parents | beb97b20c3ed |
children | 7a9477135943 |
comparison
equal
deleted
inserted
replaced
2029:81a0e6819d3f | 2030:47ab41698f9d |
---|---|
545 signed __int64 v1; // qax@1 | 545 signed __int64 v1; // qax@1 |
546 int v2; // ecx@1 | 546 int v2; // ecx@1 |
547 int result; // eax@1 | 547 int result; // eax@1 |
548 int v4; // eax@2 | 548 int v4; // eax@2 |
549 int v5; // edi@5 | 549 int v5; // edi@5 |
550 int *v6; // ecx@5 | 550 bool cursed_flag; // ecx@5 |
551 char v7; // sf@5 | 551 char v7; // sf@5 |
552 int *v8; // ecx@10 | 552 int *v8; // ecx@10 |
553 int v9; // edi@15 | 553 int v9; // edi@15 |
554 signed int v10; // eax@15 | 554 signed int v10; // eax@15 |
555 __int16 *v11; // edx@16 | 555 __int16 *v11; // edx@16 |
605 if (pParty->FlyActive()) | 605 if (pParty->FlyActive()) |
606 { | 606 { |
607 if ( pParty->bFlying ) | 607 if ( pParty->bFlying ) |
608 { | 608 { |
609 if ( !(pParty->pPartyBuffs[PARTY_BUFF_FLY].uFlags & 1) ) | 609 if ( !(pParty->pPartyBuffs[PARTY_BUFF_FLY].uFlags & 1) ) |
610 { // colliding with something in the air - fall down | 610 { |
611 v5 = v4 * pParty->pPartyBuffs[PARTY_BUFF_FLY].uPower; | 611 v5 = v4 * pParty->pPartyBuffs[PARTY_BUFF_FLY].uPower; |
612 //__debugbreak(); | 612 cursed_flag = pParty->pPlayers[pParty->pPartyBuffs[PARTY_BUFF_FLY].uCaster - 1].pConditions[0];//cursed |
613 v6 = (int *)&pParty->pPlayers[pParty->pPartyBuffs[PARTY_BUFF_FLY].uCaster - 1].pConditions[0];//&stru_AA1058[4].pSounds[6972 * pParty->pPartyBuffs[PARTY_BUFF_FLY].uCaster + 2000]; | 613 v7 = cursed_flag < v5; |
614 v7 = *v6 < v5; | 614 //cursed_flag -= v5; |
615 *v6 -= v5; | 615 if ( !v7 ) |
616 if ( v7 ) | |
617 { | 616 { |
618 *v6 = 0; | |
619 pParty->uFlags &= 0xFFFFFFBFu; | 617 pParty->uFlags &= 0xFFFFFFBFu; |
620 pParty->bFlying = 0; | 618 pParty->bFlying = false; |
621 v51 = 1; | 619 v51 = 1; |
622 } | 620 } |
623 } | 621 } |
624 } | 622 } |
625 } | 623 } |
730 uint _idx = v21->pEquipment.pIndices[v22]; | 728 uint _idx = v21->pEquipment.pIndices[v22]; |
731 v24 = v21->pInventoryItemList[_idx].uItemID; | 729 v24 = v21->pInventoryItemList[_idx].uItemID; |
732 if ( v24 > 134 ) | 730 if ( v24 > 134 ) |
733 { | 731 { |
734 if ( v24 == 529 ) | 732 if ( v24 == 529 ) |
735 goto LABEL_43; | 733 { |
734 v20 = 1; | |
735 v50 = 1; | |
736 goto LABEL_51; | |
737 } | |
736 if ( v24 == 535 ) | 738 if ( v24 == 535 ) |
737 goto LABEL_44; | 739 { |
740 v20 = 1; | |
741 goto LABEL_51; | |
742 } | |
738 if ( v24 == 515 ) | 743 if ( v24 == 515 ) |
739 { | 744 { |
740 v47 = 1; | 745 v47 = 1; |
741 } | 746 } |
742 else | 747 else |
743 { | 748 { |
744 if ( v24 == 532 ) | 749 if ( v24 == 532 ) |
745 goto LABEL_50; | 750 { |
751 v50 = 1; | |
752 goto LABEL_51; | |
753 } | |
746 } | 754 } |
747 } | 755 } |
748 else | 756 else |
749 { | 757 { |
750 v25 = v21->pInventoryItemList[_idx].uSpecEnchantmentType; | 758 v25 = v21->pInventoryItemList[_idx].uSpecEnchantmentType; |
755 v26 = v25 - 37; | 763 v26 = v25 - 37; |
756 if ( v26 ) | 764 if ( v26 ) |
757 { | 765 { |
758 v27 = v26 - 1; | 766 v27 = v26 - 1; |
759 if ( !v27 ) | 767 if ( !v27 ) |
760 goto LABEL_50; | 768 { |
769 v50 = 1; | |
770 goto LABEL_51; | |
771 } | |
761 v28 = v27 - 6; | 772 v28 = v27 - 6; |
762 if ( v28 ) | 773 if ( v28 ) |
763 { | 774 { |
764 if ( v28 != 3 ) | 775 if ( v28 != 3 ) |
765 goto LABEL_51; | 776 goto LABEL_51; |
766 LABEL_50: | 777 //LABEL_50: |
767 v50 = 1; | 778 v50 = 1; |
768 goto LABEL_51; | 779 goto LABEL_51; |
769 } | 780 } |
770 } | 781 } |
771 } | 782 } |
772 LABEL_44: | 783 //LABEL_44: |
773 v20 = 1; | 784 v20 = 1; |
774 goto LABEL_51; | 785 goto LABEL_51; |
775 } | 786 } |
776 v29 = v25 - 54; | 787 v29 = v25 - 54; |
777 if ( !v29 ) | 788 if ( !v29 ) |
778 goto LABEL_44; | 789 { |
790 v20 = 1; | |
791 goto LABEL_51; | |
792 } | |
779 v30 = v29 - 1; | 793 v30 = v29 - 1; |
780 if ( !v30 ) | 794 if ( !v30 ) |
781 goto LABEL_50; | 795 { |
796 v50 = 1; | |
797 goto LABEL_51; | |
798 } | |
782 if ( v30 == 11 ) | 799 if ( v30 == 11 ) |
783 { | 800 { |
784 LABEL_43: | 801 //LABEL_43: |
785 v20 = 1; | 802 v20 = 1; |
786 v50 = 1; | 803 v50 = 1; |
787 goto LABEL_51; | 804 goto LABEL_51; |
788 } | 805 } |
789 } | 806 } |