佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
查看: 3322|回复: 2

[原创]可用于地图事件中的追随者ERM汉化版。

[复制链接]
  • TA的每日心情
    难过
    2020-6-4 09:43
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]投石矮人

    1661

    回帖

    4万

    金币

    10

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    2919

    退役版主论坛元老

    发表于 2009-6-24 09:12:33 | 显示全部楼层 |阅读模式
    GB修改版的。可以用于地图事件中。
    ZVSE
    ERMS_ScriptName=追随者
    ERMS_ScriptAuthor=Arstahd
    ERMS_ScriptVersion=1.0.0
    ERMS_ScriptDate=9.9(September).2008
    ERMS_ScriptERMVersion=2.70
    ERMS_ScriptLanguage=简体中文 or 中文(简体) (native)
    ERMS_ScriptUsedVariables=v7181;v7206-7217
    ERMS_AdditionalFiles=修改:GB;增加追随者可得到经验等级;转职和设定经验点的功能
    ERMS_ScriptUsedTimers=19
    ERMS_ScriptUsedFunctions=7100-7109
    ERMS_ScriptERMVerv7213sion=2.70
    _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. 2004.6.29.918
    ** HENCHMEN  -  ERM script 49

    ** By Arstahd
    ** Version: 1.16   updated August 23 2004               
    ** Thanks to Hermann the Weird for bug fixing and script maintenance

    ** Note: Henchmen will not appear in network human-to-battles in this version.

    ** Variables used:
    ** V variables:    v7206-v7217 v7181  
    ** Z variables:    z1-z9,z170-171
    ** W variables:    w117(经验),w118(类型),w119(生死),w120(保存追随天数)
    ** 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

    **补充说明**
    ;战斗时,追随者可以获得经验等级,为英雄等级除2
    ;可以重新设定战斗后经验获得值,有四种选择,默认为4-10点
    ;原来是更换追随者则经验归零,我改为减半,不用太心痛了.
    ;追随者可以转职,具体为
    ;1.转职条件为追随天数不低于该兵种的最低追随天数Follow Rate
    ;  追随天数由选择追随者的那天计算,转职后追随天数归零,重新计算.
    ;2.一般是同城兵种转职,也就是1-8级兵的顺序
    ;  中立兵种的转职比较乱,懒得去排了,恶鬼Troll会转职为战争机器的.
    ;  宠物也可以转出来,由圣诞小鬼去转比较快
    ;  WOG新增加的生物也可以互相转职,更加乱就是.
    ;  如果你要查具体的转职顺序,可以查ERM帮助中的Format C表.
    ;对电脑的加强:电脑英雄会100%带出追随者,原来是75%
    ;电脑的追随者不会出现七,八级兵,同一英雄的追随者会一次比一次强.
    ;ps:如果大家使用这ERM时出现问题请到论坛告之,Thank~
    ;(GB修改于2005-1-15)
    ;该ERM为Arstahd写的,再次感谢~

    !#VRv7206:S0;                                        [initialize "done" flag]
    *#UN:P49/?v7181;                                     [check if Henchmen is enabled in WoGify Options]
    !#VRv7218:S0;
    !#VRv7181:S1;
    ** Timer routines
    !#TM19:S1/1/1/255;
    !#TM20:S2/999/1/255;                                 记录追随天数的TM触发器
    !?TM19&1000;                                         [continue if enabled   day 1 only ]
    !!DO7105/0/155/1&v7206=0:P;                          [iterate through all heroes]

    !?TM20&1000;    w120=追随天数
    !!DO7112/0/155/1:P;
    !?FU7112;
    !!IF:Wx16;
    !!VRw120&w119=1:+1;

    ** start of hero screen mouse trigger **
    !?CM2&v7181=1;                                       [continue if enabled]                           

    !!CM:I?y-3 F?y-4 S?y-5;                              [get mouse click, flag, subtype]
    !!IF&y-3=141/y-4=512:Q2/-1/-1/1^1级追随者所得到的奖励:

    攻击力+1
    防御力+1
    速度+1
    伤害+2~5
    生命值+10

    每升三级,攻击力+1,防御力+1
    每升十级,速度+1

    追随者在每次战斗中会得到{经验值}且会升级(显示为部队数量)。他们也会每天得到一些{奖励}的经验,其多少取决于英雄级别。

    追随者“部队”会在其中的一个死去时全部死去,他们可以在死去前作最后一次反击。

    低级别或未升级生物的升级速度要快于高级别或升级生物。

    “伪装”魔法是用于把追随者的{级别}与普通部队的{数量}区分开的。

    死去的追随者可以在城镇中复活,其费用取决于生物级别。

    电脑英雄有一个{很好的}拥有随机追随者的机会(其经验值取决于英雄级别)。生物种类在每次战斗中是被随机挑选的,甚至可能是一种不在英雄部队中的生物。
    ^;

    !!FU|y-3<>141/y-4<>0/y-5<>12:E;                      [continue if player banner (141) was left clicked only, else exit]

    !!CM:H?y-1/?y-2;                                     [get hero number]
    !!IF&y-1>-1:Wy-1;                                    [enable hero variable]  

    !!FU7106&w118>-1:Py-1;                               [if a henchman, display henchman info]
    !!FU7102&w118<0:P;                                   [if no henchman, select one]
    !!UN:R3/-1;                                          [redraw]

    ** end of hero screen mouse trigger **

    ** start of object trigger - towns **
    !?OB98&1000;
    !!OW:I-1/?y-2;                                        [check if human hero]
    !!CA998&y-2=0:O?y-4;                                  [get town owner]
    !!HE-1&y-2=0:N?y-1 O?y-3;                             [get hero number, owner]
    !!IF&y-2=0/y-1>-1:Wy-1;                               [enable hero variable]  
    !!FU7108&y-2=0/w118>-1/w119=0/y-3=y-4:Py-1;           [if dead henchman, display resurrection info]

    *!FU7109&y-2=0/w118=-1/y-3<>y-4:P;                    [function for reminder message]
    ** end of object trigger - towns **

    ** start of object trigger - monsters **
    !?OB54&1000;                                          [object trigger - monsters]
    !!FU7109:P;                                           [function for reminder message]
    ** end of object trigger - monsters **

    !?FU7109;

    !!OW:I-1/?y-2;                                       [check if human hero]
    !!HE-1&y-2=0:N?y-1 O?y-3;                            [get hero number, owner if human]
    !!IF&y-2=0/y-1>-1:Wy-1;                              [enable hero variable]  

    !!IF&y-2=0/w118=-1:Q2/10/y-3/2^你还没有选择一名追随者。
    你是否希望自己的部队中能有一员担此殊荣呢?

    (如果选{否},英雄今后会不再接到此提示)



    {左键点击英雄界面右上角旗帜查看追随者界面}
    {右键点击英雄界面右上角旗帜查看追随者帮助}^;

    !!FU7102&2/y-2=0/w118=-1:P;                          [if yes select henchman]
    !!VRw118&-2/y-2=0/w118=-1:S-2;                       [if no set to disable future messages]
    ** end of function **


    ** start of battlefield trigger **
    !?BF&1000;                                        [continue if enabled]

    !!VRv7207:C-1/-1/-1/-1/-1/-1;                        [initialize variables]
    !!VRy-1:S-2;                                         [initialize variable]

    !!BU:E2/?y-7;                                        [check for enemy creature at position 2 for banks]

    !!BA:H0/?y-1;                                        [get hero number - attacker]
    !!HEy-1&y-1>-1:O?y-3;                                [get attacker's owner]
    !!OW:Iy-3/?y-6;                                      [check if AI]
    !!FU7103&y-6=1/y-1>-1:Py-1;                          [choose henchman for AI]
    !!IF&y-1>-1:Wy-1;                                    [enable hero variable - attacker]  
    !!VRy-8&y-7<21:S20;                                  [set position - normal]
    !!VRy-8&y-7>20:S25;                                  [set position - bank]
    !!BU&w118>-1/w119=1/y-1>-1:Sw118/1/y-8/0/-1/0;       [add a creature to attacker's army at position y-8]
    !!BU&w118>-1/w119=1/y-1>-1:Ey-8/?v7207;              [get stack]
    !!FU7101&w118>-1/w119=1/y-1>-1/v7207>-1:Pv7207/0/y-1;[add stat increases - attacker]

    !!VRy-2:S-2;                                         [initialize variable]
    !!BA:H1/?y-2;                                        [get hero number - defender]
    !!HEy-2&y-2>-1:O?y-3;                                [get defender's owner]
    !!OW:Iy-3/?y-6;                                      [check if AI]
    !!FU7103&y-6=1/y-2>-1:Py-2;                          [choose henchman for AI]
    !!IF&y-2>-1:Wy-2;                                    [enable hero variable - defender]  
    !!BU&w118>-1/w119=1/y-2>-1:Sw118/1/30/1/-1/0;        [add a creature to defender's army at position 30]
    !!BU&w118>-1/w119=1/y-2>-1:E30/?v7208;               [get stack]
    !!FU7101&w118>-1/w119=1/y-2>-1/v7208>-1:Pv7208/1/y-2;[add stat increases - defender]
    ** end of battlefield trigger **


    ** pre-action trigger
    !?BG;                              [continue if enabled]


    !!BMv7207&v7207>-1:N?v7211 H?v7216;                  [get quantity and health of henchman - attacker]
    !!BMv7208&v7208>-1:N?v7212 H?v7217;                  [get quantity and health of henchman - defender]
    !!BG&v7207=v7210/v7211=0:A3;                         [if dead henchman is next set to defend - attacker]
    !!BG&v7208=v7210/v7212=0:A3;                         [if dead henchman is next set to defend - defender]


    ** end of pre-action trigger

    ** post-action trigger
    !?BG1;                             [continue if enabled]

    !!BG:N?v7210;                                        [get current stack #]

    !!BMv7207&v7207>-1:N?y-2 T?y-3;                      [get quantity, type of henchman stack - attacker]
    !!BMv7207&v7207>-1/y-2<v7211:K100000;                [kill henchman stack if any were killed - attacker]
    !!FU7107&v7207>-1/y-2<v7211:P0/0;                    [set dead - attacker]
    !!BMv7207&v7207>-1/y-2>v7211/y-3<>159:Nv7213 L0;     [reset quantity of henchman stack if resurrected (unless ghost) - attacker]
    !!FU7107&v7207>-1/y-2>v7211/y-3<>159:P0/1;           [set alive (unless ghost) - attacker]
    !!BU&v7207>-1/y-2<v7211/y-3<>159:R;                  [redraw screen (unless ghost)]

    !!BMv7208&v7208>-1:N?y-2 T?y-3;                      [get quantity, type of henchman stack - defender]
    !!BMv7208&v7208>-1/y-2<v7212:K100000;                [kill henchman stack if any were killed - defender]
    !!FU7107&v7208>-1/y-2<v7212:P1/0;                    [set dead - defender]
    !!BMv7208&v7208>-1/y-2>v7212/y-3<>159:Nv7214 L0;     [reset quantity of henchman stack if resurrected (unless ghost) - defender]
    !!FU7107&v7208>-1/y-2<v7212/y-3<>159:P1/1;           [set alive (unless ghost) - defender]
    !!BU&v7208>-1/y-2<v7212/y-3<>159:R;                  [redraw screen (unless ghost)]
    ** end of post-action trigger

    ** function to get monster names
    !?FU7100;             x1= Z index
    !!HE-1:C0/x16/?y1/?y2;                               [get monster in slot x16 type, quantity]
    !!UN&x16=0/y1>-1:N3/2/y1/0;                          [get monster name]
    !!UN&x16=1/y1>-1:N3/3/y1/0;                          [get monster name]
    !!UN&x16=2/y1>-1:N3/4/y1/0;                          [get monster name]
    !!UN&x16=3/y1>-1:N3/5/y1/0;                          [get monster name]
    !!UN&x16=4/y1>-1:N3/6/y1/0;                          [get monster name]
    !!UN&x16=5/y1>-1:N3/7/y1/0;                          [get monster name]
    !!UN&x16=6/y1>-1:N3/8/y1/0;                          [get monster name]

    ** end of function


    ** function to give stat increases    x1=stack  x2=attacker/defender  x3=hero number
    !?FU7101;     

    !!BMx1:T?y6;                                         [get stack type]
    !!FU7104&y6>-1:Py6;                                  [get monster level]
    !!VRy7&y6>-1:Sv7215;                                 [copy monster level]
    !!IF&y6>-1:Wx3;                                      [enable hero variable]  
    !!HEx3:E?y1/?y2/1;                                   [get hero exp, level]
    !!VRy10:Sy2 -1 *10 +w117 +c;                         [experience points = (hero level -1) x10  +earned xp + current day]
    !!VRv7213&x2=0/y6>-1:Sy10 :y7 +1;                    [level = experience points / monster level + 1 - attacker]
    !!VRv7214&x2=1/y6>-1:Sy10 :y7 +1;                    [level = experience points / monster level + 1 - defender]
    !!VRy8&x2=0/y6>-1:Sv7213;                            [copy attacker level to y8]
    !!VRy8&x2=1/y6>-1:Sv7214;                            [copy defender level to y8]

    !!VRy4&y6>-1:Sy8 :10 +1;                             [bonus = level / 10 + 1]
    !!BMx1&y6>-1:Sdy4;                                   [give +1 speed per 10 levels]

    !!BMx1&y6>-1:U1/d2;                                  [give +2 min damage]
    !!BMx1&y6>-1:U2/d5;                                  [give +5 max damage]

    !!VRy4&y6>-1:Sy8 :3 +1;                              [bonus = level / 3 + 1]
    !!BMx1&y6>-1:Ady4 Ddy4;                              [give +1 attack and +1 defense per 3 levels]

    !!BMx1&y6>-1:H?y4;                                   [get health]
    !!VRy5&y6>-1:Sy4 +10 *y8;                            [health - add 10, multiply by level]
    !!BMx1&y6>-1:Hy5;                                    [set health]
    !!BMx1&y6>-1:Ny8;                                    [set quantity to level]

    !!BMx1|y6=63/y6=154:By8;                             [if vampire lord or blood dragon set starting quantity to level]

    !!BMx1&y6>-1:M4/100/1;                               [give disguise dummy spell to make tag yellow]

    ;由v7218的内容选择执行下面其中一条.
    !!VRw117&v7218=0:+6 T4;       [After win,gain 6-10 points per battle]
    !!VRw117&v7218=1:+10 T5;      10-15
    !!VRw117&v7218=2:+20 T10;     20-30
    !!VRw117&v7218=3:+50;         50

    ;由英雄等级确定追随者的经验等级
    !!VRy11:Sy2 :2;                                  英雄级别/2
    !!VRy11&y11>10:S10;                              限制最高10级
    !!VRy12:Sx1 *-1 -1;                              计算经验堆栈值
    !!EAy12:Ey11/12/d/d;                             按英雄级别给予追随者经验等级

    *tactics speed boost if enabled*

    !!UN:P218/?y1;                                       [check if tactics is enabled in WoG options]
    !!FU&y1<>1:E;                                        [exit if it isn't]
    !!VRy3:S0;                                           [initialize y3]
    !!VRy4:S0;                                           [initialize y4]
    !!BH0:N?y1;                                          [attacking hero #]
    !!BH1:N?y2;                                          [defending hero #]
    !!HEy1&y1>=0:S19/?y3;                                [get attacker's tactics]
    !!HEy2&y2>=0:S19/?y4;                                [get defender's tactics]
    !!FU&y3=0/y4=0:E;                                    [exit if no one has tactics]
    !!FU&y3=y4:E;                                        [exit if equal tactics level]
    !!FU&y3<y4/x2=0:E;                                   [exit if defender's tactics superior - attacker]
    !!FU&y3>y4/x2=1:E;                                   [exit if attacker's tactics superior - defender]
    !!VRy5&y3>y4/x2=0:S0 +y3 -y4;                        [set bonus if attackers tactics superior - attacker]
    !!VRy5&y3<y4/x2=1:S0 +y4 -y3;                        [set bonus if defenders tactics superior - defender]
    !!BMx1&y6>-1:Sdy5;                                   [give tactics speed boost]

    ** end of function


    ** function to pick henchman
    !?FU7102;             x1=

    !!VRz1:S^你需要选择一个新的追随者吗?^;
    !!VRz2:S^^;
    !!VRz3:S^^;
    !!VRz4:S^^;
    !!VRz5:S^^;
    !!VRz6:S^^;
    !!VRz7:S^^;
    !!VRz8:S^^;
    !!VRz9:S^解散追随者^;
    !!VRz10:S^取消^;

    !!VRz170:S^重新设定经验获得值^;
    !!VRz171:S^转职^;
    !!DO7100/0/6/1:P2;
    !!IF&1000:G1/1/1024/1/2/3/4/5/6/7/8/9/170/171/10;                [give choice to human]
    !!FU&v1=1024:E;

    !!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;                                  [get hero number]
    !!HE-1&v1<128:C0/y2/?y1/d-1;                         [get monster type, reduce quantity by 1]
    !!IF&v1<256/y3>-1:Wy3;                               [enable hero variable]
    *!VRw117&v1<256:S0;                                  [reset experience]
    !!VRw117&v1<128::2;                                  更换则经验值减半.
    !!VRw120&v1<128:S1;                                  解雇则追随天数=1.
    !!VRw118&v1<128:Sy1;                                 [store monster type]
    !!VRw118&v1=128:S-2;                                 [reste monster type if dismissed]
    !!VRw117&v1=128:S0;                                  解雇则经验值为零
    !!VRw120&v1=128:S0;                                  解雇则追随天数归零.
    !!VRw119&v1<128:S1;                                  [set to alive]

    !!IF&v1=512/w118<0:M^您的追随者在哪里呢?^;       容错处理
    !!FU7111&v1=512/w118>-1:Pw118;     转职函数

    !!FU7110&v1=256:P;                 经验函数

    ** end of function
    ;---------------------------------------------------------------------
    ** 重新设定经验点-函数
    !?FU7110;
    !!VRz1:S^请选择每次战斗后获得的经验范围:^;
    !!VRz2:S^6-10,默认^;
    !!VRz3:S^10-15,标准^;
    !!VRz4:S^20-30,加强^;
    !!VRz5:S^50-50,极快^;
    !!VRz6:S^不选择,退出^;
    !!IF&1000:G1/1/16/1/2/3/4/5/6;
    !!VRv7218&v1=1:S0;    变量v7218保存选择结果
    !!VRv7218&v1=2:S1;
    !!VRv7218&v1=4:S2;
    !!VRv7218&v1=8:S3;
    ** 完
    ;---------------------------------------------------------------------
    ** 转职函数 **
    !?FU7111;
    !!FU7113:Px1;                              检查该兵种的最低追随天数
    !!IF&w120<v7219:M^追随时间太短。^;   少于最低天数则退出
    !!FU&w120<v7219:E;

    !!VRy11:Sw118 +1;         获得转职对象的类型

    !!VRy11&w118=13:S150;     7级兵另外处理
    !!VRy11&w118=27:S151;
    !!VRy11&w118=41:S152;
    !!VRy11&w118=55:S153;
    !!VRy11&w118=69:S154;
    !!VRy11&w118=83:S155;
    !!VRy11&w118=97:S156;
    !!VRy11&w118=111:S157;
    !!VRy11&w118=131:S158;

    !!VRy11&w118=112:S127;    四系元素兵的非正常顺序处理
    !!VRy11&w118=113:S125;
    !!VRy11&w118=114:S129;
    !!VRy11&w118=115:S123;
    !!VRy11&w118=127:S115;
    !!VRy11&w118=123:S114;
    !!VRy11&w118=129:S113;
    !!VRy11&w118=125:S120;
    !!VRy11&w118=121:S130;

    !!VRy11&w118=148:S145;    禁止箭塔出现
    !!VRy11&w118=196:S0;      龙巫妖到枪兵(196>>0),循环处理
    !!IF:Q5/21/w118/21/y11/2^追随时间足够了,希望转职吗?^;   提问是否转职
    !!FU7114&5:P;              调用正式转职函数

    ;---------------------------------------------------------------------
    ** 检查最低追随天数
    !?FU7113;
    !!MA:Lx1/?y10;         检查该追随者的等级
    !!VRv7219&y10=0:S3;    一级兵为3天,每级+1
    !!VRv7219&y10=1:S4;
    !!VRv7219&y10=2:S5;
    !!VRv7219&y10=3:S6;
    !!VRv7219&y10=4:S7;
    !!VRv7219&y10=5:S8;
    !!VRv7219&y10=6:S9;   未升级的7级兵转升级的需9天
    ;高级七级兵到八级兵需要14天
    !!VRv7219|x1=13/x1=27/x1=41/x1=55/x1=69/x1=83/x1=97/x1=111/x1=131:S14;
    ;---------------------------------------------------------------------

    ** 正式转职函数
    !?FU7114;
    !!VRy18:Sw118;           临时比较变量,确定是否转职成功.
    !!VRw118:+1;             同城兵种转职则兵种代码+1

    !!VRw118&w118=14:S150;   7级转8级则另外处理,这一行是大天使转神圣大天使
    !!VRw118&w118=28:S151;
    !!VRw118&w118=42:S152;
    !!VRw118&w118=56:S153;
    !!VRw118&w118=70:S154;
    !!VRw118&w118=84:S155;
    !!VRw118&w118=98:S156;
    !!VRw118&w118=112:S157;
    !!VRw118&w118=132:S158;

    !!VRw118&w118=112:S127;  四系元素的特殊处理
    !!VRw118&w118=113:S125;
    !!VRw118&w118=114:S129;
    !!VRw118&w118=115:S123;
    !!VRw118&w118=127:S115;
    !!VRw118&w118=123:S114;
    !!VRw118&w118=129:S113;
    !!VRw118&w118=125:S120;
    !!VRw118&w118=121:S130;

    !!VRw118&w118=148:S145;  战争机器的循环处理,防止箭塔作为追随者出现

    !!VRw118&w118=197:S0;    龙巫妖作为最高兵种类型,转职则变回枪兵,呵呵

    !!VRw120&w118<>y18:S0;   追随天数清零
    ** 转职函数结束 **
    ;---------------------------------------------------------------------

    ** function to pick henchman for AI
    !?FU7103;             x1= hero #  x16= slot #

    !!IF:Wx1;                                            [enable hero variable]  
    !!VRy1:S7;                                        [random roll: 0-6 = use slot number, 7 = choose random creature]
    *!HEx1&y1<7:C0/y1/?y2/?y3;                           [get monster type, quantity in slot y1]
    !!VRy2&y1>6:S0 T173;                                 [random 0 to 199]
    !!VRy2&y1>6/y2>=132/y2<=135:S105;                 [random 0 to 173 (reroll if super dragons were selected)]
    !!VRy2&y1>6/y2>=150/y2<=158:S75;                 [random 0 to 173 (reroll if 8th levels were selected)]
    !!VRy2&y1>6/y2>=145/y2<=149:S29;                 [random 0 to 131 (reroll if war machines were selected)]
    !!VRy2&y1>6/y2>=160/y2<=163:S63;                 [random 0 to 131 (reroll if emissaries were selected)]
    !!VRy2&y1>6/y2=122:S192;                             [set NOT USED 1 to sylvan centaur]
    !!VRy2&y1>6/y2=124:S193;                             [set NOT USED 2 to sorceress]
    !!VRy2&y1>6/y2=126:S194;                             [set NOT USED 3 to werewolf]
    !!VRy2&y1>6/y2=128:S195;                             [set NOT USED 4 to hell steed]
    !!VRy2&y1>6/y2>173:S119;                              [if >173, set to -1]
    !!VRy2&y1>6/y2<0:S35;
    !!MA:Ly2/?y11;
    !!VRy2&y11=6:S119;

    !!HEx1&y2>-1:E?y6/?y7/1;                             [get hero exp, level]
    !!VRy4&y2>-1:S15 T5 *y7;                             [random # 25-35 x hero level]
    !!VRw118&y2>-1:Sy2;                                  [set henchman type]
    !!VRw117&y2>-1/w118>-1/y4>w117:Sy4;                  [set AI experience if greater than previous]
    !!VRw119&y2>-1:S1;                                   [set to alive]
    !!VRw119&y2=-1:S0;                                   [set to dead]
    ** end of function

    ** function to get creature level    x1=type
    !?FU7104;              

    !!MA:Lx1/?y7;                                        [get monster level (0-6)]

    !!VRy8:S0;                                           [set to 0]
    !!VRy8&x1<112:Sx1 %2;                                [check if upgraded]

    !!VRv7215&y7=0/y8=0:S20;                             [if level 1 = 20]
    !!VRv7215&y7=1/y8=0:S25;                             [if level 2 = 25]
    !!VRv7215&y7=2/y8=0:S35;                             [if level 3 = 35]
    !!VRv7215&y7=3/y8=0:S50;                             [if level 4 = 50]
    !!VRv7215&y7=4/y8=0:S75;                             [if level 5 = 75]
    !!VRv7215&y7=5/y8=0:S115;                            [if level 6 = 115]
    !!VRv7215&y7=6/y8=0:S180;                            [if level 7 = 180]

    !!VRv7215&y7=0/y8=1:S22;                             [if level 1 = 22 (upgrade)]
    !!VRv7215&y7=1/y8=1:S28;                             [if level 2 = 28 (upgrade)]
    !!VRv7215&y7=2/y8=1:S40;                             [if level 3 = 40 (upgrade)]
    !!VRv7215&y7=3/y8=1:S58;                             [if level 4 = 58 (upgrade)]
    !!VRv7215&y7=4/y8=1:S88;                             [if level 5 = 88 (upgrade)]
    !!VRv7215&y7=5/y8=1:S136;                            [if level 6 = 136 (upgrade)]
    !!VRv7215&y7=6/y8=1:S250;                            [if level 7 = 250 (upgrade)]


    !!VRv7215&x1=112:S35;                                [make air elemental = 35]
    !!VRv7215&x1=127:S40;                                [make storm elemental = 40]
    !!VRv7215&x1=113:S50;                                [make earth elemental = 50]
    !!VRv7215&x1=121:S58;                                [make magma elemental = 58]
    !!VRv7215&x1=119:S22;                                [make sprite = 22]
    !!VRv7215&x1=121:S136;                               [make magic elemental = 136]
    !!VRv7215&x1=123:S40;                                [maker ice elemental = 40]
    !!VRv7215&x1=129:S58;                                [make energy elemental = 58]
    !!VRv7215&x1=131:S225;                               [make phoenix = 225]

    !!VRv7215&x1=132:S550;                               [make azure dragon = 550]
    !!VRv7215&x1=133:S450;                               [make crystal dragon = 450]
    !!VRv7215&x1=134:S350;                               [make faerie dragon = 350]
    !!VRv7215&x1=135:S400;                               [make rust dragon = 400]
    !!VRv7215&x1>=150/x1<=158:S400;                      [make level 8 creatures = 400]

    !!VRv7215&x1=63:S100;                                [make vampire lord = 80]
    !!VRv7215&x1=159:S55;                                [make ghost = 25]
    !!VRv7215&x1=172:S136;                               [make nightmare = 136]
    !!VRv7215&x1=196:S500;                               [make dracolich = 500]

    ** end of function                                               

    ** function to initialize hero variable w118   
    !?FU7105;              
    !!IF:Wx16;                                           [enable hero variable]  
    !!VRw118:S-1;                                        [set to -1]
    !!VRw120:S0;                                         追随天数清零
    !!VRv7206:S1;                                        [set "done" flag]
    ** end of function

    ** function to display henchman    x1 = hero number
    !?FU7106;            
    !!IF&x1>-1:Wx1;                                      [enable hero variable]  
    !!VRz1:S^^;
    !!VRz1&w119=0:S^<<<<{死了}>>>>^;
    !!FU7104&w118>-1:Pw118;                              [function to get monster level]
    !!HEx1:E?y1/?y2/1;                                   [get hero exp, level]
    !!VRy2:-1 *10 +c -1;                                 [bonus status = (hero level -1) x10  + current day -1]
    !!VRy11:Sw117 +y2;                                   [total status points = earned status + bonus status]
    !!VRy3:Sy11 :v7215 +1;                               [henchman level = status points / level rate + 1]
    !!VRy4:Sy11 %v7215 -v7215 *-1;                       [calculate status needed for next level]


    !!MA&w118>-1:Aw118/?y1;                              [get base attack]
    !!VRy5:Sy3 :3 +1 +y1;                                [attack = level / 10 + 1 + base]
    !!MA&w118>-1:Dw118/?y1;                              [get base defense]
    !!VRy6:Sy3 :3 +1 +y1;                                [defense = level / 3 + 1 + base]
    !!MA&w118>-1:Pw118/?y1;                              [get base health]
    !!VRy7:Sy1 +10 *y3;                                  [health = base + 2 x level]
    !!MA&w118>-1:Mw118/?y1;                              [get base damage min]
    !!VRy8:Sy1 +2 *y3;                                   [damage min = base + 2 x level]
    !!MA&w118>-1:Ew118/?y1;                              [get base damage max]
    !!VRy9:Sy1 +5 *y3;                                   [damage max = base + 5 x level]
    !!MA&w118>-1:Sw118/?y1;                              [get base speed]
    !!VRy10:Sy3 :10 +1 +y1;                              [speed = level / 3 + 1 + base]
    !!FU7113:Pw118;

    !!IF:Q2/21/w118/2^{追随者级别}:%Y3
    {升级速度}:%V7215  {下一级需要经验}:%Y4
    {总经验}:%Y11  {基本经验}:%W117  {奖励经验}:%Y2
    攻击力:%Y5   防御力:%Y6
    生命值:%Y7   伤害:%Y8-%Y9
    速度:%Y10
    追随天数:%W120
    (转职需要天数:%V7219)
    %Z1
    {你想选择一个新的追随者吗?}^;
    !!FU7102&2:P;                                        [if yes, select henchman]
    ** end of function

    ** function to handle dead/alive status   
    !?FU7107;               x1=attacker/defender    x2= dead/alive
    !!BA&x1=0:H0/?y1;                                    [get hero number - attacker]
    !!BA&x1=1:H1/?y1;                                    [get hero number - defender]
    !!IF:Wy1;                                            [enable hero variable]  
    !!VRw119:Sx2;                                        [set to x2 0=dead,1=alive]
    ** end of function

    ** function to resurrect dead henchman   
    !?FU7108;               
    !!IF&x1>-1:Wx1;                                      [enable hero variable]  
    !!FU7104&w118>-1:Pw118;                              [get monster level]
    !!HEx1:E?y6/?y7/1;                                   [get hero exp, level]
    !!IF&x1>-1:Wx1;                                      [enable hero variable]  
    !!VRy10:Sy7 -1 *10 +w117 +c;                         [experience points = (hero level -1) x10  +earned xp + current day]
    !!VRy3:Sy10 :v7215 +1;                               [henchman level = experience points / level rate + 1]
    !!MA:Cw118/6/?y8;                                    [get base creature cost]
    !!VRy4:Sy8 *y3 :5;                                   [resurrection cost = base cost x henchman level / 5]
    !!IF:Q2/21/w118/2^{追随者等级:%Y3}

    你是否想复活此追随者?
    它会花费%Y4金币。^;
    !!OW:R-1/6/?y5;                                      [get current gold amount]
    !!VRy8&2/y5>=y4:Sy5 -y4;                             [calculate gold transaction]
    !!OW&2/y5>=y4:R-1/6/y8;                              [if yes and player has enough gold,set new gold amount]
    !!VRw119&2/y5>=y4:S1;                                [if yes and player has enough gold, set to alive]
    !!IF&2/y5<y4:M^抱歉,你无法支付复活所需费用。^;          [if yes and player does not have enough gold, display message]
    ** end of function

    Henchman.rar

    8.14 KB, 下载次数: 18, 下载积分: 金币 -1

    ERM

  • TA的每日心情

    2015-5-5 18:31
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]野猪

    320

    回帖

    9208

    金币

    0

    精华

    3级 Known Hero

    Rank: 3Rank: 3

    积分
    749
    发表于 2009-6-24 12:54:40 | 显示全部楼层
    thanks.
  • TA的每日心情
    开心
    前天 08:49
  • 签到天数: 43 天

    连续签到: 5 天

    [LV.5]女巫

    843

    回帖

    139

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    3155
    发表于 2024-11-5 16:11:58 | 显示全部楼层
    谢谢楼主的分享,学习中
    回复 支持 反对

    使用道具 举报

    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

    捐赠
    关注我们,英3Mod一网打尽!

    WoG中文站 ( 辽B2-20210485-10 )|辽公网安备 21128202000228 号

    GMT+8, 2024-12-22 16:12 , Processed in 0.655043 second(s), 14 queries , Gzip On, File On.

    Powered by Discuz! X3.4

    Copyright © 2004-2022, Beijing Second Sight Technology Co., LTD.

    快速回复 返回顶部 返回列表