AP ice trap models and tricknames
This commit is contained in:
@@ -770,6 +770,12 @@ void Context::ParseArchipelagoItemsLocations(const std::vector<ArchipelagoClient
|
||||
SPDLOG_TRACE("Populated item {} at location {}", ap_item.itemName, ap_item.locationName);
|
||||
const RandomizerGet item = StaticData::itemNameToEnum[ap_item.itemName];
|
||||
itemLocationTable[rc].SetPlacedItem(item);
|
||||
|
||||
if (item == RG_ICE_TRAP) {
|
||||
RandomizerGet iceTrapItem = ArchipelagoClient::GetInstance().GetIceTrapItem();
|
||||
overrides[rc] = ItemOverride(rc, iceTrapItem);
|
||||
overrides[rc].SetTrickName(Text(GetIceTrapName(iceTrapItem)));
|
||||
}
|
||||
} else {
|
||||
// Other player item
|
||||
// If progressive or trap bit flag is set, make item progressive.
|
||||
|
||||
@@ -591,6 +591,36 @@ void ArchipelagoClient::SetDeathLinkTag() {
|
||||
apClient->ConnectUpdate(false, 1, true, tags);
|
||||
}
|
||||
|
||||
std::vector<RandomizerGet> archipelagoIceTrapModels = {
|
||||
RG_MIRROR_SHIELD,
|
||||
RG_BOOMERANG,
|
||||
RG_LENS_OF_TRUTH,
|
||||
RG_MEGATON_HAMMER,
|
||||
RG_IRON_BOOTS,
|
||||
RG_HOVER_BOOTS,
|
||||
RG_STONE_OF_AGONY,
|
||||
RG_DINS_FIRE,
|
||||
RG_FARORES_WIND,
|
||||
RG_NAYRUS_LOVE,
|
||||
RG_FIRE_ARROWS,
|
||||
RG_ICE_ARROWS,
|
||||
RG_LIGHT_ARROWS,
|
||||
RG_DOUBLE_DEFENSE,
|
||||
RG_CLAIM_CHECK,
|
||||
RG_PROGRESSIVE_HOOKSHOT,
|
||||
RG_PROGRESSIVE_STRENGTH,
|
||||
RG_PROGRESSIVE_BOMB_BAG,
|
||||
RG_PROGRESSIVE_BOW,
|
||||
RG_PROGRESSIVE_SLINGSHOT,
|
||||
RG_PROGRESSIVE_WALLET,
|
||||
RG_PROGRESSIVE_SCALE,
|
||||
RG_PROGRESSIVE_MAGIC_METER,
|
||||
};
|
||||
|
||||
RandomizerGet ArchipelagoClient::GetIceTrapItem() {
|
||||
return RandomElement(archipelagoIceTrapModels);
|
||||
}
|
||||
|
||||
extern "C" void Archipelago_InitSaveFile() {
|
||||
gSaveContext.ship.quest.data.archipelago.isArchipelago = 1;
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ class ArchipelagoClient {
|
||||
void OnItemGiven(uint32_t rc, GetItemEntry gi, uint8_t isGiSkipped);
|
||||
void SendDeathLink();
|
||||
void SetDeathLinkTag();
|
||||
RandomizerGet GetIceTrapItem();
|
||||
const nlohmann::json GetSlotData();
|
||||
const std::vector<ApItem>& GetScoutedItems();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user