Decomped NATURAL_GIFT_ITEM_TABLE

This commit is contained in:
AnonymousRandomPerson 2025-09-13 23:24:56 -04:00
parent 5ac6df3116
commit e7f69ec215
10 changed files with 6595 additions and 6552 deletions

View File

@ -1,140 +1,10 @@
#pragma once
.public DoMoveAbsorb
.public DoMoveAttract
.public DoMoveBeatUp
.public DoMoveBlastBurn
.public DoMoveBlazeKick
.public DoMoveBlock
.public DoMoveBlowback
.public DoMoveBrickBreak
.public DoMoveBrine
.public DoMoveCaptivate
.public DoMoveChargeBeam
.public DoMoveCharm
.public DoMoveCloseCombat
.public DoMoveConfuse
.public DoMoveCopycat
.public DoMoveCrunch
.public DoMoveCrushClaw
.public DoMoveCurse
.public DoMoveDamage__02325DC0
.public DoMoveDamage__0232A500
.public DoMoveDamage__0232B8B0
.public DoMoveDamage__0232DD88
.public DoMoveDamageBoostAllStats
.public DoMoveDamageBurn10FlameWheel
.public DoMoveDamageConfuse10
.public DoMoveDamageConfuse30
.public DoMoveDamageConstrict10
.public DoMoveDamageCringe10
.public DoMoveDamageCringe20
.public DoMoveDamageCringe30
.public DoMoveDamageDrain
.public DoMoveDamageEatItem
.public DoMoveDamageFreeze15
.public DoMoveDamageHpDependent
.public DoMoveDamageInlined
.public DoMoveDamageLowerAccuracy40
.public DoMoveDamageLowerSpecialDefense50
.public DoMoveDamageLowerSpeed100
.public DoMoveDamageLowerSpeed20
.public DoMoveDamageMultihitFatigue
.public DoMoveDamageParalyze10
.public DoMoveDamageParalyze20
.public DoMoveDamagePoison18
.public DoMoveDamagePoison40
.public DoMoveDamageStealItem
.public DoMoveDamageWeightDependent
.public DoMoveDamageWithRecoil
.public DoMoveDefog
.public DoMoveDestinyBond
.public DoMoveDoubleEdge
.public DoMoveDragonRage
.public DoMoveDreamEater
.public DoMoveDynamicPunch
.public DoMoveDamage__02325DC0
.public DoMoveEarthquake
.public DoMoveEmbargo
.public DoMoveEncore
.public DoMoveEndeavor
.public DoMoveEruption
.public DoMoveFacade
.public DoMoveFakeOut
.public DoMoveFakeTears
.public DoMoveFeatherDance
.public DoMoveFeint
.public DoMoveFireFang
.public DoMoveFissure
.public DoMoveFlareBlitz
.public DoMoveFlatter
.public DoMoveFrustration
.public DoMoveGastroAcid
.public DoMoveGuardSwap
.public DoMoveGust
.public DoMoveGyroBall
.public DoMoveHammerArm
.public DoMoveHeadbutt
.public DoMoveHeadSmash
.public DoMoveHeartSwap
.public DoMoveHiddenPower
.public DoMoveHornDrill
.public DoMoveHurl
.public DoMoveIceFang
.public DoMoveIronTail
.public DoMoveKnockOff
.public DoMoveLastResort
.public DoMoveLeechSeed
.public DoMoveLowerAccuracy1
.public DoMoveLowerDefense1
.public DoMoveLowerSpeed1
.public DoMoveMagnitude
.public DoMoveMetalSound
.public DoMoveMiracleEye
.public DoMoveMistBall
.public DoMoveMudSlap
.public DoMoveNaturalGift
.public DoMoveNightmare
.public DoMoveOhko
.public DoMovePainSplit
.public DoMoveParalyze__02326E80
.public DoMoveParalyze__02328230
.public DoMoveParalyze__0232B434
.public DoMovePause
.public DoMovePayDay
.public DoMovePoison
.public DoMovePoisonFang
.public DoMovePoisonTail
.public DoMovePowerSwap
.public DoMovePresent
.public DoMovePsychoShift
.public DoMoveRapidSpin
.public DoMoveReturn
.public DoMoveReversal
.public DoMoveRolePlay
.public DoMoveSacredFire
.public DoMoveSecretPower
.public DoMoveSeismicToss
.public DoMoveSkillSwap
.public DoMoveSmellingSalt
.public DoMoveSmokescreen
.public DoMoveSpite
.public DoMoveSuperFang
.public DoMoveSuperpower
.public DoMoveSwagger
.public DoMoveSwapItems
.public DoMoveTaunt
.public DoMoveThunderFang
.public DoMoveThundershock
.public DoMoveThunderWave
.public DoMoveTickle
.public DoMoveTorment
.public DoMoveToxic
.public DoMoveTriAttack
.public DoMoveTripleKick
.public DoMoveTrumpCard
.public DoMoveTwineedle
.public DoMoveTwister
.public DoMoveWakeUpSlap
.public DoMoveWhirlpool
.public DoMoveWillOWisp
.public DoMoveWrap
.public DoMoveYawn

View File

@ -0,0 +1,136 @@
#pragma once
.public DoMoveAbsorb
.public DoMoveAttract
.public DoMoveBeatUp
.public DoMoveBlastBurn
.public DoMoveBlazeKick
.public DoMoveBlock
.public DoMoveBlowback
.public DoMoveBrickBreak
.public DoMoveBrine
.public DoMoveCaptivate
.public DoMoveChargeBeam
.public DoMoveCharm
.public DoMoveCloseCombat
.public DoMoveConfuse
.public DoMoveCopycat
.public DoMoveCrunch
.public DoMoveCrushClaw
.public DoMoveCurse
.public DoMoveDamageBoostAllStats
.public DoMoveDamageBurn10FlameWheel
.public DoMoveDamageConfuse10
.public DoMoveDamageConfuse30
.public DoMoveDamageConstrict10
.public DoMoveDamageCringe10
.public DoMoveDamageCringe20
.public DoMoveDamageCringe30
.public DoMoveDamageDrain
.public DoMoveDamageEatItem
.public DoMoveDamageHpDependent
.public DoMoveDamageLowerAccuracy40
.public DoMoveDamageLowerSpecialDefense50
.public DoMoveDamageLowerSpeed100
.public DoMoveDamageLowerSpeed20
.public DoMoveDamageMultihitFatigue
.public DoMoveDamageParalyze10
.public DoMoveDamageParalyze20
.public DoMoveDamagePoison18
.public DoMoveDamagePoison40
.public DoMoveDamageStealItem
.public DoMoveDamageWeightDependent
.public DoMoveDamageWithRecoil
.public DoMoveDamage__02325DC0
.public DoMoveDamage__0232A500
.public DoMoveDamage__0232B8B0
.public DoMoveDamage__0232DD88
.public DoMoveDefog
.public DoMoveDestinyBond
.public DoMoveDoubleEdge
.public DoMoveDragonRage
.public DoMoveDreamEater
.public DoMoveDynamicPunch
.public DoMoveEmbargo
.public DoMoveEncore
.public DoMoveEndeavor
.public DoMoveEruption
.public DoMoveFacade
.public DoMoveFakeOut
.public DoMoveFakeTears
.public DoMoveFeatherDance
.public DoMoveFeint
.public DoMoveFireFang
.public DoMoveFissure
.public DoMoveFlareBlitz
.public DoMoveFlatter
.public DoMoveFrustration
.public DoMoveGastroAcid
.public DoMoveGuardSwap
.public DoMoveGust
.public DoMoveGyroBall
.public DoMoveHammerArm
.public DoMoveHeadSmash
.public DoMoveHeadbutt
.public DoMoveHeartSwap
.public DoMoveHiddenPower
.public DoMoveHornDrill
.public DoMoveHurl
.public DoMoveIceFang
.public DoMoveIronTail
.public DoMoveKnockOff
.public DoMoveLastResort
.public DoMoveLeechSeed
.public DoMoveLowerAccuracy1
.public DoMoveLowerDefense1
.public DoMoveLowerSpeed1
.public DoMoveMagnitude
.public DoMoveMetalSound
.public DoMoveMiracleEye
.public DoMoveMistBall
.public DoMoveMudSlap
.public DoMoveNaturalGift
.public DoMoveNightmare
.public DoMoveOhko
.public DoMovePainSplit
.public DoMoveParalyze__02326E80
.public DoMoveParalyze__0232B434
.public DoMovePause
.public DoMovePayDay
.public DoMovePoison
.public DoMovePoisonFang
.public DoMovePoisonTail
.public DoMovePowerSwap
.public DoMovePresent
.public DoMovePsychoShift
.public DoMoveRapidSpin
.public DoMoveReturn
.public DoMoveReversal
.public DoMoveRolePlay
.public DoMoveSacredFire
.public DoMoveSecretPower
.public DoMoveSeismicToss
.public DoMoveSkillSwap
.public DoMoveSmellingSalt
.public DoMoveSmokescreen
.public DoMoveSpite
.public DoMoveSuperFang
.public DoMoveSuperpower
.public DoMoveSwagger
.public DoMoveSwapItems
.public DoMoveTaunt
.public DoMoveThunderFang
.public DoMoveThunderWave
.public DoMoveThundershock
.public DoMoveTickle
.public DoMoveTorment
.public DoMoveToxic
.public DoMoveTriAttack
.public DoMoveTripleKick
.public DoMoveTrumpCard
.public DoMoveTwineedle
.public DoMoveTwister
.public DoMoveWakeUpSlap
.public DoMoveWhirlpool
.public DoMoveWillOWisp
.public DoMoveWrap
.public DoMoveYawn

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -3,15 +3,6 @@
#include "dungeon_mode.h"
struct natural_gift_item_info
{
enum item_id item_id;
enum type_id type_id;
// This value is the boost that's added to Natural Gift's default base power of 1
// during damage calculation
s16 base_power_boost;
};
struct natural_gift_item_info* GetEntityNaturalGiftInfo(struct entity* entity);
const struct natural_gift_item_info* GetEntityNaturalGiftInfo(struct entity* entity);
#endif //PMDSKY_NATURAL_GIFT_H

View File

@ -0,0 +1,18 @@
#ifndef PMDSKY_NATURAL_GIFT_DATA_H
#define PMDSKY_NATURAL_GIFT_DATA_H
#include "enums.h"
#include "item.h"
struct natural_gift_item_info
{
enum item_id item_id;
enum type_id type_id;
// This value is the boost that's added to Natural Gift's default base power of 1
// during damage calculation
s16 base_power_boost;
};
extern const struct natural_gift_item_info NATURAL_GIFT_ITEM_TABLE[34];
#endif //PMDSKY_NATURAL_GIFT_DATA_H

View File

@ -205,6 +205,8 @@ Overlay OVY_10
Object asm/overlay_10_rodata_022C464C.o
Object src/dungeon_ai_parameters.o
Object asm/overlay_10_rodata_022C490C.o
Object src/natural_gift_data.o
Object asm/overlay_10_rodata_022C593C.o
}
Overlay OVY_11
{

View File

@ -3,6 +3,7 @@
#include "dungeon_util_static.h"
#include "main_02014CEC.h"
#include "natural_gift.h"
#include "natural_gift_data.h"
#include "overlay_29_023000E4.h"
extern enum type_id GetEntityWeatherBallType(struct entity* entity);
@ -18,7 +19,7 @@ enum type_id GetMoveTypeForMonster(struct entity *entity, struct move *move)
if (move->id == MOVE_NATURAL_GIFT)
{
struct natural_gift_item_info *natural_gift_info = GetEntityNaturalGiftInfo(entity);
const struct natural_gift_item_info *natural_gift_info = GetEntityNaturalGiftInfo(entity);
if (natural_gift_info != NULL)
return natural_gift_info->type_id;
}

View File

@ -1,10 +1,9 @@
#include "natural_gift.h"
#include "dungeon_util_static.h"
#include "natural_gift_data.h"
#include "overlay_29_0231A9D4.h"
extern struct natural_gift_item_info NATURAL_GIFT_ITEM_TABLE[34];
struct natural_gift_item_info* GetEntityNaturalGiftInfo(struct entity* entity)
const struct natural_gift_item_info* GetEntityNaturalGiftInfo(struct entity* entity)
{
if (IsMonster__0231A9D4(entity)) {
struct monster *monster = GetEntInfo(entity);

38
src/natural_gift_data.c Normal file
View File

@ -0,0 +1,38 @@
#include "natural_gift_data.h"
const struct natural_gift_item_info NATURAL_GIFT_ITEM_TABLE[34] = {
{ ITEM_HEAL_SEED, TYPE_GRASS, 1 },
{ ITEM_ORAN_BERRY, TYPE_POISON, 1 },
{ ITEM_SITRUS_BERRY, TYPE_PSYCHIC, 3 },
{ ITEM_EYEDROP_SEED, TYPE_GHOST, 2 },
{ ITEM_REVIVER_SEED, TYPE_GROUND, 1 },
{ ITEM_BLINKER_SEED, TYPE_DARK, 2 },
{ ITEM_DOOM_SEED, TYPE_STEEL, 1 },
{ ITEM_X_EYE_SEED, TYPE_DARK, 2 },
{ ITEM_LIFE_SEED, TYPE_FIGHTING, 3 },
{ ITEM_RAWST_BERRY, TYPE_GRASS, 2 },
{ ITEM_HUNGER_SEED, TYPE_ROCK, 5 },
{ ITEM_QUICK_SEED, TYPE_FLYING, 2 },
{ ITEM_PECHA_BERRY, TYPE_ELECTRIC, 2 },
{ ITEM_CHERI_BERRY, TYPE_FIRE, 2 },
{ ITEM_TOTTER_SEED, TYPE_GHOST, 2 },
{ ITEM_SLEEP_SEED, TYPE_ICE, 2 },
{ ITEM_PLAIN_SEED, TYPE_NORMAL, 15 },
{ ITEM_WARP_SEED, TYPE_PSYCHIC, 2 },
{ ITEM_BLAST_SEED, TYPE_DRAGON, 5 },
{ ITEM_JOY_SEED, TYPE_NORMAL, 3 },
{ ITEM_CHESTO_BERRY, TYPE_WATER, 2 },
{ ITEM_STUN_SEED, TYPE_BUG, 2 },
{ ITEM_GOLDEN_SEED, TYPE_DRAGON, 10 },
{ ITEM_VILE_SEED, TYPE_POISON, 5 },
{ ITEM_PURE_SEED, TYPE_WATER, 5 },
{ ITEM_VIOLENT_SEED, TYPE_FIGHTING, 5 },
{ ITEM_VANISH_SEED, TYPE_BUG, 5 },
{ ITEM_DROPEYE_SEED, TYPE_GHOST, 2 },
{ ITEM_REVISER_SEED, TYPE_GROUND, 10 },
{ ITEM_SLIP_SEED, TYPE_ICE, 2 },
{ ITEM_VIA_SEED, TYPE_POISON, 2 },
{ ITEM_OREN_BERRY, TYPE_POISON, 5 },
{ ITEM_DOUGH_SEED, TYPE_STEEL, 1 },
{ ITEM_NOTHING, TYPE_NONE, 0 }
};