QB狩 从入门到索然无味

emmmmmmmm

Posted by 恋 on January 18, 2019

QB狩

这玩意儿在好几年前玩过,但是地址好像不是这个。不知道是官服重开还是玩家开的,但是反正可以玩就是了!

那么简单说,这是一个简单的杀QB的小游戏(它们看起来很像🐕 - 或者是🐱或🦊)。游戏里有几种武器:火枪火箭筒机枪弓矛棍子啥的。在跟着dalao混了一段时间,二十几级后,我有个大胆的想法没错,就是修改

Stage 1

没错,作为一个Flash游戏,第一时间… 我也不知道我想到了什么。我也不知道为什么,第一个操作是去找存档。根据官方的备份指南,我找到了QB.swf文件夹里的SaveData.sol(打开Everything就能搜到,不要问我在哪里)。

接着就试图去修改了… 搜到了在线Sol编辑器Minerva,上传上去就开始改。改的时候意识到了一些问题… 为什么我的角色存档里面只有爱的数值?我的当前角色、加点呢?武器里面只有十几个1和2,我的十几个不同武器和属性呢?

但是头铁的我丝毫不慌,直接改了保存。幸好我提前备份了存档(???),因为修改后进不去了。

经过机智的目测,我在存档里发现了个叫hash的字符串。长度64。emmmmmmm… 看起来搞不定的话,就要靠别的方法了。

Stage 2

很显然,直接拿hash是搞不出结果的(因为我随便找了个在线网站撞了下)。那么就要走代码的路了!FFDec大哥可以处理。(结果不知道为什么,FFDec就是不认我的java环境,于是我又装了一次)

首先看了一下,QB.swf。这是个非常符合我们风格的小游戏所有代码都在Main里面。很合理,直接搜索hash就能找到一个叫calcHash的函数。它的样子长这样(没有ActionScript的高亮,但是反正都es了,就当js吧)

private function calcHash() : String
{
   var _loc1_:* = null;
   var _loc2_:* = null;
   var _loc3_:int = 0;
   var _loc4_:* = null;
   var _loc5_:* = null;
   var _loc6_:* = null;
   var _loc7_:* = null;
   var _loc8_:* = null;
   var _loc9_:* = null;
   _loc1_ = this._so.data.player;
   _loc2_ = _loc1_.status;
   _loc4_ = SaveData.HASH_STR;
   _loc4_ = _loc4_ + (_loc2_.str.toString() + _loc2_.dex.toString() + _loc2_.vit.toString() + _loc2_.luc.toString() + _loc1_.statusPoints.toString());
   _loc3_ = 0;
   while(_loc3_ < SaveData.CHARACTER_IDS.length)
   {
      _loc4_ = _loc4_ + _loc1_.charaLov[SaveData.CHARACTER_IDS[_loc3_]].toString();
      _loc3_++;
   }
   _loc4_ = _loc4_ + (_loc1_.characterID.toString() + _loc1_.next.toString() + _loc1_.statusPoints.toString());
   _loc5_ = this._so.data.inventory;
   _loc3_ = 0;
   while(_loc3_ < _loc5_.length - 1)
   {
      if(_loc5_[_loc3_] != null)
      {
         _loc4_ = _loc4_ + (_loc5_[_loc3_].baseLevel.toString() + _loc5_[_loc3_].prefixLevel.toString() + _loc5_[_loc3_].qualityLevel.toString() + _loc5_[_loc3_].quality + _loc5_[_loc3_].prefix + _loc5_[_loc3_].id);
      }
      _loc3_++;
   }
   _loc6_ = new ByteArray();
   _loc6_.writeMultiByte(_loc4_,"utf-8");
   _loc7_ = Crypto.getHash("sha256");
   _loc8_ = _loc7_.hash(_loc6_);
   _loc9_ = Hex.fromArray(_loc8_);
   return _loc9_;
}

吐槽一下,这个还原真是太让人心痛了… 局部变量全是一个名字,不猜变量类型(等等你在说什么啊根本没得猜啊),就连一些简单的inline都不会!我感觉隔壁的ILSpy吊打这玩意儿一万倍…

经过一段inline操作后,代码变得容易理解了一些,虽然我不知道为什么它的语言变成C#了

   private string calcHash()
   {
      var player = this._so.data.player;
      var stat = player.status; // str魔力、vit精神、dex敏捷、luc幸运、lov爱(隐藏) 五个int
      var pStr = "QB狩りオンラインふじ鯖";
	  // statusPoints 未加点数 int
      pStr = pStr + (stat.str.ToString() + stat.dex.ToString() + stat_.vit.ToString() 
	         + stat.luc.ToString() + player.statusPoints.ToString());
      var i = 0;
	  // CHARACTER_IDS是[0,3,6,9,12,18,21,30,24,27,33,36,39,42,45]
	  // charaLov是个int[15] 目测是真正的爱
      while(i < SaveData.CHARACTER_IDS.Length)
      {
         pStr = pStr + player.charaLov[SaveData.CHARACTER_IDS[i]].ToString();
         i++;
      }
	  // characterID 当前角色 int
	  // next 距离下一级的经验 int
      pStr = pStr + (player.characterID.ToString() + player.next.ToString() + player.statusPoints.ToString());
      var inv = this._so.data.inventory;
      i = 0;
      while(i < inv.Length - 1)
      {
         if(inv[i] != null)
         {
            pStr = pStr + (inv[i].baseLevel.ToString() + inv[i].prefixLevel.ToString() 
			       + inv[i].qualityLevel.ToString() + inv[i].quality + inv[i].prefix + inv[i].id);
         }
         i++;
      }
      var bytes = new ByteArray();
      return BitConverter.ToString(new System.Security.Cryptography.SHA256CryptoServiceProvider()
	         .ComputeHash(System.Text.Encoding.UTF8.GetBytes(pStr))).Replace("-", "");
   }

那么说,大概可以理解了:我们把一大堆数据当成string连接起来,然后hash一下(这看起来一点都不像会写代码的人干的事)。但是另外又有弱智的问题来了:

我总不可能再手动去找我的背包里的物品手动连id做hash吧!

而且这编辑器也不能编辑别的数据啊,我连物品id存在哪里都不知道啊!

Stage 3

不信邪的我还是试了下CE修改。Chrome里Shift+Esc找pid,然后CE附加上去搜索。

十分不成功,爱啥的根本搜不到:能搜到一个数字,但是每次搜到的下次都不同了。我也不想研究到底发生了啥,因为这种像是虚拟机一样的玩意儿一改代码可能就会炸…

直接改四围属性能用,但是切换角色就没了,属性太高了还会炸。去看了下,各种属性上限大致是200(有少量技能被动啥的可以突破200)

很难受啊,根本没法搞

Stage 4

最后还是走向了字节码,Swf文件的字节码我也不知道叫什么,但是在FFDec里面叫P-Code。这看起来是一种十分好理解的字节码,至少我一眼看过去就能看懂(可能是因为前段时间搞了一些IL相关)。

修改变量的值十分简单,先把值push进去,然后set(setlocal)。参数是前n个local,其余的按顺序排下来。

首先试的是SaveData.isPlayerDataValid,这里校验了hash是否相同和各种属性是否超过了200啥的

哦对了,这里的true和false是要pushtrue和pushfalse的,不是pushint 0/1。改成了return true后,我发现不知道怎么替换掉原来的文件了!

我试图直接在本地玩,但是发现本地的swf会禁止访问(9100端口),因为只允许80和443(没毛病,挺合理的)。但是这就难受了,我又不想去找哪里的复杂设置,最后去dalao群里问了一下。

(经过和dalao的交流后)我发现确实只能靠抓包改请求了【瘫】

幸好这玩意儿不是https,所以很方便地下了个Fiddler改了结果。

Stage 5

接下来就走上了修改的邪路。

首先修改了一下获得的爱:ResultScene.gainLove。里面好像有啥”一个角色获得爱后别的角色会稍微失去爱”啥的,懒得研究了,直接把传进来的参数改了。很成功。

接下来我们找到了PlayingScene.update,这里面有结算(this._main.changeScene(new ResultScene))。从这里的代码能发现,经验和击杀有关,爱和时间有关,武器掉落和波数等级幸运击杀都有关。

跟着这里的结算,WeaponSmith.createWeaponData就是根据这几个数字生成随机武器的了。根据武器列表,最好的武器要经过数次Math.random()等级的洗礼,以及(必须的)30级35波和许多分。为了方便起见,我把结算也改了一下:按Esc退出房间也可以获得武器,然后把分数等级幸运啥的全hardcode了,然后把决定属性等级的Math.random()也改成了pushdouble。

这个游戏也快毕业了,变得索然无味。每个武器都是随即词缀,但是属性总是该词缀的上限(当然,包括负属性)。爱全部都有几万,经验到是不多,因为换角色就要重新加点挺麻烦的。

End

刷到的一些东西:

-100攻击的概念小手枪,100射程40射速7暴击2穿透,全属性+40

+250攻击的救济小手枪,+15最低+30最高100射程40射速18爆率5穿透,全属性+15,敏捷再+50

+250攻击的救济火箭筒,+15最低+30最高30范围50弹药38敏捷18暴击20击退

+200攻击的女神机枪,+45最低+60最高100射程80射速50装填-8敏捷10爆率6击退11穿透

另外还有一点游戏数据,以XML为主

EXP_TABLE [30,50,70,90,110,130,150,170,200,230,260,290,330,370,410,450,500,550,600,650,700,770,840,910,1000,1100,1200,1300,1400,1550,1700,1900,2100,2300,2500,2800,3200,3600,4000,4400,4800,5200,5600,6000,6400,6800,7200,7600,8000,8400,8800,9200,9600,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999,9999]

DETAIL@ph

ENEMY_TABLE
<root>
    <wave num="1" amount="15" hp="100" str="5" vx="40"/>
    <wave num="2" amount="18" hp="100" str="5" vx="40"/>
    <wave num="3" amount="20" hp="100" str="5" vx="40"/>
    <wave num="4" amount="22" hp="100" str="5" vx="40"/>
    <wave num="5" amount="25" hp="100" str="5" vx="40"/>
    <wave num="6" amount="30" hp="102" str="5" vx="41"/>
    <wave num="7" amount="35" hp="104" str="5" vx="41"/>
    <wave num="8" amount="40" hp="106" str="5" vx="41"/>
    <wave num="9" amount="45" hp="108" str="5" vx="41"/>
    <wave num="10" amount="50" hp="110" str="6" vx="42"/>
    <wave num="11" amount="55" hp="112" str="6" vx="42"/>
    <wave num="12" amount="60" hp="114" str="6" vx="42"/>
    <wave num="13" amount="65" hp="116" str="6" vx="42"/>
    <wave num="14" amount="70" hp="118" str="6" vx="43"/>
    <wave num="15" amount="75" hp="120" str="7" vx="43"/>
    <wave num="16" amount="80" hp="122" str="7" vx="43"/>
    <wave num="17" amount="85" hp="124" str="7" vx="44"/>
    <wave num="18" amount="90" hp="126" str="7" vx="44"/>
    <wave num="19" amount="95" hp="128" str="7" vx="44"/>
    <wave num="20" amount="100" hp="130" str="8" vx="45"/>
    <wave num="21" amount="110" hp="132" str="8" vx="45"/>
    <wave num="22" amount="120" hp="134" str="8" vx="46"/>
    <wave num="23" amount="130" hp="136" str="8" vx="46"/>
    <wave num="24" amount="140" hp="138" str=" 8" vx="47"/>
    <wave num="25" amount="150" hp="140" str="9" vx="47"/>
    <wave num="26" amount="160" hp="142" str="9" vx="48"/>
    <wave num="27" amount="170" hp="144" str="9" vx="48"/>
    <wave num="28" amount="180" hp="146" str="9" vx="49"/>
    <wave num="29" amount="190" hp="148" str="9" vx="49"/>
    <wave num="30" amount="200" hp="150" str="10" vx="50"/>
    <wave num="31" amount="210" hp="155" str="10" vx="51"/>
    <wave num="32" amount="220" hp="160" str="10" vx="52"/>
    <wave num="33" amount="230" hp="165" str="11" vx="53"/>
    <wave num="34" amount="240" hp="170" str="11" vx="54"/>
    <wave num="35" amount="250" hp="175" str="11" vx="55"/>
    <wave num="36" amount="260" hp="180" str="12" vx="56"/>
    <wave num="37" amount="270" hp="185" str="12" vx="57"/>
    <wave num="38" amount="280" hp="190" str="12" vx="58"/>
    <wave num="39" amount="290" hp="195" str="13" vx="59"/>
    <wave num="40" amount="300" hp="200" str="13" vx="60"/>
    <wave num="41" amount="320" hp="220" str="13" vx="62"/>
    <wave num="42" amount="340" hp="240" str="14" vx="64"/>
    <wave num="43" amount="360" hp="260" str="14" vx="66"/>
    <wave num="44" amount="380" hp="280" str="14" vx="68"/>
    <wave num="45" amount="400" hp="300" str="15" vx="70"/>
    <wave num="46" amount="420" hp="320" str="15" vx="72"/>
    <wave num="47" amount="440" hp="340" str="15" vx="74"/>
    <wave num="48" amount="460" hp="360" str="16" vx="76"/>
    <wave num="49" amount="480" hp="380" str="16" vx="78"/>
    <wave num="50" amount="500" hp="400" str="16" vx="80"/>
    <wave num="51" amount="530" hp="450" str="17" vx="84"/>
    <wave num="52" amount="560" hp="500" str="17" vx="88"/>
    <wave num="53" amount="590" hp="550" str="17" vx="92"/>
    <wave num="54" amount="620" hp="600" str="18" vx="96"/>
    <wave num="55" amount="650" hp="650" str="18" vx="100"/>
    <wave num="56" amount="680" hp="700" str="18" vx="104"/>
    <wave num="57" amount="710" hp="750" str="19" vx="108"/>
    <wave num="58" amount="740" hp="800" str="19" vx="112"/>
    <wave num="59" amount="770" hp="850" str="19" vx="116"/>
    <wave num="60" amount="800" hp="900" str="20" vx="120"/>
    <wave num="61" amount="800" hp="1330" str="25" vx="123"/>
    <wave num="62" amount="800" hp="1460" str="25" vx="126"/>
    <wave num="63" amount="800" hp="1590" str="25" vx="129"/>
    <wave num="64" amount="800" hp="1720" str="25" vx="132"/>
    <wave num="65" amount="800" hp="1850" str="25" vx="135"/>
    <wave num="66" amount="800" hp="1980" str="25" vx="138"/>
    <wave num="67" amount="800" hp="2110" str="25" vx="141"/>
    <wave num="68" amount="800" hp="2240" str="25" vx="144"/>
    <wave num="69" amount="800" hp="2370" str="25" vx="147"/>
    <wave num="70" amount="800" hp="2500" str="25" vx="150"/>
    <wave num="71" amount="800" hp="2630" str="25" vx="153"/>
    <wave num="72" amount="800" hp="2760" str="25" vx="156"/>
    <wave num="73" amount="800" hp="2890" str="25" vx="159"/>
    <wave num="74" amount="800" hp="3020" str="25" vx="162"/>
    <wave num="75" amount="800" hp="3150" str="25" vx="165"/>
    <wave num="76" amount="800" hp="3280" str="25" vx="168"/>
    <wave num="77" amount="800" hp="3410" str="25" vx="171"/>
    <wave num="78" amount="800" hp="3540" str="25" vx="174"/>
    <wave num="79" amount="800" hp="3670" str="25" vx="177"/>
    <wave num="80" amount="800" hp="3800" str="25" vx="180"/>
    <wave num="81" amount="800" hp="3930" str="25" vx="183"/>
    <wave num="82" amount="800" hp="4060" str="25" vx="186"/>
    <wave num="83" amount="800" hp="4190" str="25" vx="189"/>
    <wave num="84" amount="800" hp="4320" str="25" vx="192"/>
    <wave num="85" amount="800" hp="4450" str="25" vx="195"/>
    <wave num="86" amount="800" hp="4580" str="25" vx="198"/>
    <wave num="87" amount="800" hp="4710" str="25" vx="201"/>
    <wave num="88" amount="800" hp="4840" str="25" vx="204"/>
    <wave num="89" amount="800" hp="4970" str="25" vx="207"/>
    <wave num="90" amount="800" hp="5100" str="25" vx="210"/>
    <wave num="91" amount="800" hp="5230" str="25" vx="213"/>
    <wave num="92" amount="800" hp="5360" str="25" vx="216"/>
    <wave num="93" amount="800" hp="5490" str="25" vx="219"/>
    <wave num="94" amount="800" hp="5620" str="25" vx="222"/>
    <wave num="95" amount="800" hp="5750" str="25" vx="225"/>
    <wave num="96" amount="800" hp="5880" str="25" vx="228"/>
    <wave num="97" amount="800" hp="6010" str="25" vx="231"/>
    <wave num="98" amount="800" hp="6140" str="25" vx="234"/>
    <wave num="99" amount="800" hp="6270" str="25" vx="237"/>
    <wave num="100" amount="800" hp="6400" str="25" vx="240"/>
    <wave num="101" amount="800" hp="6400" str="25" vx="241"/>
    <wave num="102" amount="800" hp="6400" str="25" vx="242"/>
    <wave num="103" amount="800" hp="6400" str="25" vx="243"/>
    <wave num="104" amount="800" hp="6400" str="25" vx="244"/>
    <wave num="105" amount="800" hp="6400" str="25" vx="245"/>
    <wave num="106" amount="800" hp="6400" str="25" vx="246"/>
    <wave num="107" amount="800" hp="6400" str="25" vx="247"/>
    <wave num="108" amount="800" hp="6400" str="25" vx="248"/>
    <wave num="109" amount="800" hp="6400" str="25" vx="249"/>
    <wave num="110" amount="800" hp="6400" str="26" vx="250"/>
    <wave num="111" amount="800" hp="6400" str="26" vx="251"/>
    <wave num="112" amount="800" hp="6400" str="26" vx="252"/>
    <wave num="113" amount="800" hp="6400" str="26" vx="253"/>
    <wave num="114" amount="800" hp="6400" str="26" vx="254"/>
    <wave num="115" amount="800" hp="6400" str="26" vx="255"/>
    <wave num="116" amount="800" hp="6400" str="26" vx="256"/>
    <wave num="117" amount="800" hp="6400" str="26" vx="257"/>
    <wave num="118" amount="800" hp="6400" str="26" vx="258"/>
    <wave num="119" amount="800" hp="6400" str="26" vx="259"/>
    <wave num="120" amount="800" hp="6400" str="27" vx="260"/>
    <wave num="121" amount="800" hp="6400" str="27" vx="261"/>
    <wave num="122" amount="800" hp="6400" str="27" vx="262"/>
    <wave num="123" amount="800" hp="6400" str="27" vx="263"/>
    <wave num="124" amount="800" hp="6400" str="27" vx="264"/>
    <wave num="125" amount="800" hp="6400" str="27" vx="265"/>
    <wave num="126" amount="800" hp="6400" str="27" vx="266"/>
    <wave num="127" amount="800" hp="6400" str="27" vx="267"/>
    <wave num="128" amount="800" hp="6400" str="27" vx="268"/>
    <wave num="129" amount="800" hp="6400" str="27" vx="269"/>
    <wave num="130" amount="800" hp="6400" str="28" vx="270"/>
    <wave num="131" amount="800" hp="6400" str="28" vx="271"/>
    <wave num="132" amount="800" hp="6400" str="28" vx="272"/>
    <wave num="133" amount="800" hp="6400" str="28" vx="273"/>
    <wave num="134" amount="800" hp="6400" str="28" vx="274"/>
    <wave num="135" amount="800" hp="6400" str="28" vx="275"/>
    <wave num="136" amount="800" hp="6400" str="28" vx="276"/>
    <wave num="137" amount="800" hp="6400" str="28" vx="277"/>
    <wave num="138" amount="800" hp="6400" str="28" vx="278"/>
    <wave num="139" amount="800" hp="6400" str="28" vx="279"/>
    <wave num="140" amount="800" hp="6400" str="29" vx="280"/>
    <wave num="141" amount="800" hp="6400" str="29" vx="281"/>
    <wave num="142" amount="800" hp="6400" str="29" vx="282"/>
    <wave num="143" amount="800" hp="6400" str="29" vx="283"/>
    <wave num="144" amount="800" hp="6400" str="29" vx="284"/>
    <wave num="145" amount="800" hp="6400" str="29" vx="285"/>
    <wave num="146" amount="800" hp="6400" str="29" vx="286"/>
    <wave num="147" amount="800" hp="6400" str="29" vx="287"/>
    <wave num="148" amount="800" hp="6400" str="29" vx="288"/>
    <wave num="149" amount="800" hp="6400" str="29" vx="289"/>
    <wave num="150" amount="800" hp="6400" str="30" vx="290"/>
</root>

DETAILEND@ph

DETAIL@ph

WEAPON_QUALITY_TABLE
<root>
    <quality id="bonecrash" name="ボンクラ" lv="1" wave="1" score="0">
        <level num="0" score="0" dmg="-20"/>
        <level num="1" score="30" dmg="-5" crit="3"/>
        <level num="2" score="70" dmg="10" crit="5" pene="1"/>
    </quality>
    <quality id="normal" name="" lv="1" wave="1" score="50">
        <level num="0" score="0"/>
        <level num="1" score="50" dmg="12" crit="3"/>
        <level num="2" score="100" dmg="24" crit="5" pene="1"/>
    </quality>
    <quality id="irregular" name="イレギュラー" lv="10" wave="10" score="200">
        <level num="0" score="0" dmg="35"/>
        <level num="1" score="80" dmg="48" crit="3"/>
        <level num="2" score="150" dmg="60" crit="5" pene="1"/>
    </quality>
    <quality id="magical" name="マジカル" lv="20" wave="25" score="400">
        <level num="0" score="0" dmg="75" crit="3" pene="1"/>
        <level num="1" score="150" dmg="90" crit="5" pene="1"/>
        <level num="2" score="300" dmg="100" crit="7" pene="2"/>
    </quality>
    <quality id="ultimate" name="アルティメット" lv="30" wave="35" score="700">
        <level num="0" score="0" dmg="125" crit="6" pene="1"/>
        <level num="1" score="200" dmg="160" crit="8" pene="2"/>
        <level num="2" score="400" dmg="200" crit="10" pene="3"/>
    </quality>
</root>

DETAILEND@ph

DETAIL@ph

WEAPON_BASE_TABLE
<root>
    <base id="{Const.WEAPON_PISTOL.toString()}" name="ピストル" bmin="15" brand="25" brange="100" battack="400" breload="1000" bammo="12">
        <level num="0" score="0"/>
        <level num="1" score="100" range="20" attack="10" str="2" vit="2" dex="2" luc="2"/>
        <level num="2" score="300" range="40" attack="20" str="6" vit="6" dex="6" luc="6"/>
        <level num="3" score="900" range="100" attack="40" str="15" vit="15" dex="15" luc="15"/>
    </base>
    <base id="{Const.WEAPON_MASKET.toString()}" name="マスケット銃" bmin="55" brand="40" brange="180" battack="600" breload="2400" bammo="8">
        <level num="0" score="0" crit="15"/>
        <level num="1" score="100" range="10" crit="20"/>
        <level num="2" score="300" range="20" ammo="25" crit="25"/>	
        <level num="3" score="900" range="50" ammo="50" crit="30"/>
    </base>
    <base id="{Const.WEAPON_MINIMI.toString()}" name="ミニミ" bmin="5" brand="25" brange="150" battack="150" breload="4000" bammo="50">
        <level num="0" score="0" dex="-2"/>
        <level num="1" score="100" attack="10" ammo="10" dex="-4"/>
        <level num="2" score="300" min="5" attack="20" ammo="20" dex="-6"/>
        <level num="3" score="900" min="15" attack="30" ammo="50" dex="-8"/>
    </base>
    <base id="{Const.WEAPON_ROSEBOW.toString()}" name="ローズボウ" bmin="10" brand="15" brange="120" battack="200" breload="2500" bammo="24">
        <level num="0" score="0" pene="3"/>
        <level num="1" score="100" range="10" luc="3" pene="4"/>
        <level num="2" score="300" range="20" luc="9" pene="5"/>
        <level num="3" score="900" range="50" luc="20" pene="10"/>
    </base>
    <base id="{Const.WEAPON_BLACKBOW.toString()}" name="ブラックボウ" bmin="10" brand="40" brange="130" battack="300" breload="2600" bammo="18">
        <level num="0" score="0" pene="1"/>
        <level num="1" score="100" range="10" dex="3" crit="3" pene="1"/>
        <level num="2" score="300" range="20" dex="9" crit="5" pene="2"/>
        <level num="3" score="900" range="50" dex="20" crit="10" pene="5"/>
    </base>
    <base id="{Const.WEAPON_EXTINGUISHER.toString()}" name="消火器" bmin="5" brand="15" brange="36" battack="500" breload="2500" bammo="10">
        <level num="0" score="0" kb="14"/>
        <level num="1" score="100" crit="3" kb="17"/>
        <level num="2" score="300" crit="5" kb="20"/>
        <level num="3" score="900" crit="10" kb="30"/>
    </base>
    <base id="{Const.WEAPON_PIPEBOMB.toString()}" name="パイプ爆弾" bmin="20" brand="30" brange="36" battack="350" breload="2700" bammo="15">
        <level num="0" score="0" kb="2"/>
        <level num="1" score="100" attack="5" reload="5" kb="3"/>
        <level num="2" score="300" attack="10" reload="10" kb="4"/>
        <level num="3" score="900" attack="30" reload="30" kb="5"/>
    </base>
    <base id="{Const.WEAPON_RPG7.toString()}" name="ロケットランチャー" bmin="50" brand="100" brange="50" battack="1000" breload="3500" bammo="4">
        <level num="0" score="0" dex="-3" kb="10"/>
        <level num="1" score="100" range="5" dex="-6" kb="12"/>
        <level num="2" score="300" range="10" ammo="25" dex="-9" kb="14"/>
        <level num="3" score="900" range="30" ammo="50" dex="-12" kb="20"/>
    </base>
    <base id="{Const.WEAPON_GOLFCLUB.toString()}" name="ゴルフクラブ" bmin="25" brand="20" brange="38" battack="150" breload="450" bammo="1">
        <level num="0" score="0"/>
        <level num="1" score="100" reload="10" crit="5"/>
        <level num="2" score="300" reload="20" crit="10"/>
        <level num="3" score="900" reload="40" crit="20"/>
    </base>
    <base id="{Const.WEAPON_METALBAT.toString()}" name="金属バット" bmin="0" brand="89" brange="38" battack="150" breload="600" bammo="1">
        <level num="0" score="0" crit="10" kb="4"/>
        <level num="1" score="100" rand="10" crit="15" kb="6"/>
        <level num="2" score="300" rand="30" crit="20" kb="8"/>
        <level num="3" score="900" rand="100" crit="25" kb="10"/>
    </base>
    <base id="{Const.WEAPON_SABER.toString()}" name="サーベル" bmin="55" brand="15" brange="38" battack="150" breload="600" bammo="1">
        <level num="0" score="0"/>
        <level num="1" score="100" dmg="10" reload="5" vit="3" deads="1"/>
        <level num="2" score="300" dmg="30" reload="10" vit="9" deads="3"/>
        <level num="3" score="900" dmg="50" reload="20" vit="20 " deads="5"/>
    </base>
    <base id="{Const.WEAPON_SPEAR.toString()}" name="スピア" bmin="40" brand="40" brange="48" battack="150" breload="900" bammo="1">
        <level num="0" score="0"/>
        <level num="1" score="100" range="10" str="3" kb="3"/>
        <level num="2" score="300" range="20" str="9" kb="6"/>
        <level num="3" score="900" range="40" str="20" kb="9"/>
    </base>
    <base id="{Const.WEAPON_TIROFINALE.toString()}" name="ティロフィナーレ" bmin="30" brand="50" brange="200" battack="100" breload="20000" bammo="5">
        <level num="0" score="0" vit="-3" pene="10"/>
        <level num="1" score="100" vit="-6" crit="5" kb="5" pene="20"/>
        <level num="2" score="300" vit="-9" crit="10" kb="7" pene="30" deads="1"/>
        <level num="3" score="900" vit="-12" crit="20" kb="10" pene="40" deads="3"/>
    </base>
    <base id="{Const.WEAPON_PUNCH.toString()}" name="パンチ" bmin="70" brand="30" brange="24" battack="150" breload="450" bammo="1">
        <level num="0" score="0" kb="10"/>
        <level num="1" score="100" min="10" kb="12"/>
        <level num="2" score="300" min="25" kb="16"/>
        <level num="3" score="900" min="50" kb="24"/>
    </base>
</root>

DETAILEND@ph

DETAIL@ph

WEAPON_PREFIX_TABLE
<root>
    <prefix id="none" name="" lv="1" wave="1" score="0" base="11111111111111">
        <level num="0" score="0"/>
    </prefix>
    <prefix id="syosinsya" name="初心者用" lv="1" wave="1" score="20" base="11111111111111">
        <level num="0" score="0" dmg="4"/>
        <level num="1" score="10" dmg="8"/>
        <level num="2" score="20" dmg="12"/>
        <level num="3" score="30" dmg="16"/>
        <level num="4" score="40" dmg="20"/>
    </prefix>
    <prefix id="syobokure" name="しょぼくれた" lv="1" wave="1" score="20" base="11111111111111">
        <level num="0" score="0" dmg="-20" str="1" vit="1" dex="1" luc="1"/>
        <level num="1" score="10" dmg="-40" str="2" vit="2" dex="2" luc="2"/>
        <level num="2" score="20" dmg="-60" str="3" vit="3" dex="3" luc="3"/>
        <level num="3" score="30" dmg="-80" str="4" vit="4" dex="4" luc="4"/>
        <level num="4" score="40" dmg="-100" str="5" vit="5" dex="5" luc="5"/>
    </prefix>
    <prefix id="kegare" name="穢れた" lv="1" wave="1" score="20" base="11111111111111">
        <level num="0" score="0" min="2" rand="-4"/>
        <level num="1" score="10" min="4" rand="-8"/>
        <level num="2" score="20" min="6" rand="-12"/>
        <level num="3" score="30" min="8" rand="-16"/>
        <level num="4" score="40" min="10" rand="-20"/>
    </prefix>
    <prefix id="horobinageki" name="滅びと嘆きの" lv="1" wave="1" score="20" base="11111111111111">
        <level num="0" score="0" min="-2" rand="4"/>
        <level num="1" score="10" min="-4" rand="8"/>
        <level num="2" score="20" min="-6" rand="12"/>
        <level num="3" score="30" min="-8" rand="16"/>
        <level num="4" score="40" min="-10" rand="20"/>
    </prefix>
    <prefix id="yurusarenai" name="許されない" lv="1" wave="1" score="20" base="11111000111111">
        <level num="0" score="0" range="4"/>
        <level num="1" score="10" range="8"/>
        <level num="2" score="20" range="12"/>
        <level num="3" score="30" range="16"/>
        <level num="4" score="40" range="20"/>
    </prefix>
    <prefix id="inga" name="因果の" lv="1" wave="1" score="20" base="11111111111111">
        <level num="0" score="0" dmg="-8" min="-4" attack="3" reload="2"/>
        <level num="1" score="10" dmg="-9" min="-4" attack="6" reload="4"/>
        <level num="2" score="20" dmg="-10" min="-4" attack="9" reload="6"/>
        <level num="3" score="30" dmg="-11" min="-4" attack="12" reload="8"/>
        <level num="4" score="40" dmg="-12" min="-4" attack="15" reload="10"/>
    </prefix>
    <prefix id="hidosugi" name="ひどすぎる" lv="1" wave="1" score="20" base="11111111000010">
        <level num="0" score="0" attack="5" ammo="-10"/>
        <level num="1" score="10" attack="10" ammo="-20"/>
        <level num="2" score="20" attack="15" ammo="-30"/>
        <level num="3" score="30" attack="20" ammo="-40"/>
        <level num="4" score="40" attack="25" ammo="-50"/>
    </prefix>
    <prefix id="hituyounai" name="必要のない" lv="1" wave="1" score="20" base="11111111000010">
        <level num="0" score="0" attack="-3" reload="4"/>
        <level num="1" score="10" attack="-6" reload="8"/>
        <level num="2" score="20" attack="-9" reload="12"/>
        <level num="3" score="30" attack="-12" reload="16"/>
        <level num="4" score="40" attack="-15" reload="20"/>
    </prefix>
    <prefix id="sagi" name="詐欺の" lv="1" wave="1" score="20" base="111111110000000">
        <level num="0" score="0" range="-8" ammo="4"/>
        <level num="1" score="10" range="-16" ammo="8"/>
        <level num="2" score="20" range="-24" ammo="12"/>
        <level num="3" score="30" range="-32" ammo="16"/>
        <level num="4" score="40" range="-40" ammo="20"/>
    </prefix>
    <prefix id="zettaiokasi" name="絶対おかしい" lv="2" wave="3" score="60" base="11111111111111">
        <level num="0" score="0" min="1" rand="1"/>
        <level num="1" score="15" min="2" rand="2"/>
        <level num="2" score="30" min="3" rand="3"/>
        <level num="3" score="45" min="4" rand="4"/>
        <level num="4" score="60" min="5" rand="5"/>
    </prefix>
    <prefix id="gusya" name="愚者の" lv="2" wave="3" score="60" base="00000000111101">
        <level num="0" score="0" reload="3"/>
        <level num="1" score="15" reload="6"/>
        <level num="2" score="30" reload="9"/>
        <level num="3" score="45" reload="12"/>
        <level num="4" score="60" reload="15"/>
    </prefix>
    <prefix id="mubousugi" name="無謀すぎる" lv="2" wave="3" score="60" base="11111111111111">
        <level num="0" score="0" str="2"/>
        <level num="1" score="15" str="3"/>
        <level num="2" score="30" str="4"/>
        <level num="3" score="45" str="5"/>
        <level num="4" score="60" str="6"/>
    </prefix>
    <prefix id="hakanaiasita" name="儚い明日の" lv="2" wave="3" score="60" base="11111111111111">
        <level num="0" score="0" vit="2"/>
        <level num="1" score="15" vit="3"/>
        <level num="2" score="30" vit="4"/>
        <level num="3" score="45" vit="5"/>
        <level num="4" score="60" vit="6"/>
    </prefix>
    <prefix id="mienai" name="人には見えない" lv="2" wave="3" score="60" base="11111111111111">
        <level num="0" score="0" dex="2"/>
        <level num="1" score="15" dex="3"/>
        <level num="2" score="30" dex="4"/>
        <level num="3" score="45" dex="5"/>
        <level num="4" score="60" dex="6"/>
    </prefix>
    <prefix id="hadesugi" name="派手すぎる" lv="2" wave="3" score="60" base="11111111111111">
        <level num="0" score="0" luc="2"/>
        <level num="1" score="15" luc="3"/>
        <level num="2" score="30" luc="4"/>
        <level num="3" score="45" luc="5"/>
        <level num="4" score="60" luc="6"/>
    </prefix>
    <prefix id="wakewakaran" name="わけがわからない" lv="2" wave="3" score="60" base="11111111111111">
        <level num="0" score="0" crit="1" pene="1"/>
        <level num="1" score="15" crit="2" pene="1"/>
        <level num="2" score="30" crit="3" pene="1"/>
        <level num="3" score="45" crit="4" pene="1"/>
        <level num="4" score="60" crit="5" pene="1"/>
    </prefix>
    <prefix id="benri" name="便利な" lv="4" wave="6" score="100" base="11111111111111">
        <level num="0" score="0" str="1" vit="1"/>
        <level num="1" score="25" str="2" vit="2"/>
        <level num="2" score="50" str="3" vit="3"/>
        <level num="3" score="75" str="4" vit="4"/>
        <level num="4" score="100" str="5" vit="5"/>
    </prefix>
    <prefix id="jiman" name="自慢の" lv="4" wave="6" score="100" base="11111111111111">
        <level num="0" score="0" str="1" dex="1"/>
        <level num="1" score="25" str="2" dex="2"/>
        <level num="2" score="50" str="3" dex="3"/>
        <level num="3" score="75" str="4" dex="4"/>
        <level num="4" score="100" str="5" dex="5"/>
    </prefix>
    <prefix id="yuuki" name="勇気の" lv="4" wave="6" score="100" base="11111111111111">
        <level num="0" score="0" str="1" luc="1"/>
        <level num="1" score="25" str="2" luc="2"/>
        <level num="2" score="50" str="3" luc="3"/>
        <level num="3" score="75" str="4" luc="4"/>
        <level num="4" score="100" str="5" luc="5"/>
    </prefix>
    <prefix id="yakudati" name="役に立つ" lv="4" wave="6" score="100" base="11111111111111">
        <level num="0" score="0" vit="1" dex="1"/>
        <level num="1" score="25" vit="2" dex="2"/>
        <level num="2" score="50" vit="3" dex="3"/>
        <level num="3" score="75" vit="4" dex="4"/>
        <level num="4" score="100" vit="5" dex="5"/>
    </prefix>
    <prefix id="omosiromi" name="面白みのある" lv="4" wave="6" score="100" base="11111111111111">
        <level num="0" score="0" vit="1" luc="1"/>
        <level num="1" score="25" vit="2" luc="2"/>
        <level num="2" score="50" vit="3" luc="3"/>
        <level num="3" score="75" vit="4" luc="4"/>
        <level num="4" score="100" vit="5" luc="5"/>
    </prefix>
    <prefix id="suteki" name="素敵な" lv="4" wave="6" score="100" base="11111111111111">
        <level num="0" score="0" dex="1" luc="1"/>
        <level num="1" score="25" dex="2" luc="2"/>
        <level num="2" score="50" dex="3" luc="3"/>
        <level num="3" score="75" dex="4" luc="4"/>
        <level num="4" score="100" dex="5" luc="5"/>
    </prefix>
    <prefix id="jihi" name="慈悲の" lv="4" wave="6" score="100" base="11111111111111">
        <level num="0" score="0" dmg="-50" vit="10"/>
        <level num="1" score="25" dmg="-50" vit="12"/>
        <level num="2" score="50" dmg="-50" vit="14"/>
        <level num="3" score="75" dmg="-50" vit="16"/>
        <level num="4" score="100" dmg="-50" vit="18"/>
    </prefix>
    <prefix id="nazonosiroi" name="謎の白い" lv="4" wave="6" score="100" base="11111111111111">
        <level num="0" score="0" dmg="-50" luc="10"/>
        <level num="1" score="25" dmg="-50" luc="12"/>
        <level num="2" score="50" dmg="-50" luc="14"/>
        <level num="3" score="75" dmg="-50" luc="16"/>
        <level num="4" score="100" dmg="-50" luc="18"/>
    </prefix>
    <prefix id="gouyoku" name="強欲の" lv="4" wave="6" score="100" base="11011011111111">
        <level num="0" score="0" crit="1" kb="1"/>
        <level num="1" score="25" crit="2" kb="2"/>
        <level num="2" score="50" crit="3" kb="3"/>
        <level num="3" score="75" crit="4" kb="4"/>
        <level num="4" score="100" crit="5" kb="5"/>
    </prefix>
    <prefix id="minnaninaisyo" name="みんなには内緒の" lv="4" wave="6" score="100" base="11111000000000">
        <level num="0" score="0" pene="2"/>
        <level num="1" score="25" pene="3"/>
        <level num="2" score="50" pene="4"/>
        <level num="3" score="75" pene="5"/>
        <level num="4" score="100" pene="6"/>
    </prefix>
    <prefix id="tokubetu" name="特別な" lv="8" wave="10" score="160" base="11111111111111">
        <level num="0" score="0" dmg="25"/>
        <level num="1" score="40" dmg="30"/>
        <level num="2" score="80" dmg="35"/>
        <level num="3" score="120" dmg="40"/>
        <level num="4" score="160" dmg="45"/>
    </prefix>
    <prefix id="zankoku" name="残酷な" lv="8" wave="10" score="160" base="11111111111111">
        <level num="0" score="0" dmg="50" vit="-6" dex="-6" luc="-6"/>
        <level num="1" score="40" dmg="60" vit="-7" dex="-7" luc="-7"/>
        <level num="2" score="80" dmg="70" vit="-8" dex="-8" luc="-8"/>
        <level num="3" score="120" dmg="80" vit="-9" dex="-9" luc="-9"/>
        <level num="4" score="160" dmg="90" vit="-10" dex="-10" luc="-10"/>
    </prefix>
    <prefix id="burai" name="無頼の" lv="8" wave="10" score="160" base="11111111111111">
        <level num="0" score="0" min="2"/>
        <level num="1" score="40" min="4"/>
        <level num="2" score="80" min="6"/>
        <level num="3" score="120" min="8"/>
        <level num="4" score="160" min="10"/>
    </prefix>
    <prefix id="futeki" name="不敵の" lv="8" wave="10" score="160" base="11111111111111">
        <level num="0" score="0" rand="5"/>
        <level num="1" score="40" rand="10"/>
        <level num="2" score="80" rand="15"/>
        <level num="3" score="120" rand="20"/>
        <level num="4" score="160" rand="25"/>
    </prefix>
    <prefix id="kagayaki" name="輝きの" lv="8" wave="10" score="160" base="11111111000010">
        <level num="0" score="0" attack="4"/>
        <level num="1" score="40" attack="8"/>
        <level num="2" score="80" attack="12"/>
        <level num="3" score="120" attack="16"/>
        <level num="4" score="160" attack="20"/>
    </prefix>
    <prefix id="seigi" name="正義の" lv="8" wave="10" score="160" base="11111111111111">
        <level num="0" score="0" crit="5" kb="2"/>
        <level num="1" score="40" crit="6" kb="2"/>
        <level num="2" score="80" crit="7" kb="2"/>
        <level num="3" score="120" crit="8" kb="2"/>
        <level num="4" score="160" crit="9" kb="2"/>
    </prefix>
    <prefix id="kindan" name="禁断の" lv="10" wave="12" score="180" base="00000000111101">
        <level num="0" score="0" dmg="100" reload="-60"/>
        <level num="1" score="50" dmg="110" reload="-60"/>
        <level num="2" score="100" dmg="120" reload="-60"/>
        <level num="3" score="150" dmg="130" reload="-60"/>
        <level num="4" score="200" dmg="140" reload="-60"/>
    </prefix>
    <prefix id="risou" name="理想の" lv="10" wave="12" score="180" base="11111111000010">
        <level num="0" score="0" reload="3" ammo="4"/>
        <level num="1" score="50" reload="6" ammo="8"/>
        <level num="2" score="100" reload="9" ammo="12"/>
        <level num="3" score="150" reload="12" ammo="16"/>
        <level num="4" score="200" reload="15" ammo="20"/>
    </prefix>
    <prefix id="kakugo" name="覚悟の" lv="10" wave="12" score="180" base="11111111111111">
        <level num="0" score="0" dmg="2" str="8" vit="-2"/>
        <level num="1" score="50" dmg="4" str="9" vit="-2"/>
        <level num="2" score="100" dmg="6" str="10" vit="-2"/>
        <level num="3" score="150" dmg="8" str="11" vit="-2"/>
        <level num="4" score="200" dmg="10" str="12" vit="-2"/>
    </prefix>
    <prefix id="fukutu" name="不屈の" lv="10" wave="12" score="180" base="11111111111111">
        <level num="0" score="0" dmg="2" str="-2" vit="8"/>
        <level num="1" score="50" dmg="4" str="-2" vit="9"/>
        <level num="2" score="100" dmg="6" str="-2" vit="10"/>
        <level num="3" score="150" dmg="8" str="-2" vit="11"/>
        <level num="4" score="200" dmg="10" str="-2" vit="12"/>
    </prefix>
    <prefix id="kareina" name="華麗なる" lv="10" wave="12" score="180" base="11111111111111">
        <level num="0" score="0" dmg="2" dex="8" luc="-2"/>
        <level num="1" score="50" dmg="4" dex="9" luc="-2"/>
        <level num="2" score="100" dmg="6" dex="10" luc="-2"/>
        <level num="3" score="150" dmg="8" dex="11" luc="-2"/>
        <level num="4" score="200" dmg="10" dex="12" luc="-2"/>
    </prefix>
    <prefix id="kakkoii" name="かっこいい" lv="10" wave="12" score="180" base="11111111111111">
        <level num="0" score="0" dmg="2" dex="-2" luc="8"/>
        <level num="1" score="50" dmg="4" dex="-2" luc="9"/>
        <level num="2" score="100" dmg="6" dex="-2" luc="10"/>
        <level num="3" score="150" dmg="8" dex="-2" luc="11"/>
        <level num="4" score="200" dmg="10" dex="-2" luc="12"/>
    </prefix>
    <prefix id="yakusoku" name="約束の" lv="10" wave="12" score="180" base="11111000000010">
        <level num="0" score="0" min="1" rand="2" pene="2"/>
        <level num="1" score="50" min="2" rand="4" pene="2"/>
        <level num="2" score="100" min="3" rand="6" pene="2"/>
        <level num="3" score="150" min="4" rand="8" pene="2"/>
        <level num="4" score="200" min="5" rand="10" pene="2"/>
    </prefix>
    <prefix id="tottemouresi" name="とっても嬉しい" lv="12" wave="15" score="200" base="11111111111111">
        <level num="0" score="0" str="1" vit="1" dex="1" luc="1"/>
        <level num="1" score="50" str="2" vit="2" dex="2" luc="2"/>
        <level num="2" score="100" str="3" vit="3" dex="3" luc="3"/>
        <level num="3" score="150" str="4" vit="4" dex="4" luc="4"/>
        <level num="4" score="200" str="5" vit="5" dex="5" luc="5"/>
    </prefix>
    <prefix id="erabaresi" name="選ばれし" lv="12" wave="15" score="200" base="11111111111111">
        <level num="0" score="0" rand="2" str="6" luc="6"/>
        <level num="1" score="50" rand="4" str="7" luc="7"/>
        <level num="2" score="100" rand="6" str="8" luc="8"/>
        <level num="3" score="150" rand="8" str="9" luc="9"/>
        <level num="4" score="200" rand="10" str="10" luc="10"/>
    </prefix>
    <prefix id="syugo" name="守護の" lv="12" wave="15" score="200" base="11111111111111">
        <level num="0" score="0" min="1" vit="6" dex="6"/>
        <level num="1" score="50" min="2" vit="7" dex="7"/>
        <level num="2" score="100" min="3" vit="8" dex="8"/>
        <level num="3" score="150" min="4" vit="9" dex="9"/>
        <level num="4" score="200" min="5" vit="10" dex="10"/>
    </prefix>
    <prefix id="tokiwokoe" name="時を越えた" lv="12" wave="15" score="200" base="11111111111111">
        <level num="0" score="0" dmg="3" reload="8" crit="5"/>
        <level num="1" score="50" dmg="6" reload="9" crit="5"/>
        <level num="2" score="100" dmg="9" reload="10" crit="5"/>
        <level num="3" score="150" dmg="12" reload="11" crit="5"/>
        <level num="4" score="200" dmg="15" reload="12" crit="5"/>
    </prefix>
    <prefix id="kokoroduyo" name="心強い" lv="12" wave="15" score="200" base="11111111111111">
        <level num="0" score="0" dmg="3" range="8" kb="2"/>
        <level num="1" score="50" dmg="6" range="9" kb="2"/>
        <level num="2" score="100" dmg="9" range="10" kb="2"/>
        <level num="3" score="150" dmg="12" range="11" kb="2"/>
        <level num="4" score="200" dmg="15" range="12" kb="2"/>
    </prefix>
    <prefix id="kansya" name="感謝の" lv="12" wave="15" score="200" base="11111111000010">
        <level num="0" score="0" attack="5" ammo="30" dex="2"/>
        <level num="1" score="50" attack="5" ammo="35" dex="2"/>
        <level num="2" score="100" attack="5" ammo="40" dex="2"/>
        <level num="3" score="150" attack="5" ammo="45" dex="2"/>
        <level num="4" score="200" attack="5" ammo="50" dex="2"/>
    </prefix>
    <prefix id="inori" name="祈りの" lv="12" wave="15" score="200" base="00000000111101">
        <level num="0" score="0" dmg="8" range="10" reload="6"/>
        <level num="1" score="50" dmg="8" range="12" reload="8"/>
        <level num="2" score="100" dmg="8" range="14" reload="10"/>
        <level num="3" score="150" dmg="8" range="16" reload="12"/>
        <level num="4" score="200" dmg="8" range="18" reload="14"/>
    </prefix>
    <prefix id="subarasi" name="素晴らしい" lv="15" wave="18" score="250" base="11111111111111">
        <level num="0" score="0" dmg="32" min="4" rand="8"/>
        <level num="1" score="60" dmg="35" min="5" rand="10"/>
        <level num="2" score="120" dmg="38" min="6" rand="12"/>
        <level num="3" score="180" dmg="41" min="7" rand="14"/>
        <level num="4" score="240" dmg="44" min="8" rand="16"/>
    </prefix>
    <prefix id="miryokuteki" name="魅力的な" lv="15" wave="18" score="250" base="11111111111111">
        <level num="0" score="0" rand="20" str="10" crit="4"/>
        <level num="1" score="60" rand="25" str="10" crit="4"/>
        <level num="2" score="120" rand="30" str="10" crit="4"/>
        <level num="3" score="180" rand="35" str="10" crit="4"/>
        <level num="4" score="240" rand="40" str="10" crit="4"/>
    </prefix>
    <prefix id="gisei" name="犠牲の" lv="15" wave="18" score="250" base="11111111111111">
        <level num="0" score="0" dmg="-22" str="-6" vit="6" dex="6" luc="6"/>
        <level num="1" score="60" dmg="-24" str="-7" vit="7" dex="7" luc="7"/>
        <level num="2" score="120" dmg="-26" str="-8" vit="8" dex="8" luc="8"/>
        <level num="3" score="180" dmg="-28" str="-9" vit="9" dex="9" luc="9"/>
        <level num="4" score="240" dmg="-30" str="-10" vit="10" dex="10" luc="10"/>
    </prefix>
    <prefix id="negai" name="願いの" lv="15" wave="18" score="250" base="11000011111111">
        <level num="0" score="0" attack="8" reload="10" kb="6"/>
        <level num="1" score="60" attack="10" reload="10" kb="7"/>
        <level num="2" score="120" attack="12" reload="10" kb="8"/>
        <level num="3" score="180" attack="14" reload="10" kb="9"/>
        <level num="4" score="240" attack="16" reload="10" kb="10"/>
    </prefix>
    <prefix id="aino" name="愛の" lv="15" wave="18" score="250" base="11111000000010">
        <level num="0" score="0" dmg="20" ammo="20" pene="1"/>
        <level num="1" score="60" dmg="25" ammo="20" pene="1"/>
        <level num="2" score="120" dmg="30" ammo="20" pene="1"/>
        <level num="3" score="180" dmg="35" ammo="20" pene="1"/>
        <level num="4" score="240" dmg="40" ammo="20" pene="1"/>
    </prefix>
    <prefix id="sinjitu" name="真実の" lv="15" wave="18" score="250" base="00000111000000">
        <level num="0" score="0" min="8" range="30" reload="-16"/>
        <level num="1" score="60" min="9" range="35" reload="-18"/>
        <level num="2" score="120" min="10" range="40" reload="-20"/>
        <level num="3" score="180" min="11" range="45" reload="-22"/>
        <level num="4" score="240" min="12" range="50" reload="-24"/>
    </prefix>
    <prefix id="daisyou" name="代償の" lv="20" wave="24" score="300" base="11111111111111">
        <level num="0" score="0" dmg="160" min="8" rand="16" vit="-11" dex="-11" luc="-11"/>
        <level num="1" score="75" dmg="170" min="9" rand="18" vit="-12" dex="-12" luc="-12"/>
        <level num="2" score="150" dmg="180" min="10" rand="20" vit="-13" dex="-13" luc="-13"/>
        <level num="3" score="225" dmg="190" min="11" rand="22" vit="-14" dex="-14" luc="-14"/>
        <level num="4" score="300" dmg="200" min="12" rand="24" vit="-15" dex="-15" luc="-15"/>
    </prefix>
    <prefix id="syuuen" name="終焉の" lv="20" wave="24" score="300" base="11111000000010">
        <level num="0" score="0" rand="80" range="-90" pene="3"/>
        <level num="1" score="75" rand="85" range="-90" pene="3"/>
        <level num="2" score="150" rand="90" range="-90" pene="3"/>
        <level num="3" score="225" rand="95" range="-90" pene="3"/>
        <level num="4" score="300" rand="100" range="-90" pene="3"/>
    </prefix>
    <prefix id="yamifuriharau" name="闇をふり払う" lv="20" wave="24" score="300" base="11111111111111">
        <level num="0" score="0" reload="28" str="12" crit="5" pene="1"/>
        <level num="1" score="75" reload="31" str="14" crit="5" pene="1"/>
        <level num="2" score="150" reload="34" str="16" crit="5" pene="1"/>
        <level num="3" score="225" reload="37" str="18" crit="5" pene="1"/>
        <level num="4" score="300" reload="40" str="20" crit="5" pene="1"/>
    </prefix>
    <prefix id="kensin" name="献身の" lv="20" wave="24" score="300" base="11111111111111">
        <level num="0" score="0" dmg="28" vit="12" crit="5" kb="3"/>
        <level num="1" score="75" dmg="31" vit="14" crit="5" kb="3"/>
        <level num="2" score="150" dmg="34" vit="16" crit="5" kb="3"/>
        <level num="3" score="225" dmg="37" vit="18" crit="5" kb="3"/>
        <level num="4" score="300" dmg="40" vit="20" crit="5" kb="3"/>
    </prefix>
    <prefix id="kakusei" name="覚醒の" lv="20" wave="24" score="300" base="11111111111111">
        <level num="0" score="0" rand="24" dex="12" crit="5" pene="1"/>
        <level num="1" score="75" rand="26" dex="14" crit="5" pene="1"/>
        <level num="2" score="150" rand="28" dex="16" crit="5" pene="1"/>
        <level num="3" score="225" rand="30" dex="18" crit="5" pene="1"/>
        <level num="4" score="300" rand="32" dex="20" crit="5" pene="1"/>
    </prefix>
    <prefix id="saikonisiawase" name="最高に幸せな" lv="20" wave="24" score="300" base="11111111111111">
        <level num="0" score="0" min="12" luc="12" kb="3" pene="1"/>
        <level num="1" score="75" min="13" luc="14" kb="3" pene="1"/>
        <level num="2" score="150" min="14" luc="16" kb="3" pene="1"/>
        <level num="3" score="225" min="15" luc="18" kb="3" pene="1"/>
        <level num="4" score="300" min="16" luc="20" kb="3" pene="1"/>
    </prefix>
    <prefix id="bannou" name="万能の" lv="20" wave="24" score="300" base="11111111111111">
        <level num="0" score="0" dmg="22" str="6" vit="6" dex="6" luc="6"/>
        <level num="1" score="75" dmg="24" str="7" vit="7" dex="7" luc="7"/>
        <level num="2" score="150" dmg="26" str="8" vit="8" dex="8" luc="8"/>
        <level num="3" score="225" dmg="28" str="9" vit="9" dex="9" luc="9"/>
        <level num="4" score="300" dmg="30" str="10" vit="10" dex="10" luc="10"/>
    </prefix>
    <prefix id="inisie" name="古の" lv="20" wave="24" score="300" base="00000000111101">
        <level num="0" score="0" dmg="18" range="18" str="17" dex="-7"/>
        <level num="1" score="75" dmg="20" range="21" str="19" dex="-7"/>
        <level num="2" score="150" dmg="22" range="24" str="21" dex="-7"/>
        <level num="3" score="225" dmg="24" range="27" str="23" dex="-7"/>
        <level num="4" score="300" dmg="26" range="30" str="25" dex="-7"/>
    </prefix>
    <prefix id="zetubouaragau" name="絶望に抗う" lv="20" wave="24" score="300" base="00000000111101">
        <level num="0" score="0" dmg="30" range="11" vit="17" luc="-7"/>
        <level num="1" score="75" dmg="35" range="12" vit="19" luc="-7"/>
        <level num="2" score="150" dmg="40" range="13" vit="21" luc="-7"/>
        <level num="3" score="225" dmg="45" range="14" vit="23" luc="-7"/>
        <level num="4" score="300" dmg="50" range="15" vit="25" luc="-7"/>
    </prefix>
    <prefix id="hikariyobisamasu" name="光を呼び覚ます" lv="20" wave="24" score="300" base="00000000111101">
        <level num="0" score="0" dmg="30" range="11" str="-7" dex="17"/>
        <level num="1" score="75" dmg="35" range="12" str="-7" dex="19"/>
        <level num="2" score="150" dmg="40" range="13" str="-7" dex="21"/>
        <level num="3" score="225" dmg="45" range="14" str="-7" dex="23"/>
        <level num="4" score="300" dmg="50" range="15" str="-7" dex="25"/>
    </prefix>
    <prefix id="unmei" name="運命の" lv="20" wave="24" score="300" base="00000000111101">
        <level num="0" score="0" dmg="18" range="18" vit="-7" luc="17"/>
        <level num="1" score="75" dmg="20" range="21" vit="-7" luc="19"/>
        <level num="2" score="150" dmg="22" range="24" vit="-7" luc="21"/>
        <level num="3" score="225" dmg="24" range="27" vit="-7" luc="23"/>
        <level num="4" score="300" dmg="26" range="30" vit="-7" luc="25"/>
    </prefix>
    <prefix id="kuukai" name="空海の" lv="25" wave="28" score="350" base="11111111111111">
        <level num="0" score="0" range="36" ammo="20"/>
        <level num="1" score="80" range="37" ammo="21"/>
        <level num="2" score="160" range="38" ammo="22"/>
        <level num="3" score="240" range="39" ammo="23"/>
        <level num="4" score="320" range="40" ammo="24"/>
    </prefix>
    <prefix id="majogorosi" name="魔女殺しの" lv="25" wave="28" score="350" base="11111111000010">
        <level num="0" score="0" attack="80" reload="-42" crit="6" kb="2" pene="3"/>
        <level num="1" score="80" attack="85" reload="-44" crit="7" kb="2" pene="3"/>
        <level num="2" score="160" attack="90" reload="-46" crit="8" kb="2" pene="3"/>
        <level num="3" score="240" attack="95" reload="-48" crit="9" kb="2" pene="3"/>
        <level num="4" score="320" attack="100" reload="-50" crit="10" kb="2" pene="3"/>
    </prefix>
    <prefix id="wasuresarare" name="忘れ去られた" lv="25" wave="28" score="350" base="11111111000010">
        <level num="0" score="0" attack="11" reload="13" ammo="24" str="16" dex="-6"/>
        <level num="1" score="80" attack="12" reload="16" ammo="28" str="17" dex="-6"/>
        <level num="2" score="160" attack="13" reload="19" ammo="32" str="18" dex="-6"/>
        <level num="3" score="240" attack="14" reload="22" ammo="36" str="19" dex="-6"/>
        <level num="4" score="320" attack="15" reload="25" ammo="40" str="20" dex="-6"/>
    </prefix>
    <prefix id="syokuzai" name="贖罪の" lv="25" wave="28" score="350" base="11111111000010">
        <level num="0" score="0" attack="12" reload="13" ammo="18" vit="16" luc="-6"/>
        <level num="1" score="80" attack="14" reload="16" ammo="21" vit="17" luc="-6"/>
        <level num="2" score="160" attack="16" reload="19" ammo="24" vit="18" luc="-6"/>
        <level num="3" score="240" attack="18" reload="22" ammo="27" vit="19" luc="-6"/>
        <level num="4" score="320" attack="20" reload="25" ammo="30" vit="20" luc="-6"/>
    </prefix>
    <prefix id="kyoufu" name="恐怖の" lv="25" wave="28" score="350" base="11111111000010">
        <level num="0" score="0" attack="13" reload="11" ammo="24" str="-6" dex="16"/>
        <level num="1" score="80" attack="16" reload="12" ammo="28" str="-6" dex="17"/>
        <level num="2" score="160" attack="19" reload="13" ammo="32" str="-6" dex="18"/>
        <level num="3" score="240" attack="22" reload="14" ammo="36" str="-6" dex="19"/>
        <level num="4" score="320" attack="25" reload="15" ammo="40" str="-6" dex="20"/>
    </prefix>
    <prefix id="hangyaku" name="反逆の" lv="25" wave="28" score="350" base="11111111000010">
        <level num="0" score="0" attack="13" reload="12" ammo="18" vit="-6" luc="16"/>
        <level num="1" score="80" attack="16" reload="14" ammo="21" vit="-6" luc="17"/>
        <level num="2" score="160" attack="19" reload="16" ammo="24" vit="-6" luc="18"/>
        <level num="3" score="240" attack="22" reload="18" ammo="27" vit="-6" luc="19"/>
        <level num="4" score="320" attack="25" reload="20" ammo="30" vit="-6" luc="20"/>
    </prefix>
    <prefix id="yumekibou" name="夢と希望の" lv="25" wave="28" score="350" base="11111111111111">
        <level num="0" score="0" dmg="-100" luc="30"/>
        <level num="1" score="80" dmg="-100" luc="35"/>
        <level num="2" score="160" dmg="-100" luc="40"/>
        <level num="3" score="240" dmg="-100" luc="45"/>
        <level num="4" score="320" dmg="-100" luc="50"/>
    </prefix>
    <prefix id="jouka" name="浄化の" lv="25" wave="28" score="350" base="11111111111111">
        <level num="0" score="0" crit="18"/>
        <level num="1" score="80" crit="21"/>
        <level num="2" score="160" crit="24"/>
        <level num="3" score="240" crit="27"/>
        <level num="4" score="320" crit="30"/>
    </prefix>
    <prefix id="kiseki" name="奇跡の" lv="30" wave="35" score="500" base="11111111111111">
        <level num="0" score="0" str="30" attack="16" reload="42" ammo="50" pene="2"/>
        <level num="1" score="100" str="35" attack="17" reload="44" ammo="50" pene="2"/>
        <level num="2" score="200" str="40" attack="18" reload="46" ammo="50" pene="2"/>
        <level num="3" score="300" str="45" attack="19" reload="48" ammo="50" pene="2"/>
        <level num="4" score="400" str="50" attack="20" reload="50" ammo="50" pene="2"/>
    </prefix>
    <prefix id="enkan" name="円環の" lv="30" wave="35" score="500" base="11111111111111">
        <level num="0" score="0" rand="60" range="26" vit="30" crit="6" kb="5" pene="2"/>
        <level num="1" score="100" rand="70" range="27" vit="35" crit="7" kb="5" pene="2"/>
        <level num="2" score="200" rand="80" range="28" vit="40" crit="8" kb="5" pene="2"/>
        <level num="3" score="300" rand="90" range="29" vit="45" crit="9" kb="5" pene="2"/>
        <level num="4" score="400" rand="100" range="30" vit="50" crit="10" kb="5" pene="2"/>
    </prefix>
    <prefix id="kyuusai" name="救済の" lv="30" wave="35" score="500" base="11111111111111">
        <level num="0" score="0" dmg="42" min="11" rand="22" dex="30" crit="8" pene="2"/>
        <level num="1" score="100" dmg="44" min="12" rand="24" dex="35" crit="8" pene="2"/>
        <level num="2" score="200" dmg="46" min="13" rand="26" dex="40" crit="8" pene="2"/>
        <level num="3" score="300" dmg="48" min="14" rand="28" dex="45" crit="8" pene="2"/>
        <level num="4" score="400" dmg="50" min="15" rand="30" dex="50" crit="8" pene="2"/>
    </prefix>
    <prefix id="vswarupuru" name="対ワルプルギス" lv="30" wave="35" score="500" base="11111111111111">
        <level num="0" score="0" dmg="80" str="12" luc="12" crit="8"/>
        <level num="1" score="100" dmg="85" str="13" luc="13" crit="8"/>
        <level num="2" score="200" dmg="90" str="14" luc="14" crit="8"/>
        <level num="3" score="300" dmg="95" str="15" luc="15" crit="8"/>
        <level num="4" score="400" dmg="100" str="16" luc="16" crit="8"/>
    </prefix>
    <prefix id="eien" name="永遠の" lv="30" wave="35" score="500" base="11111111000010">
        <level num="0" score="0" reload="80" ammo="80" vit="12" dex="12"/>
        <level num="1" score="100" reload="85" ammo="90" vit="13" dex="13"/>
        <level num="2" score="200" reload="90" ammo="90" vit="14" dex="14"/>
        <level num="3" score="300" reload="95" ammo="95" vit="15" dex="15"/>
        <level num="4" score="400" reload="100" ammo="100" vit="16" dex="16"/>
    </prefix>
    <prefix id="madan" name="魔弾の" lv="30" wave="35" score="500" base="11111000000010">
        <level num="0" score="0" dmg="46" attack="26" reload="30" ammo="60" pene="3"/>
        <level num="1" score="100" dmg="47" attack="27" reload="35" ammo="70" pene="3"/>
        <level num="2" score="200" dmg="48" attack="28" reload="40" ammo="80" pene="3"/>
        <level num="3" score="300" dmg="49" attack="29" reload="45" ammo="90" pene="3"/>
        <level num="4" score="400" dmg="50" attack="30" reload="50" ammo="100" pene="3"/>
    </prefix>
    <prefix id="megami" name="女神の" lv="30" wave="35" score="500" base="11111000000010">
        <level num="0" score="0" min="26" rand="52" range="60" attack="30" kb="2" pene="4"/>
        <level num="1" score="100" min="27" rand="54" range="70" attack="35" kb="3" pene="5"/>
        <level num="2" score="200" min="28" rand="56" range="80" attack="40" kb="4" pene="6"/>
        <level num="3" score="300" min="29" rand="58" range="90" attack="45" kb="5" pene="7"/>
        <level num="4" score="400" min="30" rand="60" range="100" attack="50" kb="6" pene="8"/>
    </prefix>
    <prefix id="tyoudokyu" name="超弩級の" lv="30" wave="35" score="500" base="00000111000000">
        <level num="0" score="0" dmg="72" reload="30" ammo="100" crit="6"/>
        <level num="1" score="100" dmg="74" reload="35" ammo="100" crit="7"/>
        <level num="2" score="200" dmg="76" reload="40" ammo="100" crit="8"/>
        <level num="3" score="300" dmg="78" reload="45" ammo="100" crit="9"/>
        <level num="4" score="400" dmg="80" reload="50" ammo="100" crit="10"/>
    </prefix>
    <prefix id="watasinosaikyou" name="わたしの最高の" lv="30" wave="35" score="500" base="00000111000000">
        <level num="0" score="0" min="36" range="20" reload="80" dex="12"/>
        <level num="1" score="100" min="37" range="25" reload="85" dex="14"/>
        <level num="2" score="200" min="38" range="30" reload="90" dex="16"/>
        <level num="3" score="300" min="39" range="35" reload="95" dex="18"/>
        <level num="4" score="400" min="40" range="40" reload="100" dex="20"/>
    </prefix>
    <prefix id="syunsatu" name="瞬殺の" lv="30" wave="35" score="500" base="00000000111101">
        <level num="0" score="0" dmg="46" range="16" reload="30" kb="6"/>
        <level num="1" score="100" dmg="47" range="18" reload="35" kb="7"/>
        <level num="2" score="200" dmg="48" range="20" reload="40" kb="8"/>
        <level num="3" score="300" dmg="49" range="22" reload="45" kb="9"/>
        <level num="4" score="400" dmg="50" range="24" reload="50" kb="10"/>
    </prefix>
    <prefix id="saigoninokotta" name="最後に残った" lv="30" wave="35" score="500" base="00000000111101">
        <level num="0" score="0" reload="80" vit="12" dex="12" crit="6"/>
        <level num="1" score="100" reload="90" vit="14" dex="14" crit="7"/>
        <level num="2" score="200" reload="100" vit="16" dex="16" crit="8"/>
        <level num="3" score="300" reload="110" vit="18" dex="18" crit="9"/>
        <level num="4" score="400" reload="120" vit="20" dex="20" crit="10"/>
    </prefix>
    <prefix id="gainen" name="概念の" lv="30" wave="35" score="500" base="11111111111111">
        <level num="0" score="0" dmg="-200" str="17" vit="17" dex="16" luc="17"/>
        <level num="1" score="100" dmg="-200" str="19" vit="19" dex="17" luc="19"/>
        <level num="2" score="200" dmg="-200" str="21" vit="21" dex="18" luc="21"/>
        <level num="3" score="300" dmg="-200" str="23" vit="23" dex="23" luc="23"/>
        <level num="4" score="400" dmg="-200" str="25" vit="25" dex="25" luc="25"/>
    </prefix>
    <prefix id="eigaka" name="映画化決定の" lv="35" wave="50" score="1500" base="11111111111111">
        <level num="4" score="0" dmg="200" range="50" attack="50" ammo="100" vit="-120" dex="120" luc="-120" kb="5" pene="5"/>
    </prefix>
</root>

DETAILEND@ph