战争公式：
基本杀伤力：
  A_s = N/10 (A_s 基本杀伤力，N 士兵数量) 
    解释：(10个兵一次进攻杀一个人，此值可调)
  A_g = max( (SK_wuli-50) / 5 , 0) 
    解释：武力超过50的将领可以亲自杀人。武力
          武力 100 的将领可以一次杀十个人。
士气训练士气调整
  A_s = A_s * (moral+train+100) / 400 
    解释：moral 是部队的士气，train是训练度。此两项的最大值是200
地形调整：
  A_s = A_s * (a_area+3) / 10
  A_g = A_g * (a_area+3) / 10
    解释：a_area是进攻方所在位置的地形调整参数，最大是7，最小是 5
          查询@MAP_D->get_attack_rate("♂")
兵种和进攻方式调整：
  A_s = A_s * (a_type) / 10
    解释：a_type是兵种和其相应的进攻力。  
          对于常规进攻：
		case "infantry": return 5;
                case "cavalry" : return 7;
                case "bowman"  : return 3;
                case "commando"  : return 3;
          骑兵冲锋是：12
          弓兵射箭：  5
阵法调整：
  A_s = A_s * (a_zhenfa +5) /10
    解释：a_zhenfa是阵法的进攻力。没有阵时是0，最大是5
将领技能调整：
  A_s = A_s * (a_skill + 50)/150
    解释：a_skill 是部队中所有将领的三项基本修养中的最大值。
总杀伤力：
  A = A_s + A_g
防守方优势：
  A = A * DEF_KILL_MORE 
    解释：战争是在进攻与防守间进行，防守方占有地利因素，所以
          一次进攻要比同情况的进攻方杀得多一些。
          目前DEF_KILL_MORE = 1.3
----------------------------------------------------------------
防守地形调整：
  A = A * 10/(d_area +3)
  解释：d_area是防守方所在位置的地形调整参数，最大是7，最小是 5
          查询@MAP_D->get_defence_rate("♂")
具体某一兵种承受的杀伤力：
  A_sig= A * Nsig/Nall
    解释：一个部队进攻是攻向一个位置，这个位置可以有多支敌军
          部队，而每支部队可有多个兵种，每一兵种所承受的杀伤
          力与其人数成正比。Nsig是一部队中某一兵种的人数，Nall
          是在同一位置里所有的己方步队的人数。A_sig是此特定
          兵种承受的杀伤力。
士气训练士气调整：
  A_sig = A_sig * (400 / (d_moral + d_train + 100 ))
    解释：d_moral和d_train 是防守部队的士气和训练
兵种和进攻方式调整：
  A_sig = A_sig * 10 / (a_type + 1) // 加一防止除零
    解释：不同兵种对于不同的进攻方式的抵抗力是不一样的，这个值的
          最大值是7,最小是2
阵法调整：
  A_sig = A_sig * 10 / (d_zhenfa +5)
    解释：d_zhenfa是阵法的防守力。没有阵时是0，最大是5
将领技能调整：
  A_sig = A_sig * 150 / (d_skill + 50)
    解释：d_skill 是部队中所有将领的三项基本修养中的最大值。
最后伤亡人数：
  最后伤亡人数就是上式的A_sig值。如果此值等于零。伤亡人数等于random(2).
----------------------------------------------------------------------
反击的杀伤力等于一个部队正常的进攻力除以二，其他都一样。反击在敌人
进行常规攻击，冲锋攻击和围攻时有效。
----------------------------------------------------------------------
围攻杀伤力力：
   A_siege=sum(A_s)*(d+1)/2
sum(A_s)是所有参加围攻的部队的杀伤力的和。d是进攻的方向。
-----------------
by fire on April 1999
为减少超大集团一次进攻的杀伤力，在计算杀伤力的公式中采用
线性分段计算法。结果见下表：
实际士兵数  计算杀伤力兵数   实际士兵数  计算杀伤力兵数
1000        1000             8000        3125
2000        1500             9000        3250
3000        2000             10000       3375
4000        2250             20000       4315
5000        2500             40000       5281
6000        2750             100000      6578
7000        3000             1000000     13220

战争的三大调整
1 玩家控制的部队在每行军一次要有一秒的忙时间。每进攻一次要有
  三秒的忙时间。
2 民兵的训练和士气将不由地区士兵的训练士气决定。民兵的训练士
  气将固定为50和150
3 为了鼓励较小兵团，对大兵团的杀伤力做了进一步调整。
  其计算表基本如下：
  实际士兵数       杀伤力
  100              100  
  200              150
  300              200
  500              280
  1000             330
  1500             450
  2000+            500
