更新外包魔改后的插件;写入精准机制和吸血机制的新注释;

main
parent 5b246e7dd7
commit 80f62acb9f

@ -22,6 +22,7 @@
## 更新记录
- **2023/12/04****乐子人**;更新外包魔改后的插件;写入精准机制和吸血机制的新注释;
- **2023/12/04****枪兵**;女王立绘;
- **2023/12/1****乐子人**;写入新怪物和新装备;
- **2023/11/30****乐子人**;写入新怪物,重做精准机制,引入暴击控制插件;

@ -1,16 +1,16 @@
[
null,
{"id":1,"battlerName":"","characterIndex":0,"characterName":"郝仁行走图改","classId":1,"equips":[6,0,0,0,0],"faceIndex":0,"faceName":"主角团","traits":[{"code":14,"dataId":34,"value":1},{"code":14,"dataId":63,"value":1}],"initialLevel":1,"maxLevel":15,"name":"郝仁","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 305>","profile":"似乎是个平平无奇的普通人"},
{"id":2,"battlerName":"","characterIndex":0,"characterName":"vva","classId":2,"equips":[0,0,0,0,0],"faceIndex":1,"faceName":"主角团","traits":[{"code":14,"dataId":34,"value":1},{"code":43,"dataId":136,"value":1}],"initialLevel":1,"maxLevel":15,"name":"薇薇安","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 305>","profile":"最古血族、最穷血族、估计也是厨艺最好的血族PS\n她的血魔法血量消耗和效果都会随着血量下降而下降"},
{"id":3,"battlerName":"","characterIndex":0,"characterName":"五月","classId":8,"equips":[0,0,0,0,0],"faceIndex":2,"faceName":"主角团","traits":[],"initialLevel":1,"maxLevel":15,"name":"南宫五月","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 305>","profile":"陆生海妖,亲爸是个猎魔人,\n原本是不会任何攻击法术的"},
{"id":4,"battlerName":"","characterIndex":2,"characterName":"People1","classId":5,"equips":[0,0,0,0,0],"faceIndex":3,"faceName":"主角团","traits":[],"initialLevel":1,"maxLevel":15,"name":"南宫三八","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 305>","profile":"亲妈是个海妖的半吊子猎魔人,只能选择精进符卡技艺"},
{"id":5,"battlerName":"","characterIndex":0,"characterName":"YZKS","classId":6,"equips":[13,0,0,0,0],"faceIndex":4,"faceName":"主角团","traits":[{"code":14,"dataId":46,"value":1}],"initialLevel":1,"maxLevel":15,"name":"伊扎克斯","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 305>","profile":"魔王,道德暴君,很有故事的人"},
{"id":6,"battlerName":"","characterIndex":0,"characterName":"$伊丽莎白","classId":7,"equips":[14,0,0,0,0],"faceIndex":5,"faceName":"主角团","traits":[],"initialLevel":1,"maxLevel":15,"name":"伊丽莎白","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 305>","profile":"魔界公主,但是机械专家"},
{"id":7,"battlerName":"","characterIndex":0,"characterName":"莉莉1","classId":3,"equips":[11,21,0,0,0],"faceIndex":6,"faceName":"主角团","traits":[],"initialLevel":1,"maxLevel":15,"name":"刘莉莉","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 305>","profile":"大概是狼人的哈士奇亚种吧"},
{"id":8,"battlerName":"","characterIndex":0,"characterName":"滚","classId":9,"equips":[0,0,0,0,0],"faceIndex":7,"faceName":"主角团","traits":[],"initialLevel":1,"maxLevel":15,"name":"滚","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 305>","profile":"金苹果能制造出什么?答案是有猫的世界观的真实系\n猫娘"},
{"id":9,"battlerName":"","characterIndex":0,"characterName":"$ 耗子","classId":10,"equips":[0,0,0,0,0],"faceIndex":2,"faceName":"配角团","traits":[],"initialLevel":1,"maxLevel":15,"name":"郝籽","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 305>","profile":"吃了大量金苹果核而化形的老鼠娘,有着老鼠一样的接受能力和\n适应力她的很多技能都是来自薇薇安和莉莉的指点"},
{"id":10,"battlerName":"","characterIndex":3,"characterName":"Actor1","classId":11,"equips":[0,0,0,0,0],"faceIndex":0,"faceName":"","traits":[],"initialLevel":1,"maxLevel":99,"name":"诺兰","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 305>","profile":"从帝国神秘侧军队中退役的魔能战斗人偶,经改装变成了\n诺兰的战斗用躯体"},
{"id":11,"battlerName":"","characterIndex":0,"characterName":"白火","classId":4,"equips":[24,24,29,25,26,28,27],"faceIndex":4,"faceName":"配角团","traits":[],"initialLevel":15,"maxLevel":99,"name":"白火","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 305>","profile":"血统纯粹而强大的新生代猎魔人,背地里是个游戏宅"},
{"id":1,"battlerName":"","characterIndex":0,"characterName":"郝仁行走图改","classId":1,"equips":[6,0,0,0,0],"faceIndex":0,"faceName":"主角团","traits":[{"code":14,"dataId":34,"value":1},{"code":14,"dataId":63,"value":1},{"code":43,"dataId":530,"value":1}],"initialLevel":15,"maxLevel":15,"name":"郝仁","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 234, 235>","profile":"似乎是个平平无奇的普通人"},
{"id":2,"battlerName":"","characterIndex":0,"characterName":"vva","classId":2,"equips":[0,0,0,0,0],"faceIndex":1,"faceName":"主角团","traits":[{"code":14,"dataId":34,"value":1}],"initialLevel":1,"maxLevel":15,"name":"薇薇安","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 234, 235>","profile":"最古血族、最穷血族、估计也是厨艺最好的血族PS\n她的血魔法血量消耗和效果都会随着血量下降而下降"},
{"id":3,"battlerName":"","characterIndex":0,"characterName":"五月","classId":8,"equips":[0,0,0,0,0],"faceIndex":2,"faceName":"主角团","traits":[],"initialLevel":1,"maxLevel":15,"name":"南宫五月","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 234, 235>","profile":"陆生海妖,亲爸是个猎魔人,\n原本是不会任何攻击法术的"},
{"id":4,"battlerName":"","characterIndex":2,"characterName":"People1","classId":5,"equips":[0,0,0,0,0],"faceIndex":3,"faceName":"主角团","traits":[],"initialLevel":1,"maxLevel":15,"name":"南宫三八","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 234, 235>","profile":"亲妈是个海妖的半吊子猎魔人,只能选择精进符卡技艺"},
{"id":5,"battlerName":"","characterIndex":0,"characterName":"YZKS","classId":6,"equips":[13,0,0,0,0],"faceIndex":4,"faceName":"主角团","traits":[{"code":14,"dataId":46,"value":1}],"initialLevel":1,"maxLevel":15,"name":"伊扎克斯","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 234, 235>","profile":"魔王,道德暴君,很有故事的人"},
{"id":6,"battlerName":"","characterIndex":0,"characterName":"$伊丽莎白","classId":7,"equips":[14,0,0,0,0],"faceIndex":5,"faceName":"主角团","traits":[],"initialLevel":1,"maxLevel":15,"name":"伊丽莎白","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 234, 235>","profile":"魔界公主,但是机械专家"},
{"id":7,"battlerName":"","characterIndex":0,"characterName":"莉莉1","classId":3,"equips":[11,21,0,0,0],"faceIndex":6,"faceName":"主角团","traits":[],"initialLevel":1,"maxLevel":15,"name":"刘莉莉","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 234, 235>","profile":"大概是狼人的哈士奇亚种吧"},
{"id":8,"battlerName":"","characterIndex":0,"characterName":"滚","classId":9,"equips":[0,0,0,0,0],"faceIndex":7,"faceName":"主角团","traits":[],"initialLevel":1,"maxLevel":15,"name":"滚","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 234, 235>","profile":"金苹果能制造出什么?答案是有猫的世界观的真实系\n猫娘"},
{"id":9,"battlerName":"","characterIndex":0,"characterName":"$ 耗子","classId":10,"equips":[0,0,0,0,0],"faceIndex":2,"faceName":"配角团","traits":[],"initialLevel":1,"maxLevel":15,"name":"郝籽","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 234, 235>","profile":"吃了大量金苹果核而化形的老鼠娘,有着老鼠一样的接受能力和\n适应力她的很多技能都是来自薇薇安和莉莉的指点"},
{"id":10,"battlerName":"","characterIndex":3,"characterName":"Actor1","classId":11,"equips":[0,0,0,0,0],"faceIndex":0,"faceName":"","traits":[],"initialLevel":1,"maxLevel":99,"name":"诺兰","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 234, 235>","profile":"从帝国神秘侧军队中退役的魔能战斗人偶,经改装变成了\n诺兰的战斗用躯体"},
{"id":11,"battlerName":"","characterIndex":0,"characterName":"白火","classId":4,"equips":[24,24,29,25,26,28,27],"faceIndex":4,"faceName":"配角团","traits":[],"initialLevel":15,"maxLevel":99,"name":"白火","nickname":"","note":"<Passive State: 214>\n<Passive State: 221>\n<Passive State: 234, 235>","profile":"血统纯粹而强大的新生代猎魔人,背地里是个游戏宅"},
{"id":12,"battlerName":"","characterIndex":0,"characterName":"","classId":1,"equips":[0,0,0,0,0],"faceIndex":0,"faceName":"","traits":[],"initialLevel":1,"maxLevel":99,"name":"","nickname":"","note":"","profile":"强制行动用的工具角色,不要改动"},
{"id":13,"battlerName":"","characterIndex":0,"characterName":"","classId":1,"equips":[0,0,0,0,0],"faceIndex":0,"faceName":"","traits":[],"initialLevel":1,"maxLevel":99,"name":"","nickname":"","note":"","profile":""},
{"id":14,"battlerName":"","characterIndex":0,"characterName":"","classId":1,"equips":[0,0,0,0,0],"faceIndex":0,"faceName":"","traits":[],"initialLevel":1,"maxLevel":99,"name":"","nickname":"","note":"","profile":""},

@ -33,7 +33,7 @@ null,
{"id":31,"atypeId":1,"description":"","etypeId":4,"traits":[{"code":22,"dataId":1,"value":0}],"iconIndex":137,"name":"给诺兰测试用的护甲","note":"<Passive State: 14>\n\n<Not Independent Item>\n<Menu Category: 防具>","params":[0,0,0,100,0,0,0,0],"price":0},
{"id":32,"atypeId":1,"description":"海妖制式轻甲,略显陈旧","etypeId":4,"traits":[{"code":22,"dataId":1,"value":0.02}],"iconIndex":473,"name":"海妖制式轻甲","note":"<Not Independent Item>\n<Menu Category: 防具>","params":[0,0,0,23,0,20,0,0],"price":800},
{"id":33,"atypeId":1,"description":"蕴含风之力的帽子,增加闪避能力\n回避+15%,魔法回避+15% 暴击回避+15%","etypeId":3,"traits":[{"code":22,"dataId":1,"value":0.15},{"code":22,"dataId":4,"value":0.15},{"code":22,"dataId":3,"value":0.15}],"iconIndex":130,"name":"风之帽","note":"<Not Independent Item>\n<Menu Category: 防具>\n<Text Color: 17>\n<ZzyGIT TextColor: #FFFF00>\n<ZzySCF Color: #FFFF00>\n\n<Synthesis Ingredients>\n item 103: 1\n item 98: 1\n item 104: 1\n</Synthesis Ingredients>","params":[0,0,0,15,8,18,6,0],"price":700},
{"id":34,"atypeId":1,"description":"\\[18]<精准150>\\c[0]蕴藏风之力的戒指\n\\c[3]【被动:风语】\\c[0] 开战时获得基于\\c[18]血量上限\\c[0]和\\c[27]魔法攻击\\c[0]的\\c[17]护盾\\c[0]","etypeId":4,"traits":[],"iconIndex":145,"name":"风语魔戒","note":"<Not Independent Item>\n<Menu Category: 防具>\n<Text Color: 27>\n<ZzyGIT TextColor: #FF00FF>\n<ZzySCF Color: #FF00FF>\n<Passive State: 303>\n<Passive State: 408>\n\n<Synthesis Ingredients>\n item 103: 2\n item 102: 1\n item 100: 1\n</Synthesis Ingredients>","params":[0,50,0,8,15,8,0,0],"price":1200},
{"id":34,"atypeId":1,"description":"\\c[18]<精准150>\\c[0]蕴藏风之力的戒指\n\\c[3]【被动:风语】\\c[0] 开战时获得基于\\c[18]血量上限\\c[0]和\\c[27]魔法攻击\\c[0]的\\c[17]护盾\\c[0]","etypeId":7,"traits":[],"iconIndex":145,"name":"风语魔戒","note":"<Not Independent Item>\n<Menu Category: 防具>\n<Text Color: 27>\n<ZzyGIT TextColor: #FF00FF>\n<ZzySCF Color: #FF00FF>\n<Passive State: 408>\n\n<ZzyYEC Eq Start>\nuser._precise = user._precise || 0;\nuser._precise += 150;\nuser._pcirate = Math.max(0, user._precise);\nuser._precise = Math.min(1000, user._precise);\n<ZzyYEC Eq End>\n\n<ZzyYEC UnEq Start>\nuser._precise = user._precise || 0;\nuser._precise -= 150;\nuser._pcirate = Math.max(0, user._precise);\nuser._precise = Math.min(1000, user._precise);\n<ZzyYEC UnEq End>\n\n<Synthesis Ingredients>\n item 103: 2\n item 102: 1\n item 100: 1\n</Synthesis Ingredients>","params":[0,50,0,8,15,8,0,0],"price":1200},
{"id":35,"atypeId":1,"description":"蕴含风之力的靴子\n每回合读条增加10%","etypeId":5,"traits":[{"code":22,"dataId":1,"value":0.05},{"code":22,"dataId":4,"value":0.05},{"code":22,"dataId":3,"value":0.05}],"iconIndex":141,"name":"风之靴","note":"<Not Independent Item>\n<Menu Category: 防具>\n<Text Color: 17>\n<ZzyGIT TextColor: #FFFF00>\n<ZzySCF Color: #FFFF00>\n<ATB Turn: +10%>\n\n<Synthesis Ingredients>\n item 103: 1\n item 98: 1\n item 104: 1\n</Synthesis Ingredients>","params":[0,0,0,8,0,10,0,0],"price":700},
{"id":36,"atypeId":0,"description":"","etypeId":2,"traits":[{"code":22,"dataId":1,"value":0}],"iconIndex":0,"name":"","note":"","params":[0,0,0,0,0,0,0,0],"price":0},
{"id":37,"atypeId":0,"description":"","etypeId":2,"traits":[{"code":22,"dataId":1,"value":0}],"iconIndex":0,"name":"","note":"","params":[0,0,0,0,0,0,0,0],"price":0},

File diff suppressed because one or more lines are too long

@ -63,17 +63,17 @@ null,
{"id":61,"expanded":false,"name":"大漩涡","order":60,"parentId":26,"scrollX":1131,"scrollY":1293},
{"id":62,"expanded":false,"name":"伊娃之战","order":7,"parentId":15,"scrollX":1139,"scrollY":627},
{"id":63,"expanded":true,"name":"大海(过剧情)","order":62,"parentId":23,"scrollX":1139,"scrollY":627},
{"id":64,"expanded":true,"name":"塔纳古斯","order":12,"parentId":14,"scrollX":1906.8,"scrollY":2111.4},
{"id":65,"expanded":true,"name":"阿拉曼达广场","order":13,"parentId":64,"scrollX":973.1999999999999,"scrollY":1799.3999999999999},
{"id":64,"expanded":true,"name":"塔纳古斯","order":12,"parentId":14,"scrollX":1769.4545454545455,"scrollY":1844.7272727272727},
{"id":65,"expanded":true,"name":"阿拉曼达广场","order":13,"parentId":64,"scrollX":1769.4545454545455,"scrollY":1801.0909090909092},
{"id":66,"expanded":true,"name":"晋升之塔外","order":14,"parentId":65,"scrollX":982.8,"scrollY":569.4},
{"id":67,"expanded":true,"name":"晋升之塔","order":15,"parentId":66,"scrollX":816,"scrollY":848},
{"id":67,"expanded":true,"name":"晋升之塔","order":15,"parentId":66,"scrollX":1786.909090909091,"scrollY":1035.2727272727273},
{"id":68,"expanded":false,"name":"阿拉曼达城墙顶部","order":16,"parentId":65,"scrollX":982.8,"scrollY":569.4},
{"id":69,"expanded":false,"name":"物品商店","order":29,"parentId":36,"scrollX":1139,"scrollY":627},
{"id":70,"expanded":true,"name":"天文台","order":17,"parentId":64,"scrollX":1404,"scrollY":813.4285714285713},
{"id":71,"expanded":true,"name":"豆豆星海底","order":36,"parentId":35,"scrollX":973.1999999999999,"scrollY":727.8},
{"id":72,"expanded":false,"name":"次元间隙","order":77,"parentId":1,"scrollX":2143.2,"scrollY":876.5999999999999},
{"id":73,"expanded":true,"name":"王八坨子","order":70,"parentId":20,"scrollX":973.1999999999999,"scrollY":869.4},
{"id":74,"expanded":false,"name":"蘑菇密林","order":78,"parentId":1,"scrollX":1761,"scrollY":1967},
{"id":74,"expanded":false,"name":"蘑菇密林","order":78,"parentId":1,"scrollX":1769.4545454545455,"scrollY":1966.909090909091},
{"id":75,"expanded":false,"name":"豆豆主星D-I","order":42,"parentId":34,"scrollX":1769.4545454545455,"scrollY":1209.8181818181818},
{"id":76,"expanded":true,"name":"异次元","order":72,"parentId":31,"scrollX":850.1818181818181,"scrollY":688.3636363636364},
{"id":77,"expanded":false,"name":"异次元","order":73,"parentId":76,"scrollX":973.1999999999999,"scrollY":737.4},

@ -529,7 +529,7 @@ null,
{"id":527,"animationId":0,"damage":{"critical":false,"elementId":0,"formula":"0","type":0,"variance":20},"description":"","effects":[],"hitType":0,"iconIndex":0,"message1":"","message2":"","mpCost":0,"name":"","note":"","occasion":0,"repeats":1,"requiredWtypeId1":0,"requiredWtypeId2":0,"scope":1,"speed":0,"stypeId":1,"successRate":100,"tpCost":0,"tpGain":0},
{"id":528,"animationId":0,"damage":{"critical":false,"elementId":0,"formula":"0","type":0,"variance":20},"description":"","effects":[],"hitType":0,"iconIndex":0,"message1":"","message2":"","mpCost":0,"name":"","note":"","occasion":0,"repeats":1,"requiredWtypeId1":0,"requiredWtypeId2":0,"scope":1,"speed":0,"stypeId":1,"successRate":100,"tpCost":0,"tpGain":0},
{"id":529,"animationId":0,"damage":{"critical":false,"elementId":0,"formula":"0","type":0,"variance":20},"description":"","effects":[],"hitType":0,"iconIndex":0,"message1":"","message2":"","mpCost":0,"name":"","note":"","occasion":0,"repeats":1,"requiredWtypeId1":0,"requiredWtypeId2":0,"scope":1,"speed":0,"stypeId":1,"successRate":100,"tpCost":0,"tpGain":0},
{"id":530,"animationId":0,"damage":{"critical":false,"elementId":0,"formula":"0","type":0,"variance":20},"description":"","effects":[],"hitType":0,"iconIndex":0,"message1":"","message2":"","mpCost":0,"name":"","note":"","occasion":0,"repeats":1,"requiredWtypeId1":0,"requiredWtypeId2":0,"scope":1,"speed":0,"stypeId":1,"successRate":100,"tpCost":0,"tpGain":0},
{"id":530,"animationId":0,"damage":{"critical":false,"elementId":0,"formula":"100","type":1,"variance":0},"description":"","effects":[],"hitType":0,"iconIndex":0,"message1":"","message2":"","mpCost":0,"name":"伤害100","note":"","occasion":0,"repeats":1,"requiredWtypeId1":0,"requiredWtypeId2":0,"scope":1,"speed":0,"stypeId":1,"successRate":100,"tpCost":0,"tpGain":0},
{"id":531,"animationId":0,"damage":{"critical":false,"elementId":0,"formula":"0","type":0,"variance":20},"description":"","effects":[],"hitType":0,"iconIndex":0,"message1":"","message2":"","mpCost":0,"name":"","note":"","occasion":0,"repeats":1,"requiredWtypeId1":0,"requiredWtypeId2":0,"scope":1,"speed":0,"stypeId":1,"successRate":100,"tpCost":0,"tpGain":0},
{"id":532,"animationId":0,"damage":{"critical":false,"elementId":0,"formula":"0","type":0,"variance":20},"description":"","effects":[],"hitType":0,"iconIndex":0,"message1":"","message2":"","mpCost":0,"name":"","note":"","occasion":0,"repeats":1,"requiredWtypeId1":0,"requiredWtypeId2":0,"scope":1,"speed":0,"stypeId":1,"successRate":100,"tpCost":0,"tpGain":0},
{"id":533,"animationId":0,"damage":{"critical":false,"elementId":0,"formula":"0","type":0,"variance":20},"description":"","effects":[],"hitType":0,"iconIndex":0,"message1":"","message2":"","mpCost":0,"name":"","note":"","occasion":0,"repeats":1,"requiredWtypeId1":0,"requiredWtypeId2":0,"scope":1,"speed":0,"stypeId":1,"successRate":100,"tpCost":0,"tpGain":0},

@ -233,18 +233,18 @@ null,
{"id":231,"autoRemovalTiming":2,"chanceByDamage":100,"traits":[{"code":22,"dataId":0,"value":0.5}],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"额外命中率50%","note":"","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":232,"autoRemovalTiming":2,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"命中提升叠加","note":"<Custom Apply Effect>\n var i = 0;\n i += user.isStateAffected(223)?1:0;\n i += user.isStateAffected(224)?2:0;\n i += user.isStateAffected(225)?3:0;\n i += user.isStateAffected(226)?3:0;\n user.removeState(223);\n user.removeState(224);\n user.removeState(225);\n user.addState(223 + i);\n</Custom Apply Effect>","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":233,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":234,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"通用吸血计算","note":"<Custom Establish Effect>\n user._absrate = user._absrate || 0;\n user._pbsrate = user._pbsrate || 0;\n user._mbsrate = user._mbsrate || 0;\n this._bsaffective = this._bsaffective || 1;\n if (this.isSkill && value >0 && this._bsaffective > 0){\n var bsrate = 0;\n bsrate += user._absrate;\n if (this.isPhysical()){\n bsrate += user._pbsrate;\n }\n else{\n if (this.isMagical()){\n bsrate += user._mbsrate;\n }\n }\n bsrate *= this._bsaffective;\n bsrate = Math.min(bsrate, 1);\n var hpgain = Math.floor(value*bsrate);\n var a = Math.floor(user.mhp - user.hp);\n if(hpgain > a){\n user.gainHp(a);\n var overheal = Math.floor(hpgain - a);\n if (user.isStateAffected(218)){\n overheal *= 0.2;\n }\n else{\n if (user.isStateAffected(219)){\n overheal *= 0.3;\n }\n else{\n if (user.isStateAffected(220)){\n overheal *= 0.4;\n }\n }\n }\n user.gainBarrier(overheal); \n }\n else{\n user.gainHp(hpgain);\n }\n }\n</Custom Establish Effect>","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":235,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"100%全能吸血","note":"<Custom Apply Effect>\n user._absrate = user._absrate || 0;\n user._pbsrate = user._pbsrate || 0;\n user._mbsrate = user._mbsrate || 0;\n user._absrate += 0.1;\n</Custom Apply Effect>\n\n<Custom Leave Effect>\n user._absrate = user._absrate || 0;\n user._pbsrate = user._pbsrate || 0;\n user._mbsrate = user._mbsrate || 0;\n user._absrate = Math.max(user._absrate - 0.1, 0);\n</Custom Leave Effect>","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":234,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"通用吸血计算","note":"<Custom Establish Effect>\n user._absrate = user._absrate || 0;\n user._pbsrate = user._pbsrate || 0;\n user._mbsrate = user._mbsrate || 0;\n this._bsaffective = this._bsaffective || 1;\n if (this.isSkill && value >0 && \n this._bsaffective > 0){\n var bsrate = 0;\n bsrate += user._absrate;\n bsrate += this.isPhysical?(user._pbsrate):0;\n bsrate += this.isMagical?(user._mbsrate):0;\n bsrate *= this._bsaffective;\n if(bsrate > 0){\n bsrate = Math.min(bsrate, 1);\n var hpgain = Math.floor(value*bsrate);\n var a = Math.floor(user.mhp - user.hp);\n if(hpgain > a){\n user.gainHp(a);\n var overheal = Math.floor(hpgain - a);\n var i = 0;\n i = user.isStateAffected(218)?0.2:0;\n i = user.isStateAffected(219)?0.3:0;\n i = user.isStateAffected(220)?0.4:0;\n overheal = Math.floor(overheal*i);\n user.gainBarrier(overheal); \n }\n else{ user.gainHp(hpgain); }\n }\n}\n</Custom Establish Effect>","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":235,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"精准计算","note":"<Custom Confirm Effect>\nuser._precise = user._precise || 0;\nif(user._precise > 0){\n this._pcirate = this._pcirate || 1;\n if(this.isSkill() && this.isHpEffect && this.isDamage && value > 0){\n value += Math.floor( user._precise*this._pcirate); }\n}\n</Custom Confirm Effect>","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":236,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":237,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":122,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"伤害加深","note":"<Counter Alignment: left>\n<Counter Text Color: 18>\n\n","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":238,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":136,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"伤害格挡","note":"<Counter Alignment: left>\n<Counter Text Color: 17>\n\n","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":239,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":240,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":241,"autoRemovalTiming":1,"chanceByDamage":100,"traits":[{"code":14,"dataId":62,"value":1}],"iconIndex":2,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"五月混乱","note":"<Custom Apply Effect>\n user._randomturns = Math.round(Math.random() * 4 + 3);\n var random = Math.round(Math.random() * 3 + 1);\n user.addState(random + 241);\n</Custom Apply Effect>","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":242,"autoRemovalTiming":1,"chanceByDamage":100,"traits":[],"iconIndex":320,"maxTurns":1,"message1":"再次陷入了敌我不分的状态!","message2":"","message3":"","message4":"的混乱解除了!","minTurns":1,"motion":0,"name":"五月混乱1","note":"<SF_CommonAttack: 0485, 9>\n\n<Custom Apply Effect>\nuser.removeState(62);\nuser.removeState(241);\n</Custom Apply Effect>\n\n<Custom Leave Effect>\n user._randomturns = user._randomturns || 0;\n user._randomturns -= 1;\n if (user._randomturns <= 0 ){\n user._randomturns = 0;\n }\n else{\n var random = Math.round(Math.random() * 3 + 1);\n user.addState(random + 241);\n }\n</Custom Leave Effect>","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":true,"removeByRestriction":false,"removeByWalking":false,"restriction":3,"stepsToRemove":100},
{"id":243,"autoRemovalTiming":1,"chanceByDamage":100,"traits":[],"iconIndex":321,"maxTurns":1,"message1":"再次陷入了敌我不分的状态!","message2":"","message3":"","message4":"的混乱解除了!","minTurns":1,"motion":0,"name":"五月混乱2","note":"<SF_CommonAttack: 0486, 9>\n\n<Custom Apply Effect>\nuser.removeState(62);\nuser.removeState(241);\n</Custom Apply Effect>\n\n<Custom Leave Effect>\n user._randomturns = user._randomturns || 0;\n user._randomturns -= 1;\n if (user._randomturns <= 0 ){\n user._randomturns = 0;\n }\n else{\n var random = Math.round(Math.random() * 3 + 1);\n user.addState(random + 241);\n }\n</Custom Leave Effect>","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":true,"removeByRestriction":false,"removeByWalking":false,"restriction":1,"stepsToRemove":100},
{"id":244,"autoRemovalTiming":1,"chanceByDamage":100,"traits":[],"iconIndex":322,"maxTurns":1,"message1":"再次陷入了敌我不分的状态!","message2":"","message3":"","message4":"的混乱解除了!","minTurns":1,"motion":0,"name":"五月混乱3","note":"<SF_CommonAttack: 0487, 9>\n\n<Custom Apply Effect>\nuser.removeState(62);\nuser.removeState(241);\n</Custom Apply Effect>\n\n<Custom Leave Effect>\n user._randomturns = user._randomturns || 0;\n user._randomturns -= 1;\n if (user._randomturns <= 0 ){\n user._randomturns = 0;\n }\n else{\n var random = Math.round(Math.random() * 3 + 1);\n user.addState(random + 241);\n }\n</Custom Leave Effect>","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":true,"removeByRestriction":false,"removeByWalking":false,"restriction":3,"stepsToRemove":100},
{"id":245,"autoRemovalTiming":1,"chanceByDamage":100,"traits":[],"iconIndex":400,"maxTurns":1,"message1":"再次陷入了敌我不分的状态!","message2":"","message3":"","message4":"的混乱解除了!","minTurns":1,"motion":0,"name":"五月混乱4","note":"<SF_CommonAttack: 0488, 9>\n\n<Custom Apply Effect>\nuser.removeState(62);\nuser.removeState(241);\n</Custom Apply Effect>\n\n<Custom Leave Effect>\n user._randomturns = user._randomturns || 0;\n user._randomturns -= 1;\n if (user._randomturns <= 0 ){\n user._randomturns = 0;\n }\n else{\n var random = Math.round(Math.random() * 3 + 1);\n user.addState(random + 241);\n }\n</Custom Leave Effect>","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":true,"removeByRestriction":false,"removeByWalking":false,"restriction":1,"stepsToRemove":100},
{"id":241,"autoRemovalTiming":1,"chanceByDamage":100,"traits":[{"code":14,"dataId":62,"value":1}],"iconIndex":23,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"五月混乱","note":"<Custom Apply Effect>\n user._randomturns = Math.round(Math.random() * 4 + 3);\n var random = Math.round(Math.random() * 3 + 1);\n user.addState(random + 241);\n</Custom Apply Effect>","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":242,"autoRemovalTiming":1,"chanceByDamage":100,"traits":[],"iconIndex":23,"maxTurns":1,"message1":"再次陷入了敌我不分的状态!","message2":"","message3":"","message4":"的混乱解除了!","minTurns":1,"motion":0,"name":"五月混乱1","note":"<SF_CommonAttack: 0485, 9>\n\n<Custom Apply Effect>\nuser.removeState(62);\nuser.removeState(241);\n</Custom Apply Effect>\n\n<Custom Leave Effect>\n user._randomturns = user._randomturns || 0;\n user._randomturns -= 1;\n if (user._randomturns <= 0 ){\n user._randomturns = 0;\n }\n else{\n var random = Math.round(Math.random() * 3 + 1);\n user.addState(random + 241);\n }\n</Custom Leave Effect>","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":true,"removeByRestriction":false,"removeByWalking":false,"restriction":3,"stepsToRemove":100},
{"id":243,"autoRemovalTiming":1,"chanceByDamage":100,"traits":[],"iconIndex":23,"maxTurns":1,"message1":"再次陷入了敌我不分的状态!","message2":"","message3":"","message4":"的混乱解除了!","minTurns":1,"motion":0,"name":"五月混乱2","note":"<SF_CommonAttack: 0486, 9>\n\n<Custom Apply Effect>\nuser.removeState(62);\nuser.removeState(241);\n</Custom Apply Effect>\n\n<Custom Leave Effect>\n user._randomturns = user._randomturns || 0;\n user._randomturns -= 1;\n if (user._randomturns <= 0 ){\n user._randomturns = 0;\n }\n else{\n var random = Math.round(Math.random() * 3 + 1);\n user.addState(random + 241);\n }\n</Custom Leave Effect>","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":true,"removeByRestriction":false,"removeByWalking":false,"restriction":1,"stepsToRemove":100},
{"id":244,"autoRemovalTiming":1,"chanceByDamage":100,"traits":[],"iconIndex":23,"maxTurns":1,"message1":"再次陷入了敌我不分的状态!","message2":"","message3":"","message4":"的混乱解除了!","minTurns":1,"motion":0,"name":"五月混乱3","note":"<SF_CommonAttack: 0487, 9>\n\n<Custom Apply Effect>\nuser.removeState(62);\nuser.removeState(241);\n</Custom Apply Effect>\n\n<Custom Leave Effect>\n user._randomturns = user._randomturns || 0;\n user._randomturns -= 1;\n if (user._randomturns <= 0 ){\n user._randomturns = 0;\n }\n else{\n var random = Math.round(Math.random() * 3 + 1);\n user.addState(random + 241);\n }\n</Custom Leave Effect>","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":true,"removeByRestriction":false,"removeByWalking":false,"restriction":3,"stepsToRemove":100},
{"id":245,"autoRemovalTiming":1,"chanceByDamage":100,"traits":[],"iconIndex":23,"maxTurns":1,"message1":"再次陷入了敌我不分的状态!","message2":"","message3":"","message4":"的混乱解除了!","minTurns":1,"motion":0,"name":"五月混乱4","note":"<SF_CommonAttack: 0488, 9>\n\n<Custom Apply Effect>\nuser.removeState(62);\nuser.removeState(241);\n</Custom Apply Effect>\n\n<Custom Leave Effect>\n user._randomturns = user._randomturns || 0;\n user._randomturns -= 1;\n if (user._randomturns <= 0 ){\n user._randomturns = 0;\n }\n else{\n var random = Math.round(Math.random() * 3 + 1);\n user.addState(random + 241);\n }\n</Custom Leave Effect>","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":true,"removeByRestriction":false,"removeByWalking":false,"restriction":1,"stepsToRemove":100},
{"id":246,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":247,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"叠加使用的工具状态","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":248,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":177,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"中毒","note":"<Custom Apply Effect>\n var i = 0;\n i += user.isStateAffected(66)?1:0;\n i += user.isStateAffected(67)?2:0;\n i += user.isStateAffected(68)?2:0;\n user.removeState(66);\n user.removeState(67);\n user.addState(66 + i);\n var random = Math.floor(Math.random() * 10 + 1);\n if(user.isStateAffected(43)){}\nelse{ \n if (random <=1){\n user.addState(151); }\n }\n</Custom Apply Effect>","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
@ -300,11 +300,11 @@ null,
{"id":298,"autoRemovalTiming":2,"chanceByDamage":100,"traits":[],"iconIndex":734,"maxTurns":5,"message1":"","message2":"","message3":"","message4":"","minTurns":5,"motion":0,"name":"精确攻击","note":"","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":299,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":300,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":301,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"精准50","note":"<Custom Battle Effect>\nuser._precise = user._precise || 0;\nuser._precise += Math.min(user._precise + 50, 1000);\n</Custom Battle Effect>","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":302,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"精准100","note":"<Custom Battle Effect>\nuser._precise = user._precise || 0;\nuser._precise += Math.min(user._precise + 100, 1000);\n</Custom Battle Effect>","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":303,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"精准300","note":"<Custom Battle Effect>\nuser._precise = user._precise || 0;\nuser._precise += Math.min(user._precise + 300, 1000);\n</Custom Battle Effect>","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":304,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"精准500","note":"<Custom Battle Effect>\nuser._precise = user._precise || 0;\nuser._precise += Math.min(user._precise + 500, 1000);\n</Custom Battle Effect>","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":305,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"精准计算","note":"<Custom Victory Effect>\n user._precise = 0;\n</Custom Victory Effect>\n\n<Custom Escape Effect>\n user._precise = 0;\n</Custom Escape Effect>\n\n<Custom Defeat Effect>\n user._precise = 0;\n</Custom Defeat Effect>\n\n<Custom Confirm Effect>\nuser._precise = user._precise || 0;\nif(user._precise > 0){\n this._pcirate = this._pcirate || 1;\n if(this.isSkill() && this.isHpEffect && this.isDamage && value > 0){\n value += Math.floor( user._precise*this._pcirate); }\n}\n</Custom Confirm Effect>","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":301,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":302,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":303,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":304,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":305,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":306,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":307,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":308,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
@ -407,7 +407,7 @@ null,
{"id":405,"autoRemovalTiming":0,"chanceByDamage":1,"traits":[{"code":21,"dataId":6,"value":1.3},{"code":21,"dataId":4,"value":1.2}],"iconIndex":447,"maxTurns":1,"message1":"","message2":"进入\\c[17]\\it[405]\\c[0]!","message3":"","message4":"不再\\c[17]\\it[405]\\c[0]!","minTurns":1,"motion":0,"name":"亢奋","note":"","overlay":0,"priority":50,"removeAtBattleEnd":true,"removeByDamage":true,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":406,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"几率解体闪避","note":"<Custom Select Effect>\n var hprate = user.hp/user.mhp;\n if(user.isStateAffected(20) || \n hprate <= 0.3){}\n else{\n if(this.isDamage() && value > 0 \n && this.isHpEffect()){\n var random = Math.random()*10;\n if(random <= 1){ \n user.addState(20);\n user.addState(407);\n }\n }\n }\n</Custom Select Effect>\n\n<Custom Deselect Effect>\nif(user.isStateAffected(407)){\n user.removeState(407);\n}\n</Custom Deselect Effect>","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":407,"autoRemovalTiming":2,"chanceByDamage":100,"traits":[{"code":22,"dataId":1,"value":10},{"code":22,"dataId":4,"value":10}],"iconIndex":81,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"必定闪避","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":408,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"风语","note":"<Custom Battle Effect>\n var barrier = 1;\n barrier += user.mhp/10;\n barrier += user.mat*5;\n user.gainBarrier(barrier);\n</Custom Battle Effect>","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":408,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"风语","note":"<Custom Battle Effect>\n var barrier = 1;\n barrier += user.mhp/10;\n barrier += user.mat*4;\n user.gainBarrier(barrier);\n</Custom Battle Effect>","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":409,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":410,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},
{"id":411,"autoRemovalTiming":0,"chanceByDamage":100,"traits":[],"iconIndex":0,"maxTurns":1,"message1":"","message2":"","message3":"","message4":"","minTurns":1,"motion":0,"name":"","note":"","overlay":0,"priority":50,"removeAtBattleEnd":false,"removeByDamage":false,"removeByRestriction":false,"removeByWalking":false,"restriction":0,"stepsToRemove":100},

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,6 +1,6 @@
[
null,
{"id":1,"animationId":7,"description":"海妖的制式长剑,设计有些落后但锋利好用","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0.04}],"iconIndex":97,"name":"海妖制式长剑","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Passive State: 266>","params":[0,0,39,0,10,0,0,0],"price":500,"wtypeId":1},
{"id":1,"animationId":7,"description":"海妖的制式长剑,设计有些落后但锋利好用","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0.04}],"iconIndex":97,"name":"海妖制式长剑","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Passive State: 266>","params":[0,0,39,0,10,0,-1,0],"price":500,"wtypeId":1},
{"id":2,"animationId":7,"description":"艾瑞姆精灵常用合金制造的单手剑,设计合理但杀伤力有限","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0.03}],"iconIndex":97,"name":"合金单手剑","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Passive State: 266>","params":[0,0,12,0,0,0,0,0],"price":200,"wtypeId":1},
{"id":3,"animationId":13,"description":"艾瑞姆精灵常用合金制造的匕首,锋利耐用\n(暴伤倍率+5%)","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0.04}],"iconIndex":96,"name":"合金匕首","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Passive State: 264>\n<Critical Multiplier: +5%>","params":[0,0,8,0,0,0,1,0],"price":180,"wtypeId":3},
{"id":4,"animationId":7,"description":"艾瑞姆精灵常用合金制造的双手剑,设计合理但仍旧\n影响速度","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0},{"code":22,"dataId":2,"value":0.05},{"code":54,"dataId":2,"value":1}],"iconIndex":97,"name":"合金双手剑","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Passive State: 266>\n<Custom Parameters> \n agi = agi*0.95; \n</Custom Parameters>","params":[0,0,26,3,0,0,0,0],"price":370,"wtypeId":1},
@ -19,14 +19,14 @@ null,
{"id":17,"animationId":1,"description":"弑星者赠予的星尘杖,只是被她远程被封印了,\n原因未知","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0.1},{"code":23,"dataId":4,"value":0.9}],"iconIndex":101,"name":"被封印的星尘杖","note":"<Not Independent Item>\n<Menu Category: 魔法武器>\n<Text Color: 9>\n","params":[0,100,10,0,30,10,0,0],"price":0,"wtypeId":8},
{"id":18,"animationId":0,"description":"安吉丽娜送给郝仁等人的爆矢枪,因为未知原因损坏了","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0}],"iconIndex":384,"name":"损坏的爆矢枪","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Text Color: 3>\n<ZzyGIT TextColor: #00FF7F>","params":[0,0,0,0,0,0,0,0],"price":0,"wtypeId":0},
{"id":19,"animationId":0,"description":"被乐子人激活了核心的爆矢枪,需要以精金为材料\n找工具兔修复","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0}],"iconIndex":384,"name":"激活的爆矢枪","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Text Color: 3>\n<ZzyGIT TextColor: #00FF7F>","params":[0,0,0,0,0,0,0,0],"price":0,"wtypeId":0},
{"id":20,"animationId":13,"description":"\\[17]<反击避免10%>\\[18]<精准50>\\c[0] 高度附魔的长枪,牺牲一定锋利度提升了魔法攻击属性,\n适用于魔法战士它的长度可以避免一些敌人的反击(不低于5级才能装备)","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0.04}],"iconIndex":387,"name":"火炼尖锋枪","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Text Color: 3>\n<ZzyGIT TextColor: #00FF7F>\n<ZzySCF Color: #00FF7F>\n\n<Passive State: 268>\n<Target Counter: -10%>\n\n<Equip Requirement>\n param >= 5\n</Equip Requirement>","params":[0,50,35,0,40,0,0,0],"price":0,"wtypeId":2},
{"id":21,"animationId":13,"description":"\\[18]<精准50>\\c[0] 铭刻符文的附魔长弓,\n需要等级不低于5级才能装备(命中率+10%)","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":54,"dataId":2,"value":1},{"code":22,"dataId":0,"value":0.1}],"iconIndex":731,"name":"符文长弓","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<SF_CommonAttack: 0490, 2>\n<Text Color: 9>\n<ZzyGIT TextColor: #1E90FF>\n<Passive State: 271>\n<Passive State: 301>\n\n<Equip Requirement>\n param >= 5\n</Equip Requirement>\n\n<Synthesis Ingredients>\n item 48: 1\n item 51: 1\n item 104: 1\n weapon 10: 1\n</Synthesis Ingredients>\n","params":[200,50,45,0,40,0,5,0],"price":800,"wtypeId":6},
{"id":20,"animationId":13,"description":"\\[17]<反击避免10%>\\[18]<精准50>\\c[0] 高度附魔的长枪,牺牲一定锋利度提升了魔法攻击属性,\n适用于魔法战士它的长度可以避免一些敌人的反击(不低于5级才能装备)","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0.08}],"iconIndex":387,"name":"火炼尖锋枪","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Text Color: 9>\n<ZzyGIT TextColor: #1E90FF>\n<ZzySCF Color: #1E90FF>\n<Passive State: 268>\n<Target Counter: -10%>\n\n<Equip Requirement>\n param >= 5\n</Equip Requirement>\n\n\n<ZzyYEC Eq Start>\nuser._precise = user._precise || 0;\nuser._precise += 50;\nuser._pcirate = Math.max(0, user._precise);\nuser._precise = Math.min(1000, user._precise);\n<ZzyYEC Eq End>\n\n<ZzyYEC UnEq Start>\nuser._precise = user._precise || 0;\nuser._precise -= 50;\nuser._pcirate = Math.max(0, user._precise);\nuser._precise = Math.min(1000, user._precise);\n<ZzyYEC UnEq End>","params":[0,50,45,0,35,0,0,0],"price":0,"wtypeId":2},
{"id":21,"animationId":13,"description":"\\[18]<精准50>\\c[0] 铭刻符文的附魔长弓,\n需要等级不低于5级才能装备(命中率+10%)","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":54,"dataId":2,"value":1},{"code":22,"dataId":0,"value":0.1}],"iconIndex":731,"name":"符文长弓","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<SF_CommonAttack: 0490, 2>\n<Text Color: 9>\n<ZzyGIT TextColor: #1E90FF>\n<Passive State: 271>\n<Passive State: 301>\n\n<Equip Requirement>\n param >= 5\n</Equip Requirement>\n\n<Synthesis Ingredients>\n item 48: 1\n item 51: 1\n item 104: 1\n weapon 10: 1\n</Synthesis Ingredients>\n\n\n<ZzyYEC Eq Start>\nuser._precise = user._precise || 0;\nuser._precise += 50;\nuser._pcirate = Math.max(0, user._precise);\nuser._precise = Math.min(1000, user._precise);\n<ZzyYEC Eq End>\n\n<ZzyYEC UnEq Start>\nuser._precise = user._precise || 0;\nuser._precise -= 50;\nuser._pcirate = Math.max(0, user._precise);\nuser._precise = Math.min(1000, user._precise);\n<ZzyYEC UnEq End>\n","params":[200,50,45,0,40,0,5,0],"price":800,"wtypeId":6},
{"id":22,"animationId":8,"description":"\\[18]<精准100>\\c[0] 来自塞西尔领的制式武器,剑刃上的高温可以\n破坏敌人的护甲","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0},{"code":32,"dataId":251,"value":0.6}],"iconIndex":700,"name":"熔切剑","note":"<Text Color: 17>\n<ZzyGIT TextColor: #FFFF00>\n<ZzySCF Color: #FFFF00>\n<Passive State: 302>\n\n\n<Custom Equip Requirement Condition>\n if (user.isStateAffected(301) ||\n user.isStateAffected(303) ||\n user.isStateAffected(304) ||\n user.isStateAffected(305) ||\n user.isStateAffected(306) ||\n user.isStateAffected(307) ) {\n condition = false;\n } else {\n condition = true;\n }\n </Custom Equip Requirement Condition>","params":[0,0,90,0,20,0,0,0],"price":0,"wtypeId":1},
{"id":23,"animationId":1,"description":"用恐惧魔的大脑提取液强化的魔法杖(命中率+15%要求不低于10级\n\\c[27]【被动:恐惧侵蚀】\\c[0] 详见资料库","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0.15}],"iconIndex":722,"name":"恐惧魔手杖","note":"<Not Independent Item>\n<Menu Category: 魔法武器>\n<Passive State: 332>\n<Text Color: 27>\n<ZzyGIT TextColor: #FF00FF>\n<ZzySCF Color: #FF00FF>\n\n<Equip Requirement>\n param >= 10\n</Equip Requirement>","params":[0,200,20,0,55,0,0,0],"price":0,"wtypeId":8},
{"id":24,"animationId":7,"description":"镀有圣银的长剑,锋利耐用","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0.06},{"code":22,"dataId":2,"value":0.04}],"iconIndex":97,"name":"圣银长剑","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Passive State: 266>","params":[0,0,35,0,15,0,0,0],"price":600,"wtypeId":1},
{"id":25,"animationId":19,"description":"海妖常用的法杖,看起来有些年代了","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0.05}],"iconIndex":101,"name":"海妖制式法杖","note":"<Not Independent Item>\n<Menu Category: 魔法武器>","params":[0,50,0,0,42,0,0,0],"price":600,"wtypeId":8},
{"id":26,"animationId":200,"description":"\\c[3]<属性:风>\\[18]<精准100>\\c[0] \\c[3]【互斥被动:迅捷强击】\\c[0] 详见资料库\n掺入风之结晶锻造的长剑需求等级5命中率+10%","etypeId":1,"traits":[{"code":31,"dataId":3,"value":0},{"code":22,"dataId":0,"value":0.1}],"iconIndex":452,"name":"风之剑","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Passive State: 266>\n<Text Color: 17>\n<ZzyGIT TextColor: #FFFF00>\n<ZzySCF Color: #FFFF00>\n<Passive State: 318>\n<Passive State: 302>\n\n<Custom Equip Requirement Condition>\n if (user.isStateAffected(320) ||\n user.isStateAffected(322) ||\n user.isStateAffected(318) ||\n user.level < 5) {\n condition = false;\n } else {\n condition = true;\n }\n </Custom Equip Requirement Condition>\n\n<Synthesis Ingredients>\n item 103: 1\n item 99: 1\n item 104: 1\n</Synthesis Ingredients>\n","params":[0,0,55,0,60,0,5,0],"price":1000,"wtypeId":1},
{"id":27,"animationId":247,"description":"\\c[3]<属性:风>\\[18]<精准100>\\c[0] \\c[3]【互斥被动:迅捷强击】\\c[0] 详见资料库\n掺入风之结晶锻造的右手爪需求等级5命中率+10%","etypeId":1,"traits":[{"code":31,"dataId":3,"value":0},{"code":22,"dataId":0,"value":0.1}],"iconIndex":105,"name":"风之爪","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Passive State: 270>\n<SF_CommonAttack: 0450, 2>\n<Text Color: 17>\n<ZzyGIT TextColor: #FFFF00>\n<ZzySCF Color: #FFFF00>\n<Passive State: 318>\n<Passive State: 302>\n\n<Custom Equip Requirement Condition>\n if (user.isStateAffected(320) ||\n user.isStateAffected(322) ||\n user.isStateAffected(318) ||\n user.level < 5) {\n condition = false;\n } else {\n condition = true;\n }\n </Custom Equip Requirement Condition>\n\n<Synthesis Ingredients>\n item 103: 1\n item 99: 1\n item 104: 1\n</Synthesis Ingredients>\n","params":[0,0,40,0,30,0,5,0],"price":800,"wtypeId":5},
{"id":26,"animationId":200,"description":"\\c[3]<属性:风>\\c[18]<精准100>\\c[0] \\c[3]【互斥被动:迅捷强击】\\c[0] 详见资料库\n掺入风之结晶锻造的长剑需求等级5命中率+10%","etypeId":1,"traits":[{"code":31,"dataId":3,"value":0},{"code":22,"dataId":0,"value":0.1}],"iconIndex":452,"name":"风之剑","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Passive State: 266>\n<Text Color: 17>\n<ZzyGIT TextColor: #FFFF00>\n<ZzySCF Color: #FFFF00>\n<Passive State: 318>\n\n<ZzyYEC Eq Start>\nuser._precise = user._precise || 0;\nuser._precise += 100;\nuser._pcirate = Math.max(0, user._precise);\nuser._precise = Math.min(1000, user._precise);\n<ZzyYEC Eq End>\n\n<ZzyYEC UnEq Start>\nuser._precise = user._precise || 0;\nuser._precise -= 100;\nuser._pcirate = Math.max(0, user._precise);\nuser._precise = Math.min(1000, user._precise);\n<ZzyYEC UnEq End>\n\n<Custom Equip Requirement Condition>\n if (user.isStateAffected(320) ||\n user.isStateAffected(322) ||\n user.isStateAffected(318) ||\n user.level < 5) {\n condition = false;\n } else {\n condition = true;\n }\n</Custom Equip Requirement Condition>\n\n<Synthesis Ingredients>\n item 103: 1\n item 99: 1\n item 104: 1\n</Synthesis Ingredients>\n","params":[0,0,55,0,60,0,5,0],"price":1000,"wtypeId":1},
{"id":27,"animationId":247,"description":"\\c[3]<属性:风>\\c[18]<精准100>\\c[0] \\c[3]【互斥被动:迅捷强击】\\c[0] 详见资料库\n掺入风之结晶锻造的右手爪需求等级5命中率+10%","etypeId":1,"traits":[{"code":31,"dataId":3,"value":0},{"code":22,"dataId":0,"value":0.1}],"iconIndex":105,"name":"风之爪","note":"<Not Independent Item>\n<Menu Category: 物理武器>\n<Passive State: 270>\n<SF_CommonAttack: 0450, 2>\n<Text Color: 17>\n<ZzyGIT TextColor: #FFFF00>\n<ZzySCF Color: #FFFF00>\n<Passive State: 318>\n\n<ZzyYEC Eq Start>\nuser._precise = user._precise || 0;\nuser._precise += 100;\nuser._pcirate = Math.max(0, user._precise);\nuser._precise = Math.min(1000, user._precise);\n<ZzyYEC Eq End>\n\n<ZzyYEC UnEq Start>\nuser._precise = user._precise || 0;\nuser._precise -= 100;\nuser._pcirate = Math.max(0, user._precise);\nuser._precise = Math.min(1000, user._precise);\n<ZzyYEC UnEq End>\n\n<Custom Equip Requirement Condition>\n if (user.isStateAffected(320) ||\n user.isStateAffected(322) ||\n user.isStateAffected(318) ||\n user.level < 5) {\n condition = false;\n } else {\n condition = true;\n }\n </Custom Equip Requirement Condition>\n\n<Synthesis Ingredients>\n item 103: 1\n item 99: 1\n item 104: 1\n</Synthesis Ingredients>\n","params":[0,0,40,0,30,0,5,0],"price":800,"wtypeId":5},
{"id":28,"animationId":1,"description":"蕴含风之力的法杖,可以提升行动速度(敏捷+15并增加10%命中率\n需求等级5","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0.1}],"iconIndex":717,"name":"风之杖","note":"<Not Independent Item>\n<Menu Category: 魔法武器>\n<Text Color: 17>\n<ZzyGIT TextColor: #FFFF00>\n<ZzySCF Color: #FFFF00>\n\n <Equip Requirement>\n param >= 5\n </Equip Requirement>\n\n<Synthesis Ingredients>\n item 103: 1\n item 99: 1\n item 102: 1\n</Synthesis Ingredients>","params":[0,150,20,0,63,20,15,0],"price":1200,"wtypeId":8},
{"id":29,"animationId":0,"description":"","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0}],"iconIndex":0,"name":"","note":"","params":[0,0,0,0,0,0,0,0],"price":0,"wtypeId":0},
{"id":30,"animationId":0,"description":"","etypeId":1,"traits":[{"code":31,"dataId":1,"value":0},{"code":22,"dataId":0,"value":0}],"iconIndex":0,"name":"","note":"","params":[0,0,0,0,0,0,0,0],"price":0,"wtypeId":0},

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

@ -12,90 +12,149 @@ Yanfly.Equip.version = 1.16;
//=============================================================================
/*:
* @plugindesc v1.16 装备核心
* @plugindesc v1.16 装备核心
* @author Yanfly Engine Plugins
*
* @param ---全局---
*
* @param ---魔改---
* @default
*
* @param ZzyFontSize
* @text 参数字体大小
* @parent ---魔改---
* @type number
* @desc 修改显示的字体大小
* @default 24
*
*
*
* @param ---General---
* @default
*
* @param Text Align
* @text 文本对齐
* @desc How to align the text for the command window.
* left center right
* @default center
*
* @param Finish Command
* @text 完成命令
* @desc The command text used for exiting the equip scene.
* Leave empty to not include this command.
* @default 返回
* @default Finish
*
* @param Remove Text
* @text 删除文本
* @desc The text used to display the "Remove" command in the equip
* item list.
* @default 删除
* @default Remove
*
* @param Remove Icon
* @text 删除图标
* @desc The icon used to display next to the "Remove" command in
* the equip item list.
* @default 16
*
* @param Empty Text
* @text 空文本
* @desc The text used to display an "Empty" piece of equipment.
* @default <>
* @default <Empty>
*
* @param Empty Icon
* @text 空图标
* @desc The icon used to display next to the "Empty" piece of
* equipment in the equipment list.
* @default 16
*
* @param ---规则---
* @param ---Rules---
* @default
*
* @param Non-Removable Types
* @text 不可移动类型
* @desc These types must always have an item equipped and cannot
* be empty. Separate the type ID's by a space.
* @default 1
*
* @param Non-Optimized Types
* @text 非优化类型
* @desc These types will be ignored when the actor optimizes
* equips. Separate the type ID's by a space.
* @default 5
*
* @help
*
* 魔改作者: 流逝的岁月
* 魔改版本: v1.03
*
*
* v1.02 修改参数结构,自定义化调整接口
* v1.02 添加更多的信息显示,调整布局
* v1.01 公式中添加user,User变量
* 魔改内容: v1.00 允许卸载装备或是安装装备时,自动执行脚本
*
*
* 需要在 数据库 -> 武器/护甲 -> 备注 中添加一下内容
*
* <ZzyYEC Eq Start> //这会在装备时,调用执行一段脚本,这是一个双标签,需要将两个标签全部写入,可以输入一段公式
* ...
* <ZzyYEC Eq End>
*
*
*
* <ZzyYEC UnEq Start> //这会在卸载时,调用执行一段脚本,这是一个双标签,需要将两个标签全部写入,可以输入一段公式
* ...
* <ZzyYEC UnEq End>
*
*
*
:装备这件装备时,如果10号开关处于开启状态,那么设置5号变量的值为50
<ZzyYEC Eq Start>
if($gameSwitches.value(10))
{
$gameVariables.setValue(5,50);
}
<ZzyYEC Eq End>
*
*
*
*
* 关于参数中设置的公式问题
* 其实是可以输入一段js代码,这会更佳灵活的去操作数据
*
* 以下是在写入公式时可以带入的数据信息:
*
* User,user //如果有,那这个值就是目前指定的 持有者(玩家)对象
* Item,item //如果有,那这个值就是目前 安装/卸载 的装备对象
* v[ID],V[ID] //id替换,将会返回全局变量的值
* s[ID],S[ID] //id替换,将会返回全局开关的值
* gw,GW //游戏窗口的宽度
* gh,GH //游戏窗口的高度
*
*
*
*
*
*
*
* ============================================================================
* Introduction
* ============================================================================
*
* 装备核心插件改变了游戏很多选项将会影响装备菜单装备类型索引
* 装备规则等等
* 装备核心插件改变了游戏很多选项将会影响装备菜单装备类型索引装备规
* 则等等
*
* 插件改变包括如下
*
* 1. Scene_Equip
* 装备界面装备界面调整了一下会略微不同主要是制作了主菜单让人
* 看起来统一并且对于玩家更加熟悉更长远来说命令菜单可以更好的
* 适应未来的拓展插件以便添加命令
* 装备界面装备界面调整了一下会略微不同主要是制作了主菜单让人看起来
* 统一并且对于玩家更加熟悉更长远来说命令菜单可以更好的适应未来的拓展
* 插件以便添加命令
*
* 2. Equipment Type Handling
* 装备类型玩家不只有一个通用的设置现在不用的职业可以通过
* 简单的标签来添加不同的设置还有之前名字一样的装备类型视为
* 不同的类型现在名义一样的装备类型归为一类
* 装备类型玩家不只有一个通用的设置现在不用的职业可以通过简单的标签
* 来添加不同的设置还有之前名字一样的装备类型视为不同的类型现在
* 义一样的装备类型归为一类
*
* 3. Equipment Rulings
* 装备规则现在装备类型可以被选择能不能移除
* 例如这个插件设置了了武器必须装备所以玩家武器栏不可以为空
* 除此之外可选择装备被确定类型限制最好关闭自动决定
* 装备规则现在装备类型可以被选择能不能移除例如这个插件设置了了武
* 器必须装备所以玩家武器栏不可以为空除此之外可选择装备被确定类型限
* 最好关闭自动决定
*
* 4. Parameter Control
* 参数控制装备参数可以同标签设置来自设置一个较大的值或者自定义值
* 这将允许装备不再是静态物品而是可以通过游戏改变的
* 参数控制装备参数可以同标签设置来自设置一个较大的值或者自定义值
* 将允许装备不再是静态物品而是可以通过游戏改变的
*
* Note: Item Core Users
* For users using the Item Core plugin and the new Item Scene layout option,
@ -134,9 +193,9 @@ Yanfly.Equip.version = 1.16;
* Weapon and Armor Notetags:
* <stat: +x>
* <stat: -x>
* 允许武器装备或者或者失去某些值你可以用血量魔法值攻击力
* 防御力魔法攻击力魔法防御力速度或者幸运值来代替
* 这将允许装备可以突破默认编辑器的限制
* 允许武器装备或者或者失去某些值你可以用血量魔法值攻击力防御力
* 魔法攻击力魔法防御力速度或者幸运值来代替这将允许装备可以突破默认
* 编辑器的限制
*
* ============================================================================
* Lunatic Mode - Custom Parameters
@ -224,37 +283,44 @@ Yanfly.Equip.version = 1.16;
// Parameter Variables
//=============================================================================
Yanfly.Parameters = PluginManager.parameters("YEP_EquipCore");
Yanfly.Parameters = PluginManager.parameters('YEP_EquipCore');
Yanfly.Param = Yanfly.Param || {};
Yanfly.Icon = Yanfly.Icon || {};
Yanfly.Param.EquipTextAlign = String(Yanfly.Parameters["Text Align"]);
Yanfly.Param.EquipFinishCmd = String(Yanfly.Parameters["Finish Command"]);
Yanfly.Param.EquipRemoveText = String(Yanfly.Parameters["Remove Text"]);
Yanfly.Icon.RemoveEquip = Number(Yanfly.Parameters["Remove Icon"]);
Yanfly.Param.EquipEmptyText = String(Yanfly.Parameters["Empty Text"]);
Yanfly.Icon.EmptyEquip = Number(Yanfly.Parameters["Empty Icon"]);
Yanfly.Data = String(Yanfly.Parameters["Non-Removable Types"]);
Yanfly.Data = Yanfly.Data.split(" ");
Yanfly.Param.EquipTextAlign = String(Yanfly.Parameters['Text Align']);
Yanfly.Param.EquipFinishCmd = String(Yanfly.Parameters['Finish Command']);
Yanfly.Param.EquipRemoveText = String(Yanfly.Parameters['Remove Text']);
Yanfly.Icon.RemoveEquip = Number(Yanfly.Parameters['Remove Icon']);
Yanfly.Param.EquipEmptyText = String(Yanfly.Parameters['Empty Text']);
Yanfly.Icon.EmptyEquip = Number(Yanfly.Parameters['Empty Icon']);
Yanfly.Data = String(Yanfly.Parameters['Non-Removable Types']);
Yanfly.Data = Yanfly.Data.split(' ');
Yanfly.Param.EquipNonRemove = [];
var Zzy = Zzy || {};
Zzy.YEC = Zzy.YEC || {};
Zzy.YEC.ZzyFontSize = parseInt(Yanfly.Parameters['ZzyFontSize']);
for (Yanfly.i = 0; Yanfly.i < Yanfly.Data.length; ++Yanfly.i) {
Yanfly.Param.EquipNonRemove.push(parseInt(Yanfly.Data[Yanfly.i]));
}
Yanfly.Data = String(Yanfly.Parameters["Non-Optimized Types"]);
Yanfly.Data = Yanfly.Data.split(" ");
};
Yanfly.Data = String(Yanfly.Parameters['Non-Optimized Types']);
Yanfly.Data = Yanfly.Data.split(' ');
Yanfly.Param.EquipNonOptimized = [];
for (Yanfly.i = 0; Yanfly.i < Yanfly.Data.length; ++Yanfly.i) {
Yanfly.Param.EquipNonOptimized.push(parseInt(Yanfly.Data[Yanfly.i]));
}
};
//=============================================================================
// DataManager
//=============================================================================
Yanfly.Equip.DataManager_isDatabaseLoaded = DataManager.isDatabaseLoaded;
DataManager.isDatabaseLoaded = function () {
DataManager.isDatabaseLoaded = function()
{
if (!Yanfly.Equip.DataManager_isDatabaseLoaded.call(this)) return false;
if (!Yanfly._loaded_YEP_EquipCore) {
if (!Yanfly._loaded_YEP_EquipCore)
{
DataManager.processEquipNotetags1($dataClasses);
DataManager.processEquipNotetags2($dataWeapons);
DataManager.processEquipNotetags2($dataArmors);
@ -277,7 +343,7 @@ DataManager.processEquipNotetags1 = function (group) {
for (var i = 0; i < notedata.length; i++) {
var line = notedata[i];
if (line.match(note1)) {
var array = JSON.parse("[" + RegExp.$1.match(/\d+/g) + "]");
var array = JSON.parse('[' + RegExp.$1.match(/\d+/g) + ']');
obj.equipSlots = obj.equipSlots.concat(array);
} else if (line.match(note2)) {
equipSlots = true;
@ -309,58 +375,101 @@ DataManager.processEquipNotetags2 = function (group) {
var obj = group[n];
var notedata = obj.note.split(/[\r\n]+/);
obj.parameterEval = "";
obj.parameterEval = '';
var parameterEval = false;
for (var i = 0; i < notedata.length; i++) {
var mode = '';
//--魔改--
obj.ZzyYEC = {};
obj.ZzyYEC.eqJS = '';
obj.ZzyYEC.unEqJS = '';
for (var i = 0; i < notedata.length; i++)
{
var line = notedata[i];
if (line.match(note1)) {
switch(mode)
{
case 'e':
if(line.match(/<ZZYYEC EQ END>/i))
{mode = '';}
else
{
var js = line ? String(line) + '\n' : '';
if(js)obj.ZzyYEC.eqJS += js;
}
break;
case 'u':
if(line.match(/<ZZYYEC UNEQ END>/i))
{mode = '';}
else
{
var js = line ? String(line) + '\n' : '';
if(js)obj.ZzyYEC.unEqJS += js;
}
break;
default:
if(line.match(/<ZZYYEC EQ START>/i))
{ mode = 'e'; }
else if(line.match(/<ZZYYEC UNEQ START>/i))
{ mode = 'u'; }
else if (line.match(note1))
{
parameterEval = true;
} else if (line.match(note2)) {
parameterEval = false;
} else if (parameterEval) {
obj.parameterEval = obj.parameterEval + line + "\n";
} else if (line.match(note3)) {
obj.parameterEval = obj.parameterEval + line + '\n';
}
else if (line.match(note3))
{
var stat = String(RegExp.$1).toUpperCase();
var value = parseInt(RegExp.$2);
switch (stat) {
case "HP":
case "MAXHP":
case "MAX HP":
case 'HP':
case 'MAXHP':
case 'MAX HP':
obj.params[0] = value;
break;
case "MP":
case "MAXMP":
case "MAX MP":
case "SP":
case "MAXSP":
case "MAX SP":
case 'MP':
case 'MAXMP':
case 'MAX MP':
case 'SP':
case 'MAXSP':
case 'MAX SP':
obj.params[1] = value;
break;
case "ATK":
case "STR":
case 'ATK':
case 'STR':
obj.params[2] = value;
break;
case "DEF":
case 'DEF':
obj.params[3] = value;
break;
case "MAT":
case "INT" || "SPI":
case 'MAT':
case 'INT' || 'SPI':
obj.params[4] = value;
break;
case "MDF":
case "RES":
case 'MDF':
case 'RES':
obj.params[5] = value;
break;
case "AGI":
case "SPD":
case 'AGI':
case 'SPD':
obj.params[6] = value;
break;
case "LUK":
case 'LUK':
obj.params[7] = value;
break;
}
}
}
}
}
};
@ -383,7 +492,8 @@ Game_Actor.prototype.convertInitEquips = function (equips) {
var equipId = equips[i];
if (equipId <= 0) continue;
var equipType = $dataSystem.equipTypes[i + 1];
if (equipType === $dataSystem.equipTypes[1] || (i === 1 && this.isDualWield())) {
if (equipType === $dataSystem.equipTypes[1] ||
(i === 1 && this.isDualWield())) {
var equip = $dataWeapons[equipId];
} else {
var equip = $dataArmors[equipId];
@ -441,11 +551,119 @@ Game_Actor.prototype.equips = function () {
};
Yanfly.Equip.Game_Actor_changeEquip = Game_Actor.prototype.changeEquip;
Game_Actor.prototype.changeEquip = function (slotId, item) {
Game_Actor.prototype.changeEquip = function(slotId, item) //切换装备时
{
//切换对比
var info1 = this.GetZzyYECInfos();
if (!this._equips[slotId]) this._equips[slotId] = new Game_Item();
Yanfly.Equip.Game_Actor_changeEquip.call(this, slotId, item);
var info2 = this.GetZzyYECInfos();
this.ExeCompZzyYECInfos(info1,info2);
};
Game_Actor.prototype.GetZzyYECInfos = function()//获取装备映射
{
var infos = [];
for(var i=0;i<this._equips.length;i++)
{
var eq = this._equips[i];
if(eq)
{
var info = {};
info.id = eq._itemId;
info.type = eq._dataClass;
infos[i] = info;
}
}
return infos;
}
Game_Actor.prototype.ExeCompZzyYECInfos = function(info1,info2)//执行装备镜像的属性对比
{
for(var i=0;i<info1.length;i++)
{
var eq1 = info1[i];
var eq2 = info2[i];
if(Zzy.YEC.IsSame(eq1,eq2))//是相同装备忽略
{}
else
{
if(!eq1 || !eq1.id)//eq2存在,eq2安装
{
var eq2i = Zzy.YEC.GetItem(eq2);
if(eq2i && eq2i.ZzyYEC && eq2i.ZzyYEC.eqJS)Zzy.YEC.EvalTrans(eq2i.ZzyYEC.eqJS,eq2i,this);
}
else if(!eq2 || !eq2.id)//eq2不存在,eq1卸载
{
var eq1i = Zzy.YEC.GetItem(eq1);
if(eq1i && eq1i.ZzyYEC && eq1i.ZzyYEC.unEqJS)Zzy.YEC.EvalTrans(eq1i.ZzyYEC.unEqJS,eq1i,this);
}
else//eq1卸载,eq2安装
{
var eq2i = Zzy.YEC.GetItem(eq2);
if(eq2i && eq2i.ZzyYEC && eq2i.ZzyYEC.eqJS)Zzy.YEC.EvalTrans(eq2i.ZzyYEC.eqJS,eq2i,this);
var eq1i = Zzy.YEC.GetItem(eq1);
if(eq1i && eq1i.ZzyYEC && eq1i.ZzyYEC.unEqJS)Zzy.YEC.EvalTrans(eq1i.ZzyYEC.unEqJS,eq1i,this);
}
}
}
}
Zzy.YEC.IsSame = function(eq1,eq2)//是否是相同装备
{
if(eq1 && eq2 && eq1.type === eq2.type && eq1.id === eq2.id)return true;
if(!eq1 && !eq2)return true;
return false;
}
Zzy.YEC.GetItem = function(eqInfo)
{
if(eqInfo.type === 'weapon')
{
return $dataWeapons[eqInfo.id];
}
else if(eqInfo.type === 'armor')
{
return $dataArmors[eqInfo.id];
}
}
Zzy.YEC.EvalTrans = function(evalStr,item,user)
{
var User = user;
var Item = item;
var v = $gameVariables._data;
var s = $gameSwitches._data;
var V = v;
var S = s;
var gw = Graphics.boxWidth;
var gh = Graphics.boxHeight;
var GW = gw;
var GH = gh;
return eval(evalStr)
}
Yanfly.Equip.Game_Actor_forceChangeEquip = Game_Actor.prototype.forceChangeEquip;
Game_Actor.prototype.forceChangeEquip = function(slotId, item) {
if (!this._equips[slotId]) {
@ -487,7 +705,7 @@ Game_Actor.prototype.customParamPlus = function (item, paramId) {
Game_Actor.prototype.evalParamPlus = function(item, paramId) {
if (!item) return 0;
if (!item.parameterEval || item.parameterEval === "") return 0;
if (!item.parameterEval || item.parameterEval === '') return 0;
var value = 0;
var hp = 0;
var maxhp = 0;
@ -518,7 +736,7 @@ Game_Actor.prototype.evalParamPlus = function (item, paramId) {
try {
eval(code);
} catch (e) {
Yanfly.Util.displayError(e, code, "CUSTOM PARAMETER FORMULA ERROR");
Yanfly.Util.displayError(e, code, 'CUSTOM PARAMETER FORMULA ERROR');
}
switch (paramId) {
case 0:
@ -586,18 +804,20 @@ Window_EquipCommand.prototype.itemTextAlign = function () {
return Yanfly.Param.EquipTextAlign;
};
Yanfly.Equip.Window_EquipCommand_makeCommandList = Window_EquipCommand.prototype.makeCommandList;
Yanfly.Equip.Window_EquipCommand_makeCommandList =
Window_EquipCommand.prototype.makeCommandList;
Window_EquipCommand.prototype.makeCommandList = function() {
Yanfly.Equip.Window_EquipCommand_makeCommandList.call(this);
this.addCustomCommand();
this.addFinishCommand();
};
Window_EquipCommand.prototype.addCustomCommand = function () {};
Window_EquipCommand.prototype.addCustomCommand = function() {
};
Window_EquipCommand.prototype.addFinishCommand = function() {
if (Yanfly.Param.EquipFinishCmd === "") return;
this.addCommand(Yanfly.Param.EquipFinishCmd, "cancel");
if (Yanfly.Param.EquipFinishCmd === '') return;
this.addCommand(Yanfly.Param.EquipFinishCmd, 'cancel');
};
//=============================================================================
@ -644,7 +864,7 @@ Window_EquipSlot.prototype.setSlotNameWidth = function (actor) {
if (!actor) return;
this._nameWidth = 0;
for (var i = 0; i < actor.equipSlots().length; ++i) {
var text = $dataSystem.equipTypes[actor.equipSlots()[i]] + " ";
var text = $dataSystem.equipTypes[actor.equipSlots()[i]] + ' ';
this._nameWidth = Math.max(this._nameWidth, this.textWidth(text));
}
};
@ -693,7 +913,8 @@ Window_EquipItem.prototype.includes = function (item) {
return Yanfly.Equip.Window_EquipItem_includes.call(this, item);
};
Yanfly.Equip.Window_EquipItem_isEnabled = Window_EquipItem.prototype.isEnabled;
Yanfly.Equip.Window_EquipItem_isEnabled =
Window_EquipItem.prototype.isEnabled;
Window_EquipItem.prototype.isEnabled = function(item) {
if (item === null && this._actor) {
var typeId = this._actor.equipSlots()[this._slotId];
@ -758,8 +979,8 @@ Window_StatCompare.prototype.initialize = function (wx, wy, ww, wh) {
Window_StatCompare.prototype.createWidths = function() {
this._paramNameWidth = 0;
this._paramValueWidth = 0;
this._arrowWidth = this.textWidth("\u2192" + " ");
var buffer = this.textWidth(" ");
this._arrowWidth = this.textWidth('\u2192' + ' ');
var buffer = this.textWidth(' ');
for (var i = 0; i < 8; ++i) {
var value1 = this.textWidth(TextManager.param(i));
var value2 = this.textWidth(Yanfly.Util.toGroup(this._actor.paramMax(i)));
@ -767,14 +988,11 @@ Window_StatCompare.prototype.createWidths = function () {
this._paramValueWidth = Math.max(value2, this._paramValueWidth);
}
this._bonusValueWidth = this._paramValueWidth;
this._bonusValueWidth += this.textWidth("(+)") + buffer;
this._bonusValueWidth += this.textWidth('(+)') + buffer;
this._paramNameWidth += buffer;
this._paramValueWidth;
if (
this._paramNameWidth + this._paramValueWidth * 2 + this._arrowWidth + this._bonusValueWidth >
this.contents.width
)
this._bonusValueWidth = 0;
if (this._paramNameWidth + this._paramValueWidth * 2 + this._arrowWidth +
this._bonusValueWidth > this.contents.width) this._bonusValueWidth = 0;
};
Window_StatCompare.prototype.setActor = function(actor) {
@ -787,9 +1005,16 @@ Window_StatCompare.prototype.setActor = function (actor) {
Window_StatCompare.prototype.refresh = function() {
this.contents.clear();
if (!this._actor) return;
for (var i = 0; i < 8; ++i) {
for (var i = 0; i < Window_StatCompare.ParamsLen; ++i) {//绘制默认参数
this.drawItem(0, this.lineHeight() * i, i);
}
};
Window_StatCompare.prototype.setTempActor = function(tempActor) {
@ -815,55 +1040,210 @@ Window_StatCompare.prototype.drawDarkRect = function (dx, dy, dw, dh) {
this.changePaintOpacity(true);
};
Window_StatCompare.prototype.drawParamName = function (y, paramId) {
Window_StatCompare.prototype.drawParamName = function(y, paramId)
{
var x = this.textPadding();
this.changeTextColor(this.systemColor());
this.drawText(TextManager.param(paramId), x, y, this._paramNameWidth);
// --魔改--
var name = '';
var bLen = Window_StatCompare.BaseParamMap.length;
var xLen = Window_StatCompare.XParamMap.length;
if(paramId < bLen)
{
var pid = Window_StatCompare.BaseParamMap[paramId];
name = TextManager.param(pid);
}
else
{
paramId -= bLen;
var pid = Window_StatCompare.XParamMap[paramId];
var tArr = ['命中率','暴击率','回避率'];
name = tArr[pid]
}
this.drawText(name, x, y, this._paramNameWidth);
// this.drawText(TextManager.param(paramId), x, y, this._paramNameWidth);
};
Window_StatCompare.prototype.drawCurrentParam = function (y, paramId) {
Window_StatCompare.prototype.drawCurrentParam = function(y, paramId)
{
// --魔改--
var x = this.contents.width - this.textPadding();
x -= this._paramValueWidth * 2 + this._arrowWidth + this._bonusValueWidth;
this.resetTextColor();
var actorparam = Yanfly.Util.toGroup(this._actor.param(paramId));
this.drawText(actorparam, x, y, this._paramValueWidth, "right");
var bLen = Window_StatCompare.BaseParamMap.length;
var xLen = Window_StatCompare.XParamMap.length;
if(paramId < bLen)
{
var pid = Window_StatCompare.BaseParamMap[paramId];
var actorparam = Yanfly.Util.toGroup(this._actor.param(pid));
this.drawText(actorparam, x, y, this._paramValueWidth, 'right');
}
else
{
paramId -= bLen;
var pid = Window_StatCompare.XParamMap[paramId];
var actorparam = Yanfly.Util.toGroup(this._actor.xparam(pid));
actorparam *= 100;
actorparam = Math.round(actorparam);
this.drawText(actorparam + '%', x, y, this._paramValueWidth, 'right');
}
};
Window_StatCompare.prototype.drawRightArrow = function(y) {
var x = this.contents.width - this.textPadding();
x -= this._paramValueWidth + this._arrowWidth + this._bonusValueWidth;
var dw = this.textWidth("\u2192" + " ");
var dw = this.textWidth('\u2192' + ' ');
this.changeTextColor(this.systemColor());
this.drawText("\u2192", x, y, dw, "center");
this.drawText('\u2192', x, y, dw, 'center');
};
Window_StatCompare.prototype.drawNewParam = function (y, paramId) {
Window_StatCompare.prototype.drawNewParam = function(y, paramId)
{
// --魔改--
var bLen = Window_StatCompare.BaseParamMap.length;
var xLen = Window_StatCompare.XParamMap.length;
if(paramId < bLen)
{
var pid = Window_StatCompare.BaseParamMap[paramId];
var x = this.contents.width - this.textPadding();
x -= this._paramValueWidth + this._bonusValueWidth;
var newValue = this._tempActor.param(pid);
var diffvalue = newValue - this._actor.param(pid);
var actorparam = Yanfly.Util.toGroup(newValue);
this.changeTextColor(this.paramchangeTextColor(diffvalue));
this.drawText(actorparam, x, y, this._paramValueWidth, 'right');
}
else
{
paramId -= bLen;
var pid = Window_StatCompare.XParamMap[paramId];
var x = this.contents.width - this.textPadding();
x -= this._paramValueWidth + this._bonusValueWidth;
var newValue = this._tempActor.param(paramId);
var diffvalue = newValue - this._actor.param(paramId);
var newValue = this._tempActor.xparam(pid);
var diffvalue = newValue - this._actor.xparam(pid);
newValue *= 100;
newValue = Math.round(newValue);
var actorparam = Yanfly.Util.toGroup(newValue);
this.changeTextColor(this.paramchangeTextColor(diffvalue));
this.drawText(actorparam, x, y, this._paramValueWidth, "right");
this.drawText(actorparam + '%', x, y, this._paramValueWidth, 'right');
}
};
Window_StatCompare.prototype.drawParamDifference = function (y, paramId) {
Window_StatCompare.prototype.drawParamDifference = function(y, paramId)
{
// --魔改--
var bLen = Window_StatCompare.BaseParamMap.length;
var xLen = Window_StatCompare.XParamMap.length;
if(paramId < bLen)
{
var pid = Window_StatCompare.BaseParamMap[paramId];
var x = this.contents.width - this.textPadding();
x -= this._bonusValueWidth;
var newValue = this._tempActor.param(paramId);
var diffvalue = newValue - this._actor.param(paramId);
var newValue = this._tempActor.param(pid);
var diffvalue = newValue - this._actor.param(pid);
if (diffvalue === 0) return;
var actorparam = Yanfly.Util.toGroup(newValue);
this.changeTextColor(this.paramchangeTextColor(diffvalue));
var text = Yanfly.Util.toGroup(diffvalue);
if (diffvalue > 0) {
text = ' (+' + text + ')';
} else {
text = ' (' + text + ')';
}
this.drawText(text, x, y, this._bonusValueWidth, 'left');
}
else
{
paramId -= bLen;
var pid = Window_StatCompare.XParamMap[paramId];
var x = this.contents.width - this.textPadding();
x -= this._bonusValueWidth;
var newValue = newValue = this._tempActor.xparam(pid);
var diffvalue = diffvalue = newValue - this._actor.xparam(pid);
if (diffvalue === 0) return;
newValue *= 100;
newValue = Math.round(newValue);
diffvalue *= 100;
diffvalue = Math.round(diffvalue);
var actorparam = Yanfly.Util.toGroup(newValue);
this.changeTextColor(this.paramchangeTextColor(diffvalue));
var text = Yanfly.Util.toGroup(diffvalue);
if (diffvalue > 0) {
text = " (+" + text + ")";
text = ' (+' + text + ')';
} else {
text = " (" + text + ")";
text = ' (' + text + ')';
}
this.drawText(text, x, y, this._bonusValueWidth, "left");
text += '%';
this.drawText(text, x, y, this._bonusValueWidth, 'left');
}
};
//--魔改--
Window_StatCompare.BaseParamMap = [0,1,2,3,4,5,6];
Window_StatCompare.XParamMap = [0,2,1];
Window_StatCompare.ParamsLen = Window_StatCompare.BaseParamMap.length + Window_StatCompare.XParamMap.length;//默认12个参数
Window_StatCompare.prototype.lineHeight = function()
{
return this.contents ? this.contents.height / Window_StatCompare.ParamsLen : 0;
}
Window_StatCompare.prototype.standardFontSize = function()
{
return Zzy.YEC.ZzyFontSize;
}
//=============================================================================
// Scene_Equip
//=============================================================================
@ -885,12 +1265,12 @@ Scene_Equip.prototype.createCommandWindow = function () {
var wy = this._helpWindow.height;
this._commandWindow = new Window_EquipCommand(0, wy, 240);
this._commandWindow.setHelpWindow(this._helpWindow);
this._commandWindow.setHandler("equip", this.commandEquip.bind(this));
this._commandWindow.setHandler("optimize", this.commandOptimize.bind(this));
this._commandWindow.setHandler("clear", this.commandClear.bind(this));
this._commandWindow.setHandler("cancel", this.popScene.bind(this));
this._commandWindow.setHandler("pagedown", this.nextActor.bind(this));
this._commandWindow.setHandler("pageup", this.previousActor.bind(this));
this._commandWindow.setHandler('equip', this.commandEquip.bind(this));
this._commandWindow.setHandler('optimize', this.commandOptimize.bind(this));
this._commandWindow.setHandler('clear', this.commandClear.bind(this));
this._commandWindow.setHandler('cancel', this.popScene.bind(this));
this._commandWindow.setHandler('pagedown', this.nextActor.bind(this));
this._commandWindow.setHandler('pageup', this.previousActor.bind(this));
this.addWindow(this._commandWindow);
};
@ -909,8 +1289,8 @@ Scene_Equip.prototype.createSlotWindow = function () {
var wh = Graphics.boxHeight - wy;
this._slotWindow = new Window_EquipSlot(0, wy, ww, wh);
this._slotWindow.setHelpWindow(this._helpWindow);
this._slotWindow.setHandler("ok", this.onSlotOk.bind(this));
this._slotWindow.setHandler("cancel", this.onSlotCancel.bind(this));
this._slotWindow.setHandler('ok', this.onSlotOk.bind(this));
this._slotWindow.setHandler('cancel', this.onSlotCancel.bind(this));
this.addWindow(this._slotWindow);
};
@ -920,8 +1300,8 @@ Scene_Equip.prototype.createItemWindow = function () {
var wh = Graphics.boxHeight - wy;
this._itemWindow = new Window_EquipItem(0, wy, ww, wh);
this._itemWindow.setHelpWindow(this._helpWindow);
this._itemWindow.setHandler("ok", this.onItemOk.bind(this));
this._itemWindow.setHandler("cancel", this.onItemCancel.bind(this));
this._itemWindow.setHandler('ok', this.onItemOk.bind(this));
this._itemWindow.setHandler('cancel', this.onItemCancel.bind(this));
this._slotWindow.setItemWindow(this._itemWindow);
this.addWindow(this._itemWindow);
this._itemWindow.hide();
@ -961,7 +1341,8 @@ Scene_Equip.prototype.refreshActor = function () {
this._compareWindow.setActor(this.actor());
};
Yanfly.Equip.Scene_Equip_commandOptimize = Scene_Equip.prototype.commandOptimize;
Yanfly.Equip.Scene_Equip_commandOptimize =
Scene_Equip.prototype.commandOptimize;
Scene_Equip.prototype.commandOptimize = function() {
$gameTemp._optimizeEquipments = true;
var hpRate = this.actor().hp / Math.max(1, this.actor().mhp);
@ -1036,11 +1417,11 @@ Scene_Equip.prototype.update = function () {
Scene_Equip.prototype.updateLowerRightWindowTriggers = function() {
if (!this._lowerRightVisibility) return;
if (Input.isRepeated("right")) {
if (Input.isRepeated('right')) {
this.shiftLowerRightWindows();
} else if (Input.isRepeated("left")) {
} else if (Input.isRepeated('left')) {
this.unshiftLowerRightWindows();
} else if (Input.isRepeated("tab")) {
} else if (Input.isRepeated('tab')) {
this.shiftLowerRightWindows();
} else if (this.isLowerWindowTouched()) {
this.shiftLowerRightWindows();
@ -1056,7 +1437,7 @@ Scene_Equip.prototype.isLowerWindowTouched = function () {
rect.y = this._compareWindow.y;
rect.width = this._compareWindow.x + this._compareWindow.width;
rect.height = this._compareWindow.y + this._compareWindow.height;
return x >= rect.x && y >= rect.y && x < rect.width && y < rect.height;
return (x >= rect.x && y >= rect.y && x < rect.width && y < rect.height);
};
Scene_Equip.prototype.updateLowerRightWindows = function() {
@ -1103,16 +1484,16 @@ Yanfly.Util = Yanfly.Util || {};
if (!Yanfly.Util.toGroup) {
Yanfly.Util.toGroup = function(inVal) {
return inVal;
};
}
};
Yanfly.Util.displayError = function(e, code, message) {
console.log(message);
console.log(code || "NON-EXISTENT");
console.log(code || 'NON-EXISTENT');
console.error(e);
if (Utils.isNwjs() && Utils.isOptionValid("test")) {
if (!require("nw.gui").Window.get().isDevToolsOpen()) {
require("nw.gui").Window.get().showDevTools();
if (Utils.isNwjs() && Utils.isOptionValid('test')) {
if (!require('nw.gui').Window.get().isDevToolsOpen()) {
require('nw.gui').Window.get().showDevTools();
}
}
};

@ -358,6 +358,13 @@ Yanfly.Status = Yanfly.Status || {};
* @default 经验获取率
*
* @help
*
*
* 魔改作者: 流逝的岁月
* 魔改版本: v1.00
*
* 魔改内容: 隐藏状态窗口,信息窗口的绘制内容 使下方信息向上调整
*
* ============================================================================
* Introduction
* ============================================================================
@ -439,6 +446,11 @@ Yanfly.Status = Yanfly.Status || {};
Yanfly.Parameters = PluginManager.parameters("YEP_StatusMenuCore");
Yanfly.Param = Yanfly.Param || {};
var Zzy = Zzy || {};
Zzy.CSMC = Zzy.CSMC || {};
Yanfly.Param.StatusCmdOrder = String(Yanfly.Parameters["Command Order"]);
Yanfly.Param.StatusCmdWidth = Number(Yanfly.Parameters["Command Window Width"]);
Yanfly.Param.StatusCmdRows = Number(Yanfly.Parameters["Command Window Rows"]);
@ -707,26 +719,45 @@ Window_StatusInfo.prototype.drawGeneral = function () {
var dh = this.lineHeight();
var text;
this.changeTextColor(this.systemColor());
this.drawText(Yanfly.Param.StatusParamText, dx, dy, dw, "center");
// --魔改--
//this.drawText(Yanfly.Param.StatusParamText, dx, dy, dw, "center");
dx += this.contents.width / 2;
this.drawText(Yanfly.Param.StatusExpText, dx, dy, dw, "center");
// --魔改--
//this.drawText(Yanfly.Param.StatusExpText, dx, dy, dw, "center");
this.drawGeneralParam(dx, dy, dw, dh);
this.drawGeneralExp(dx, dy, dw, dh);
};
Window_StatusInfo.prototype.drawGeneralParam = function () {
var rect = new Rectangle();
rect.width = (this.contents.width - this.standardPadding()) / 2;
rect.y = this.lineHeight() * 2;
rect.height = this.lineHeight();
//--魔改--距离调整
var disY = this.lineHeight() * 2;
var dx = rect.x + this.textPadding();
var dw = rect.width - this.textPadding() * 2;
this.drawDarkRect(rect.x, rect.y, rect.width, rect.height);
this.drawDarkRect(rect.x, rect.y - disY, rect.width, rect.height);
this.changeTextColor(this.systemColor());
this.drawText(TextManager.level, dx, rect.y, dw, "left");
this.drawText(TextManager.level, dx, rect.y - disY, dw, "left");
this.changeTextColor(this.normalColor());
text = Yanfly.Util.toGroup(this._actor.level);
this.drawText(text, dx, rect.y, dw, "right");
this.drawText(text, dx, rect.y - disY, dw, "right");
for (var i = 0; i < 8; ++i) {
if (i < 2) {
rect.y += this.lineHeight();
@ -742,12 +773,14 @@ Window_StatusInfo.prototype.drawGeneralParam = function () {
rect.x += rect.width;
dx += rect.width;
}
this.drawDarkRect(rect.x, rect.y, rect.width, rect.height);
this.drawDarkRect(rect.x, rect.y - disY, rect.width, rect.height);
this.changeTextColor(this.systemColor());
this.drawText(TextManager.param(i), dx, rect.y, dw, "left");
this.drawText(TextManager.param(i), dx, rect.y - disY, dw, "left");
this.changeTextColor(this.normalColor());
text = Yanfly.Util.toGroup(this._actor.param(i));
this.drawText(text, dx, rect.y, dw, "right");
this.drawText(text, dx, rect.y - disY, dw, "right");
}
};
@ -778,6 +811,14 @@ Window_StatusInfo.prototype.drawGeneralExp = function (dx, dy, dw, dh) {
dy = this.lineHeight() * 2;
dw = (this.contents.width - this.textPadding()) / 2;
dx = this.textPadding() + dw;
//--魔改--距离调整
var disY = this.lineHeight() * 2;
dy -= disY;
// Current Exp
this.changeTextColor(this.systemColor());
text = TextManager.expTotal.format(TextManager.exp);

Loading…
Cancel
Save