pokeplatinum/src/scrcmd_strings.c
2026-03-07 22:04:52 -08:00

601 lines
22 KiB
C

#include "scrcmd_strings.h"
#include <nitro.h>
#include <nitro/code16.h>
#include <string.h>
#include "constants/narc.h"
#include "struct_decls/pc_boxes_decl.h"
#include "field/field_system.h"
#include "savedata/save_table.h"
#include "appearance.h"
#include "berry_data.h"
#include "field_script_context.h"
#include "field_system.h"
#include "inlines.h"
#include "item.h"
#include "map_header_util.h"
#include "message.h"
#include "party.h"
#include "pc_boxes.h"
#include "pokemon.h"
#include "ribbon.h"
#include "save_player.h"
#include "savedata_misc.h"
#include "script_manager.h"
#include "string_gf.h"
#include "string_template.h"
#include "system_vars.h"
#include "trainer_info.h"
#include "unk_0205DFC4.h"
#include "vars_flags.h"
static String *GetSpeciesNameString(u16 speciesId, enum HeapID heapID);
BOOL ScrCmd_BufferStatName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u8 stat = ScriptContext_GetVar(ctx);
StringTemplate_SetPokemonStatName(*strTemplate, templateArg, stat);
return FALSE;
}
BOOL ScrCmd_BufferPlayerName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
StringTemplate_SetPlayerName(*strTemplate, templateArg, SaveData_GetTrainerInfo(FieldSystem_GetSaveData(fieldSystem)));
return FALSE;
}
BOOL ScrCmd_BufferRivalName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
StringTemplate_SetRivalName(*strTemplate, templateArg, fieldSystem->saveData);
return FALSE;
}
BOOL ScrCmd_BufferCounterpartName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
StringTemplate_SetCounterpartName(*strTemplate, templateArg, fieldSystem->saveData);
return FALSE;
}
BOOL ScrCmd_BufferPartyMonSpecies(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 partySlot = ScriptContext_GetVar(ctx);
Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), partySlot);
StringTemplate_SetSpeciesName(*strTemplate, templateArg, (BoxPokemon *)mon);
return FALSE;
}
BOOL ScrCmd_BufferTypeName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 type = ScriptContext_GetVar(ctx);
StringTemplate_SetPokemonTypeName(*strTemplate, templateArg, type);
return FALSE;
}
BOOL ScrCmd_BufferItemName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 item = ScriptContext_GetVar(ctx);
StringTemplate_SetItemName(*strTemplate, templateArg, item);
return FALSE;
}
BOOL ScrCmd_BufferPocketName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 pocket = ScriptContext_GetVar(ctx);
StringTemplate_SetBagPocketName(*strTemplate, templateArg, pocket);
return FALSE;
}
BOOL ScrCmd_BufferTMHMMoveName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 item = ScriptContext_GetVar(ctx);
u16 move = Item_MoveForTMHM(item);
StringTemplate_SetMoveName(*strTemplate, templateArg, move);
return FALSE;
}
BOOL ScrCmd_BufferMoveName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 move = ScriptContext_GetVar(ctx);
StringTemplate_SetMoveName(*strTemplate, templateArg, move);
return FALSE;
}
BOOL ScrCmd_BufferNumber(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 number = ScriptContext_GetVar(ctx);
StringTemplate_SetNumber(*strTemplate, templateArg, number, GetNumberDigitCount(number), PADDING_MODE_SPACES, CHARSET_MODE_EN);
return FALSE;
}
BOOL ScrCmd_BufferVarPaddingDigits(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 value = ScriptContext_GetVar(ctx);
u8 paddingMode = ScriptContext_ReadByte(ctx);
u8 maxDigits = ScriptContext_ReadByte(ctx);
if (paddingMode == PADDING_MODE_NONE) {
maxDigits = GetNumberDigitCount(value);
}
StringTemplate_SetNumber(*strTemplate, templateArg, value, maxDigits, paddingMode, CHARSET_MODE_EN);
return FALSE;
}
BOOL ScrCmd_BufferValuePaddingDigits(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u32 value = ScriptContext_ReadWord(ctx);
u8 paddingMode = ScriptContext_ReadByte(ctx);
u8 maxDigits = ScriptContext_ReadByte(ctx);
if (paddingMode == PADDING_MODE_NONE) {
maxDigits = GetNumberDigitCount(value);
}
StringTemplate_SetNumber(*strTemplate, templateArg, value, maxDigits, paddingMode, CHARSET_MODE_EN);
return FALSE;
}
BOOL ScrCmd_BufferPartyMonNickname(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 partySlot = ScriptContext_GetVar(ctx);
Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), partySlot);
StringTemplate_SetNickname(*strTemplate, templateArg, (BoxPokemon *)mon);
return FALSE;
}
BOOL ScrCmd_BufferMonNicknameFromPC(ScriptContext *ctx)
{
BoxPokemon *boxMon;
FieldSystem *fieldSystem = ctx->fieldSystem;
PCBoxes *pcBoxes = SaveData_GetPCBoxes(fieldSystem->saveData);
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 boxSlotIndex = ScriptContext_GetVar(ctx);
u32 slot = boxSlotIndex % MAX_MONS_PER_BOX;
u32 boxID = boxSlotIndex / MAX_MONS_PER_BOX;
boxMon = PCBoxes_GetBoxMonAt(pcBoxes, boxID, slot);
StringTemplate_SetNickname(*strTemplate, templateArg, boxMon);
return FALSE;
}
BOOL ScrCmd_BufferPoketchAppName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 appID = ScriptContext_GetVar(ctx);
StringTemplate_SetPoketchAppName(*strTemplate, templateArg, appID);
return FALSE;
}
BOOL ScrCmd_BufferTrainerClassName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 trainerClass = ScriptContext_GetVar(ctx);
StringTemplate_SetTrainerClassName(*strTemplate, templateArg, trainerClass);
return FALSE;
}
BOOL ScrCmd_BufferTrainerClassFromAppearance(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
TrainerInfo *trainerInfo = SaveData_GetTrainerInfo(FieldSystem_GetSaveData(ctx->fieldSystem));
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
int trainerClass = Appearance_GetData(TrainerInfo_Gender(trainerInfo), TrainerInfo_Appearance(trainerInfo), APPEARANCE_DATA_TRAINER_CLASS_1);
StringTemplate_SetTrainerClassNameWithArticle(*strTemplate, templateArg, trainerClass);
return FALSE;
}
BOOL ScrCmd_BufferSpeciesNameFromVar(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **template = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 bufferId = ScriptContext_ReadByte(ctx);
u16 species = ScriptContext_GetVar(ctx);
u16 unused1 = ScriptContext_ReadHalfWord(ctx);
u8 unused2 = ScriptContext_ReadByte(ctx);
String *buffer = GetSpeciesNameString(species, HEAP_ID_FIELD1);
StringTemplate_SetString(*template, bufferId, buffer, unused1, unused2, GAME_LANGUAGE);
String_Free(buffer);
return FALSE;
}
static String *GetSpeciesNameString(u16 speciesId, enum HeapID heapID)
{
MessageLoader *speciesNames = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_SPECIES_NAME, heapID);
String *buffer = MessageLoader_GetNewString(speciesNames, speciesId);
MessageLoader_Free(speciesNames);
return buffer;
}
BOOL ScrCmd_BufferPlayerStarterSpeciesName(ScriptContext *ctx)
{
StringTemplate **stringTemplate = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 species = SystemVars_GetPlayerStarter(SaveData_GetVarsFlags(ctx->fieldSystem->saveData));
String *speciesName = GetSpeciesNameString(species, HEAP_ID_FIELD1);
StringTemplate_SetString(*stringTemplate, templateArg, speciesName, 0, 1, GAME_LANGUAGE);
String_Free(speciesName);
return FALSE;
}
BOOL ScrCmd_BufferRivalStarterSpeciesName(ScriptContext *ctx)
{
StringTemplate **stringTemplate = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 species = SystemVars_GetRivalStarter(SaveData_GetVarsFlags(ctx->fieldSystem->saveData));
String *speciesName = GetSpeciesNameString(species, HEAP_ID_FIELD1);
StringTemplate_SetString(*stringTemplate, templateArg, speciesName, 0, 1, GAME_LANGUAGE);
String_Free(speciesName);
return FALSE;
}
BOOL ScrCmd_BufferPlayerCounterpartStarterSpeciesName(ScriptContext *ctx)
{
StringTemplate **stringTemplate = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 species = SystemVars_GetPlayerCounterpartStarter(SaveData_GetVarsFlags(ctx->fieldSystem->saveData));
String *speciesName = GetSpeciesNameString(species, HEAP_ID_FIELD1);
StringTemplate_SetString(*stringTemplate, templateArg, speciesName, 0, 1, GAME_LANGUAGE);
String_Free(speciesName);
return FALSE;
}
BOOL ScrCmd_BufferUndergroundGoodsName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 goods = ScriptContext_GetVar(ctx);
StringTemplate_SetUndergroundGoodsName(*strTemplate, templateArg, goods);
return FALSE;
}
BOOL ScrCmd_BufferUndergroundTrapName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 trap = ScriptContext_GetVar(ctx);
StringTemplate_SetUndergroundTrapName(*strTemplate, templateArg, trap);
return FALSE;
}
BOOL ScrCmd_BufferUndergroundItemName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 item = ScriptContext_GetVar(ctx);
StringTemplate_SetUndergroundItemName(*strTemplate, templateArg, item);
return FALSE;
}
BOOL ScrCmd_BufferMapName(ScriptContext *ctx)
{
String *mapName = String_Init(22, HEAP_ID_FIELD1);
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 mapHeaderID = ScriptContext_GetVar(ctx);
MapHeader_LoadName(mapHeaderID, HEAP_ID_FIELD1, mapName);
StringTemplate_SetString(*strTemplate, templateArg, mapName, 0, 1, GAME_LANGUAGE);
String_Free(mapName);
return FALSE;
}
BOOL ScrCmd_BufferBerryName(ScriptContext *ctx)
{
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 item = ScriptContext_GetVar(ctx);
u16 unused = ScriptContext_GetVar(ctx);
String *berryName = BerryData_AllocAndGetName(item - FIRST_BERRY_IDX, HEAP_ID_FIELD3);
StringTemplate_SetString(*strTemplate, templateArg, berryName, 0, (unused < 2 ? 1 : 0), GAME_LANGUAGE);
String_Free(berryName);
return FALSE;
}
BOOL ScrCmd_BufferNatureName(ScriptContext *ctx)
{
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 nature = ScriptContext_GetVar(ctx);
StringTemplate_SetNatureName(*strTemplate, templateArg, nature);
return FALSE;
}
BOOL ScrCmd_BufferAccessoryName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 accessory = ScriptContext_GetVar(ctx);
StringTemplate_SetContestAccessoryName(*strTemplate, templateArg, accessory);
return FALSE;
}
BOOL ScrCmd_BufferTabletName(ScriptContext *ctx)
{
String *tabletName;
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
tabletName = String_Init(11, HEAP_ID_FIELD2);
String_CopyChars(tabletName, MiscSaveBlock_TabletName(SaveData_MiscSaveBlock(ctx->fieldSystem->saveData)));
StringTemplate_SetString(*strTemplate, templateArg, tabletName, 0, 0, gGameLanguage);
String_Free(tabletName);
return FALSE;
}
BOOL ScrCmd_BufferPartyMoveName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 partySlot = ScriptContext_GetVar(ctx);
u16 moveSlot = ScriptContext_GetVar(ctx);
Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), partySlot);
u16 move = Pokemon_GetValue(mon, MON_DATA_MOVE1 + moveSlot, NULL);
StringTemplate_SetMoveName(*strTemplate, templateArg, move);
return FALSE;
}
BOOL ScrCmd_BufferRibbonName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 ribbon = ScriptContext_GetVar(ctx);
u16 ribbonNameID = Ribbon_GetData(ribbon, RIBBON_DATA_NAME_ID);
StringTemplate_SetRibbonName(*strTemplate, templateArg, ribbonNameID);
return FALSE;
}
BOOL ScrCmd_BufferBallSealName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 ballSeal = ScriptContext_GetVar(ctx);
ballSeal -= 1;
StringTemplate_SetBallSealName(*strTemplate, templateArg, ballSeal);
return FALSE;
}
BOOL ScrCmd_BufferTrainerName(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 trainerID = ScriptContext_GetVar(ctx);
StringTemplate_SetTrainerName(*strTemplate, templateArg, trainerID);
return FALSE;
}
BOOL ScrCmd_BufferItemNameWithArticle(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 item = ScriptContext_GetVar(ctx);
StringTemplate_SetItemNameWithArticle(*strTemplate, templateArg, item);
return FALSE;
}
BOOL ScrCmd_BufferItemNamePlural(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 item = ScriptContext_GetVar(ctx);
StringTemplate_SetItemNamePlural(*strTemplate, templateArg, item);
return FALSE;
}
BOOL ScrCmd_BufferUndergroundGoodsNameWithArticle(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 goods = ScriptContext_GetVar(ctx);
StringTemplate_SetUndergroundGoodsNameWithArticle(*strTemplate, templateArg, goods);
return FALSE;
}
BOOL ScrCmd_BufferUndergroundTrapNameWithArticle(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 trap = ScriptContext_GetVar(ctx);
StringTemplate_SetUndergroundTrapNameWithArticle(*strTemplate, templateArg, trap);
return FALSE;
}
BOOL ScrCmd_BufferUndergroundItemNameWithArticle(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 item = ScriptContext_GetVar(ctx);
StringTemplate_SetUndergroundItemNameWithArticle(*strTemplate, templateArg, item);
return FALSE;
}
BOOL ScrCmd_BufferSpeciesNameWithArticle(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 species = ScriptContext_GetVar(ctx);
u16 unused1 = ScriptContext_ReadHalfWord(ctx);
u8 unused2 = ScriptContext_ReadByte(ctx);
StringTemplate_SetSpeciesNameWithArticleByID(*strTemplate, templateArg, species);
return FALSE;
}
BOOL ScrCmd_BufferPlayerCounterpartStarterSpeciesNameWithArticle(ScriptContext *ctx)
{
StringTemplate **stringTemplate = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 species = SystemVars_GetPlayerCounterpartStarter(SaveData_GetVarsFlags(ctx->fieldSystem->saveData));
StringTemplate_SetSpeciesNameWithArticleByID(*stringTemplate, templateArg, species);
return FALSE;
}
BOOL ScrCmd_BufferAccessoryNameWithArticle(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 accessory = ScriptContext_GetVar(ctx);
StringTemplate_SetContestAccessoryNameWithArticle(*strTemplate, templateArg, accessory);
return FALSE;
}
BOOL ScrCmd_BufferTrainerClassNameWithArticle(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 trainerClass = ScriptContext_GetVar(ctx);
StringTemplate_SetTrainerClassNameWithArticle(*strTemplate, templateArg, trainerClass);
return FALSE;
}
BOOL ScrCmd_BufferBallSealNamePlural(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u16 ballSeal = ScriptContext_GetVar(ctx);
ballSeal -= 1;
StringTemplate_SetBallSealNamePlural(*strTemplate, templateArg, ballSeal);
return FALSE;
}
BOOL ScrCmd_CapitalizeFirstLetter(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
StringTemplate_CapitalizeArgAtIndex(*strTemplate, templateArg);
return FALSE;
}
BOOL ScrCmd_BufferFloorNumber(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 templateArg = ScriptContext_ReadByte(ctx);
u8 floor = ScriptContext_ReadByte(ctx);
StringTemplate_SetFloorNumber(*strTemplate, templateArg, floor);
return FALSE;
}