summaryrefslogtreecommitdiff
path: root/arm9/src/scrcmd_18_c.c
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-08-27 16:21:24 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-08-27 16:21:24 -0400
commite4ddc167504a65fabbeb77d9db6e4241b92b2a54 (patch)
tree87b2629fc0ffa1f3c4b93375cda96ef167f27675 /arm9/src/scrcmd_18_c.c
parent326934766a59d838c7313d2b9445ae548b1f7907 (diff)
parent186aa237dd5d843d119a3e0e1d404fe031f89dcf (diff)
Merge branch 'master' of github.com:pret/pokediamond into pikalax_work
Diffstat (limited to 'arm9/src/scrcmd_18_c.c')
-rw-r--r--arm9/src/scrcmd_18_c.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/arm9/src/scrcmd_18_c.c b/arm9/src/scrcmd_18_c.c
new file mode 100644
index 00000000..d2753587
--- /dev/null
+++ b/arm9/src/scrcmd_18_c.c
@@ -0,0 +1,23 @@
+#include "global.h"
+#include "script.h"
+#include "party.h"
+#include "save_block_2.h"
+#include "unk_0204639C.h"
+#include "map_header.h"
+
+extern u16 VarGet(struct UnkStruct_0204639C* arg, u16 wk);
+extern u16 *GetVarPointer(struct UnkStruct_0204639C* arg, u16);
+extern BOOL GiveMon(u32 heap_id, struct SaveBlock2 * sav2, u16 species, u8 level, u16 item, u32 mapSec, u8 encounterType);
+
+THUMB_FUNC BOOL ScrCmd_givemon(struct ScriptContext* ctx)
+{
+ u32 mapSec = FUN_02034824(*(ctx->unk80->unk1C));
+ struct UnkStruct_0204639C *savePtr = ctx->unk80;
+ u16 species = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
+ u16 level = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
+ u16 item = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
+ u16 * varPtr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
+ struct PlayerParty * party = SavArray_PlayerParty_get((struct SaveBlock2 *) savePtr->unkC);
+ *varPtr = GiveMon(11, (struct SaveBlock2 *) savePtr->unkC, species, level, item, mapSec, 12);
+ return FALSE;
+}