diff --git a/src/scripts/game/LootTemplate.ts b/src/scripts/game/LootTemplate.ts index cdd59a1..19c2f7e 100644 --- a/src/scripts/game/LootTemplate.ts +++ b/src/scripts/game/LootTemplate.ts @@ -80,7 +80,7 @@ module SpaceTac.Game { if (level.max >= this.min_level.max) { max = 1.0; } else { - max = this.min_level.getReverseProportional(level.max); + max = this.min_level.getReverseProportional(level.max + 1); } return new Range(min, max); @@ -93,6 +93,7 @@ module SpaceTac.Game { random = random || new RandomGenerator(); var random_range = this.getPowerRangeForLevel(level); + console.log(level, random_range); if (random_range) { var power = random.throw() * (random_range.max - random_range.min) + random_range.min; return this.generateFixed(power); diff --git a/src/scripts/game/specs/LootGenerator.spec.ts b/src/scripts/game/specs/LootGenerator.spec.ts index 4a8bc1d..d00cab8 100644 --- a/src/scripts/game/specs/LootGenerator.spec.ts +++ b/src/scripts/game/specs/LootGenerator.spec.ts @@ -8,7 +8,7 @@ module SpaceTac.Game.Specs { super(SlotType.Shield, "Hexagrid Shield"); this.min_level = new IntegerRange(2, 100); - this.ap_usage = new Range(6, 8); + this.ap_usage = new Range(6, 15); } } @@ -23,7 +23,7 @@ module SpaceTac.Game.Specs { expect(equipment.slot).toBe(SlotType.Shield); expect(equipment.name).toEqual("Hexagrid Shield"); expect(equipment.min_level).toBe(5); - expect(equipment.ap_usage).toEqual(7); + expect(equipment.ap_usage).toBeCloseTo(6.2727, 0.00001); }); }); }