MOB SPEED:
PHP Code:
[ENABLE]
alloc(DrakoMobSpeed,64)
label(MobIsWalking)
label(ReturnMobSpeed)
label(MobRunSpeed)
label(MobWalkSpeed)
registersymbol(MobRunSpeed)
registersymbol(MobWalkSpeed)
0053E530: //80 7C 24 04 00 74 06 D9 40 70
jmp DrakoMobSpeed
ReturnMobSpeed:
DrakoMobSpeed:
cmp byte ptr [esp+04],00
je MobIsWalking
fld dword ptr [MobRunSpeed]
ret 0004
MobIsWalking:
fld dword ptr [MobWalkSpeed]
ret 0004
MobRunSpeed:
db 00 00 00 41
MobWalkSpeed:
db 00 00 40 40
[DISABLE]
dealloc(DrakoMobSpeed)
unregistersymbol(MobRunSpeed)
unregistersymbol(MobWalkSpeed)
0053E530:
cmp byte ptr [esp+04],00
PHP Code:
[ENABLE]
alloc(NonAggro,1024)
label(ReturnAggro)
0053D50A: //0F B7 86 54 01 00 00 8B 0D
jmp NonAggro
nop
nop
ReturnAggro:
NonAggro:
mov byte ptr [esi+00000174],00 // malee attack range = 0
mov byte ptr [esi+00000244],00 // magic attack range = 0
mov [esi+00000240],0000000 //other attack range = 0
mov [esi+0000023c],0000000 //other attack range = 0
mov [esi+00000238],0000000 //other attack range = 0
mov eax,05
mov word ptr [esi+00000154],ax
jmp ReturnAggro
[DISABLE]
dealloc(NonAggro)
0053D50A:
movzx eax,word ptr [esi+00000154]
PHP Code:
[ENABLE]
alloc(DrakoSpeed,16)
label(ReturnSpeed)
label(SpeedValue)
registersymbol(SpeedValue)
007E988A: //D9 40 08 5F 5E C3 8B 0D
jmp DrakoSpeed
ReturnSpeed:
DrakoSpeed:
fld dword ptr [SpeedValue]
pop edi
pop esi
jmp ReturnSpeed
SpeedValue:
db 00 00 20 41
[DISABLE]
dealloc(DrakoSpeed)
unregistersymbol(SpeedValue)
007E988A:
fld dword ptr [eax+08]
pop edi
pop esi
PHP Code:
[ENABLE]
alloc(MonsterProperties,2048)
label(ReturnMonsterProperties)
label(PropertyBace)
registersymbol(PropertyBace)
0045C46E: //8B 80 98 00 00 00 89 81 9C 00
jmp MonsterProperties
nop
ReturnMonsterProperties:
MonsterProperties:
push eax
mov eax,[eax+00000098] //Original Code
mov [ecx+0000009C],eax //Original Code
pop eax
mov [PropertyBace],ecx
//mov [ecx+00],00000000 //DwInfoIndex
mov [ecx+04],0000004B //DwExploreRange
mov [ecx+08],0000004B //DwSight
mov [ecx+0C],0000004B //DwPersuitRange
//mov [ecx+10],00000000 //DwAvoidRange
mov [ecx+14],00000000 //DwExploreStandDelay
//mov [ecx+18],00000000 //DwExploreMoveDelay
//mov [ecx+1C],00000000 //DwStandDelay
mov [ecx+20],000001F4 //DwMoveDelay
//mov [ecx+24],00000000 //DwFollowMyMasterRange
//mov [ecx+28],00000000 //DwStopMasterNear
//mov [ecx+2C],00000000 //DwWarpMyMasterRange
//mov [ecx+30],00000000 //DwCallTeamPossibelHP
//mov [ecx+34],00000000 //DwCallTeamCount
//mov [ecx+38],00000000 //DwBlockNFirstAttack
//mov [ecx+3C],00000000 //dwCallTeamCell
mov [ecx+40],000000FA //dwFollowTarget
mov [ecx+44],00000000 //dwSpecialAttackStartHP
mov [ecx+48],00000000 //dwSpecialMeleeAttackRate
mov [ecx+4C],00000000 //dwSpecialRangeAttackRate
mov [ecx+50],00000000 //DwPowerAttacjStartHP
mov [ecx+54],00000000 //dwPowerMeleeAttackProbable
mov [ecx+58],00000000 //dwPowerRangeAttackProbable
//mov [ecx+5C],00000000 //DwUnderAttackAggro
mov [ecx+60],00000000 //DwMeleeAttackRangeInAggro
mov [ecx+64],00000000 //DwRangeAttackRangeInAggro
mov [ecx+68],000003E8 //DwSightInAggro
//mov [ecx+6C],00000000 //DwDefeatAggro
//mov [ecx+70],00000000 //DwBlockedAggro
//mov [ecx+74],00000000 //DwSlideAggro
//mov [ecx+78],00000000 //DwHealAggro
//mov [ecx+7C],00000000 //DwMasterUnderAttackAggro
//mov [ecx+80],00000000 //DwMasterDefeatAggro
//mov [ecx+84],00000000 //DwMasterBlockingAggro
//mov [ecx+88],00000000 //DwMasterSlideAggro
//mov [ecx+8C],00000000 //DwCOmplusionUnderAttackAggro
mov [ecx+90],00000063 //dwMaxSummonsMonsterCount
mov [ecx+94],00000000 //dwReSummonsMonsterTick
mov [ecx+98],00000000 //dwMaxSummonsMonsterRange
mov [ecx+9C],00000000 //dwSummonsStartPcCount
//mov [eax+A0],00000000 //PatternType
mov eax,[ecx+0000009C] //Original Code
jmp ReturnMonsterProperties
PropertyBace:
db 00 00 00 00
[DISABLE]
dealloc(MonsterProperties)
unregistersymbol(PropertyBace)
0045C46E:
mov eax,[eax+00000098]
PHP Code:
[ENABLE]
alloc(MonsterRange,1024)
label(ReturnMonsterRange)
0053D4F5: //89 54 24 48 8B 01 FF 50 0C 8B
jmp MonsterRange
nop
ReturnMonsterRange:
MonsterRange:
mov [esp+48],edx
mov [esp+30],00000000
mov [esp+4c],00000000
//mov [esi+00000240],0000000 //other attack range to 0
//mov [esi+0000023c],0000000 //other attack range to 0
//mov [esi+00000238],0000000 //other attack range to 0
mov eax,[ecx]
jmp ReturnMonsterRange
[DISABLE]
dealloc(MonsterRange)
0053D4F5:
mov [esp+48],edx
mov eax,[ecx]
PHP Code:
[ENABLE]
alloc(MonsterAggro,4)
registersymbol(MonsterAggro)
0053D50A: //0F B7 86 54 01 00 00 8B 0D
mov eax,[MonsterAggro]
nop
nop
MonsterAggro:
db 03 00 00 00
[DISABLE]
unregistersymbol(MonsterAggro)
0053D50A:
movzx eax,word ptr [esi+00000154]
PHP Code:
[ENABLE]
alloc(Wall,64)
label(ReturnWall)
00768533: //8D BC 24 88 00 00 00
jmp Wall
nop
nop
ReturnWall:
Wall:
lea edi,ss:[esp+00000088]
cmp [eax+00000402],5f626577
je ReturnWall
mov [eax+00000402],5f626577
mov [eax+00000406],67616d69
mov [eax+0000040a],616d2e65
mov [eax+0000040e],00000063
jmp ReturnWall
[DISABLE]
dealloc(Wall)
00768533:
lea edi,[esp+00000088]