Skip to content

Commit

Permalink
Chambers of Xeric QOL & fakemass (#5970)
Browse files Browse the repository at this point in the history
Co-authored-by: GC <[email protected]>
  • Loading branch information
nwjgit and gc authored Sep 24, 2024
1 parent 22fb504 commit 3364548
Show file tree
Hide file tree
Showing 11 changed files with 584 additions and 172 deletions.
66 changes: 54 additions & 12 deletions src/lib/combat_achievements/grandmaster.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,16 @@ export const grandmasterCombatAchievements: CombatAchievement[] = [
type: 'speed',
monster: 'Chambers of Xeric',
rng: {
chancePerKill: 55,
hasChance: 'Raids'
chancePerKill: 1,
hasChance: data =>
(data.type === 'Raids' &&
(data as RaidsOptions).users.length >= 5 &&
!(data as RaidsOptions).isFakeMass &&
data.duration < Time.Minute * 12.5 * (data.quantity ?? 1)) ||
(data.type === 'Raids' &&
(data as RaidsOptions).isFakeMass &&
((data as RaidsOptions).maxSizeInput ?? 0) >= 5 &&
data.duration < Time.Minute * 12.5 * (data.quantity ?? 1))
}
},
{
Expand All @@ -70,8 +78,12 @@ export const grandmasterCombatAchievements: CombatAchievement[] = [
type: 'speed',
monster: 'Chambers of Xeric',
rng: {
chancePerKill: 55,
hasChance: data => data.type === 'Raids' && (data as RaidsOptions).users.length === 1
chancePerKill: 1,
hasChance: data =>
data.type === 'Raids' &&
(data as RaidsOptions).users.length === 1 &&
!(data as RaidsOptions).isFakeMass &&
data.duration < Time.Minute * 17 * (data.quantity ?? 1)
}
},
{
Expand All @@ -81,8 +93,16 @@ export const grandmasterCombatAchievements: CombatAchievement[] = [
type: 'speed',
monster: 'Chambers of Xeric',
rng: {
chancePerKill: 55,
hasChance: 'Raids'
chancePerKill: 1,
hasChance: data =>
(data.type === 'Raids' &&
(data as RaidsOptions).users.length >= 3 &&
!(data as RaidsOptions).isFakeMass &&
data.duration < Time.Minute * 14.5 * (data.quantity ?? 1)) ||
(data.type === 'Raids' &&
(data as RaidsOptions).isFakeMass &&
((data as RaidsOptions).maxSizeInput ?? 0) >= 3 &&
data.duration < Time.Minute * 14.5 * (data.quantity ?? 1))
}
},
{
Expand All @@ -92,11 +112,13 @@ export const grandmasterCombatAchievements: CombatAchievement[] = [
type: 'speed',
monster: 'Chambers of Xeric: Challenge Mode',
rng: {
chancePerKill: 30,
chancePerKill: 1,
hasChance: data =>
data.type === 'Raids' &&
(data as RaidsOptions).challengeMode &&
(data as RaidsOptions).users.length === 1
(data as RaidsOptions).users.length === 1 &&
!(data as RaidsOptions).isFakeMass &&
data.duration < Time.Minute * 38.5 * (data.quantity ?? 1)
}
},
{
Expand All @@ -118,8 +140,18 @@ export const grandmasterCombatAchievements: CombatAchievement[] = [
type: 'speed',
monster: 'Chambers of Xeric: Challenge Mode',
rng: {
chancePerKill: 30,
hasChance: data => data.type === 'Raids' && (data as RaidsOptions).challengeMode
chancePerKill: 1,
hasChance: data =>
(data.type === 'Raids' &&
(data as RaidsOptions).challengeMode &&
(data as RaidsOptions).users.length >= 3 &&
!(data as RaidsOptions).isFakeMass &&
data.duration < Time.Minute * 27 * (data.quantity ?? 1)) ||
(data.type === 'Raids' &&
(data as RaidsOptions).challengeMode &&
(data as RaidsOptions).isFakeMass &&
((data as RaidsOptions).maxSizeInput ?? 0) >= 3 &&
data.duration < Time.Minute * 27 * (data.quantity ?? 1))
}
},
{
Expand All @@ -129,8 +161,18 @@ export const grandmasterCombatAchievements: CombatAchievement[] = [
type: 'speed',
monster: 'Chambers of Xeric: Challenge Mode',
rng: {
chancePerKill: 30,
hasChance: data => data.type === 'Raids' && (data as RaidsOptions).challengeMode
chancePerKill: 1,
hasChance: data =>
(data.type === 'Raids' &&
(data as RaidsOptions).challengeMode &&
(data as RaidsOptions).users.length >= 5 &&
!(data as RaidsOptions).isFakeMass &&
data.duration < Time.Minute * 25 * (data.quantity ?? 1)) ||
(data.type === 'Raids' &&
(data as RaidsOptions).challengeMode &&
(data as RaidsOptions).isFakeMass &&
((data as RaidsOptions).maxSizeInput ?? 0) >= 5 &&
data.duration < Time.Minute * 25 * (data.quantity ?? 1))
}
},
{
Expand Down
21 changes: 14 additions & 7 deletions src/lib/combat_achievements/master.ts
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,8 @@ export const masterCombatAchievements: CombatAchievement[] = [
monster: 'Chambers of Xeric',
rng: {
chancePerKill: 44,
hasChance: data => data.type === 'Raids' && (data as RaidsOptions).users.length === 1
hasChance: data =>
data.type === 'Raids' && (data as RaidsOptions).users.length === 1 && !(data as RaidsOptions).isFakeMass
}
},
{
Expand All @@ -161,7 +162,8 @@ export const masterCombatAchievements: CombatAchievement[] = [
monster: 'Chambers of Xeric',
rng: {
chancePerKill: 25,
hasChance: data => data.type === 'Raids' && (data as RaidsOptions).users.length === 1
hasChance: data =>
data.type === 'Raids' && (data as RaidsOptions).users.length === 1 && !(data as RaidsOptions).isFakeMass
}
},
{
Expand All @@ -183,7 +185,8 @@ export const masterCombatAchievements: CombatAchievement[] = [
monster: 'Chambers of Xeric',
rng: {
chancePerKill: 22,
hasChance: data => data.type === 'Raids' && (data as RaidsOptions).users.length === 1
hasChance: data =>
data.type === 'Raids' && (data as RaidsOptions).users.length === 1 && !(data as RaidsOptions).isFakeMass
}
},
{
Expand Down Expand Up @@ -261,7 +264,8 @@ export const masterCombatAchievements: CombatAchievement[] = [
monster: 'Chambers of Xeric',
rng: {
chancePerKill: 1,
hasChance: data => data.type === 'Raids' && (data as RaidsOptions).users.length === 1
hasChance: data =>
data.type === 'Raids' && (data as RaidsOptions).users.length === 1 && !(data as RaidsOptions).isFakeMass
}
},
{
Expand All @@ -283,7 +287,8 @@ export const masterCombatAchievements: CombatAchievement[] = [
monster: 'Chambers of Xeric',
rng: {
chancePerKill: 33,
hasChance: data => data.type === 'Raids' && (data as RaidsOptions).users.length === 1
hasChance: data =>
data.type === 'Raids' && (data as RaidsOptions).users.length === 1 && !(data as RaidsOptions).isFakeMass
}
},
{
Expand All @@ -308,7 +313,8 @@ export const masterCombatAchievements: CombatAchievement[] = [
hasChance: data =>
data.type === 'Raids' &&
(data as RaidsOptions).challengeMode &&
(data as RaidsOptions).users.length === 1
(data as RaidsOptions).users.length === 1 &&
!(data as RaidsOptions).isFakeMass
}
},
{
Expand All @@ -333,7 +339,8 @@ export const masterCombatAchievements: CombatAchievement[] = [
hasChance: data =>
data.type === 'Raids' &&
(data as RaidsOptions).challengeMode &&
(data as RaidsOptions).users.length === 1
(data as RaidsOptions).users.length === 1 &&
!(data as RaidsOptions).isFakeMass
}
},
{
Expand Down
Loading

0 comments on commit 3364548

Please sign in to comment.