- 积分
- 21289
- 威望
- 367
- 魅力
- 368
- 经验
- 11228
- 热心度
- 0
- 注册时间
- 2009-2-9
- 最后登录
- 2024-3-2
- 主题
- 75
- 回帖
- 3846
- 精华
- 16
- 阅读权限
- 90
该用户从未签到
论坛嘉宾
无敌英雄★英雄寂寞
- 积分
- 21289
|
楼主 |
发表于 2010-12-23 21:38:16
|
显示全部楼层
下面发一下加强箭术和进攻术的脚本,防御术没有加强!
这样感觉进攻和防御还有箭术特长都很好,有的一拼了!
ZVSE
!#TM50:S2/999/1/255;
!#TM51:S8/999/7/255;
!#VRz722:S^{急救帐篷}
每一轮战斗过后,都可以用急救帐篷医治你的部队,并且在战斗胜利后复活部分阵亡的部队,复活的生命总值为(1-50 + 英雄等级)。^;
!#VRz723:S^{弩车}
T弩车可以在战斗中打击敌人的部队,并且在战前直接杀死敌方(1-50 + 英雄等级)点生命值的兵力。^;
!#VRz724:S^{补给车}
补给车可以在战斗中为你的远程攻击部队提供无限量的弹药,并且增加急救帐篷和弩车100%的非战斗效果。^;
!#HT5/6:Tz722;
!#HT5/4:Tz723;
!#HT5/5:Tz724;
!#VRz725:S^补给车^;
!#UN:A5/9/725;
!#VRz713:S^{初级抵抗力}
初级抵抗力可使英雄部队的魔法抵抗力提高10%%。^;
!#VRz714:S^{中级抵抗力}
中级抵抗力可使英雄部队的魔法抵抗力提高20%%。^;
!#VRz715:S^{高级抵抗力}
高级抵抗力可使英雄部队的魔法抵抗力提高30%%。^;
!#UN:G0/26/1/z713 G0/26/2/z714 G0/26/3/z715;
!#VRz716:S^{初级急救术}
初级急救术可使英雄在战斗中自己控制急救帐篷,最多恢复50点生命值。可召唤帐篷,数量为英雄等级,并且行动之后自动施展疗伤魔法。^;
!#VRz717:S^{中级急救术}
中级急救术可使英雄在战斗中自己控制急救帐篷,最多恢复75点生命值。可召唤帐篷,数量为英雄等级,并且行动之后自动施展疗伤魔法。^;
!#VRz718:S^{高级急救术}
高级急救术可使英雄在战斗中自己控制急救帐篷,最多恢复100点生命值。可召唤帐篷,数量为英雄等级,并且行动之后自动施展全体疗伤魔法。^;
!#UN:G0/27/1/z716 G0/27/2/z717 G0/27/3/z718;
!#VRz719:S^{初级}{炮术}
可控制弩车
每轮发射1次
有50%的机会造成2倍的损伤
可控制箭塔^;
!#VRz720:S^{中级}{炮术}
可控制弩车
每轮发射2次
有75%的机会造成2倍的损伤
可控制箭塔^;
!#VRz721:S^{高级}{炮术}
可控制弩车
每轮发射2次
有100%的机会造成2倍的损伤
可控制箭塔^;
!#UN:G0/20/1/z719 G0/20/2/z720 G0/20/3/z721;
!#VRz726:S^{初级}{幸运术}
幸运 +1
开战时有10%的几率暂时为己方1支部队增加2点攻防并获得幸运之神魔法状态。^;
!#VRz727:S^{中级}{幸运术}
幸运 +2
开战时有20%的几率暂时为己方2支部队增加2点攻防并获得幸运之神魔法状态。^;
!#VRz728:S^{高级}{幸运术}
幸运 +3
开战时有30%的几率暂时为己方3支部队增加2点攻防并获得幸运之神魔法状态。^;
!#UN:G0/9/1/z726 G0/9/2/z727 G0/9/3/z728;
!#VRz732:S^{初级}{寻路术}
初级寻路术可使英雄移动时受地形的影响减少25%%,英雄带领的部队地图速度至少为6。^;
!#VRz733:S^{中级}{寻路术}
中级寻路术可使英雄移动时受地形的影响减少50%%,英雄带领的部队地图速度至少为7。^;
!#VRz734:S^{高级}{寻路术}
高级寻路术可使英雄移动时受地形的影响减少75%%,英雄带领的部队地图速度至少为8。^;
!#UN&v7194=1:G0/0/1/z732 G0/0/2/z733 G0/0/3/z734;
!#VRz750:S^{初级}{航海术}
初级航海术可使英雄在海上的移动点数增加50%%,海战时暂时增加英雄攻防各1点。^;
!#VRz751:S^{中级}{航海术}
中级航海术可使英雄在海上的移动点数增加100%%,海战时暂时增加英雄攻防各2点。^;
!#VRz752:S^{高级}{航海术}
高级航海术可使英雄在海上的移动点数增加150%%,海战时暂时增加英雄攻防各3点。^;
!#UN:G0/5/1/z750 G0/5/2/z751 G0/5/3/z752;
!#VRz897:S^{初级}{防御术}
初级防御术可使英雄的部队在遭到攻击时损伤减少5%%。^;
!#VRz898:S^{中级}{防御术}
中级防御术可使英雄的部队在遭到攻击时损伤减少10%%。^;
!#VRz899:S^{高级}{防御术}
中级防御术可使英雄的部队在遭到攻击时损伤减少15%%。^;
!#UN:G0/23/1/z897 G0/23/2/z898 G0/23/3/z899;
!#VRz894:S^{初级魔力}
初级魔力可使英雄在战斗中的魔法杀伤力提高10%%。^;
!#VRz895:S^{中级魔力}
中级魔力可使英雄在战斗中的魔法杀伤力提高20%%。^;
!#VRz896:S^{高级魔力}
高级魔力可使英雄在战斗中的魔法杀伤力提高30%%。^;
!#UN:G0/25/1/z894 G0/25/2/z895 G0/25/3/z896;
!#VRz897:S^{初级箭术}
初级箭术可使英雄在战斗中的远程杀伤力提高30%%。^;
!#VRz898:S^{中级箭术}
中级箭术可使英雄在战斗中的远程杀伤力提高50%%。^;
!#VRz899:S^{高级箭术}
高级箭术可使英雄在战斗中的远程杀伤力提高100%%。^;
!#UN:G0/1/1/z897 G0/1/2/z898 G0/1/3/z899;
!#VRz900:S^{初级进攻术}
初级进攻术可使英雄在战斗中的近战杀伤力提高30%%。^;
!#VRz901:S^{中级进攻术}
中级进攻术可使英雄在战斗中的近战杀伤力提高50%%。^;
!#VRz902:S^{高级进攻术}
高级进攻术可使英雄在战斗中的近战杀伤力提高100%%。^;
!#UN:G0/22/1/z900 G0/22/2/z901 G0/22/3/z902;
** end of Initialization Code
** Timer routines
!?TM94;
[day 1 - continue if pathfinding enabled]
!!OW:C?v7026;
[get current player]
!!VRv7020:S0;
[start with hero #0]
!!DO7020/0/155/1:P1;
[iterate through all heroes]
!?TM50;
[daily - continue if either estates, learning, pathfinding enabled]
!!OW:C?v7026;
[get current player]
!!VRv7020:S0;
[start with hero #0]
!!DO7020/0/155/1:P0;
[iterate through all heroes]
!?FU7020;
!!HEx16:O?v7021;
[get owner of iterated hero]
!!HEx16:S0/?y1;
[get hero's pathfinding skill level]
!!FU7025&y1>0:Px16/y1;
[if hero has pathfinding, is in use and it's that hero's owner's turn, continue in function 7025 - if enabled]
!?BA0;
** artillery for MP game runs at Attacker's side
!!BA:H0/?v7020;
[get attacking hero #]
!!HEv7020&v7020>-1:A2/4/?y-7/?y-8;
[see if attacking hero has a Ballista]
!!FU7000&y-8>0/v7020>-1:P1;
[shoot something - attacker]
!!BA:H1/?v7020;
[get defending hero #]
!!HEv7020&v7020>-1:A2/4/?y-7/?y-8;
[see if defending hero has a Ballista]
!!FU7000&y-8>0/v7020>-1:P2;
[shoot something - defender]
!?BA0;
** first aid
!!VRv7040:C0/0/0/0/0/0/0;
[no creatures to resurrect after battle attacker]
!!VRv7047:C0/0/0/0/0/0/0;
[no creatures to resurrect after battle defender]
!!BA:M0/0/?y-1/?v7040;
[save qty in each of attacking hero's slots for after battle]
!!BA:M0/1/?y-1/?v7041;
[to determine qty lost for first aid skill]
!!BA:M0/2/?y-1/?v7042;
!!BA:M0/3/?y-1/?v7043;
!!BA:M0/4/?y-1/?v7044;
!!BA:M0/5/?y-1/?v7045;
!!BA:M0/6/?y-1/?v7046;
!!BA:M1/0/?y-1/?v7047;
[save qty in each of defending hero's slots for after battle]
!!BA:M1/1/?y-1/?v7048;
[to determine qty lost for first aid skill]
!!BA:M1/2/?y-1/?v7049;
!!BA:M1/3/?y-1/?v7050;
!!BA:M1/4/?y-1/?v7051;
!!BA:M1/5/?y-1/?v7052;
!!BA:M1/6/?y-1/?v7053;
!?BA0;
** luck
!!VRv7034:C-2/-2/-2/-2/-2/-2;
[reset v7034-v7039]
!!BA:H0/?v7020;
[get attacking hero #]
!!HEv7020&v7020>-1:S9/?y-1;
[get attacker's luck skill level]
!!FU7008&y-1>0/v7020>-1:Py-1/1;
[call function 7008 if attacking hero has luck]
!!BA:H1/?v7020;
[get defending hero #]
!!HEv7020&v7020>-1:S9/?y-2;
[get defender's luck skill level]
!!FU7008&y-2>0/v7020>-1:Py-2/2;
[call function 7008 if defending hero has luck]
!!BA:Od/?y-1;
!!IP&998:Dy-1 V7034/7039; zvs[transfer settings to defender]
** start of battle-start trigger
!?BA52;
[Continue trigger if any skills are enabled]
** offset skill levels for armorer, resistance, sorcery
!!BA:H0/?v7054;
[get attacking hero's #]
!!BA:H1/?v7055;
[get defending hero's #]
!!FU7026&v7054>-1:Pv7054/0;
[offset skill levels - attacker]
!!FU7026&v7055>-1:Pv7055/0;
[offset skill levels - defender]
** end of battle-start trigger
!?HM-1|v7193=1/v7197=1;
[continue if navigation or scouting enabled]
!!HE-1:N?v7020 O?y-2;
[get #, owner of hero]
!!OW:C?y-3;
[get current player]
!!FU&y-2<>y-3:E;
[exit if not current player's hero]
!!HEv7020:P?v7023/?v7024/?v7025;
[get hero's position]
!!TR7023:T?y-5/d/d/d/d/d/d/d;
[get terrain type]
!!IF:Wv7020;
[enable hero variable]
!!VRw4&v7193=1/y-5<>8:S0;
[reset w4 if not on water - if enabled]
!!HEv7020&v7193=1/y-5=8:S5/?w4;
[get hero's navagation skill level if on water - if enabled]
** start of battlefield start trigger
!?BF;
[continue if luck or navigation enabled]
** luck
!!BA:H0/?v7020;
[get attacking hero #]
!!HEv7020&v7020>-1:S9/?y-1;
[get attacker's luck skill level]
!!DO7010/0/20/1&v7020>-1/y-1>0:P1;
[do function 7010 if attacker has luck]
!!BA:H1/?v7020;
[get defending hero #]
!!HEv7020&v7020>-1:S9/?y-2;
[get defender's luck skill level]
!!DO7010/21/41/1&v7020>-1/y-2>0:P2;
[do function 7010 if attacker has luck]
** navigation
!!BA:H0/?v7020;
[get attacking hero #]
!!IF&v7020>-1:Wv7020;
[enable hero variable]
!!DO7024/0/20/1&v7020>-1/w4>0:Pw4;
[prepare to add attack and defence to attacking hero's troops]
!!BA:H1/?v7020;
[get defending hero #]
!!IF&v7020>-1:Wv7020;
[enable hero variable]
**
zvs fix [20->41]
!!DO7024/21/41/1&v7020>-1/w4>0:Pw4;
[prepare to add attack and defence to defending hero's troops]
** end of battlefield start trigger
** start of post-action trigger
!?BG1;
[Continue trigger if any skills are enabled]
** reset skill levels for armorer, resistance, sorcery
!!BU:C?y-9;
[check for end of battle]
!!FU7026&v7054>-1/y-9=1:Pv7054/1;
[reset skill levels - attacker]
!!FU7026&v7055>-1/y-9=1:Pv7055/1;
[reset skill levels - defender]
** end of post-action trigger
!?BA1;
** first aid
!!BA:H0/?v7020;
[get attacking hero #]
!!HEv7020&v7020>-1:O?v7021;
[get attacking hero's owner]
!!HEv7020&v7020>-1:S27/?y-8;
[see if attacking hero has First Aid skill]
!!FU7002&v7021>-1/y-8>0/v7020>-1:P1;
[handle first aid tent for attacker]
!!BA:H1/?v7020;
[get defending hero #]
!!HEv7020&v7020>-1:O?v7021;
[get defending hero's owner]
!!HEv7020&v7020>-1:S27/?y-8;
[see if defending hero has a First Aid Tent]
!!FU7002&v7021>-1/y-8>0/v7020>-1:P2;
[handle first aid tent for defender]
** reset skill levels for armorer, resistance, sorcery
!!FU7026&v7054>-1:Pv7054/1;
[reset skill levels - attacker]
!!FU7026&v7055>-1:Pv7055/1;
[reset skill levels - defender]
** end of battle end trigger
** function to handle artillery, hero v7020, skill level y1
!?FU7000;
!!HEv7020:A2/5/?y7/?y8 E?y3/?y4/1 S20/?y1;
[check for Ammo Cart, get hero's level, artillery level]
!!VRy5:S1;
[set multiplier to 1]
!!VRy5&y8>0:+1;
[ammo cart bonus]
!!VRy5&y1>0:+y1;
[artillery bonus]
!!VRy3:S0 +1 T49 +y4 *y5;
[ballista damage: (1-50 + hero level) x bonus multiplier]
!!VRy2:S0 T6;
[random slot # to start search from]
!!VRj:S7;
[7 = slot not found]
!!DO7001/0/6/1:Px1/y2/y3;
[shoot next slot with >= 2 monsters]
** end of function
** function to check one stack for monsters to shoot
!?FU7001;
x1=slot#
x2=slot
x3=damage
!!HEv7020:B0/?z1;
[get hero's name]
!!VRy4:Sx2 %7;
[get an actual slot number]
!!BA&x1=1:M1/y4/?y5/?y6;
[get y5 type and y6 qty in slot of defender]
!!BA&x1=2:M0/y4/?y5/?y6;
[get y5 type and y6 qty in slot of attacker]
!!IF:V2/0;
[assume not shooting this stack]
!!IF&j=7/y6>1:V2/1;
[shoot if haven't yet and more than 1 monster]
!!VRj&2:Sy4;
[note we found a slot]
!!MA&y5>-1:Py5/?y7;
[get hit points of monster type y5]
!!VRx3&2/y7>0::y7;
[divide damage by hit points per monster to get monsters killed]
!!VRx3&2/x3>y6:Sy6;
[never kill entire stack]
!!VRx3&2/x3=y6:-1;
[broken into two lines since it didn't work as one]
!!VRy6&2/x3>0:-x3;
[kill some monsters]
!!BA&2/x1=1/x3>0:M1/y4/?y5/y6;
[store the new monster qty for defender]
!!BA&2/x1=2/x3>0:M0/y4/?y5/y6;
[store the new monster qty for attacker]
!!VRy1&2/x3>0:Sx3 *y7;
[monsters x hit points]
!!HEv7020&2/x3>0:Edy1;
[give experience] zvs[x3->y1]
!!VRx2:+1;
[next slot]
** end of function
** function to handle first aid tent
!?FU7002;
y1= HP
y2=slot y9= first aid
!!HEv7020:A2/5/?y7/?y8 E?y3/?y4/1 S27/?y9;
[check for Ammo Cart, get hero's level, first aid level]
!!VRy5:S1;
[set multiplier to 1]
!!VRy5&y8>0:+1;
[ammo cart bonus]
!!VRy5&y9>0:+y9;
[first aid bonus]
!!VRy1:S0 +1 T49 +y4 *y5;
[first aid tent heal: (1-50 + hero level) x bonus multiplier]
!!VRy2:S0 T6;
[random slot # to start search from]
!!VRj:S7;
[7 = slot not found]
!!DO7003/0/6/1:Px1/y1/y2;
[heal next slot with >= 1 monster killed]
** end of function
** function to find slot where at least 1 cr was lost
!?FU7003;
x1=filter x2=hp healed
x3=slot
!!VRy4:Sx3 %7;
[get an actual slot number]
!!BA&x1=1:M0/y4/?y5/?y6;
[get y5 type and y6 qty in slot y3 :attacker]
!!BA&x1=2:M1/y4/?y5/?y6;
[get y5 type and y6 qty in slot y3 :defender]
!!FU|y5<0/y6<1:E;
!!VRy1&x1=1:S7040 +y4;
[get variable # of previous qty :attacker]
!!VRy1&x1=2:S7047 +y4;
[get variable # of previous qty :defender]
!!VRy7:Svy1;
[get previous qty]
!!VRy7:-y6;
[subtract current qty to get qty lost]
!!FU7004&j=7/y7>0/y6>0:Px1/x2/x3/y4/y5/y6/y7;
[try to heal stack if some lost but some left]
!!VRx3:+1;
[next slot]
** end of function
** function to heal a stack
!?FU7004;
!!HEv7020:B0/?z1;
[get hero's name]
!!MA:Px5/?y8;
[get hit points of monster x5 into y8]
!!VRy5:Sx2;
[# of hit points to heal]
!!VRy5::y8;
[divided by monster hit points, rounded down, equals # to save]
!!VRy5&y5>x7:Sx7;
[can't save more than qty that died]
!!BA&x1=1/y5>0:M0/x4/?x5/dy5;
[restore y5 creatures attacker]
!!BA&x1=2/y5>0:M1/x4/?x5/dy5;
[restore y5 creatures defender]
!!IF&1000/y5=1:Q2/21/x5/1^战斗胜利后, %Z1 用急救帐篷复活了一个生物!^;
!!IF&1000/y5>1:Q2/21/x5/1^战斗胜利后, %Z1 用急救帐篷复活 了 %Y5 个生物!^;
!!UN:R1;
[redraw screen to show revived creatures]
!!VRj&y5>0:Sx4;
[note that we healed a stack if we did]
** end of function
** function for luck
x1=luck
x2=att/def (1/2)
!?FU7008;
!!HEv7020:B0/?z1;
[get hero's name]
!!VRy3:Sx1 *10;
[multiply skill level by 10 to get % chance]
!!VRy4:S0;
!!VRy5:S0 T6;
[random slot # to start search from]
!!DO7009/0/6/1:Px1/x2/y3/y4/y5;
[pick slots]
** function to pick slots
!?FU7009;
x1=luck level x2=filter x3=%chance x4=slot counter
x5=random slot #
!!VRy1:Sx5 %7;
[get an actual slot number]
!!BA&x2=1:M0/y1/?y2/?y3;
[creatures attacker]
!!BA&x2=2:M1/y1/?y2/?y3;
[creatures defender]
!!VRy6&y3>0:S0 R99;
[random roll for luck]
!!VRx4&x3>y6/y3>0:+1;
[increment slot counter]
!!VRv7034&x2=1/x3>y6/y3>0/x4=1:Sy1;
[store slot # - attacker]
!!VRv7035&x2=1/x3>y6/y3>0/x4=2/x1>1:Sy1;
[store slot # - attacker]
!!VRv7036&x2=1/x3>y6/y3>0/x4=3/x1=3:Sy1;
[store slot # - attacker]
!!VRv7037&x2=2/x3>y6/y3>0/x4=1:Sy1;
[store slot # - defender]
!!VRv7038&x2=2/x3>y6/y3>0/x4=2/x1>1:Sy1;
[store slot # - defender]
!!VRv7039&x2=2/x3>y6/y3>0/x4=3/x1=3:Sy1;
[store slot # - defender]
!!VRx5:+1;
[next slot]
** end of function
** function to check if unit has luck
!?FU7010;
x1=filter
x16=stack number
!!BMx16:O?y5;
[get hero slot number]
!!FU7011&x1=1/y5=v7034:Px16;
[call function 7011 if attacking unit has luck]
!!FU7011&x1=1/y5=v7035:Px16;
[call function 7011 if attacking unit has luck]
!!FU7011&x1=1/y5=v7036:Px16;
[call function 7011 if attacking unit has luck]
!!FU7011&x1=2/y5=v7037:Px16;
[call function 7011 if defending unit has luck]
!!FU7011&x1=2/y5=v7038:Px16;
[call function 7011 if defending unit has luck]
!!FU7011&x1=2/y5=v7039:Px16;
[call function 7011 if defending unit has luck]
** end of function
** function to give unit luck bonus
!?FU7011;
x1=stack #
x2=stack offset
!!BMx1:A?y1;
[get attack]
!!BMx1:D?y2;
[get defence]
!!VRy1:+5;
[add attack boost]
!!VRy2:+5;
[add defence boost]
!!BMx1:Ay1;
[set attack]
!!BMx1:Dy2;
[set defence]
** end of function
** function to pick a monster
!?FU7019;
!!VRs:S0 T173;
[random 0 to 173]
!!VRs&s>=132/s<=135:S0 T173;
[random 0 to 173 (reroll if super dragons were selected)]
!!VRs&s>=150/s<=158:S0 T173;
[random 0 to 173 (reroll if 8th levels were selected)]
!!VRs&s>=145/s<=149:S0 T131;
[random 0 to 131 (reroll if war machines were selected)]
!!VRs&s>=160/s<=163:S0 T131;
[random 0 to 131 (reroll if emissaries were selected)]
!!VRs&s=122:S192;
[set NOT USED 1 to sylvan centaur]
!!VRs&s=124:S193;
[set NOT USED 2 to sorceress]
!!VRs&s=126:S194;
[set NOT USED 3 to werewolf]
!!VRs&s=128:S195;
[set NOT USED 4 to hell steed]
!!UN:N3/z704/s/0;
[get monster name]
!!UN:N3/z705/s/1;
[get monsters name]
** end of function
** function for navigation (add attack and defence)
(Parameters: x1=stat bonus)
!?FU7024;
!!BMx16:Adx1;
[set attack]
!!BMx16:Ddx1;
[set defence]
** end of function
** function for pathfinding
x1 = hero
x2 = pathfinding
x3=Logistics
!?FU7025;
!!HEx1:P?v7023/?v7024/?v7025;
[get hero's position]
!!TRv7023/v7024/v7025:T?y1/d/d/d/d/d/d/d;
[get terrain type]
!!FU&y1=8:E;
[exit if on water]
!!HEx1:W?y2;
[get movement if on land]
!!VRy2&x2=1/y2<1700:S1700;
[set to 1700 if basic]
!!VRy2&x3=1:+200;
!!VRy2&x2=2/y2<1760:S1760;
[set to 1760 if advanced]
!!VRy2&x3=2:+300;
!!VRy2&x2=3/y2<1830:S1830;
[set to 1830 if expert]
!!VRy2&x3=3:+400;
!!HEx1:Wy2 Gy2;
[set movement, reset intial movement if on land]
** end of function
** function to offset skill levels
!?FU7026;
x1=hero
x2=set/reset
!!HEx1:S23/?y1;
[get hero's armorer skill level]
!!HEx1&y1=1/x2=0:S23/1;
[set basic armorer skill level]
!!HEx1&y1=2/x2=0:S23/2;
[set advanced armorer skill level]
!!HEx1&y1=3/x2=0:S23/3;
[set expert armorer skill level]
!!HEx1&y1=1/x2=1:S23/1;
[restore basic armorer skill level]
!!HEx1&y1=2/x2=1:S23/2;
[restore advanced armorer skill level]
!!HEx1&y1=3/x2=1:S23/3;
[restore expert armorer skill level]
!!HEx1:S25/?y2;
[get hero's sorcery skill level]
!!HEx1&y2=1/x2=0/x1<>140:S25/-3;
[set basic sorcery skill level]
!!HEx1&y2=2/x2=0/x1<>140:S25/-2;
[set advanced sorcery skill level]
!!HEx1&y2=3/x2=0/x1<>140:S25/-1;
[set expert sorcery skill level]
!!HEx1&y2=-3/x2=1/x1<>140:S25/1;
[restore basic sorcery skill level]
!!HEx1&y2=-2/x2=1/x1<>140:S25/2;
[restore advanced sorcery skill level]
!!HEx1&y2=-1/x2=1/x1<>140:S25/3;
[restore expert sorcery skill level]
!!HEx1&y2=1/x2=0/x1=140:S25/-15;
20%
!!HEx1&y2=2/x2=0/x1=140:S25/-14;
40%
!!HEx1&y2=3/x2=0/x1=140:S25/-17;
60%
!!HEx1&y2=-15/x2=1/x1=140:S25/1;
!!HEx1&y2=-14/x2=1/x1=140:S25/2;
!!HEx1&y2=-17/x2=1/x1=140:S25/3;
************************
!!HEx1:S22/?y9;
!!HEx1&y9=1/x2=0:S22/17;
30%
!!HEx1&y9=2/x2=0:S22/14;
50%
!!HEx1&y9=3/x2=0:S22/39;
100%
!!HEx1&y9=17/x2=1:S22/1;
!!HEx1&y9=14/x2=1:S22/2;
!!HEx1&y9=39/x2=1:S22/3;
************************
!!HEx1:S1/?y10;
!!HEx1&y10=1/x2=0:S1/7;
30%
!!HEx1&y10=2/x2=0:S1/18;
50%
!!HEx1&y10=3/x2=0:S1/43;
100%
!!HEx1&y10=7/x2=1:S1/1;
!!HEx1&y10=18/x2=1:S1/2;
!!HEx1&y10=43/x2=1:S1/3;
************************
!!HEx1:S26/?y3;
[get hero's resistance skill level]
!!HEx1&y3=1/x2=0:S26/9;
[set basic resistance skill level]
!!HEx1&y3=2/x2=0:S26/10;
[set advanced resistance skill level]
!!HEx1&y3=3/x2=0:S26/11;
[set expert resistance skill level]
!!HEx1:A2/57/?y5/?y7 A2/58/?y5/?y8 A2/59/?y5/?y9;
[see if hero has Garniture of Interference, Surcoat of Counterpoise, Boots of Polarity]
!!VRy6&y7>0/y8>0/y9>0:S1;
[artifact bonus]
!!HEx1&y3=0/y6=1/x2=2:S26/-17;
[set no resistance (combo)]
!!HEx1&y3=1/y6=1/x2=2:S26/-7;
[set basic resistance (combo)]
!!HEx1&y3=2/y6=1/x2=2:S26/-6;
[set advanced resistance (combo)]
!!HEx1&y3=3/y6=1/x2=2:S26/-5;
[set expert resistance (combo)]
!!HEx1&y3=9/x2=1:S26/1;
[restore basic resistance skill level]
!!HEx1&y3=10/x2=1:S26/2;
[restore advanced resistance skill level]
!!HEx1&y3=11/x2=1:S26/3;
[restore expert resistance skill level]
!!HEx1&y3=-17/x2=1:S26/0;
[restore no resistance (combo)]
!!HEx1&y3=-7/x2=1:S26/1;
[restore basic resistance (combo)]
!!HEx1&y3=-6/x2=1:S26/2;
[restore advanced resistance (combo)]
!!HEx1&y3=-5/x2=1:S26/3;
[restore expert resistance (combo)]
** end of function
** function to iterate through current player's heroes (weekly)
!?FU7012;
!!HEv7020:O?v7021;
[get owner of iterated hero]
!!HEv7020&v7021=v7026:S13/?y1;
[get hero's estates level]
!!FU7013&v7188=1/v7021=v7026/y1>0:Py1;
[if hero in use and it's that hero's owner's turn, continue in function 7013 (estates) - if enabled]
*!HEv7020&v7021=v7026:S18/?y1;
[get hero's scholar skill level]
*!FU7014&v7196=1/v7021=v7026/y1>0:Py1;
[if hero in use and it's that hero's owner's turn, continue in function 7014 (scholar) - if enabled]
*!VRv7020:+1;
[inc hero #]
** end of function
** function for estates
x1=estates level
!?FU7013;
!!HEv7020:B0/?z700;
[get hero's name]
!!HEv7020:R2/?y1;
[get hero's sex]
!!IF:Wv7020;
[enable hero variables]
!!VRw5&w8<1/x1>0:S0 R5;
[if not set, get random resource #]
!!VRw6&w8<2/x1>1:S0 R5;
!!VRw7&w8<3/x1=3:S0 R5;
!!VRw8&w8=0/x1>0:S1;
[set to lock resources]
!!VRw8&w8=1/x1>1:S2;
!!VRw8&w8=2/x1=3:S3;
!!VRy3:S1 R2;
[set quantity for resource 1]
!!VRy3&w5=0|w5=2:*2;
[double for wood or ore]
!!VRy4:S1 R2;
[set quantity for resource 2]
!!VRy4&w6=0|w6=2:*2;
[double for wood or ore]
!!VRy5:S1 R2;
[set quantity for resource 3]
!!VRy5&w7=0|w7=2:*2;
[double for wood or ore]
!!IFv7020&1000/x1=1:Q2/w5/y3/1^%Z700 的理财术生产了一些资源。^;
!!IFv7020&1000/x1=2:Q2/w5/y3/w6/y4/1^%Z700 的理财术生产了一些资源。^;
!!IFv7020&1000/x1=3:Q2/w5/y3/w6/y4/w7/y5/1^%Z700 的理财术生产了许多资源。^;
!!OW&x1=1:Rv7021/w5/dy3;
[give the resources]
!!OW&x1=2:Rv7021/w5/dy3 Rv7021/w6/dy4;
[give the resources]
!!OW&x1=3:Rv7021/w5/dy3 Rv7021/w6/dy4 Rv7021/w7/dy5; [give the resources]
** end of function
**
object trigger - post visit - Garniture of Interference
!$OB5/57;
!!FU7007:P2;
**
object trigger - post visit - Surcoat of Counterpoise
!$OB5/58;
!!FU7007:P2;
**
object trigger - post visit - Boots of Polarity
!$OB5/59;
!!FU7007:P2; |
|