07-26-2008, 08:10 PM
Update: I missed one part... Its all here now though(I hope)
Range AI is split into 4 parts. I didn't bother finding out what each part does .
part one:
00407A8A |. 8B89 F4060000 MOV ECX,DWORD PTR DS:[ECX+6F4] ; RANGE
00407A90 |. 83F9 04 CMP ECX,4 << ID 4
00407A93 |. 0F84 3B010000 JE lf2.00407BD4
00407A99 |. 83F9 05 CMP ECX,5 << ID 5
00407A9C |. 0F84 32010000 JE lf2.00407BD4
00407AA2 |. 83F9 1F CMP ECX,1F << ID 31
00407AA5 |. 0F84 29010000 JE lf2.00407BD4
part 2looks the same as part one)
00407EC8 |. 8B80 F4060000 MOV EAX,DWORD PTR DS:[EAX+6F4] ; RANGE
00407ECE |. 83F8 04 CMP EAX,4
00407ED1 |. 74 0A JE SHORT lf2.00407EDD
00407ED3 |. 83F8 05 CMP EAX,5
00407ED6 |. 74 05 JE SHORT lf2.00407EDD
00407ED8 |. 83F8 1F CMP EAX,1F
part 3:
0040806B |. 83F8 04 CMP EAX,4
0040806E |. 74 13 JE SHORT lf2.00408083
00408070 |. 83F8 05 CMP EAX,5
00408073 |. 74 0E JE SHORT lf2.00408083
00408075 |. 83F8 1F CMP EAX,1F
00408078 |. 74 09 JE SHORT lf2.00408083
0040807A |. 83F8 24 CMP EAX,24 << jans' ID! huh?!
I suspect part 3 just tell them to run around a lot , if you haven't noticed jans AI tries to keep a distance and cast those devil/angle things all the time, doesn't usually fight melee if she can help it.
Part 4 (update, I guess I missed this):
00407F81 |. 8B82 F4060000 MOV EAX,DWORD PTR DS:[EDX+6F4]
00407F87 |. 83F8 04 CMP EAX,4
00407F8A |. 74 0E JE SHORT lf2.00407F9A
00407F8C |. 83F8 05 CMP EAX,5
00407F8F |. 74 09 JE SHORT lf2.00407F9A
00407F91 |. 83F8 1F CMP EAX,1F
00407F94 |. 0F85 B2000000 JNZ lf2.0040804C
To copy the range AI to more ID's just replace(using part one as an example :
00407A90 |. 83F9 04 CMP ECX,4 << ID 4
With
JMP XXXXXXX
Then at XXXXXX:
CMP ECX,4
JE 00407BD4
CMP ECX,30 (id 48, the ID you want to copy to)
JE 00407BD4
JMP 00407A99
Hopefully you should be able to apply this to the other 2 parts (if you can't I'll edit the tutorial).
Range AI is split into 4 parts. I didn't bother finding out what each part does .
part one:
00407A8A |. 8B89 F4060000 MOV ECX,DWORD PTR DS:[ECX+6F4] ; RANGE
00407A90 |. 83F9 04 CMP ECX,4 << ID 4
00407A93 |. 0F84 3B010000 JE lf2.00407BD4
00407A99 |. 83F9 05 CMP ECX,5 << ID 5
00407A9C |. 0F84 32010000 JE lf2.00407BD4
00407AA2 |. 83F9 1F CMP ECX,1F << ID 31
00407AA5 |. 0F84 29010000 JE lf2.00407BD4
part 2looks the same as part one)
00407EC8 |. 8B80 F4060000 MOV EAX,DWORD PTR DS:[EAX+6F4] ; RANGE
00407ECE |. 83F8 04 CMP EAX,4
00407ED1 |. 74 0A JE SHORT lf2.00407EDD
00407ED3 |. 83F8 05 CMP EAX,5
00407ED6 |. 74 05 JE SHORT lf2.00407EDD
00407ED8 |. 83F8 1F CMP EAX,1F
part 3:
0040806B |. 83F8 04 CMP EAX,4
0040806E |. 74 13 JE SHORT lf2.00408083
00408070 |. 83F8 05 CMP EAX,5
00408073 |. 74 0E JE SHORT lf2.00408083
00408075 |. 83F8 1F CMP EAX,1F
00408078 |. 74 09 JE SHORT lf2.00408083
0040807A |. 83F8 24 CMP EAX,24 << jans' ID! huh?!
I suspect part 3 just tell them to run around a lot , if you haven't noticed jans AI tries to keep a distance and cast those devil/angle things all the time, doesn't usually fight melee if she can help it.
Part 4 (update, I guess I missed this):
00407F81 |. 8B82 F4060000 MOV EAX,DWORD PTR DS:[EDX+6F4]
00407F87 |. 83F8 04 CMP EAX,4
00407F8A |. 74 0E JE SHORT lf2.00407F9A
00407F8C |. 83F8 05 CMP EAX,5
00407F8F |. 74 09 JE SHORT lf2.00407F9A
00407F91 |. 83F8 1F CMP EAX,1F
00407F94 |. 0F85 B2000000 JNZ lf2.0040804C
To copy the range AI to more ID's just replace(using part one as an example :
00407A90 |. 83F9 04 CMP ECX,4 << ID 4
With
JMP XXXXXXX
Then at XXXXXX:
CMP ECX,4
JE 00407BD4
CMP ECX,30 (id 48, the ID you want to copy to)
JE 00407BD4
JMP 00407A99
Hopefully you should be able to apply this to the other 2 parts (if you can't I'll edit the tutorial).