comparison mm7_4.cpp @ 2255:4c9fef516e0a

immolation cleaned up a bit
author Grumpy7
date Thu, 27 Feb 2014 00:27:58 +0100
parents aff7a7b072b7
children 27f2a2c2fd8f
comparison
equal deleted inserted replaced
2254:2e02c384c62b 2255:4c9fef516e0a
262 int *v8; // ecx@10 262 int *v8; // ecx@10
263 int v9; // edi@15 263 int v9; // edi@15
264 signed int v10; // eax@15 264 signed int v10; // eax@15
265 __int16 *v11; // edx@16 265 __int16 *v11; // edx@16
266 int v12; // eax@20 266 int v12; // eax@20
267 int v13; // ebx@20 267 int numberOfActorsAffected; // ebx@20
268 unsigned int *v14; // esi@21 268 unsigned int v14; // esi@21
269 unsigned int v15; // ecx@21 269 //unsigned int v15; // ecx@21
270 unsigned int v16; // eax@21 270 //unsigned int v16; // eax@21
271 int v18; // eax@21 271 int v18; // eax@21
272 signed int v19; // eax@21 272 signed int v19; // eax@21
273 bool recovery_HP; // ebx@25 273 bool recovery_HP; // ebx@25
274 ITEM_EQUIP_TYPE v22; // edi@30 274 ITEM_EQUIP_TYPE v22; // edi@30
275 signed int v25; // eax@33 275 signed int v25; // eax@33
276 int v26; // eax@35 276 int v26; // eax@35
277 int v27; // eax@36 277 int v27; // eax@36
278 int v28; // eax@37 278 int v28; // eax@37
279 signed int v31; // ecx@53 279 signed int v31; // ecx@53
280 int v41[100]; // [sp+4h] [bp-22Ch]@20 280 int actorsAffectedByImmolation[100]; // [sp+4h] [bp-22Ch]@20
281 SpriteObject a1; // [sp+194h] [bp-9Ch]@15 281 SpriteObject a1; // [sp+194h] [bp-9Ch]@15
282 Vec3_int_ a3; // [sp+204h] [bp-2Ch]@15 282 Vec3_int_ a3; // [sp+204h] [bp-2Ch]@15
283 bool has_dragon_flag; // [sp+210h] [bp-20h]@22 283 bool has_dragon_flag; // [sp+210h] [bp-20h]@22
284 bool lich_jar_flag; // [sp+214h] [bp-1Ch]@25 284 bool lich_jar_flag; // [sp+214h] [bp-1Ch]@25
285 bool zombie_flag; // [sp+218h] [bp-18h]@25 285 bool zombie_flag; // [sp+218h] [bp-18h]@25
361 goto LABEL_19; 361 goto LABEL_19;
362 } 362 }
363 } 363 }
364 a1.uObjectDescID = v10; 364 a1.uObjectDescID = v10;
365 a1.field_60_distance_related_prolly_lod = 0; 365 a1.field_60_distance_related_prolly_lod = 0;
366 v12 = 8 * pParty->pPartyBuffs[PARTY_BUFF_IMMOLATION].uCaster;
367 LOBYTE(v12) = v12 | OBJECT_Player;
368 a1.uAttributes = 0; 366 a1.uAttributes = 0;
369 a1.uSectorID = 0; 367 a1.uSectorID = 0;
370 a1.uSpriteFrameID = 0; 368 a1.uSpriteFrameID = 0;
371 a1.spell_caster_pid = v12; 369 a1.spell_caster_pid = PID(OBJECT_Player, pParty->pPartyBuffs[PARTY_BUFF_IMMOLATION].uCaster);
372 a1.uFacing = 0; 370 a1.uFacing = 0;
373 a1.uSoundID = 0; 371 a1.uSoundID = 0;
374 v13 = _46A89E_immolation_effect((int)v41, 100, 307); 372 numberOfActorsAffected = _46A89E_immolation_effect(actorsAffectedByImmolation, 100, 307);
375 for ( v9 = 0; v9 < v13; ++v9 ) 373 for ( v9 = 0; v9 < numberOfActorsAffected; ++v9 )
376 { 374 {
377 v14 = (unsigned int *)&v41[v9]; 375 v14 = actorsAffectedByImmolation[v9];
378 v15 = *v14; 376 a1.vPosition.x = pActors[v14].vPosition.x;
379 v16 = *v14; 377 a1.vPosition.y = pActors[v14].vPosition.y;
380 a1.vPosition.x = pActors[v16].vPosition.x; 378 a1.vPosition.z = pActors[v14].vPosition.z;
381 a1.vPosition.y = pActors[v16].vPosition.y; 379 a1.spell_target_pid = PID(OBJECT_Actor,v14);
382 a1.vPosition.z = pActors[v16].vPosition.z;
383 v18 = 8 * v15;
384 LOBYTE(v18) = PID(OBJECT_Actor,v15);
385 a1.spell_target_pid = v18;
386 v19 = a1.Create(0, 0, 0, 0); 380 v19 = a1.Create(0, 0, 0, 0);
387 DamageMonsterFromParty(PID(OBJECT_Item,v19), *v14, &a3); 381 DamageMonsterFromParty(PID(OBJECT_Item,v19), v14, &a3);
388 } 382 }
389 } 383 }
390 384
391 has_dragon_flag = false; 385 has_dragon_flag = false;
392 if (PartyHasDragon()) 386 if (PartyHasDragon())