mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-05-30 00:47:34 -04:00
fix item in multiplayer (#612)
This commit is contained in:
+15
-11
@@ -119,8 +119,8 @@ void RaceManager::PostInit() {
|
||||
}
|
||||
|
||||
void RaceManager::SetItemTables() {
|
||||
std::string humanTableName = "";
|
||||
std::string cpuTableName = "";
|
||||
std::optional<std::string> humanTableName;
|
||||
std::optional<std::string> cpuTableName;
|
||||
|
||||
switch(gModeSelection) {
|
||||
case GRAND_PRIX:
|
||||
@@ -131,32 +131,36 @@ void RaceManager::SetItemTables() {
|
||||
humanTableName = "mk:human_grand_prix";
|
||||
cpuTableName = "mk:cpu_grand_prix";
|
||||
}
|
||||
break;
|
||||
case VERSUS:
|
||||
switch (gPlayerCountSelection1) {
|
||||
case TWO_PLAYERS_SELECTED:
|
||||
humanTableName = "mk:versus_2p";
|
||||
cpuTableName = "none selected";
|
||||
break;
|
||||
case THREE_PLAYERS_SELECTED:
|
||||
humanTableName = "mk:versus_3p";
|
||||
cpuTableName = "none selected";
|
||||
break;
|
||||
case FOUR_PLAYERS_SELECTED:
|
||||
humanTableName = "mk:versus_4p";
|
||||
cpuTableName = "none selected";
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case BATTLE:
|
||||
humanTableName = "mk:battle";
|
||||
cpuTableName = "none selected";
|
||||
break;
|
||||
}
|
||||
|
||||
mHumanItemTable = gItemTableRegistry.Get(humanTableName);
|
||||
mCPUItemTable = gItemTableRegistry.Get(cpuTableName);
|
||||
printf("[RaceManager] Selected human item probability table %s\n", humanTableName.c_str());
|
||||
printf("[RaceManager] Selected cpu item probability table %s\n", cpuTableName.c_str());
|
||||
if (humanTableName.has_value()) {
|
||||
mHumanItemTable = gItemTableRegistry.Get(humanTableName.value());
|
||||
} else {
|
||||
mHumanItemTable = nullptr;
|
||||
}
|
||||
if (cpuTableName.has_value()) {
|
||||
mCPUItemTable = gItemTableRegistry.Get(cpuTableName.value());
|
||||
} else {
|
||||
mCPUItemTable = nullptr;
|
||||
}
|
||||
printf("[RaceManager] Selected human item probability table %s\n", humanTableName.value_or("none").c_str());
|
||||
printf("[RaceManager] Selected cpu item probability table %s\n", cpuTableName.value_or("none").c_str());
|
||||
}
|
||||
|
||||
extern "C" int16_t RaceManager_GetRandomHumanItem(uint32_t rank) {
|
||||
|
||||
@@ -365,15 +365,16 @@ void RegisterVersus4PItemTable(DataRegistry<RandomItemTable>& r) {
|
||||
|
||||
void RegisterBattleItemTable(DataRegistry<RandomItemTable>& r) {
|
||||
RandomItemTable table;
|
||||
|
||||
table.Add("mk:banana", RANK_ONE, 10, 0.0f);
|
||||
table.Add("mk:banana_bunch", RANK_ONE, 5, 0.0f);
|
||||
table.Add("mk:green_shell", RANK_ONE, 5, 0.0f);
|
||||
table.Add("mk:triple_green_shell", RANK_ONE, 20, 0.0f);
|
||||
table.Add("mk:red_shell", RANK_ONE, 20, 0.0f);
|
||||
table.Add("mk:fake_item_box", RANK_ONE, 15, 0.0f);
|
||||
table.Add("mk:star", RANK_ONE, 20, 0.0f);
|
||||
table.Add("mk:boo", RANK_ONE, 5, 0.0f);
|
||||
for (int rank = RANK_ONE; rank <= RANK_EIGHT; rank++) {
|
||||
table.Add("mk:banana", rank, 10, 0.0f);
|
||||
table.Add("mk:banana_bunch", rank, 5, 0.0f);
|
||||
table.Add("mk:green_shell", rank, 5, 0.0f);
|
||||
table.Add("mk:triple_green_shell", rank, 20, 0.0f);
|
||||
table.Add("mk:red_shell", rank, 20, 0.0f);
|
||||
table.Add("mk:fake_item_box", rank, 15, 0.0f);
|
||||
table.Add("mk:star", rank, 20, 0.0f);
|
||||
table.Add("mk:boo", rank, 5, 0.0f);
|
||||
}
|
||||
|
||||
r.Add("mk:battle", std::move(table));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user