抽卡:保底调整
This commit is contained in:
@@ -199,15 +199,14 @@ export class GachaResults {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public getTargetCnt(floor: GachaFloor) {
|
public getTargetCnt(floor: GachaFloor) {
|
||||||
return this.getTarget(floor).length;
|
let target = this.list.filter(cur => cur.heroQuality == floor.heroQuality);
|
||||||
|
return target.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getRandomResultOfTarget(floor: GachaFloor, cnt: number) {
|
public getRandomResultOfTarget(floor: GachaFloor, cnt: number) {
|
||||||
return getRandEelm(this.getTarget(floor), cnt);
|
let target = this.list.filter(cur => cur.heroQuality == floor.heroQuality);
|
||||||
}
|
let targetRemoveLast = target.slice(0, target.length - 2);
|
||||||
|
return getRandEelm(targetRemoveLast, cnt);
|
||||||
private getTarget(floor: GachaFloor) {
|
|
||||||
return this.list.filter(cur => cur.heroQuality == floor.heroQuality);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 具体的卡池
|
// 具体的卡池
|
||||||
@@ -440,6 +439,7 @@ export class GachaPull {
|
|||||||
if(replacePlan) gachaResult.changePlan(replacePlan.planId, replacePlan.heroQuality);
|
if(replacePlan) gachaResult.changePlan(replacePlan.planId, replacePlan.heroQuality);
|
||||||
} else { // 设置为保底
|
} else { // 设置为保底
|
||||||
let replacePlan = this.percent.getFloorTarget(floor.heroQuality);
|
let replacePlan = this.percent.getFloorTarget(floor.heroQuality);
|
||||||
|
|
||||||
if(replacePlan) gachaResult.changePlan(replacePlan.planId, replacePlan.heroQuality);
|
if(replacePlan) gachaResult.changePlan(replacePlan.planId, replacePlan.heroQuality);
|
||||||
hasGetFloor = true;
|
hasGetFloor = true;
|
||||||
}
|
}
|
||||||
@@ -456,7 +456,7 @@ export class GachaPull {
|
|||||||
// 10连最多多少个武将
|
// 10连最多多少个武将
|
||||||
private setTenMostFloor(floor: GachaFloor) {
|
private setTenMostFloor(floor: GachaFloor) {
|
||||||
let targetCnt = this.result.getTargetCnt(floor);
|
let targetCnt = this.result.getTargetCnt(floor);
|
||||||
if(this.result.count == 10 && targetCnt >= floor.param) {
|
if(this.result.count == 10 && targetCnt > floor.param) {
|
||||||
let gachaResults = this.result.getRandomResultOfTarget(floor, targetCnt - floor.param);
|
let gachaResults = this.result.getRandomResultOfTarget(floor, targetCnt - floor.param);
|
||||||
for(let gachaResult of gachaResults) {
|
for(let gachaResult of gachaResults) {
|
||||||
let replacePlan = this.percent.getReplacePlan(gachaResult.heroQuality, floor.isReplaceLower());
|
let replacePlan = this.percent.getReplacePlan(gachaResult.heroQuality, floor.isReplaceLower());
|
||||||
|
|||||||
Reference in New Issue
Block a user