- 积分
- 52326
- 威望
- 258
- 魅力
- 268
- 经验
- 34412
- 热心度
- 37
- 注册时间
- 2006-7-9
- 最后登录
- 2024-8-28
- 主题
- 408
- 回帖
- 9896
- 精华
- 19
- 阅读权限
- 200
TA的每日心情 | 开心 2020-9-19 16:27 |
---|
签到天数: 7 天 连续签到: 1 天 [LV.3]火元素使者
管理员
风侠
- 积分
- 52326
|
楼主 |
发表于 2011-6-19 22:14:11
|
显示全部楼层
ZVSE
* Dispel Bug Fix, JHV/Yexian7, Nov., 2010
* replace Force Field-cast with cloud hole obstacles (88)
* remove obstacles if expert Dispel cast or after 2 rounds
* (must cast Remove Obstacle to remove, unfortunately)
* Note: effect of Mages and Silver Pegasi on FF spell cost is not accounted for (sorry)
* uses unclaimed variables v884=v895 & v1984-v1997 during battles
* and temporary variables v1=v7
* and unclaimed functions FU1984-FU1986
!?BA0&1000;
!!VRv1984:S0; no. of active Force Fields
!?BR&1000;
!!VRv1985:Sv997; save round # for other triggers
!!FU1984&v1984>0:P;
!?FU1984; pop FIFO list of FF's
!!VRy1:Sv1984+1985; index to earliest FF end-round
!!FU&vy1>v1985:E;
!!VRy2:Sv1984+1989; index to earliest FF start-hex
!!VRy3:Sv1984+1993; index to earliest FF end-hex
!!FU1985:Pvy2/vy3; remove earliest FF
!!VRv1984:-1;
!!FU1984&v1984>0:P;
!?FU1985; remove FF obstacles
** Attacking hero does Remove Obstacle on battlefield positions x1-x2
!!BH0:N?y2; hero
!!HEy2:I?y3/1; spell points
!!HEy2:Id30/1; add more than enough mana for RO casts
!!BH0:C64/x1/3/0;
!!VRy1:Sx1:17%2; even/odd starting row
!!VRx1:-16-y1;
!!BH0:C64/x1/3/0;
!!BH0&x1>x2:C64/x2/3/0; cast expert Remove Obstacle
!!HEy2:Iy3/1; restore Spell points
!!BH0:M0; renable casting
!?BG0&1000; check for FF and replace with obstacles
!!BG:A?v1 S?v2;
!!FU|v1<>1/v2<>12:E; FF not cast
!!BG:D?v1 Q?v2; get hex and side
!!BHv2:N?v3 M1; get hero, disable casting this round
!!FU&v3<0:E; gotta be a hero to cast, but just in case ...
!!HEv3:S17/?v4; get Earth skill level 0-3 (2,2,3,3 hexes)
!!BU:G?y7; terrain type, 1=MP, 8=RL
!!VRv4|y7=1/y7=8:S3;?br /> !!VRv8:Sv4+2:3*3-12; mana cost w/o Mages or Silver Pegasi
!!HEv3:Idv8/1;
!!VRv4: :2+2; v4=# of FF hexes
!!VRv7:Sv1:17%2; 0-even row, 1-odd row
!!VRv5:Sv4-1*-17+v1; ending hex for 3 hexes or odd starting row
!!VRv5&v4=2/v7=0:+1;
!!VRv6:Sv1985+2; end round
* make room in FIFO lists and add latest FF data
!!VRv884:Cv1986/v1987/v1988/v1989/v1990/v1991/v1992/v1993/v1994/v1995/v1996/v1997;
!!VRv1986:Cv6/v884/v885/v886/v1/v888/v889/v890/v5/v892/v893/v894;
!!VRv1984:+1;
* plot obstacle 88 in lieu of FF
!!BF:O88/v1;
!!VRv1:-16-v7;
!!BF:O88/v1;
!!BF&v1>v5:O88/v5;
!!BG:A0; cancel instead of casting FF
!?BG0&1000/v1984>0; check for Dispel (v2=35) and remove all FF obstacles if so
!!BG:A?v1 S?v2;
!!FU|v1<>1/v2<>35:E; Dispel not cast
!!BG:Q?v2; get side
!!BHv2:N?v3; get hero
!!FU&v3<0:E; gotta be a hero to cast, but just in case ...
!!HEv3:S16/?v4; get Water skill level 0-3
!!BU:G?y7; terrain type, 1=MP, 6=LP?br /> !!FU&v4<3/y7<>1/y7<>6:E; only Expert Dispel removes FF
!!DO1986/1/v1984/1:P;
!?FU1986; remove all FF obstacles, x16=# in FIFO list
!!VRy1:Sx16+1985; index to earliest FF end-round
!!VRy2:Sx16+1989; index to earliest FF start-hex
!!VRy3:Sx16+1993; index to earliest FF end-hex
!!FU1985:Pvy2/vy3; remove earliest FF
!!VRv1984:-1;
* Dispel bug fix by Yexian7, modified by JHV, Nov., 2010
* checks for Dispel or Remove Obstacle,
* puts cloud hole over FF or FW, then removes with cast of RO
!?BG0;
!!BG:A?y1 S?y2 H?y3 D?y5;
!!FU|y1<>1/y3=-1:E;
!!FU&y2<>35/y2<>64:E; 35 Dispel ?64 Remove Obstacle
!!BU:G?y7; terrain type, 1=MP, 6=LP?br /> !!HEy3:S16/?y4;
!!FU&y2=35/y4<3/y7<>1/y7<>6:E;
!!FU&y2=64/y4<2/y7<>1/y7<>6:E;
!!DO24000/1/185/1&y2=35:P100;
!!FU&y2=35:E;
!!BU:Oy5/?y6;
!!FU&y6<>17/y6<>34/y6<>35:E; 17 Firewall, 35 the main shield, 34 force shield
* note action not possible for y6=34-35 & y4=2
!!BF&y6=17:O88/y5;
!!BM0&y6=17:C64/y5/3/3/0;
!!FU&y6=17:E;
* find main shield
!!VRy8:Sy5;
!!VRy8&y6=34:Sy5+16;
!!BU:Oy8/?y9;
!!VRy8&y6=34/y9<>35:Sy5+17;
!!BU:Oy8/?y9;
!!VRy8&y6=34/y9<>35:Sy5+34;
!!BF:O88/y8;
!!BM0:C64/y8/3/3/0;
!!VRy9:Sy8-16;
!!BU:Oy9/?y10;
!!VRy9&y10<>34:Sy8-17;
!!BF:O88/y9;
!!BM0:C64/y9/3/3/0;
!!VRy9:Sy8-34;
!!BF:O88/y9;
!!BM0:C64/y9/3/3/0;
!?FU24000&x1=100;
!!BU:Ox16/?y1;
!!FU&y1<>17/y1<>34/y1<>35:E; 17 Firewall, 35 the main shield, 34 force shield
!!BF:O88/x16;
!!BM0:C64/x16/3/3/0; |
|