Naked(WingsAddSpecialEffect) // -> 16 -> 00509621
{
//7e04 - äûì÷àòûé øàð
//7e6e - îãîíü
//7e22 - õðåíü âî âñå ñòîðîíû (íîðì äëÿ ñóììîíåðà), îò âîäû
//7e2c - ïóçûðèêè
//7e72(70) - äûì (êàê íà áö, îò îãíÿ)
//7e1f - ñòàíäàðòíàÿ
//7d02 - øàð
//7d30 - ìàëåíüêèå øàðèêè âî âñå ñòîðîíû[2]
//7d36 - êðóòÿøèéñÿ ñèíèé êîìîê õóéíè (äëÿ ñì êðûëüåâ íîðì)
//0 - ïîäñâåòêà
//1 - øàð ñî ñëåäîì
//2 - ñâåò
//7d48 - øàð, êàê 7d4d, òîëüêî ìèãàåò
//7d4d - êðàñíûé øàð ñî ñëåäîì (äëÿ áê êðûëüåâ íîðì)
//0 - ñòîëá
//1 - øàð ñî ñëåäîì
//2 - øàð ìåãàþùèé
//7d54 - áðûçãè êðîâè
//7d65 - äûì çåëåíûé â ðàçíûå ñòîðîíû
//7d66 - êîðè÷íåâûé ñëåä ïûëè
//7D69 - äûì (÷åðíûé)
//1 - ñëåä äûìà
//2 - â ðàçíûå ñòîðîíû
//7d71 - çâåçäî÷êè
//0 = ïîëîñêà çà òîáîé
//1 = ïî ìåíüøå
//7d77 - çâåçäî àóðà (äëÿ ýëüô êðûëüåâ)
//0 = òîëñòàÿ àóðà ñëåäóþùàÿ çà òîáîé
//1 = ìåëêèå çâåçäî÷êè (åëè çàìåòíûå)
//2 = ìåãàþùàÿ ïîäöâåòêà
//7d83 - àóðà èç øàðèêîâ[3]
//7dd6 - ïóçûðèêè
// ----
_asm
{
mov eax, dword ptr ss:[ebp+8]
mov esi, dword ptr ds:[eax+0x1c8]
mov WingsAddSpecialEffect_Pointer, esi
}
// ----
//TDEBUG("[%s] Pointer: [%d:%d]", __FUNCTION__, (ItemPointer - ITEM_INTER) / 512, (ItemPointer - ITEM_INTER) % 512);
// ----
if( WingsAddSpecialEffect_Pointer == ITEM2(12, 180) || WingsAddSpecialEffect_Pointer == ITEM2(12 * 161, 180) ) // Complete
{
_asm
{
MOV DWORD PTR SS:[EBP-0x1C], 0xC1D00000
MOV DWORD PTR SS:[EBP-0x18], 0x40A00000
MOV DWORD PTR SS:[EBP-0x14], 0x428C0000
// ----
PUSH 1
LEA EAX,[EBP-0x44]
mov WingsAddSpecialEffect_Arg7, eax
PUSH EAX
LEA ECX,[EBP-0x1C]
mov WingsAddSpecialEffect_Arg6, ecx
PUSH ECX
MOV EDX,DWORD PTR SS:[EBP+0x0C]
MOV EAX,DWORD PTR DS:[EDX+0x1A4]
mov WingsAddSpecialEffect_Arg5, eax
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x34]
mov WingsAddSpecialEffect_This, ecx
mov WingsAddSpecialEffect_Buff, 0x004E171E
CALL WingsAddSpecialEffect_Buff
// ----
MOV ECX,DWORD PTR SS:[EBP+0x0C]
ADD ECX, 0x9C
mov WingsAddSpecialEffect_Arg4, ecx
MOV EDX,DWORD PTR SS:[EBP+0x0C]
ADD EDX, 0x1C8
mov WingsAddSpecialEffect_Arg3, edx
LEA EAX,[EBP-0x44]
mov WingsAddSpecialEffect_Arg2, eax
}
MU_SetEffect(0x7d36, WingsAddSpecialEffect_Arg2, WingsAddSpecialEffect_Arg3, WingsAddSpecialEffect_Arg4, 0, 3.0, 0);
}
else if( WingsAddSpecialEffect_Pointer == ITEM2(12, 181) || WingsAddSpecialEffect_Pointer == ITEM2(12 * 161, 181) ) // Complete
{
_asm
{
MOV DWORD PTR SS:[EBP-0x1C], 0xC1D00000
MOV DWORD PTR SS:[EBP-0x18], 0x40A00000
MOV DWORD PTR SS:[EBP-0x14], 0x418C0000
// ----
PUSH 1
LEA EAX,[EBP-0x44]
mov WingsAddSpecialEffect_Arg7, eax
PUSH EAX
LEA ECX,[EBP-0x1C]
mov WingsAddSpecialEffect_Arg6, ecx
PUSH ECX
MOV EDX,DWORD PTR SS:[EBP+0x0C]
MOV EAX,DWORD PTR DS:[EDX+0x1A4]
mov WingsAddSpecialEffect_Arg5, eax
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x34]
mov WingsAddSpecialEffect_This, ecx
mov WingsAddSpecialEffect_Buff, 0x004E171E
CALL WingsAddSpecialEffect_Buff
// ----
MOV ECX,DWORD PTR SS:[EBP+0x0C]
ADD ECX, 0x9C
mov WingsAddSpecialEffect_Arg4, ecx
MOV EDX,DWORD PTR SS:[EBP+0x0C]
ADD EDX, 0x1C8
mov WingsAddSpecialEffect_Arg3, edx
LEA EAX,[EBP-0x44]
mov WingsAddSpecialEffect_Arg2, eax
}
MU_SetEffect(0x7d4d, WingsAddSpecialEffect_Arg2, WingsAddSpecialEffect_Arg3, WingsAddSpecialEffect_Arg4, 1, 2.0, 1);
MU_SetEffect(0x7e6e, WingsAddSpecialEffect_Arg2, WingsAddSpecialEffect_Arg3, WingsAddSpecialEffect_Arg4, 1, 1.4, 1);
}
else if( WingsAddSpecialEffect_Pointer == ITEM2(12, 182) || WingsAddSpecialEffect_Pointer == ITEM2(12 * 161, 182) ) // Complete
{
_asm
{
MOV DWORD PTR SS:[EBP-0x1C], 0xC1D00000
MOV DWORD PTR SS:[EBP-0x18], 0x40A00000
MOV DWORD PTR SS:[EBP-0x14], 0x428C0000
// ----
PUSH 1
LEA EAX,[EBP-0x44]
mov WingsAddSpecialEffect_Arg7, eax
PUSH EAX
LEA ECX,[EBP-0x1C]
mov WingsAddSpecialEffect_Arg6, ecx
PUSH ECX
MOV EDX,DWORD PTR SS:[EBP+0x0C]
MOV EAX,DWORD PTR DS:[EDX+0x1A4]
mov WingsAddSpecialEffect_Arg5, eax
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x34]
mov WingsAddSpecialEffect_This, ecx
mov WingsAddSpecialEffect_Buff, 0x004E171E
CALL WingsAddSpecialEffect_Buff
// ----
MOV ECX,DWORD PTR SS:[EBP+0x0C]
ADD ECX, 0x9C
mov WingsAddSpecialEffect_Arg4, ecx
MOV EDX,DWORD PTR SS:[EBP+0x0C]
ADD EDX, 0x1C8
mov WingsAddSpecialEffect_Arg3, edx
LEA EAX,[EBP-0x44]
mov WingsAddSpecialEffect_Arg2, eax
}
MU_SetEffect(0x7d77, WingsAddSpecialEffect_Arg2, WingsAddSpecialEffect_Arg3, WingsAddSpecialEffect_Arg4, 1, 3.0, 1);
MU_SetEffect(0x7d77, WingsAddSpecialEffect_Arg2, WingsAddSpecialEffect_Arg3, WingsAddSpecialEffect_Arg4, 1, 3.0, 1);
MU_SetEffect(0x7d77, WingsAddSpecialEffect_Arg2, WingsAddSpecialEffect_Arg3, WingsAddSpecialEffect_Arg4, 1, 4.0, 1);
MU_SetEffect(0x7d77, WingsAddSpecialEffect_Arg2, WingsAddSpecialEffect_Arg3, WingsAddSpecialEffect_Arg4, 1, 2.0, 1);
MU_SetEffect(0x7d77, WingsAddSpecialEffect_Arg2, WingsAddSpecialEffect_Arg3, WingsAddSpecialEffect_Arg4, 1, 1.0, 1);
MU_SetEffect(0x7d77, WingsAddSpecialEffect_Arg2, WingsAddSpecialEffect_Arg3, WingsAddSpecialEffect_Arg4, 2, 2.0, 1);
MU_SetEffect(0x7d83, WingsAddSpecialEffect_Arg2, WingsAddSpecialEffect_Arg3, WingsAddSpecialEffect_Arg4, 3, 1.0, 1);
}
/*else if( ItemPointer == ITEM2(12, 183) || ItemPointer == ITEM2(12 * 161, 183) ) //
{
_asm
{
MOV DWORD PTR SS:[EBP-0x1C], 0xC1D00000
MOV DWORD PTR SS:[EBP-0x18], 0x40A00000
MOV DWORD PTR SS:[EBP-0x14], 0x428C0000
// ----
PUSH 1
LEA EAX,[EBP-0x44]
mov Arg77, eax
PUSH EAX
LEA ECX,[EBP-0x1C]
mov Arg66, ecx
PUSH ECX
MOV EDX,DWORD PTR SS:[EBP+0x0C]
MOV EAX,DWORD PTR DS:[EDX+0x1A4]
mov Arg55, eax
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x34]
mov This, ecx
mov Buff, 0x004E171E
CALL Buff
// ----
MOV ECX,DWORD PTR SS:[EBP+0x0C]
ADD ECX, 0x9C
mov Arg44, ecx
MOV EDX,DWORD PTR SS:[EBP+0x0C]
ADD EDX, 0x1C8
mov Arg33, edx
LEA EAX,[EBP-0x44]
mov Arg22, eax
}
MU_SetEffect(0x7d36, Arg22, Arg33, Arg44, 2, 0.5, 0);
}*/
else if( WingsAddSpecialEffect_Pointer == ITEM2(12, 184) || WingsAddSpecialEffect_Pointer == ITEM2(12 * 161, 184) ) // Complete
{
_asm
{
MOV DWORD PTR SS:[EBP-0x1C], 0
MOV DWORD PTR SS:[EBP-0x18], 0x41A00000
MOV DWORD PTR SS:[EBP-0x14], 0x428C0000
// ----
PUSH 1
LEA EAX,[EBP-0x44]
mov WingsAddSpecialEffect_Arg7, eax
PUSH EAX
LEA ECX,[EBP-0x1C]
mov WingsAddSpecialEffect_Arg6, ecx
PUSH ECX
MOV EDX,DWORD PTR SS:[EBP+0x0C]
MOV EAX,DWORD PTR DS:[EDX+0x1A4]
mov WingsAddSpecialEffect_Arg5, eax
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x34]
mov WingsAddSpecialEffect_This, ecx
mov WingsAddSpecialEffect_Buff, 0x004E171E
CALL WingsAddSpecialEffect_Buff
// ----
MOV ECX,DWORD PTR SS:[EBP+0x0C]
ADD ECX, 0x9C
mov WingsAddSpecialEffect_Arg4, ecx
MOV EDX,DWORD PTR SS:[EBP+0x0C]
ADD EDX, 0x1C8
mov WingsAddSpecialEffect_Arg3, edx
LEA EAX, [EBP-0x44]
mov WingsAddSpecialEffect_Arg2, eax
}
MU_SetEffect(0x7D69, WingsAddSpecialEffect_Arg2, WingsAddSpecialEffect_Arg3, WingsAddSpecialEffect_Arg4, 2, 0.5, 0);
}
else if( WingsAddSpecialEffect_Pointer == ITEM2(12, 185) || WingsAddSpecialEffect_Pointer == ITEM2(12 * 161, 185) ) // Complete
{
_asm
{
MOV DWORD PTR SS:[EBP-0x1C],0xC1D00000
MOV DWORD PTR SS:[EBP-0x18],0x40A00000
MOV DWORD PTR SS:[EBP-0x14],0x428C0000
// ----
PUSH 1
LEA EAX,[EBP-0x44]
mov WingsAddSpecialEffect_Arg7, eax
PUSH EAX
LEA ECX,[EBP-0x1C]
mov WingsAddSpecialEffect_Arg6, ecx
PUSH ECX
MOV EDX,DWORD PTR SS:[EBP+0x0C]
MOV EAX,DWORD PTR DS:[EDX+0x1A4]
mov WingsAddSpecialEffect_Arg5, eax
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x34]
mov WingsAddSpecialEffect_This, ecx
mov WingsAddSpecialEffect_Buff, 0x004E171E
CALL WingsAddSpecialEffect_Buff
// ----
MOV ECX,DWORD PTR SS:[EBP+0x0C]
ADD ECX, 0x9C
mov WingsAddSpecialEffect_Arg4, ecx
MOV EDX,DWORD PTR SS:[EBP+0x0C]
ADD EDX, 0x1C8
mov WingsAddSpecialEffect_Arg3, edx
LEA EAX,[EBP-0x44]
mov WingsAddSpecialEffect_Arg2, eax
}
MU_SetEffect(0x7e22, WingsAddSpecialEffect_Arg2, WingsAddSpecialEffect_Arg3, WingsAddSpecialEffect_Arg4, 1, 2.0, 1);
MU_SetEffect(0x7d77, WingsAddSpecialEffect_Arg2, WingsAddSpecialEffect_Arg3, WingsAddSpecialEffect_Arg4, 1, 3.0, 1);
}
// ----
_asm
{
mov eax, dword ptr ss:[ebp+0x0c]
mov esi, dword ptr ds:[eax+0x30]
mov WingsAddSpecialEffect_Pointer, esi
}
// ----
if( WingsAddSpecialEffect_Pointer != 0x2b5 )
{
_asm
{
mov WingsAddSpecialEffect_Buff, 0x00509D2E
jmp WingsAddSpecialEffect_Buff
}
}
else
{
_asm
{
mov WingsAddSpecialEffect_Buff, 0x00509631
jmp WingsAddSpecialEffect_Buff
}
}
}