diff --git a/Output/PartyModes/Challenge.xml b/Output/PartyModes/Challenge.xml
index d7c33562..77bf84e2 100644
--- a/Output/PartyModes/Challenge.xml
+++ b/Output/PartyModes/Challenge.xml
@@ -8,7 +8,7 @@
Challenge
CPartyModeChallenge
0
- 1
+ 2
TR_PARTYMODE_AUDIENCE
diff --git a/Output/PartyModes/Challenge/Languages/English.xml b/Output/PartyModes/Challenge/Languages/English.xml
index b343b452..5be99eff 100644
--- a/Output/PartyModes/Challenge/Languages/English.xml
+++ b/Output/PartyModes/Challenge/Languages/English.xml
@@ -15,6 +15,7 @@
Number of players
Number of mics
Number of rounds
+ Number of jokers
Challenge Mode: Choose Player
Select random
Challenge Mode: Overview
diff --git a/Output/PartyModes/Challenge/Themes/Default/Screens/PartyScreenChallengeConfig.xml b/Output/PartyModes/Challenge/Themes/Default/Screens/PartyScreenChallengeConfig.xml
index 5dfbf453..5254ccbb 100644
--- a/Output/PartyModes/Challenge/Themes/Default/Screens/PartyScreenChallengeConfig.xml
+++ b/Output/PartyModes/Challenge/Themes/Default/Screens/PartyScreenChallengeConfig.xml
@@ -2,7 +2,7 @@
PartyScreenChallengeConfig
- 1
+ 2
@@ -82,6 +82,20 @@
Outline
TR_SCREENCONFIG_NUMROUNDS
+
+
+ 75
+ 285
+ 0
+ 27
+ 0
+
+
+ Left
+ Center
+
+ Outline
+ TR_SCREENCONFIG_NUMJOKERS
@@ -284,6 +298,48 @@
Outline
Bold
10
+
+
+
+ SelectSlideArrowLeft
+ SelectSlideArrowRight
+ SelectSlide
+ SelectSlideArrowLeft
+ SelectSlideArrowRight
+
+ 500
+ 280
+ 700
+ 50
+ 0
+
+
+ 505
+ 285
+ 40
+ 40
+ 0
+
+
+ 1170
+ 285
+ 40
+ 40
+ 0
+
+
+
+
+
+
+
+ 27
+ 50
+ 0
+ 205.33
+ Outline
+ Bold
+ 10
diff --git a/PartyModes/PartyModeChallenge/CPartyModeChallenge.cs b/PartyModes/PartyModeChallenge/CPartyModeChallenge.cs
index d00a1f5b..b81edd9b 100644
--- a/PartyModes/PartyModeChallenge/CPartyModeChallenge.cs
+++ b/PartyModes/PartyModeChallenge/CPartyModeChallenge.cs
@@ -113,6 +113,7 @@ namespace VocaluxeLib.PartyModes.Challenge
public int NumPlayer;
public int NumPlayerAtOnce;
public int NumRounds;
+ public int NumJokers;
public List ProfileIDs;
public CChallengeRounds Rounds;
@@ -147,7 +148,7 @@ namespace VocaluxeLib.PartyModes.Challenge
_ScreenSongOptions.Sorting.SearchActive = false;
_ScreenSongOptions.Sorting.DuetOptions = EDuetOptions.NoDuets;
- GameData = new SData {NumPlayer = 4, NumPlayerAtOnce = 2, NumRounds = 12, CurrentRoundNr = 1, ProfileIDs = new List(), CatSongIndices = null, Results = null};
+ GameData = new SData {NumPlayer = 4, NumPlayerAtOnce = 2, NumRounds = 12, NumJokers = 5, CurrentRoundNr = 1, ProfileIDs = new List(), CatSongIndices = null, Results = null};
}
public override bool Init()
@@ -373,35 +374,11 @@ namespace VocaluxeLib.PartyModes.Challenge
private void _SetNumJokers()
{
- switch (GameData.NumPlayerAtOnce)
- {
- case 1:
- _ScreenSongOptions.Selection.NumJokers = new int[] {10};
- break;
+ int[] jokers = new int[GameData.NumPlayerAtOnce];
+ for (int i = 0; i < jokers.Length; i++)
+ jokers[i] = GameData.NumJokers;
- case 2:
- _ScreenSongOptions.Selection.NumJokers = new int[] {5, 5};
- break;
-
- case 3:
- _ScreenSongOptions.Selection.NumJokers = new int[] {4, 4, 4};
- break;
-
- case 4:
- _ScreenSongOptions.Selection.NumJokers = new int[] {3, 3, 3, 3};
- break;
-
- case 5:
- _ScreenSongOptions.Selection.NumJokers = new int[] {2, 2, 2, 2, 2};
- break;
-
- case 6:
- _ScreenSongOptions.Selection.NumJokers = new int[] {2, 2, 2, 2, 2, 2};
- break;
- default:
- _ScreenSongOptions.Selection.NumJokers = new int[] {5, 5};
- break;
- }
+ _ScreenSongOptions.Selection.NumJokers = jokers;
}
private void _SetTeamNames()
diff --git a/PartyModes/PartyModeChallenge/CPartyScreenChallengeConfig.cs b/PartyModes/PartyModeChallenge/CPartyScreenChallengeConfig.cs
index d1a4747b..2b53612f 100644
--- a/PartyModes/PartyModeChallenge/CPartyScreenChallengeConfig.cs
+++ b/PartyModes/PartyModeChallenge/CPartyScreenChallengeConfig.cs
@@ -27,12 +27,13 @@ namespace VocaluxeLib.PartyModes.Challenge
// Version number for theme files. Increment it, if you've changed something on the theme files!
protected override int _ScreenVersion
{
- get { return 1; }
+ get { return 2; }
}
private const string _SelectSlideNumPlayers = "SelectSlideNumPlayers";
private const string _SelectSlideNumMics = "SelectSlideNumMics";
private const string _SelectSlideNumRounds = "SelectSlideNumRounds";
+ private const string _SelectSlideNumJokers = "SelectSlideNumJokers";
private const string _ButtonNext = "ButtonNext";
private const string _ButtonBack = "ButtonBack";
@@ -43,7 +44,7 @@ namespace VocaluxeLib.PartyModes.Challenge
{
base.Init();
- _ThemeSelectSlides = new string[] {_SelectSlideNumPlayers, _SelectSlideNumMics, _SelectSlideNumRounds};
+ _ThemeSelectSlides = new string[] {_SelectSlideNumPlayers, _SelectSlideNumMics, _SelectSlideNumRounds, _SelectSlideNumJokers};
_ThemeButtons = new string[] {_ButtonNext, _ButtonBack};
}
@@ -123,6 +124,14 @@ namespace VocaluxeLib.PartyModes.Challenge
_SelectSlides[_SelectSlideNumPlayers].AddValue(i.ToString());
_SelectSlides[_SelectSlideNumPlayers].SelectedValue = _PartyMode.GameData.NumPlayer.ToString();
+ // build num joker slide 1 to 10
+ _SelectSlides[_SelectSlideNumJokers].Clear();
+ for (int i = 1; i <= 10; i++)
+ {
+ _SelectSlides[_SelectSlideNumJokers].AddValue(i.ToString());
+ }
+ _SelectSlides[_SelectSlideNumJokers].SelectedValue = "5";
+
_UpdateMicsAtOnce();
_SetRoundSteps();
_UpdateSlideRounds();
@@ -135,6 +144,7 @@ namespace VocaluxeLib.PartyModes.Challenge
_PartyMode.GameData.NumPlayer = _SelectSlides[_SelectSlideNumPlayers].Selection + _PartyMode.MinPlayers;
_PartyMode.GameData.NumPlayerAtOnce = _SelectSlides[_SelectSlideNumMics].Selection + _PartyMode.MinPlayers;
_PartyMode.GameData.NumRounds = (_SelectSlides[_SelectSlideNumRounds].Selection + 1) * _RoundSteps;
+ _PartyMode.GameData.NumJokers = _SelectSlides[_SelectSlideNumJokers].Selection + 1;
_UpdateMicsAtOnce();
_SetRoundSteps();