无聊之士
全控
级别: 火花会员
编号: 49952
精华: 5
发帖: 432
威望: 25 点
配偶: 单身
火 花 币: 4092 HHB
注册时间:2006-02-10
最后登陆:2024-06-28
|
个人制作的圣魔新技能(更新技能"连击"增加集气效果!)
连击:武器相同不发动,武器是不是剑和部分枪职业发动率为5,武器是是剑和部分枪职业发动率大于等于5,具体发动率=速度*1.5+技术-必杀,目前只对攻击和反击做了判定,追击没有做连击判定. 技能发动效果:追加一次攻击,勇者系追加两次,发动后攻击速度减3.双方都发动攻击速度持平,否则发动方很可能被判定攻击速度低于对方而被判定被追击..
自己制作的攻击序列程序 0802AFAC FFA8F378 bl 83A3F00h<---------在这里追加正好在战斗数据初始化后面,对数据的改变正好成立
0802afda dde7 ble 802afach<-----连续和流星技能追加的必要改变 ------------------------------ 083A3F00 B500 push , lr 083A3F02 0000 lsl r0, r0, 0 083A3F04 2D06 cmp r5, 6h 083A3F06 0000 lsl r0, r0, 0<----------必须!!! 083A3F08 DC02 bgt 83A3F10h 083A3F0A 2D03 cmp r5, 3h 083A3F0C DC0C bgt 83A3F28h 083A3F0E DD01 ble 83A3F14h 083A3F10 1C05 mov r5, r0 083A3F12 2400 mov r4, 0h 083A3F14 42AC cmp r4, r5 083A3F16 D107 bne 83A3F28h 083A3F18 F81AF000 bl 83A3F50h<-----连续,条件是:已有的攻击次数是否为最后一次结束计算 083A3F1C 2801 cmp r0, 1h 083A3F1E D103 bne 83A3F28h 083A3F20 1C30 mov r0, r6 083A3F22 F865F487 bl 802AFF0h 083A3F26 182D add r5, r5, r0 083A3F28 FFB2F7FF bl 83A3E90h<-----流星 083A3F2C BC01 pop r0 083A3F2E 4700 bx r0 ----------------------- 083A3F1A F819F000 bl 83A3F50h<-----连续
083A3F50 B4FE push r1-r7 083A3F52 B500 push , lr 083A3F54 2805 cmp r0, 5h 083A3F56 DA36 bge 83A3FC6h 083A3F58 2000 mov r0, 0h 083A3F5A 1C04 mov r4, r0 083A3F5C 4647 mov r7, r8 083A3F5E 2548 mov r5, 48h《----进行追击判定开始 083A3F60 5B78 ldrh r0, [r7, r5]<-------读武器 083A3F62 F9C5F473 bl 80172F0h 083A3F66 1C03 mov r3, r0 083A3F68 5B70 ldrh r0, [r6, r5]<-------读武器 083A3F6A F9C1F473 bl 80172F0h 083A3F6E 4298 cmp r0, r3 083A3F70 D029 beq 83A3FC6h<-------武器相同不判定追击 083A3F72 2800 cmp r0, 0h 083A3F74 D001 beq 83A3F7Ah<-------武器是剑,直接进入追击几率判定去 083A3F76 2801 cmp r0, 1h 083A3F78 D110 bne 83A3F9Ch<-------武器不是剑也不是枪,几率为5进行判定!!! 083A3F7A 6871 ldr r1, [r6, 4h] 083A3F7C 7909 ldrb r1, [r1, 4h] 083A3F7E 2908 cmp r1, 8h 083A3F80 DD02 ble 83A3F88h<-------武器是枪职业是1~8的,进入追击几率判定去 083A3F82 2937 cmp r1, 37h 083A3F84 DA00 bge 83A3F88h<-------武器是枪职业是1~8的,进入追击几率判定去 083A3F86 E009 b 83A3F9Ch <-------武器是枪职业不是以上的,几率为5进行判定!!! 083A3F88 7DB0 ldrb r0, [r6, 16h]<------读速度 083A3F8A 0841 lsr r1, r0, 1h〈-------速度*0.5 083A3F8C 1840 add r0, r0, r1 083A3F8E 7D71 ldrb r1, [r6, 15h]〈--------读技术 083A3F90 1840 add r0, r0, r1 083A3F92 216A mov r1, 6Ah 083A3F94 5C71 ldrb r1, [r6, r1]〈--------读必杀 083A3F96 1A40 sub r0, r0, r1 083A3F98 2805 cmp r0, 5h<----这里比较5 083A3F9A DC00 bgt 83A3F9Eh 083A3F9C 2005 mov r0, 5h 083A3F9E FA77F486 bl 802A490h〈-------判定几率乱数区 083A3FA2 2801 cmp r0, 1h 083A3FA4 D10F bne 83A3FC6h〈----连续不成立 083A3FA6 255E mov r5, 5Eh 083A3FA8 5D71 ldrb r1, [r6, r5]〈----读攻击速度 083A3FAA 1EC9 sub r1, r1, 3h〈----攻击速度-3 083A3FAA 2900 cmp r1, 0h 083A3FAC DA00 bge 83A3FB0h 083A3FAE 2100 mov r1, 0h 083A3FB0 5571 strb r1, [r6, r5] 083A3FB2 0000 lsl r0, r0, 0 083A3FB4 0000 lsl r0, r0, 0 083A3FB6 0000 lsl r0, r0, 0 083A3FB8 0000 lsl r0, r0, 0 083A3FBA 0000 lsl r0, r0, 0 083A3FBC 0000 lsl r0, r0, 0 083A3FBE F81FF000 bl 83A4000h<-----------增加的技能动画处理,命中判定前的转移 083A3FC2 2001 mov r0, 1h 083A3FC4 1824 add r4, r4, r0 083A3FC6 1C20 mov r0, r4 083A3FC8 BC02 pop r1 083A3FCA 468E mov lr, r1 083A3FCC BCFE pop r1-r7 083A3FCE 4770 bx lr 083A3FD0 0000 lsl r0, r0, 0 083A3FD2 0000 lsl r0, r0, 0 083A3FD4 0000 lsl r0, r0, 0 083A3FD6 0000 lsl r0, r0, 0 083A3FD8 0000 lsl r0, r0, 0 083A3FDA 0000 lsl r0, r0, 0 083A3FDC 0000 lsl r0, r0, 0 083A3FDE 0000 lsl r0, r0, 0 ========================= ==================================== 083A3FE0 B438 push r3-r5<-----------增加的技能动画处理,命中判定后的转移可以通用了,因为对寄存器数据都没变。命中判定前的转移不能通用,除非必中技能等 083A3FE2 B500 push , lr 083A3FE4 4D00 ldr r5, [pc, 0h] ([003A3FE8]=0203A604) 083A3FE6 E001 b 83A3FECh 083A3FE8 A604 add r6, [pc, 10h] (=083A3FFCh) 083A3FEA 0203 lsl r3, r0, 8h 083A3FEC 682D ldr r5, [r5, 0h] 083A3FEE 682B ldr r3, [r5, 0h] 083A3FF0 2404 mov r4, 4h 083A3FF2 0324 lsl r4, r4, Ch《-----------使用了必中动画位,如果前面的命中成立,那么就会将该位转化为4000; 083A3FF4 4323 orr r3, r4 083A3FF6 602B str r3, [r5, 0h] 083A3FF8 BC08 pop r3 083A3FFA 469E mov lr, r3 083A3FFC BC38 pop r3-r5 083A3FFE 4770 bx lr --------------------- 083A4000 B438 push r3-r5<-----------增加的技能动画处理,命中判定前的转移可以通用了,因为对寄存器数据都没变。命中判定后的转移不能通用,除非必闪技能等 083A4002 B500 push , lr 083A4004 4D00 ldr r5, [pc, 0h] ([003A4008]=0203A604) 083A4006 E001 b 83A400Ch 083A4008 A604 add r6, [pc, 10h] (=083A401Ch) 083A400A 0203 lsl r3, r0, 8h 083A400C 682D ldr r5, [r5, 0h]《----必须从0203A604里读出地址,然后从该地址读出攻击显示控制数据! 083A400E 682B ldr r3, [r5, 0h] 083A4010 2402 mov r4, 2h《-----------使用了MiSS动画位,如果后面的命中成立,那么就会复核MISS位,将该位转化为4000,当然命中不成立就不用转化了!,具体转化见0802B37A 083A4012 4323 orr r3, r4 083A4014 602B str r3, [r5, 0h] 083A4016 BC08 pop r3 083A4018 469E mov lr, r3 083A401A BC38 pop r3-r5 083A401C 4770 bx lr 083A401E 0000 lsl r0, r0, 0 ========================================== ----------------------------------------------------------------------------------------------------------------------------- 流星技能追加判定 083A3F20 FFB6F7FF bl 83A3E90h<-----流星 ======================== 083A3E90 B500 push , lr 083A3E92 2D06 cmp r5, 6h 083A3E94 DC02 bgt 83A3E9Ch 083A3E96 2D02 cmp r5, 2h 083A3E98 DC25 bgt 83A3EE6h 083A3E9A D000 beq 83A3E9Eh 083A3E9C 1C05 mov r5, r0 083A3E9E 2248 mov r2, 48h 083A3EA0 5AB0 ldrh r0, [r6, r2]<-------读武器 083A3EA2 FA25F473 bl 80172F0h 083A3EA6 2800 cmp r0, 0h 083A3EA8 D125 bne 83A3EF6h<-------武器不是剑,直接跳出判定 083A3EAA 5AB0 ldrh r0, [r6, r2] 083A3EAC FA32F473 bl 8017314h 083A3EB0 2140 mov r1, 40h 083A3EB2 4008 and r0, r1 083A3EB4 2800 cmp r0, 0h 083A3EB6 D11E bne 83A3EF6h<-------武器是魔法剑,直接跳出判定 083A3EB8 6830 ldr r0, [r6, 0h]<-------武器是剑,进入职业判定 083A3EBA 7901 ldrb r1, [r0, 4h] 083A3EBC 2920 cmp r1, 20h 083A3EBE D003 beq 83A3EC8h 083A3EC0 2952 cmp r1, 52h 083A3EC2 D005 beq 83A3ED0h 083A3EC4 292B cmp r1, 2Bh 083A3EC6 D003 beq 83A3ED0h 083A3EC8 6870 ldr r0, [r6, 4h] 083A3ECA 7901 ldrb r1, [r0, 4h]<-------读职业 083A3ECC 2915 cmp r1, 15h 083A3ECE D112 bne 83A3EF6h 083A3ED0 7DB0 ldrb r0, [r6, 16h]<------读速度 083A3ED2 7E31 ldrb r1, [r6, 18h]〈--------读守备 083A3ED4 1A40 sub r0, r0, r1〈--------减守备 083A3ED6 0000 lsl r0, r0, 0 083A3ED8 FADAF486 bl 802A490h〈-------判定几率乱数区 083A3EDC 2801 cmp r0, 1h 083A3EDE D106 bne 83A3EEEh〈----不成立,必杀+1
083A3EE0 F88EF000 bl 83A4000h 083A3EE4 2505 mov r5,5h<------强制最多攻击五次,即使是勇者系也不例外,勇者系只是多了一次技能判定~,因为第六次就出现错误. 083A3EE6 205A mov r0, 5Ah 083A3EE8 5C31 ldrb r1, [r6, r0]〈----读攻击 083A3EEA 1E49 sub r1, r1, 1h 083A3EEC 5431 strb r1, [r6, r0] 083A3EEE 216A mov r1, 6Ah 083A3EF0 5C70 ldrb r0, [r6, r1]<--------读必杀 083A3EF2 3001 add r0, 1h 083A3EF4 5470 strb r0, [r6, r1] 083A3EF6 2D06 cmp r5, 6h 083A3EF8 DB00 blt 83A3EFCh 083A3EFA 2501 mov r5, 1h 083A3EFC BC02 pop r1 083A3EFE 4708 bx r1--------->流星判定完毕,返回
========================================== ----------------------------------================------------------------------------------ 以下程序的加入可以使特定职业增加一技能,具体效果是在必杀判定不成立的条件下,以[(HPMAX/2-HP)+CRI]%再次增加一次判定,成立则伤害*2,相当于TRS的死生了~所以给会改的人们分享,自己去找程序的空处,我找的也许不合适. 具体如下:会NOGBA和UE的人可以自己去改,目前我还没发现BUG,但是具体的特殊动画我无法做而没有华丽的技能发动形象,抱歉. 死生
死生
0802B402 FAFDF379 bl 83A4A00h 0802B406 2C01 cmp r4, 1h 0802B408 D003 beq 802B412h 0802B40A E039 b 802B480h 0802B40C 0000 lsl r0, r0, 0 0802B40E 0000 lsl r0, r0, 0 0802B410 0000 lsl r0, r0, 0 0802B412 1C38 add r0,r7,0h 0802B414 4641 mov r1,r8 0802B416 F7FF bl 0802B2FCh〈-------瞬杀判定
===================================
083A4A00 B500 push , lr 083A4A02 2000 mov r0, 0h 083A4A04 89A8 ldrh r0, [r5, Ch]<----读取当前必杀值 083A4A06 2100 mov r1, 0h 083A4A08 FD42F485 bl 802A490h<----当前必杀值与乱数比较区段,成立则必然有RO=1 083A4A0C 1C04 mov r4, r0 083A4A0E 2C01 cmp r4, 1h 083A4A10 D003 beq 83A4A1Ah 083A4A12 F805F000 bl 83A4A20h《----加入技能死生判定,必杀不成立时 083A4A16 0000 lsl r0, r0, 0 083A4A18 0000 lsl r0, r0, 0 083A4A1A BC02 pop r1 083A4A1C 4708 bx r1 083A4A1E FFFF [???] ----------- 083A4A20 B500 push , lr 083A4A22 0000 lsl r0, r0, 0 083A4A24 683B ldr r3, [r7, 0h] 083A4A26 791B ldrb r3, [r3, 4h] 083A4A28 4900 ldr r1, [pc, 0h] ([003A4A2C]=083A49E0) 083A4A2A E001 b 83A4A30h 083A4A2C 49E0 ldr r1, [pc, 380h] ([003A4DB0]=02FB07F5) 083A4A2E 083A lsr r2, r7, 0 083A4A30 7808 ldrb r0, [r1, 0h] 083A4A32 2800 cmp r0, 0h 083A4A34 D055 beq 83A4AE2h 083A4A36 4298 cmp r0, r3 083A4A38 D10E bne 83A4A58h 083A4A3A 2208 mov r2, 8h 083A4A3C 0152 lsl r2, r2, 5h 083A4A3E 6878 ldr r0, [r7, 4h] 083A4A40 6A80 ldr r0, [r0, 28h] 083A4A42 4010 and r0, r2 083A4A44 2800 cmp r0, 0h 083A4A46 D000 beq 83A4A4Ah 083A4A48 2014 mov r0, 14h 083A4A4A 2208 mov r2, 8h 083A4A4C 5CBA ldrb r2, [r7, r2] 083A4A4E 1810 add r0, r2, r0 083A4A50 2201 mov r2, 1h 083A4A52 5C8A ldrb r2, [r1, r2] 083A4A54 4290 cmp r0, r2 083A4A56 DA2B bge 83A4AB0h 083A4A58 1C89 add r1, r1, 2h 083A4A5A E7E9 b 83A4A30h 083A4A5C FFFFFFFF bl 83A5A14h
083A4AB0 2112 mov r1, 12h 083A4AB2 5C78 ldrb r0, [r7, r1]<-------读最大HP 083A4AB4 0840 lsr r0, r0, 1h 083A4AB6 2113 mov r1, 13h 083A4AB8 5C79 ldrb r1, [r7, r1]<-------读现有HP 083A4ABA 4288 cmp r0, r1 083A4ABC DB11 blt 83A4AE2h<----HP多余一半不发动 083A4ABE 1A41 sub r1, r0, r1《-----HP少余一半,每少一点加1必杀率 083A4AC0 89A8 ldrh r0, [r5, Ch]<----读取当前必杀值 083A4AC2 1840 add r0, r0, r1<----当前必杀值与技能修正的和 083A4AC4 2100 mov r1, 0h 083A4AC6 FCE3F485 bl 802A490h<------当前必杀值与乱数比较区段,成立则必然有RO=1 083A4ACA 0000 lsl r0, r0, 0 083A4ACC 0000 lsl r0, r0, 0 083A4ACE 2801 cmp r0, 1h 083A4AD0 D107 bne 83A4AE2h 083A4AD2 7929 ldrb r1, [r5, 4h]<----读取当前伤害,r5+4所在地址数据决定实际伤害 083A4AD4 0048 lsl r0, r1, 1h 083A4AD6 1840 add r0, r0, r1 083A4AD8 1A40 sub r0, r0, r1 083A4ADA 80A8 strh r0, [r5, 4h]<----当前伤害存入该地址 083A4ADC FA80F7FF bl 83A3FE0h<------技能动画控制 083A4AE0 E000 b 83A4AE4h 083A4AE2 2000 mov r0, 0h<---没有该技能和该技能没发动,R0=0 083A4AE4 BC02 pop r1 083A4AE6 4708 bx r1 --------------------------------------------------------------------------------------------------------- 天圣 不显示。。。。!!!!战斗后结果又是期望的,就不知道错在什么地方了,那个达人来指点下. 083A4AE8 2802 cmp r0,2h 083A4AEA D01C beq 083A4B26h 083A4AEC 6868 ldr r0,[r5,4h] 083A4AEE 7900 ldrb r0,[r0,4h] 083A4AF0 2876 cmp r0,76h 083A4AF2 D00B beq 083A4B0Ch 083A4AF4 2876 cmp r0,76h 083A4AF6 D009 beq 083A4B0Ch 083A4AF8 2876 cmp r0,76h 083A4AFA D007 beq 083A4B0Ch 083A4AFC 2876 cmp r0,76h 083A4AFE D005 beq 083A4B0Ch 083A4B00 2876 cmp r0,76h 083A4B02 D003 beq 083A4B0Ch 083A4B04 2876 cmp r0,76h 083A4B06 D001 beq 083A4B0Ch 083A4B08 F486 bl 0802B6A2h 083A4B0C 2112 mov r1,12h 083A4B0E 5C68 ldrb r0,[r5,r1] 083A4B10 2113 mov r1,13h 083A4B12 5C69 ldrb r1,[r5,r1] 083A4B14 1A40 sub r0,r0,r1 083A4B16 0600 lsl r0,r0,18h 083A4B18 0E00 lsr r0,r0,18h 083A4B1A F485 bl 0802A490h 083A4B1E 1C04 add r4,r0,0h 083A4B20 2C01 cmp r4,1h 083A4B22 D000 beq 083A4B26h 083A4B24 E7F0 b 083A4B08h 083A4B26 F486 bl 0802B670h ====================================== ============================================================
[ 此贴被无聊之士在2008-01-20 21:02重新编辑 ]
|
姓:郑 名:长春 号:无聊之士! 欢迎到网络U盘地址:http://zhengchangchun.ys168.com/ 来~ 个人空间http://i.cn.yahoo.com/zhengchangchun2003
|
[楼 主]
|
Posted:2007-05-10 21:40| |
顶端
| |