//=================================================
//版本:TWMS0100 (CRC版)
//功能:疾風N合一
// 走,跳怪方向【左趴往左,右趴往右,坐下停止控制】、笨怪、58秒損血一次、PG無敵、
// 紅點不暫停、跳怪不跳、致命的吸引力【定點及跟隨角色二種模式,啟動方式提示:5秒】
//更新:冷羽楓痕
//日期:2009/08/30
//=================================================
[enable]
alloc(MyLR,1024)
registersymbol(MyLR)
alloc(MyDir,4)
alloc(MyCt,4)
alloc(MyPt1,4)
label(MyLR1)
label(GoLR)
label(GoLR1)
label(GoLR2)
label(GoLR3)
label(GoLR4)
label(GoLR5)
label(GoLRback)
label(JmpLR)
label(JmpLR1)
label(JmpLR2)
label(JmpLRback)
label(MyStupid)
label(MyNoBack)
label(MyState)
label(MyCharX)
label(MyNoJmp)
label(LRDir1)
label(LRDir2)
label(LRDir3)
label(LRDir4)
label(LRDir5)
label(LRDir6)
label(LRDir7)
registersymbol(VarMaxBloom) //PG無敵
registersymbol(VarMinBloom) //PG無敵
alloc(VarMaxBloom, 4) //PG無敵
alloc(VarMinBloom, 4) //PG無敵
label(CBR100) //PG無敵
registersymbol(LR)
alloc(LR,4)
//--------↓PG無敵↓--------------
VarMaxBloom: //
dd 2 //最高損血量: 初始值: 2滴, 採用16進次
VarMinBloom: //
dd 1 //最低損血量: 初始值: 1滴, 採用16進次 (設0=miss)
//--------↑PG無敵↑--------------
LR:
DD 1
MyDir:
DD 1
MyLR:
pop edi
pop esi
pop ebp
pop ebx
push eax
cmp [00AE62C4],00000000
je MyLR1
pop eax
cmp dword ptr [esp],00903D8F
je GoLR
cmp dword ptr [esp],009041A9
je JmpLR
cmp dword ptr [esp],00902D26
je MyStupid
cmp dword ptr [esp],008AA275
jz MyNoBack
cmp dword ptr [esp],00904161
jz MyNoJmp
ret
MyLR1:
pop eax
ret
//================================
GoLR:
add esp,4
call MyState
push 03
pop ecx
mov [edi+20],eax
xor edx,edx
div ecx
cmp [MyDir], 1
je GoLRback
cmp [MyDir], 3
je GoLR1
cmp [MyDir], 4
je GoLR3
cmp edx, [MyDir]
je GoLRback
mov [esi+000004D0],0
jmp GoLRback
GoLR1:
push eax
call MyCharX
jmp GoLR4
GoLR3:
push eax
mov eax,[MyPt1]
GoLR4:
cmp edx, 1
je GoLR5
jg GoLR2
cmp eax,[esi+1C4]
pop eax
mov [esi+000004D0],5
jl GoLRback
mov [esi+000004D0],0
jmp GoLRback
GoLR2:
cmp eax,[esi+1C4]
pop eax
mov [esi+000004D0],5
jg GoLRback
mov [esi+000004D0],0
jmp GoLRback
GoLR5:
pop eax
mov [esi+000004D0],0
GoLRback:
jmp 00903D99
//================================
JmpLR:
add esp,4
call MyState
cmp [MyDir], 1
je JmpLRback
cmp [MyDir], 2
mov eax,2
je JmpLRback
cmp [MyDir], 0
mov eax,3
je JmpLRback
cmp [MyDir], 4
je JmpLR1
call MyCharX
jmp JmpLR2
JmpLR1:
mov eax,[MyPt1]
JmpLR2:
cmp eax,[esi+1C4]
mov eax,2
mov [esi+000004D0],5
jg JmpLRback
mov eax,3
JmpLRback:
cmp [esi+00000230],1 //<----------避免改到走怪
je LRDir7
cmp eax,[LR] //1改2則是右掉喔.可是要搭配疾風右走才行
jne LRDir7
sub [esi+00000230],2 //<-----這裡不要亂動 改錯了怪亂飄會鎖
LRDir7: //<------------
push 03
jmp 009041AB
//================================
MyCharX:
mov eax, [00AE62C4]
mov eax, [eax+0D2C]
ret
//================================
MyState:
push eax
mov eax, [00AE62C4]
mov eax, [eax+384]
cmp eax, a
je LRDir1
cmp eax, b
je LRDir2
cmp eax, 14
je LRDir3
cmp eax, 15
je LRDir3
mov [MyCt], 0
jmp LRDir4
LRDir1:
mov [MyDir],2
cmp [MyCt], 32
ja LRDir5
inc [MyCt]
jmp LRDir4
LRDir2:
mov [MyDir],0
cmp [MyCt], 32
ja LRDir6
inc [MyCt]
jmp LRDir4
LRDir3:
mov [MyDir],1
jmp LRDir4
LRDir5:
mov [MyDir],3
jmp LRDir4
LRDir6:
mov [MyDir],4
call MyCharX
mov [MyPt1],eax
LRDir4:
pop eax
ret
//============================
MyStupid:
add esp, 4
xor edx,edx
mov ecx,0000ea60
div ecx
lea eax,[esi+00000238]
add edx,0002bf20
mov [esi+00000240],edx
mov edx,[esp+10]
cmp [eax],edx
je 00902D71
cmp [esi+0000023c],edi
lea ecx,[esi+0000023c]
je 00902D71
jmp 00902D28
//============================
MyNoBack:
add esp,4
//--------↓PG無敵↓--------------
push eax
push ebx
push ecx
push edx
xor edx, edx
mov eax,[00AE62C4]
mov eax,[eax+18]
mov ecx, [VarMaxBloom]
mov ebx, [VarMinBloom]
sub ecx, ebx
jz CBR100
div ecx // edx:eax 除 ecx, 餘數放edx 簡單說 就是 除以差值 取餘數
CBR100:
add edx, ebx //餘數+上最小值
mov [ebp+8], edx //把結果丟進去扣寫
pop edx
pop ecx
pop ebx
pop eax
//--------↑PG無敵↑--------------
mov eax,[ebp-10]
lea ecx, [eax+0000187c]
push FFFF1D70 //原始值=FFFFFA24,修改此處可更改無敵秒數
jmp 008AA999
//==========↓跳怪不跳↓==========
MyNoJmp:
add esp,4
jmp 00904175
//==========↑跳怪不跳↑==========
004147BE:
jmp MyLR
[disable]
004147BE:
db 5f 5e 5d 5b c3
dealloc(MyLR)
unregistersymbol(MyLR)
unregistersymbol(VarMaxBloom)
dealloc(VarMaxBloom)
unregistersymbol(VarMinBloom)
dealloc(VarMinBloom)
unregistersymbol(LR)
dealloc(LR)
dealloc(MyDir)
dealloc(MyCt) |