diff mm7_5.cpp @ 322:ce39b96acf5c

Killing friendly peasants subs
author Nomad
date Wed, 20 Feb 2013 04:36:14 +0200
parents 15decc249a94
children 8e23edf57e27
line wrap: on
line diff
--- a/mm7_5.cpp	Wed Feb 20 03:35:22 2013 +0200
+++ b/mm7_5.cpp	Wed Feb 20 04:36:14 2013 +0200
@@ -5492,7 +5492,7 @@
   if ( pMonster->sCurrentHP > 0 )
   {
     Actor::_4030AD(uActorID_Monster_, a1, 0);
-    Actor::_43AC45(uActorID_Monster_, 1);
+    Actor::AggroSurroundingPeasants(uActorID_Monster_, 1);
     if ( bShowDamage )
     {
       v50 = uDamageAmount;
@@ -5537,8 +5537,8 @@
       }
     }
     Actor::Die(uActorID_Monster_);
-    Actor::_438CF3(uActorID_Monster_);
-    Actor::_43AC45(uActorID_Monster_, 1);
+    Actor::ApplyFineForKillingPeasant(uActorID_Monster_);
+    Actor::AggroSurroundingPeasants(uActorID_Monster_, 1);
     if ( pMonster->pMonsterInfo.uExp )
       sub_4269A2_GivePartyExp(pMonsterStats->pInfos[pMonster->pMonsterInfo.uID].uExp);
     v40 = SPEECH_51;
@@ -5827,8 +5827,8 @@
             {
               if ( v7->sCurrentHP >= 1 )
               {
-                Actor::_4030AD(uActorID, 8 * a4 | 4, 0);
-                Actor::_43AC45(uActorID, 1);
+                Actor::_4030AD(uActorID, 8 * a4 | OBJECT_Player, 0);
+                Actor::AggroSurroundingPeasants(uActorID, 1);
               }
               else
               {
@@ -5854,8 +5854,8 @@
                   }
                 }
                 Actor::Die(uActorID);
-                Actor::_438CF3(uActorID);
-                Actor::_43AC45(uActorID, 1);
+                Actor::ApplyFineForKillingPeasant(uActorID);
+                Actor::AggroSurroundingPeasants(uActorID, 1);
                 if ( v7->pMonsterInfo.uExp )
                   sub_4269A2_GivePartyExp(pMonsterStats->pInfos[v7->pMonsterInfo.uID].uExp);
                 v34 = SPEECH_51;
@@ -6013,8 +6013,8 @@
                   {
                     if ( v44->sCurrentHP >= 1 )
                     {
-                      Actor::_4030AD(uActorID, 8 * a4 | 4, 0);
-                      Actor::_43AC45(uActorID, 1);
+                      Actor::_4030AD(uActorID, 8 * a4 | OBJECT_Player, 0);
+                      Actor::AggroSurroundingPeasants(uActorID, 1);
                     }
                     else
                     {
@@ -6040,8 +6040,8 @@
                         }
                       }
                       Actor::Die(uActorID);
-                      Actor::_438CF3(uActorID);
-                      Actor::_43AC45(uActorID, 1);
+                      Actor::ApplyFineForKillingPeasant(uActorID);
+                      Actor::AggroSurroundingPeasants(uActorID, 1);
                       if ( v44->pMonsterInfo.uExp )
                         sub_4269A2_GivePartyExp(pMonsterStats->pInfos[v44->pMonsterInfo.uID].uExp);
                       v64 = SPEECH_51;
@@ -6348,7 +6348,7 @@
 }
 
 //----- (0043B1B0) --------------------------------------------------------
-__int16 __fastcall sub_43B1B0(signed int a1, unsigned int a2, Vec3_int_ *pVelocity, signed int a4)
+void sub_43B1B0(signed int a1, unsigned int a2, Vec3_int_ *pVelocity, signed int a4)
 {
   int v4; // ebx@1
   LayingItem *v5; // eax@2
@@ -6432,7 +6432,7 @@
                   Actor::_4030AD(uActorID, v17, 0);
                 else
                   Actor::Die(uActorID);
-                Actor::_43AC45(uActorID, 0);
+                Actor::AggroSurroundingPeasants(uActorID, 0);
                 v18 = 20 * v14 / (signed int)v7->pMonsterInfo.uHP;
                 if ( 20 * v14 / (signed int)v7->pMonsterInfo.uHP > 10 )
                   v18 = 10;
@@ -6445,13 +6445,13 @@
                   v7->vVelocity.y = 50 * LOWORD(pVelocity->y);
                   v7->vVelocity.z = 50 * LOWORD(pVelocity->z);
                 }
-                LOWORD(v6) = Actor::AddBloodsplatOnDamageOverlay(uActorID, 1, v14);
+                Actor::AddBloodsplatOnDamageOverlay(uActorID, 1, v14);
               }
               else
               {
-                LOWORD(v6) = Actor::_4030AD(uActorID, v17, 0);
+                Actor::_4030AD(uActorID, v17, 0);
               }
-              return v6;
+              return;
             }
             v13 = v7->pMonsterInfo.uSpell2ID;
           }
@@ -6463,7 +6463,6 @@
       }
     }
   }
-  return v6;
 }
 
 //----- (0043BCA7) --------------------------------------------------------
@@ -10237,7 +10236,7 @@
 }
 
 //----- (004065B0) --------------------------------------------------------
-__int16 stru262_TurnBased::_4065B0()
+void stru262_TurnBased::_4065B0()
 {
   stru262_TurnBased *v1; // esi@1
   signed int v2; // eax@1
@@ -10277,14 +10276,13 @@
   if ( v1->uActorQueueSize > 0 )
   {
     do
-      LOWORD(v2) = v1->_406648(v5++);
+      v1->_406648(v5++);
     while ( (signed int)v5 < v1->uActorQueueSize );
   }
-  return v2;
 }
 
 //----- (00406648) --------------------------------------------------------
-__int16 stru262_TurnBased::_406648(unsigned int a2)
+void stru262_TurnBased::_406648(unsigned int a2)
 {
   TurnBased_QueueElem *v1; // ecx@1
   int v3; // eax@1
@@ -10375,19 +10373,20 @@
                       v16 = a2a;
                       if ( !(v14 % 2) )
                       {
-                        LOWORD(v3) = Actor::_402F87(v4, a2a, &a4);
-                        return v3;
+                        Actor::_402F87(v4, a2a, &a4);
+                        return;
                       }
                       v21 = 64;
 LABEL_26:
-                      LOWORD(v3) = Actor::_403EB6(v15, v16, v21, v23);
-                      return v3;
+                      Actor::_403EB6(v15, v16, v21, v23);
+                      return;
                     }
 LABEL_21:
                     v5->uCurrentActionTime = 0;
                     v5->uCurrentActionLength = 0;
                     v5->uAIState = Dead;
-                    return pActors[v4].UpdateAnimation();
+                    pActors[v4].UpdateAnimation();
+                    return;
                   }
                   v24 = v5->pMonsterInfo.uSpellSkillAndMastery2;
                   v22 = 3;
@@ -10422,7 +10421,6 @@
       }
     }
   }
-  return v3;
 }
 // 50FE08: using guessed type stru298 stru_50FE08;
 
@@ -12392,7 +12390,7 @@
 
     if (!v8 || v7)
       if (!v6 || v5)
-        if (actor->_438B9B())
+        if (actor->IsPeasant())
           BYTE2(actor->uAttributes) &= 0xF7u;
 
     BYTE2(actor->uAttributes) &= 0x7Fu;