Mercurial > mm7
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()) |