mirror of
https://github.com/pret/pmd-sky.git
synced 2026-10-01 22:57:58 -05:00
DoMoveTag0x1AB, DoMoveDoubleTeam, DoMoveMinimize, DoMoveAmnesia, DoMoveBoostAttack1, DoMoveBoostDefense1, DoMoveBoostDefense2, DoMoveDefenseCurl, DoMoveGrowth and DoMoveFamish. Eight forward to BoostOffensiveStat / BoostDefensiveStat / BoostHitChanceStat with ATK_STAT_IDX or SPATK_STAT_IDX and a stage count. These take struct StatIndex by value, per move_orb_effects.h, which is why the asm loads the global's word into r2. src/overlay_29_0232E250.c declared those globals as s32 and BoostDefensiveStat with an (s32, s16) tail, both contradicting move_orb_effects.h. Since the two declarations lived in different translation units the compiler never saw the disagreement and the ROM still matched. Replaced with an include of the canonical header; DoMoveDefendOrder is unchanged and still matches. Authored by Claude (Opus 5) under human direction. All ten matched on the first candidate once the canonical StatIndex signature was used. Confirmed by a matching build: build/pmdsky.us/pmdsky.us.nds: OK. None carries a region conditional, so US alone is sufficient. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
12 lines
369 B
C
12 lines
369 B
C
#ifndef PMDSKY_OVERLAY_29_0232CF74_H
|
|
#define PMDSKY_OVERLAY_29_0232CF74_H
|
|
|
|
#include "dungeon_mode.h"
|
|
#include "item.h"
|
|
#include "move.h"
|
|
|
|
bool8 DoMoveFamish(struct entity* attacker, struct entity* defender, struct move* move, enum item_id item_id);
|
|
bool8 DoMoveOneRoom(struct entity* attacker, struct entity* defender, struct move* move, enum item_id item_id);
|
|
|
|
#endif
|