changeset 1136:3dc32954f1c7

Слияние
author Ritor1
date Sat, 25 May 2013 02:23:47 +0600
parents 6b34a45a3983 (current diff) a7e63532b9a8 (diff)
children 62c759bc49f7
files
diffstat 4 files changed, 28 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/Party.cpp	Sat May 25 02:23:26 2013 +0600
+++ b/Party.cpp	Sat May 25 02:23:47 2013 +0600
@@ -332,7 +332,7 @@
   //unsigned __int8 v9; // zf@37
   //char v10; // sf@37
   //unsigned __int8 v11; // of@37
-  char *pAttributes; // eax@38
+  ItemGen *pItems; // eax@38
   signed int v13; // ecx@38
   int uMaxSP; // eax@42
   unsigned int v15; // [sp-4h] [bp-44h]@14
@@ -556,13 +556,13 @@
         //v10 = uSkillIdx - 35 < 0;
       }
       //while (uSkillIdx < 36);
-      pAttributes = (char *)&pCharacter->pInventoryItems[0].uAttributes;
+      pItems = pCharacter->pInventoryItems;
       //v13 = 138;
-      for (v13 = 138; v13 > 0; --v13)
+      for (int i = 0; i < 138; i++)
       {
-        if ( *((int *)pAttributes - 5) )
-          *(int *)pAttributes |= 1;
-        pAttributes += 36;
+		if ( pItems->uItemID )
+          pItems->uAttributes |= 1;
+        ++pItems;
         //--v13;
       }
       //while ( v13 );
--- a/Player.cpp	Sat May 25 02:23:26 2013 +0600
+++ b/Player.cpp	Sat May 25 02:23:47 2013 +0600
@@ -9536,8 +9536,9 @@
         case VAR_Dead:
         case VAR_Stoned:
         case VAR_Eradicated:
-          *((int *)this + 2 * VarNum - 210) = 0;
-          *((int *)this + 2 * result - 209) = 0;
+          //*((int *)this + 2 * VarNum - 210) = 0;
+		  //*((int *)this + 2 * result - 209) = 0;
+		  this->pConditions[VarNum] = 0;
           pGame->pStru6Instance->SetPlayerBuffAnim(0x98u, v4);
           v8 = 8 * v4 + 400;
           LOBYTE(v8) = PID(OBJECT_Player,v4 - 112);
--- a/SpriteObject.cpp	Sat May 25 02:23:26 2013 +0600
+++ b/SpriteObject.cpp	Sat May 25 02:23:47 2013 +0600
@@ -725,7 +725,7 @@
               //if ( v14 != (unsigned int)(signed __int64)((double)v41 * 0.3333333333333333) )
 				if( pActors[pSpriteObject->spell_caster_pid >> 3].pMonsterInfo.uID != v39b->pMonsterInfo.uID )
 					//not sure: pMonsterList->pMonsters[v39b->word_000086_some_monster_id-1].uToHitRadius
-					_46DF1A_collide_against_actor(v42, *((short *)&pMonsterList->pMonsters[v39b->word_000086_some_monster_id] - 73));
+					_46DF1A_collide_against_actor(v42, pMonsterList->pMonsters[v39b->word_000086_some_monster_id-1].uToHitRadius);
               ++v42;
               ++v39b;// += 836;
             }
@@ -740,7 +740,7 @@
             v39b = pActors;//[0].word_000086_some_monster_id;
             do
             {
-              _46DF1A_collide_against_actor(v42++, *((short *)&pMonsterList->pMonsters[*(short *)v39b] - 73));
+				_46DF1A_collide_against_actor(v42++, pMonsterList->pMonsters[v39b->word_000086_some_monster_id-1].uToHitRadius);
               ++v39b;
             }
             while ( v42 < (signed int)uNumActors );
--- a/mm7_3.cpp	Sat May 25 02:23:26 2013 +0600
+++ b/mm7_3.cpp	Sat May 25 02:23:47 2013 +0600
@@ -2721,20 +2721,23 @@
 	  v34 = v121;
 
 //LABEL_164:
-  if ( !bUnderwater && v34 <= 0 && bJumping)
-  {
-    if ( v34 < -500
-      && !pParty->bFlying
-      && pParty->vPosition.z - v111 > 1000
-      && !pParty->FeatherFallActive())
-    { // falling scream
-      for (int i = 0; i < 4; ++i)
-      {
-        auto player = pParty->pPlayers + i;
-        if (!player->HasEnchantedItemEquipped(72) && !player->WearsItem(529, 8) && player->CanAct())
-          player->PlaySound(SPEECH_66, 0);
-      }
-    }
+  if(bJumping)
+  {
+	  if ( !bUnderwater && v34 <= 0)
+	  {
+		if ( v34 < -500
+		  && !pParty->bFlying
+		  && pParty->vPosition.z - v111 > 1000
+		  && !pParty->FeatherFallActive())
+		{ // falling scream
+		  for (int i = 0; i < 4; ++i)
+		  {
+			auto player = pParty->pPlayers + i;
+			if (!player->HasEnchantedItemEquipped(72) && !player->WearsItem(529, 8) && player->CanAct())
+			  player->PlaySound(SPEECH_66, 0);
+		  }
+		}
+	  }
   }
   else
   {