更新
This commit is contained in:
parent
5f7d2f28e8
commit
53d701989b
BIN
excel/cha.xlsx
BIN
excel/cha.xlsx
Binary file not shown.
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
[
|
[
|
||||||
{"id":1,"type":1,"effectAttribute":"attack","cost":[1,300,0],"lvAdd":[40,10985],"battleValueLimit":[5,20],"maxLv":null},
|
{"id":1,"type":1,"effectAttribute":"attack","cost":[1,150,0],"lvAdd":[40,10985],"battleValueLimit":[5,20],"maxLv":null},
|
||||||
{"id":2,"type":1,"effectAttribute":"hp","cost":[1,300,0],"lvAdd":[600,10985],"battleValueLimit":[5,20],"maxLv":null},
|
{"id":2,"type":1,"effectAttribute":"hp","cost":[1,150,0],"lvAdd":[600,10985],"battleValueLimit":[5,20],"maxLv":null},
|
||||||
{"id":3,"type":1,"effectAttribute":"swordAtk","cost":[1,300,0],"lvAdd":[10,0],"battleValueLimit":[5,20],"maxLv":null},
|
{"id":3,"type":1,"effectAttribute":"swordAtk","cost":[1,300,0],"lvAdd":[10,0],"battleValueLimit":[5,20],"maxLv":null},
|
||||||
{"id":4,"type":1,"effectAttribute":"swordWearBase","cost":[1,300,0],"lvAdd":[10,0],"battleValueLimit":[5,20],"maxLv":null},
|
{"id":4,"type":1,"effectAttribute":"swordWearBase","cost":[1,300,0],"lvAdd":[10,0],"battleValueLimit":[5,20],"maxLv":null},
|
||||||
{"id":5,"type":1,"effectAttribute":"swordWearSpe","cost":[1,300,0],"lvAdd":[10,0],"battleValueLimit":[5,20],"maxLv":null},
|
{"id":5,"type":1,"effectAttribute":"swordWearSpe","cost":[1,300,0],"lvAdd":[10,0],"battleValueLimit":[5,20],"maxLv":null},
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
[
|
[
|
||||||
{"id":1,"type":1,"name":1,"attack":10,"hp":150,"walkSpeed":8,"attackSpeed":1,"model":"Thief"},
|
{"id":1,"type":1,"name":1,"attack":10,"hp":150,"walkSpeed":8,"attackSpeed":1,"model":"Thief"},
|
||||||
{"id":2,"type":1,"name":2,"attack":10,"hp":150,"walkSpeed":8,"attackSpeed":1,"model":"Thief"},
|
{"id":2,"type":1,"name":2,"attack":10,"hp":150,"walkSpeed":8,"attackSpeed":1,"model":"Thief"},
|
||||||
{"id":1000,"type":2,"name":1000,"attack":120,"hp":1000,"walkSpeed":4,"attackSpeed":1,"model":"Thief"}
|
{"id":1000,"type":2,"name":1000,"attack":30,"hp":1000,"walkSpeed":4,"attackSpeed":1,"model":"Thief"}
|
||||||
]
|
]
|
@ -1,18 +1,18 @@
|
|||||||
[
|
[
|
||||||
{"id":40000,"type":1,"name":40000,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40000,"type":1,"name":40000,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40001,"type":1,"name":40001,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40001,"type":1,"name":40001,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40002,"type":1,"name":40002,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40002,"type":1,"name":40002,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40003,"type":1,"name":40003,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40003,"type":1,"name":40003,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40004,"type":1,"name":40004,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40004,"type":1,"name":40004,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40005,"type":1,"name":40005,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40005,"type":1,"name":40005,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40006,"type":1,"name":40006,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40006,"type":1,"name":40006,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40007,"type":1,"name":40007,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40007,"type":1,"name":40007,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40008,"type":1,"name":40008,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40008,"type":1,"name":40008,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40009,"type":1,"name":40009,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40009,"type":1,"name":40009,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40010,"type":1,"name":40010,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40010,"type":1,"name":40010,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40011,"type":1,"name":40011,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40011,"type":1,"name":40011,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40012,"type":1,"name":40012,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40012,"type":1,"name":40012,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40013,"type":1,"name":40013,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40013,"type":1,"name":40013,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40014,"type":1,"name":40014,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300},
|
{"id":40014,"type":1,"name":40014,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100},
|
||||||
{"id":40015,"type":1,"name":40015,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":300}
|
{"id":40015,"type":1,"name":40015,"attributes":[14,200,10,15,200,10,16,150,0],"modelName":"Zeus","recycle":100}
|
||||||
]
|
]
|
@ -1,52 +1,52 @@
|
|||||||
[
|
[
|
||||||
{"id":1,"cost":[2,10]},
|
{"id":1,"cost":[2,10],"qualityRate":[1,80,2,20]},
|
||||||
{"id":2,"cost":[2,20]},
|
{"id":2,"cost":[2,20],"qualityRate":[1,80,2,20]},
|
||||||
{"id":3,"cost":[2,30]},
|
{"id":3,"cost":[2,30],"qualityRate":[1,80,2,20]},
|
||||||
{"id":4,"cost":[2,40]},
|
{"id":4,"cost":[2,40],"qualityRate":[1,60,2,25,3,15]},
|
||||||
{"id":5,"cost":[2,50]},
|
{"id":5,"cost":[2,50],"qualityRate":[1,60,2,25,3,15]},
|
||||||
{"id":6,"cost":[2,60]},
|
{"id":6,"cost":[2,60],"qualityRate":[1,60,2,25,3,15]},
|
||||||
{"id":7,"cost":[2,70]},
|
{"id":7,"cost":[2,70],"qualityRate":[1,40,2,30,3,20,4,10]},
|
||||||
{"id":8,"cost":[2,80]},
|
{"id":8,"cost":[2,80],"qualityRate":[1,40,2,30,3,20,4,10]},
|
||||||
{"id":9,"cost":[2,90]},
|
{"id":9,"cost":[2,90],"qualityRate":[1,40,2,30,3,20,4,10]},
|
||||||
{"id":10,"cost":[2,100]},
|
{"id":10,"cost":[2,100],"qualityRate":[1,30,2,30,3,20,4,15,5,5]},
|
||||||
{"id":11,"cost":[2,110]},
|
{"id":11,"cost":[2,110],"qualityRate":[1,30,2,30,3,20,4,15,5,5]},
|
||||||
{"id":12,"cost":[2,120]},
|
{"id":12,"cost":[2,120],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":13,"cost":[2,130]},
|
{"id":13,"cost":[2,130],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":14,"cost":[2,140]},
|
{"id":14,"cost":[2,140],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":15,"cost":[2,150]},
|
{"id":15,"cost":[2,150],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":16,"cost":[2,160]},
|
{"id":16,"cost":[2,160],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":17,"cost":[2,170]},
|
{"id":17,"cost":[2,170],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":18,"cost":[2,180]},
|
{"id":18,"cost":[2,180],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":19,"cost":[2,190]},
|
{"id":19,"cost":[2,190],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":20,"cost":[2,200]},
|
{"id":20,"cost":[2,200],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":21,"cost":[2,210]},
|
{"id":21,"cost":[2,210],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":22,"cost":[2,220]},
|
{"id":22,"cost":[2,220],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":23,"cost":[2,230]},
|
{"id":23,"cost":[2,230],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":24,"cost":[2,240]},
|
{"id":24,"cost":[2,240],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":25,"cost":[2,250]},
|
{"id":25,"cost":[2,250],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":26,"cost":[2,260]},
|
{"id":26,"cost":[2,260],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":27,"cost":[2,270]},
|
{"id":27,"cost":[2,270],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":28,"cost":[2,280]},
|
{"id":28,"cost":[2,280],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":29,"cost":[2,290]},
|
{"id":29,"cost":[2,290],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":30,"cost":[2,300]},
|
{"id":30,"cost":[2,300],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":31,"cost":[2,310]},
|
{"id":31,"cost":[2,310],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":32,"cost":[2,320]},
|
{"id":32,"cost":[2,320],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":33,"cost":[2,330]},
|
{"id":33,"cost":[2,330],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":34,"cost":[2,340]},
|
{"id":34,"cost":[2,340],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":35,"cost":[2,350]},
|
{"id":35,"cost":[2,350],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":36,"cost":[2,360]},
|
{"id":36,"cost":[2,360],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":37,"cost":[2,370]},
|
{"id":37,"cost":[2,370],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":38,"cost":[2,380]},
|
{"id":38,"cost":[2,380],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":39,"cost":[2,390]},
|
{"id":39,"cost":[2,390],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":40,"cost":[2,400]},
|
{"id":40,"cost":[2,400],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":41,"cost":[2,410]},
|
{"id":41,"cost":[2,410],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":42,"cost":[2,420]},
|
{"id":42,"cost":[2,420],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":43,"cost":[2,430]},
|
{"id":43,"cost":[2,430],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":44,"cost":[2,440]},
|
{"id":44,"cost":[2,440],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":45,"cost":[2,450]},
|
{"id":45,"cost":[2,450],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":46,"cost":[2,460]},
|
{"id":46,"cost":[2,460],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":47,"cost":[2,470]},
|
{"id":47,"cost":[2,470],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":48,"cost":[2,480]},
|
{"id":48,"cost":[2,480],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":49,"cost":[2,490]},
|
{"id":49,"cost":[2,490],"qualityRate":[1,15,2,30,3,20,4,15,5,10]},
|
||||||
{"id":50,"cost":[2,500]}
|
{"id":50,"cost":[2,500],"qualityRate":[1,15,2,30,3,20,4,15,5,10]}
|
||||||
]
|
]
|
@ -1,52 +1,52 @@
|
|||||||
[
|
[
|
||||||
{"id":1,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1],[10,1,1],[10,1,1],[10,1,1]],"finishRewards":[50001,1]},
|
{"id":1,"type":1,"timeLimit":null,"atkBonus":100,"hpBonus":100,"wave":[[30,1,1],[10,1,1],[10,1,1],[10,1,1]],"finishRewards":[50001,1]},
|
||||||
{"id":2,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1],[10,1,1],[10,1,1],[10,1,1]],"finishRewards":[50002,1]},
|
{"id":2,"type":1,"timeLimit":null,"atkBonus":105,"hpBonus":105,"wave":[[30,1,1],[10,1,1],[10,1,1],[10,1,1]],"finishRewards":[50002,1]},
|
||||||
{"id":3,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50003,1]},
|
{"id":3,"type":1,"timeLimit":null,"atkBonus":110,"hpBonus":110,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50003,1]},
|
||||||
{"id":4,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50004,1]},
|
{"id":4,"type":1,"timeLimit":null,"atkBonus":115,"hpBonus":115,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50004,1]},
|
||||||
{"id":5,"type":2,"timeLimit":60,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1000,1]],"finishRewards":[50005,1]},
|
{"id":5,"type":2,"timeLimit":60,"atkBonus":121,"hpBonus":121,"wave":[[30,1000,1]],"finishRewards":[50005,1]},
|
||||||
{"id":6,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50006,1]},
|
{"id":6,"type":1,"timeLimit":null,"atkBonus":127,"hpBonus":127,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50006,1]},
|
||||||
{"id":7,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50007,1]},
|
{"id":7,"type":1,"timeLimit":null,"atkBonus":134,"hpBonus":134,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50007,1]},
|
||||||
{"id":8,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50008,1]},
|
{"id":8,"type":1,"timeLimit":null,"atkBonus":140,"hpBonus":140,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50008,1]},
|
||||||
{"id":9,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50009,1]},
|
{"id":9,"type":1,"timeLimit":null,"atkBonus":147,"hpBonus":147,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50009,1]},
|
||||||
{"id":10,"type":2,"timeLimit":60,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1000,1]],"finishRewards":[50010,1]},
|
{"id":10,"type":2,"timeLimit":60,"atkBonus":155,"hpBonus":155,"wave":[[30,1000,1]],"finishRewards":[50010,1]},
|
||||||
{"id":11,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50011,1]},
|
{"id":11,"type":1,"timeLimit":null,"atkBonus":162,"hpBonus":162,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50011,1]},
|
||||||
{"id":12,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50012,1]},
|
{"id":12,"type":1,"timeLimit":null,"atkBonus":171,"hpBonus":171,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50012,1]},
|
||||||
{"id":13,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50013,1]},
|
{"id":13,"type":1,"timeLimit":null,"atkBonus":179,"hpBonus":179,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50013,1]},
|
||||||
{"id":14,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50014,1]},
|
{"id":14,"type":1,"timeLimit":null,"atkBonus":188,"hpBonus":188,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[50014,1]},
|
||||||
{"id":15,"type":2,"timeLimit":60,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1000,1]],"finishRewards":[50015,1]},
|
{"id":15,"type":2,"timeLimit":60,"atkBonus":197,"hpBonus":197,"wave":[[30,1000,1]],"finishRewards":[50015,1]},
|
||||||
{"id":16,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":16,"type":1,"timeLimit":null,"atkBonus":207,"hpBonus":207,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":17,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":17,"type":1,"timeLimit":null,"atkBonus":218,"hpBonus":218,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":18,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":18,"type":1,"timeLimit":null,"atkBonus":229,"hpBonus":229,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":19,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":19,"type":1,"timeLimit":null,"atkBonus":240,"hpBonus":240,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":20,"type":2,"timeLimit":60,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1000,1]],"finishRewards":[]},
|
{"id":20,"type":2,"timeLimit":60,"atkBonus":252,"hpBonus":252,"wave":[[30,1000,1]],"finishRewards":[]},
|
||||||
{"id":21,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":21,"type":1,"timeLimit":null,"atkBonus":265,"hpBonus":265,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":22,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":22,"type":1,"timeLimit":null,"atkBonus":278,"hpBonus":278,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":23,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":23,"type":1,"timeLimit":null,"atkBonus":292,"hpBonus":292,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":24,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":24,"type":1,"timeLimit":null,"atkBonus":307,"hpBonus":307,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":25,"type":2,"timeLimit":60,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1000,1]],"finishRewards":[]},
|
{"id":25,"type":2,"timeLimit":60,"atkBonus":322,"hpBonus":322,"wave":[[30,1000,1]],"finishRewards":[]},
|
||||||
{"id":26,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":26,"type":1,"timeLimit":null,"atkBonus":338,"hpBonus":338,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":27,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":27,"type":1,"timeLimit":null,"atkBonus":355,"hpBonus":355,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":28,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":28,"type":1,"timeLimit":null,"atkBonus":373,"hpBonus":373,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":29,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":29,"type":1,"timeLimit":null,"atkBonus":392,"hpBonus":392,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":30,"type":2,"timeLimit":60,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1000,1]],"finishRewards":[]},
|
{"id":30,"type":2,"timeLimit":60,"atkBonus":411,"hpBonus":411,"wave":[[30,1000,1]],"finishRewards":[]},
|
||||||
{"id":31,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":31,"type":1,"timeLimit":null,"atkBonus":432,"hpBonus":432,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":32,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":32,"type":1,"timeLimit":null,"atkBonus":453,"hpBonus":453,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":33,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":33,"type":1,"timeLimit":null,"atkBonus":476,"hpBonus":476,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":34,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":34,"type":1,"timeLimit":null,"atkBonus":500,"hpBonus":500,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":35,"type":2,"timeLimit":60,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1000,1]],"finishRewards":[]},
|
{"id":35,"type":2,"timeLimit":60,"atkBonus":525,"hpBonus":525,"wave":[[30,1000,1]],"finishRewards":[]},
|
||||||
{"id":36,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":36,"type":1,"timeLimit":null,"atkBonus":551,"hpBonus":551,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":37,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":37,"type":1,"timeLimit":null,"atkBonus":579,"hpBonus":579,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":38,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":38,"type":1,"timeLimit":null,"atkBonus":608,"hpBonus":608,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":39,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":39,"type":1,"timeLimit":null,"atkBonus":638,"hpBonus":638,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":40,"type":2,"timeLimit":60,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1000,1]],"finishRewards":[]},
|
{"id":40,"type":2,"timeLimit":60,"atkBonus":670,"hpBonus":670,"wave":[[30,1000,1]],"finishRewards":[]},
|
||||||
{"id":41,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":41,"type":1,"timeLimit":null,"atkBonus":703,"hpBonus":703,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":42,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":42,"type":1,"timeLimit":null,"atkBonus":739,"hpBonus":739,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":43,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":43,"type":1,"timeLimit":null,"atkBonus":776,"hpBonus":776,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":44,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":44,"type":1,"timeLimit":null,"atkBonus":814,"hpBonus":814,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":45,"type":2,"timeLimit":60,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1000,1]],"finishRewards":[]},
|
{"id":45,"type":2,"timeLimit":60,"atkBonus":855,"hpBonus":855,"wave":[[30,1000,1]],"finishRewards":[]},
|
||||||
{"id":46,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":46,"type":1,"timeLimit":null,"atkBonus":898,"hpBonus":898,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":47,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":47,"type":1,"timeLimit":null,"atkBonus":943,"hpBonus":943,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":48,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":48,"type":1,"timeLimit":null,"atkBonus":990,"hpBonus":990,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":49,"type":1,"timeLimit":null,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
{"id":49,"type":1,"timeLimit":null,"atkBonus":1040,"hpBonus":1040,"wave":[[30,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1],[10,1,1,50,1,1]],"finishRewards":[]},
|
||||||
{"id":50,"type":2,"timeLimit":60,"atkBonus":1000,"hpBonus":1000,"wave":[[30,1000,1]],"finishRewards":[]}
|
{"id":50,"type":2,"timeLimit":60,"atkBonus":1092,"hpBonus":1092,"wave":[[30,1000,1]],"finishRewards":[]}
|
||||||
]
|
]
|
8
src/ReplicatedStorage/Json/QualityEffect.json
Normal file
8
src/ReplicatedStorage/Json/QualityEffect.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
[
|
||||||
|
{"id":1,"minValue":5,"maxValue":10},
|
||||||
|
{"id":2,"minValue":15,"maxValue":25},
|
||||||
|
{"id":3,"minValue":25,"maxValue":45},
|
||||||
|
{"id":4,"minValue":45,"maxValue":100},
|
||||||
|
{"id":5,"minValue":100,"maxValue":200},
|
||||||
|
{"id":6,"minValue":200,"maxValue":400}
|
||||||
|
]
|
162
src/ReplicatedStorage/Tools/Rng.luau
Normal file
162
src/ReplicatedStorage/Tools/Rng.luau
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
local Random = {}
|
||||||
|
|
||||||
|
-- 设置随机种子,防止重复问题
|
||||||
|
function Random:SetSeed(seed: number?)
|
||||||
|
if seed then
|
||||||
|
math.randomseed(seed)
|
||||||
|
else
|
||||||
|
-- 使用当前时间作为种子
|
||||||
|
math.randomseed(os.time())
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 从 [result,weight,result,weight...] 格式的数组中根据权重随机选择
|
||||||
|
function Random:GetRandomWeightedIndex(resultWeightArray: table)
|
||||||
|
if not resultWeightArray or #resultWeightArray == 0 then
|
||||||
|
warn("GetRandomWeightedIndex: 输入数组为空")
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 检查数组长度是否为偶数(result和weight成对出现)
|
||||||
|
if #resultWeightArray % 2 ~= 0 then
|
||||||
|
warn("GetRandomWeightedIndex: 数组长度必须为偶数")
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 计算总权重
|
||||||
|
local totalWeight = 0
|
||||||
|
for i = 2, #resultWeightArray, 2 do
|
||||||
|
local weight = resultWeightArray[i]
|
||||||
|
if type(weight) ~= "number" or weight < 0 then
|
||||||
|
warn("GetRandomWeightedIndex: 权重值无效:", weight)
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
totalWeight = totalWeight + weight
|
||||||
|
end
|
||||||
|
|
||||||
|
if totalWeight <= 0 then
|
||||||
|
warn("GetRandomWeightedIndex: 总权重必须大于0")
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 生成随机值
|
||||||
|
local randomValue = math.random() * totalWeight
|
||||||
|
|
||||||
|
-- 根据权重选择结果
|
||||||
|
local currentWeight = 0
|
||||||
|
for i = 1, #resultWeightArray, 2 do
|
||||||
|
local result = resultWeightArray[i]
|
||||||
|
local weight = resultWeightArray[i + 1]
|
||||||
|
|
||||||
|
currentWeight = currentWeight + weight
|
||||||
|
if randomValue <= currentWeight then
|
||||||
|
return result
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 兜底返回最后一个结果
|
||||||
|
return resultWeightArray[#resultWeightArray - 1]
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 从权重表中随机选择索引(原有函数改进版)
|
||||||
|
function Random:GetRandomWeight(weightTable: table)
|
||||||
|
if not weightTable or #weightTable == 0 then
|
||||||
|
warn("GetRandomWeight: 权重表为空")
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 计算总权重
|
||||||
|
local totalWeight = 0
|
||||||
|
for _, weight in pairs(weightTable) do
|
||||||
|
if type(weight) ~= "number" or weight < 0 then
|
||||||
|
warn("GetRandomWeight: 权重值无效:", weight)
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
totalWeight = totalWeight + weight
|
||||||
|
end
|
||||||
|
|
||||||
|
if totalWeight <= 0 then
|
||||||
|
warn("GetRandomWeight: 总权重必须大于0")
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 生成随机值
|
||||||
|
local randomValue = math.random() * totalWeight
|
||||||
|
|
||||||
|
-- 根据权重选择索引
|
||||||
|
local currentWeight = 0
|
||||||
|
for index, weight in pairs(weightTable) do
|
||||||
|
currentWeight = currentWeight + weight
|
||||||
|
if randomValue <= currentWeight then
|
||||||
|
return index
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 兜底返回最后一个索引
|
||||||
|
return #weightTable
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 获取多个随机结果(不重复)
|
||||||
|
function Random:GetMultipleRandomIndex(resultWeightArray: table, count: number)
|
||||||
|
if not count or count <= 0 then
|
||||||
|
warn("GetMultipleRandomIndex: 数量必须大于0")
|
||||||
|
return {}
|
||||||
|
end
|
||||||
|
|
||||||
|
local results = {}
|
||||||
|
local tempArray = {}
|
||||||
|
|
||||||
|
-- 复制原数组
|
||||||
|
for i, value in ipairs(resultWeightArray) do
|
||||||
|
tempArray[i] = value
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 获取指定数量的随机结果
|
||||||
|
for i = 1, count do
|
||||||
|
if #tempArray == 0 then break end
|
||||||
|
|
||||||
|
local result = self:GetRandomWeightedResult(tempArray)
|
||||||
|
if result then
|
||||||
|
table.insert(results, result)
|
||||||
|
|
||||||
|
-- 从临时数组中移除已选择的结果和权重
|
||||||
|
for j = 1, #tempArray, 2 do
|
||||||
|
if tempArray[j] == result then
|
||||||
|
table.remove(tempArray, j + 1) -- 移除权重
|
||||||
|
table.remove(tempArray, j) -- 移除结果
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return results
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 获取指定范围内的随机整数
|
||||||
|
function Random:GetRandomInt(min: number, max: number)
|
||||||
|
if not min or not max then
|
||||||
|
warn("GetRandomInt: 参数不能为空")
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
if type(min) ~= "number" or type(max) ~= "number" then
|
||||||
|
warn("GetRandomInt: 参数必须是数字")
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 确保 min <= max
|
||||||
|
if min > max then
|
||||||
|
min, max = max, min
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 生成随机整数
|
||||||
|
return math.random(min, max)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- 初始化随机种子
|
||||||
|
Random:SetSeed()
|
||||||
|
|
||||||
|
return Random
|
@ -7,6 +7,7 @@ local ServerStorage = game:GetService("ServerStorage")
|
|||||||
|
|
||||||
--> Variables
|
--> Variables
|
||||||
local Utils = require(ReplicatedStorage.Tools.Utils)
|
local Utils = require(ReplicatedStorage.Tools.Utils)
|
||||||
|
local Rng = require(ReplicatedStorage.Tools.Rng)
|
||||||
local ArchiveProxy = require(ServerStorage.Proxy.ArchiveProxy)
|
local ArchiveProxy = require(ServerStorage.Proxy.ArchiveProxy)
|
||||||
local PlayerInfoProxy = require(ServerStorage.Proxy.PlayerInfoProxy)
|
local PlayerInfoProxy = require(ServerStorage.Proxy.PlayerInfoProxy)
|
||||||
local PlayerFightProxy = require(ServerStorage.Proxy.PlayerFightProxy)
|
local PlayerFightProxy = require(ServerStorage.Proxy.PlayerFightProxy)
|
||||||
@ -16,6 +17,8 @@ local JsonEquipment = require(ReplicatedStorage.Json.Equipment)
|
|||||||
local JsonAttributes = require(ReplicatedStorage.Json.Attributes)
|
local JsonAttributes = require(ReplicatedStorage.Json.Attributes)
|
||||||
local JsonExAttributes = require(ReplicatedStorage.Json.ExAttributes)
|
local JsonExAttributes = require(ReplicatedStorage.Json.ExAttributes)
|
||||||
local JsonParam = require(ReplicatedStorage.Json.Param)
|
local JsonParam = require(ReplicatedStorage.Json.Param)
|
||||||
|
local JsonForge = require(ReplicatedStorage.Json.Forge)
|
||||||
|
local JsonQualityEffect = require(ReplicatedStorage.Json.QualityEffect)
|
||||||
|
|
||||||
--> Events
|
--> Events
|
||||||
local RE_PlayerTip = ReplicatedStorage.Events.RE_PlayerTip
|
local RE_PlayerTip = ReplicatedStorage.Events.RE_PlayerTip
|
||||||
@ -99,17 +102,20 @@ function EquipmentProxy:AddEquipment(Player: Player, EquipmentId: number)
|
|||||||
local PlayerLevel = PlayerInfoProxy:GetPlayerLevel(Player)
|
local PlayerLevel = PlayerInfoProxy:GetPlayerLevel(Player)
|
||||||
|
|
||||||
-- TODO: 之后这里可能根据等级限制权重
|
-- TODO: 之后这里可能根据等级限制权重
|
||||||
-- 随机生成品质
|
|
||||||
local qualityWeightTable = {
|
-- 获取锻造等级
|
||||||
[1] = 90,
|
local forgeTime = PlayerInfoProxy:GetForgeTime(Player)
|
||||||
[2] = 70,
|
local maxForgeTime = Utils:GetMaxIdFromJson(JsonForge)
|
||||||
[3] = 50,
|
-- 当前锻造次数限制
|
||||||
[4] = 30,
|
if forgeTime <= 0 then forgeTime = 1 end
|
||||||
[5] = 10,
|
if forgeTime > maxForgeTime then forgeTime = maxForgeTime end
|
||||||
[6] = 5,
|
-- 根据锻造等级获取品质权重
|
||||||
}
|
local qualityWeightTable = Utils:GetIdDataFromJson(JsonForge, forgeTime).qualityRate
|
||||||
local quality = Utils:GetRandomWeightIndex(qualityWeightTable)
|
|
||||||
local qualityParam = Utils:GetIdDataFromJson(JsonParam, 1).intArray
|
local quality = Rng:GetRandomWeightedIndex(qualityWeightTable)
|
||||||
|
local qualityEffectData = Utils:GetIdDataFromJson(JsonQualityEffect, quality)
|
||||||
|
-- 旧的固定值已经废弃
|
||||||
|
-- local qualityParam = Utils:GetIdDataFromJson(JsonParam, 1).intArray
|
||||||
ResultData.quality = quality
|
ResultData.quality = quality
|
||||||
|
|
||||||
-- 生成装备基础词条(固定的)
|
-- 生成装备基础词条(固定的)
|
||||||
@ -122,7 +128,7 @@ function EquipmentProxy:AddEquipment(Player: Player, EquipmentId: number)
|
|||||||
if AttributeData.effectAttribute == "atkSpeed" then
|
if AttributeData.effectAttribute == "atkSpeed" then
|
||||||
qualityEffectValue = baseLvValue
|
qualityEffectValue = baseLvValue
|
||||||
else
|
else
|
||||||
qualityEffectValue = math.floor(baseLvValue * (qualityParam[quality] / 100))
|
qualityEffectValue = math.floor(baseLvValue * (Rng:GetRandomInt(qualityEffectData.minValue, qualityEffectData.maxValue) / 100))
|
||||||
end
|
end
|
||||||
ResultData.attributes[AttributeData.effectAttribute] = qualityEffectValue
|
ResultData.attributes[AttributeData.effectAttribute] = qualityEffectValue
|
||||||
end
|
end
|
||||||
|
@ -178,7 +178,7 @@ function LevelProxy:InitPlayer(Player: Player)
|
|||||||
LevelProxy.pData[Player.UserId].ShouldWave = 0
|
LevelProxy.pData[Player.UserId].ShouldWave = 0
|
||||||
LevelProxy.pData[Player.UserId].SpawnWaveFinish = false
|
LevelProxy.pData[Player.UserId].SpawnWaveFinish = false
|
||||||
LevelProxy.pData[Player.UserId].Mobs = {}
|
LevelProxy.pData[Player.UserId].Mobs = {}
|
||||||
LevelProxy.pData[Player.UserId].LevelPosition = Vector3.new(0, 0, 30)
|
LevelProxy.pData[Player.UserId].LevelPosition = Vector3.new(0, 3, 30)
|
||||||
|
|
||||||
-- 关卡挑战信息前端
|
-- 关卡挑战信息前端
|
||||||
for key, value in LevelProxy.pData[Player.UserId] do
|
for key, value in LevelProxy.pData[Player.UserId] do
|
||||||
|
@ -117,7 +117,7 @@ function PlayerInfoProxy:InitPlayer(Player: Player)
|
|||||||
for AttributeId, AttributeLv in ArchiveProxy.pData[Player.UserId][STORE_NAME].AttributesUpgrade do
|
for AttributeId, AttributeLv in ArchiveProxy.pData[Player.UserId][STORE_NAME].AttributesUpgrade do
|
||||||
CreateInfoInstance(Player, AttributesUpgradeFolder, AttributeId, "NumberValue", AttributeLv)
|
CreateInfoInstance(Player, AttributesUpgradeFolder, AttributeId, "NumberValue", AttributeLv)
|
||||||
end
|
end
|
||||||
CreateInfoInstance(Player, PlayerInfoFolder, "Forge", ENUM_STATE_TYPE.Number, ArchiveProxy.pData[Player.UserId][STORE_NAME].Forge)
|
-- CreateInfoInstance(Player, PlayerInfoFolder, "Forge", ENUM_STATE_TYPE.Number, ArchiveProxy.pData[Player.UserId][STORE_NAME].Forge)
|
||||||
|
|
||||||
-- 新玩家默认添加货币
|
-- 新玩家默认添加货币
|
||||||
if isNew then
|
if isNew then
|
||||||
@ -268,6 +268,13 @@ function PlayerInfoProxy:GetItemCount(Player: Player, ItemId: number)
|
|||||||
return playerInfoData[ItemId]
|
return playerInfoData[ItemId]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- 获取锻造等级
|
||||||
|
function PlayerInfoProxy:GetForgeTime(Player: Player)
|
||||||
|
if not Player then warn('获取锻造等级失败: ', Player.Name) return end
|
||||||
|
local playerInfoData = ArchiveProxy.pData[Player.UserId][STORE_NAME]
|
||||||
|
return playerInfoData.Stats.forge
|
||||||
|
end
|
||||||
|
|
||||||
-- 打造装备
|
-- 打造装备
|
||||||
function PlayerInfoProxy:MakeForge(Player: Player, EquipmentId: number, Count: number)
|
function PlayerInfoProxy:MakeForge(Player: Player, EquipmentId: number, Count: number)
|
||||||
if not Player or not EquipmentId then warn('打造装备失败: ', Player.Name,EquipmentId) return end
|
if not Player or not EquipmentId then warn('打造装备失败: ', Player.Name,EquipmentId) return end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user