关于原版追随者过夜的经验是1的问题
原版追随者过夜始终是1,在ERM里面哪里看得出来?ZVSE
ERMS_ScriptDate=22.10(October).2004
_WARNING_#1=IMPORTANT! This file is not in a plain text format. NEVER use any editor except ERM_S for making any kind of changes!
ERMS_PoweredBy=ERM Scripter v. 2003.12.4.909
** HENCHMEN-ERM script 49
** By Arstahd
** Version: 1.17 updated October 22, 2004
** Thanks to Hermann the Weird for bug fixing and script maintenance
** Variables used:
** V variables: v7206-v7217 v7181
** Z variables: z1-z9
** W variables: w117-w119
** Functions used: 7100-7109
** Timers used: 19 (copy of T19 used in script00)
** allows you to select one of your creatures to act as a Henchman, and fight with your army
** left click on player-color flag in upper right corner of hero screen to select a new henchman or check status
** right click on player-color flag in upper right corner of hero screen to view help page
** henchmen gain status for each battle fought and gain levels (indicated by increased stack quantity)
** henchmen have a status bonus based on hero level and current day
** lower level/un-upgraded creatures level up faster than higher level/upgraded creatures
** dead henchmen can be resurrected in a town for a fee based on creature cost and level
** AI heroes have a (good) chance of having a henchman of random level (based on hero level)
** henchmen gain +1 attack, +1 defense, +1 speed
** henchmen gain an additional +1 speed for every 10 levels
** henchmen gain an additional +1 attack and +1 defense for every 3 levels
** henchmen gain +2-5 to base damage
** henchmen gain +10 to base health
** henchmen have a "dummy spell" (disguise) applied to color their quantity tag to help separate them from normal creatures
** henchmen will die after one of the stack is lost, they may offer one last retaliation before doing so
!#VRv7206:S0;
!#UN:P49/?v7181;
** Timer routines
!?TM19&v7181=1;
!!DO7105/0/155/1&v7206=0:P;
** start of hero screen mouse trigger **
!?CM2&v7181=1;
!!CM:I?y-3 F?y-4 S?y-5;
!!IF&y-3=141/y-4=512:Q2/-1/-1/1/z149000;
!!FU|y-3<>141/y-4<>0/y-5<>12:E;
!!CM:H?y-1/?y-2;
!!IF&y-1>-1:Wy-1;
!!FU7106&w118>-1:Py-1;
!!FU7102&w118<0:P;
!!UN:R3/-1;
** end of hero screen mouse trigger **
** start of object trigger - towns **
!?OB98&v7181=1;
!!OW:I-1/?y-2;
!!CA998&y-2=0:O?y-4;
!!HE-1&y-2=0:N?y-1 O?y-3;
!!IF&y-2=0/y-1>-1:Wy-1;
!!FU7108&y-2=0/w118>-1/w119=0/y-3=y-4:Py-1;
*!FU7109&y-2=0/w118=-1/y-3<>y-4:P;
** end of object trigger - towns **
** start of object trigger - banks **
!?OB16&v7181=1;
!!FU7109:P;
** end of object trigger - banks **
** start of object trigger - monsters **
!?OB54&v7181=1;
!!FU7109:P;
** end of object trigger - monsters **
!?FU7109;
!!OW:I-1/?y-2;
!!HE-1&y-2=0:N?y-1 O?y-3;
!!IF&y-2=0/y-1>-1:Wy-1;
!!IF&y-2=0/w118=-1:Q2/10/y-3/2/z149001;
!!FU7102&2/y-2=0/w118=-1:P;
!!VRw118&-2/y-2=0/w118=-1:S-2;
** end of function **
** start of battlefield trigger **
!?BF&v7181=1;
!!VRv7207:C-1/-1/-1/-1/-1/-1;
!!VRy-1:S-2;
!!BU:E2/?y-7;
!!BA:H0/?y-1;
!!HEy-1&y-1>-1:O?y-3;
!!OW:Iy-3/?y-6;
!!FU7103&y-6=1/y-1>-1:Py-1;
!!IF&y-1>-1:Wy-1;
!!VRy-8&y-7<21:S20;
!!VRy-8&y-7>20:S25;
!!BU&w118>-1/w119=1/y-1>-1:Sw118/1/y-8/0/-1/0;
!!BU&w118>-1/w119=1/y-1>-1:Ey-8/?v7207;
!!FU7101&w118>-1/w119=1/y-1>-1/v7207>-1:Pv7207/0/y-1;
!!VRy-2:S-2;
!!BA:H1/?y-2;
!!HEy-2&y-2>-1:O?y-3;
!!OW:Iy-3/?y-6;
!!FU7103&y-6=1/y-2>-1:Py-2;
!!IF&y-2>-1:Wy-2;
!!BU&w118>-1/w119=1/y-2>-1:Sw118/1/30/1/-1/0;
!!BU&w118>-1/w119=1/y-2>-1:E30/?v7208;
!!FU7101&w118>-1/w119=1/y-2>-1/v7208>-1:Pv7208/1/y-2;
** end of battlefield trigger **
** pre-action trigger
!?BG&v7181=1;
!!BMv7207&v7207>-1:N?v7211 H?v7216;
!!BMv7208&v7208>-1:N?v7212 H?v7217;
!!BG&v7207=v7210/v7211=0:A3;
!!BG&v7208=v7210/v7212=0:A3;
** end of pre-action trigger
** post-action trigger
!?BG1&v7181=1;
!!BG:N?v7210;
!!BMv7207&v7207>-1:N?y-2 T?y-3;
!!BMv7207&v7207>-1/y-2<v7211:K100000;
!!FU7107&v7207>-1/y-2<v7211:P0/0;
!!BMv7207&v7207>-1/y-2>v7211/y-3<>159:Nv7213 L0;
!!FU7107&v7207>-1/y-2>v7211/y-3<>159:P0/1;
!!BU&v7207>-1/y-2<v7211/y-3<>159:R;
!!BMv7208&v7208>-1:N?y-2 T?y-3;
!!BMv7208&v7208>-1/y-2<v7212:K100000;
!!FU7107&v7208>-1/y-2<v7212:P1/0;
!!BMv7208&v7208>-1/y-2>v7212/y-3<>159:Nv7214 L0;
!!FU7107&v7208>-1/y-2<v7212/y-3<>159:P1/1;
!!BU&v7208>-1/y-2<v7212/y-3<>159:R;
** end of post-action trigger
** function to get monster names
!?FU7100; x1= Z index
!!HE-1:C0/x16/?y1/?y2;
!!UN&x16=0/y1>-1:N3/2/y1/0;
!!UN&x16=1/y1>-1:N3/3/y1/0;
!!UN&x16=2/y1>-1:N3/4/y1/0;
!!UN&x16=3/y1>-1:N3/5/y1/0;
!!UN&x16=4/y1>-1:N3/6/y1/0;
!!UN&x16=5/y1>-1:N3/7/y1/0;
!!UN&x16=6/y1>-1:N3/8/y1/0;
** end of function
** function to give stat increases x1=stackx2=attacker/defenderx3=hero number
!?FU7101;
!!BMx1:T?y6;
!!FU7104&y6>-1:Py6;
!!VRy7&y6>-1:Sv7215;
!!IF&y6>-1:Wx3;
!!HEx3:E?y1/?y2/1;
!!VRy10:Sy2 -1 *10 +w117 +c;
!!VRv7213&x2=0/y6>-1:Sy10 :y7 +1;
!!VRv7214&x2=1/y6>-1:Sy10 :y7 +1;
!!VRy8&x2=0/y6>-1:Sv7213;
!!VRy8&x2=1/y6>-1:Sv7214;
!!VRy4&y6>-1:Sy8 :10 +1;
!!BMx1&y6>-1:Sdy4;
!!BMx1&y6>-1:U1/d2;
!!BMx1&y6>-1:U2/d5;
!!VRy4&y6>-1:Sy8 :3 +1;
!!BMx1&y6>-1:Ady4 Ddy4;
!!BMx1&y6>-1:H?y4;
!!VRy5&y6>-1:Sy4 +10 *y8;
!!BMx1&y6>-1:Hy5;
!!BMx1&y6>-1:Ny8;
!!BMx1|y6=63/y6=154:By8;
!!BMx1&y6>-1:M4/100/1;
!!VRw117&y6>-1:+6 T4;
*tactics speed boost if enabled*
!!UN:P218/?y1;
!!FU&y1<>1:E;
!!VRy3:S0;
!!VRy4:S0;
!!BH0:N?y1;
!!BH1:N?y2;
!!HEy1&y1>=0:S19/?y3;
!!HEy2&y2>=0:S19/?y4;
!!FU&y3=0/y4=0:E;
!!FU&y3=y4:E;
!!FU&y3<y4/x2=0:E;
!!FU&y3>y4/x2=1:E;
!!VRy5&y3>y4/x2=0:S0 +y3 -y4;
!!VRy5&y3<y4/x2=1:S0 +y4 -y3;
!!BMx1&y6>-1:Sdy5;
** end of function
** function to pick henchman
!?FU7102; x1=
!!VRz1:Sz149002;
!!VRz2:S^^;
!!VRz3:S^^;
!!VRz4:S^^;
!!VRz5:S^^;
!!VRz6:S^^;
!!VRz7:S^^;
!!VRz8:S^^;
!!VRz9:Sz149003;
!!VRz10:Sz149004;
!!DO7100/0/6/1:P2;
!!IF&1000:G1/1/256/1/2/3/4/5/6/7/8/9/10;
!!VRy2&v1=1:S0;
!!VRy2&v1=2:S1;
!!VRy2&v1=4:S2;
!!VRy2&v1=8:S3;
!!VRy2&v1=16:S4;
!!VRy2&v1=32:S5;
!!VRy2&v1=64:S6;
!!HE-1&v1<256:N?y3;
!!HE-1&v1<128:C0/y2/?y1/?y-2;
!!EX-1/y2:R?y-3/?y-4;
!!HE-1&v1<128/y-2=1/y-3=156:A156;
!!HE-1&v1<128:C0/y2/?y1/d-1;
!!IF&v1<256/y3>-1:Wy3;
!!VRw117&v1<256:S0;
!!VRw118&v1<128:Sy1;
!!VRw118&v1=128:S-2;
!!VRw119&v1<128:S1;
** end of function
** function to pick henchman for AI
!?FU7103; x1= hero #x16= slot #
!!IF:Wx1;
!!VRy1:S0 T7;
!!HEx1&y1<7:C0/y1/?y2/?y3;
!!VRy2&y1>6:S0 T199;
!!VRy2&y1>6/y2>=132/y2<=135:S0 T173;
!!VRy2&y1>6/y2>=150/y2<=158:S0 T173;
!!VRy2&y1>6/y2>=145/y2<=149:S0 T131;
!!VRy2&y1>6/y2>=160/y2<=163:S0 T131;
!!VRy2&y1>6/y2=122:S192;
!!VRy2&y1>6/y2=124:S193;
!!VRy2&y1>6/y2=126:S194;
!!VRy2&y1>6/y2=128:S195;
!!VRy2&y1>6/y2>173:S-1;
!!HEx1&y2>-1:E?y6/?y7/1;
!!VRy4&y2>-1:S25 T10 *y7;
!!VRw118&y2>-1:Sy2;
!!VRw117&y2>-1/w118>-1/y4>w117:Sy4;
!!VRw119&y2>-1:S1;
!!VRw119&y2=-1:S0;
** end of function
** function to get creature level x1=type
!?FU7104;
!!MA:Lx1/?y7;
!!VRy8:S0;
!!VRy8&x1<112:Sx1 %2;
!!VRv7215&y7=0/y8=0:S20;
!!VRv7215&y7=1/y8=0:S25;
!!VRv7215&y7=2/y8=0:S35;
!!VRv7215&y7=3/y8=0:S50;
!!VRv7215&y7=4/y8=0:S75;
!!VRv7215&y7=5/y8=0:S115;
!!VRv7215&y7=6/y8=0:S180;
!!VRv7215&y7=0/y8=1:S22;
!!VRv7215&y7=1/y8=1:S28;
!!VRv7215&y7=2/y8=1:S40;
!!VRv7215&y7=3/y8=1:S58;
!!VRv7215&y7=4/y8=1:S88;
!!VRv7215&y7=5/y8=1:S136;
!!VRv7215&y7=6/y8=1:S250;
!!VRv7215&x1=112:S35;
!!VRv7215&x1=127:S40;
!!VRv7215&x1=113:S50;
!!VRv7215&x1=121:S58;
!!VRv7215&x1=119:S22;
!!VRv7215&x1=121:S136;
!!VRv7215&x1=123:S40;
!!VRv7215&x1=129:S58;
!!VRv7215&x1=131:S225;
!!VRv7215&x1=132:S550;
!!VRv7215&x1=133:S450;
!!VRv7215&x1=134:S350;
!!VRv7215&x1=135:S400;
!!VRv7215&x1>=150/x1<=158:S400;
!!VRv7215&x1=63:S80;
*!VRv7215&x1=159:S25;
!!VRv7215&x1=172:S136;
!!VRv7215&x1=196:S500;
** end of function
** function to initialize hero variable w118
!?FU7105;
!!IF:Wx16;
!!VRw118:S-1;
!!VRv7206:S1;
** end of function
** function to display henchman x1 = hero number
!?FU7106;
!!IF&x1>-1:Wx1;
!!VRz1:S^^;
!!VRz1&w119=0:Sz149005;
!!FU7104&w118>-1:Pw118;
!!HEx1:E?y1/?y2/1;
!!VRy2:-1 *10 +c -1;
!!VRy11:Sw117 +y2;
!!VRy3:Sy11 :v7215 +1;
!!VRy4:Sy11 %v7215 -v7215 *-1;
!!MA&w118>-1:Aw118/?y1;
!!VRy5:Sy3 :3 +1 +y1;
!!MA&w118>-1:Dw118/?y1;
!!VRy6:Sy3 :3 +1 +y1;
!!MA&w118>-1:Pw118/?y1;
!!VRy7:Sy1 +10 *y3;
!!MA&w118>-1:Mw118/?y1;
!!VRy8:Sy1 +2 *y3;
!!MA&w118>-1:Ew118/?y1;
!!VRy9:Sy1 +5 *y3;
!!MA&w118>-1:Sw118/?y1;
!!VRy10:Sy3 :10 +1 +y1;
!!IF:Q2/21/w118/2/z149006;
!!FU7102&2:P;
** end of function
** function to handle dead/alive status
!?FU7107; x1=attacker/defender x2= dead/alive
!!BA&x1=0:H0/?y1;
!!BA&x1=1:H1/?y1;
!!IF:Wy1;
!!VRw119:Sx2;
** end of function
** function to resurrect dead henchman
!?FU7108;
!!IF&x1>-1:Wx1;
!!FU7104&w118>-1:Pw118;
!!HEx1:E?y6/?y7/1;
!!IF&x1>-1:Wx1;
!!VRy10:Sy7 -1 *10 +w117 +c;
!!VRy3:Sy10 :v7215 +1;
!!MA:Cw118/6/?y8;
!!VRy4:Sy8 *y3 :5;
!!IF:Q2/21/w118/2/z149007;
!!OW:R-1/6/?y5;
!!VRy8&2/y5>=y4:Sy5 -y4;
!!OW&2/y5>=y4:R-1/6/y8;
!!VRw119&2/y5>=y4:S1;
!!IF&2/y5<y4:M1/z149008;
** end of function
页:
[1]