GithubHelp home page GithubHelp logo

dizzyeggg / pokeemerald Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pret/pokeemerald

67.0 16.0 81.0 286.64 MB

disassembly of Pokémon Emerald

Makefile 0.36% Assembly 20.66% C 75.27% Shell 0.01% C++ 3.69% PowerShell 0.01%

pokeemerald's Introduction

Pokémon Emerald

This is a decompilation of Pokémon Emerald.

It builds the following ROM:

To set up the repository, see INSTALL.md.

See also

Other disassembly and/or decompilation projects:

Contacts

You can find us on Discord and IRC.

pokeemerald's People

Contributors

abaresk avatar asparaguseduardo avatar atasro2 avatar camthesaxman avatar cbt6 avatar deokishisu avatar diegoisawesome avatar dizzyeggg avatar garakmon avatar golemgalvanize avatar griffinrichards avatar huderlem avatar itskobold avatar jiangzhengwenjz avatar kermalis avatar kurausukun avatar louroboros avatar luckytyphlosion avatar melthelesbian avatar phlosioneer avatar pikalaxalt avatar revosucks avatar scnorton avatar sewef avatar sierraffinity avatar slawter666 avatar sphericalice avatar tustin2121 avatar ultima-soul avatar yenatch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pokeemerald's Issues

Assist Freezes the Game

Sometimes when using Assist, the game will softlock before it is able to choose a move (the game hangs on "(Pokemon) used ASSIST!" with the music playing and nothing happens beyond that).

Juan's Text Softlocks the Game

After you have defeated Juan, his text starts appearing in a slow auto-scroll way that takes button input away from the player. This does not advance past his last line, and thus you are softlocked and unable to exit the battle when this happens, making Juan impossible to get past.

Ability SAND STREAM uses incorrect effect

Tyranitar's Sand Stream is saying it "made it rain" and showing the rainy weather animation.
However, the next turn, it shows the proper graphics and text for Sandstorm. I only noticed it with tyranitar, but there might be others that have the same issue. Most likely caused by the fact that the source of it is a pokemon's ability rather than move.

Items to do

ITEM_SWEET_HEART
ITEM_BIG_MALASADA
ITEM_OLD_GATEAU
ITEM_X_SP_DEF
ITEM_ABILITY_CAPSULE
ITEM_DAWN_STONE
ITEM_DUSK_STONE
ITEM_SHINY_STONE
ITEM_ICE_STONE
ITEM_RED_APRICORN
ITEM_BLUE_APRICORN
ITEM_YELLOW_APRICORN
ITEM_GREEN_APRICORN
ITEM_PINK_APRICORN
ITEM_WHITE_APRICORN
ITEM_BLACK_APRICORN
ITEM_RED_NECTAR
ITEM_YELLOW_NECTAR
ITEM_PINK_NECTAR
ITEM_PURPLE_NECTAR
ITEM_RARE_BONE
ITEM_OCCA_BERRY
ITEM_PASSHO_BERRY
ITEM_WACAN_BERRY
ITEM_RINDO_BERRY
ITEM_YACHE_BERRY
ITEM_CHOPLE_BERRY
ITEM_KEBIA_BERRY
ITEM_SHUCA_BERRY
ITEM_COBA_BERRY
ITEM_PAYAPA_BERRY
ITEM_TANGA_BERRY
ITEM_CHARTI_BERRY
ITEM_KASIB_BERRY
ITEM_HABAN_BERRY
ITEM_COLBUR_BERRY
ITEM_BABIRI_BERRY
ITEM_CHILAN_BERRY
ITEM_MICLE_BERRY
ITEM_CUSTAP_BERRY
ITEM_JABOCA_BERRY
ITEM_ROWAP_BERRY
ITEM_ROSELI_BERRY
ITEM_KEE_BERRY
ITEM_MARANGA_BERRY
ITEM_OVAL_STONE
ITEM_PROTECTOR
ITEM_ELECTIRIZER
ITEM_MAGMARIZER
ITEM_DUBIOUS_DISC
ITEM_REAPER_CLOTH
ITEM_RAZOR_CLAW
ITEM_RAZOR_FANG
ITEM_PRISM_SCALE
ITEM_WHIPPED_DREAM
ITEM_SACHET
ITEM_POWER_BRACER
ITEM_POWER_BELT
ITEM_POWER_LENS
ITEM_POWER_BAND
ITEM_POWER_ANKLET
ITEM_POWER_WEIGHT
ITEM_ROCKY_HELMET
ITEM_AIR_BALLOON
ITEM_RED_CARD
ITEM_RING_TARGET
ITEM_EJECT_BUTTON
ITEM_ABSORB_BULB
ITEM_CELL_BATTERY
ITEM_LUMINOUS_MOSS
ITEM_SNOWBALL
ITEM_WEAKNESS_POLICY
ITEM_ODD_INCENSE
ITEM_ROCK_INCENSE
ITEM_FULL_INCENSE
ITEM_WAVE_INCENSE
ITEM_ROSE_INCENSE
ITEM_LUCK_INCENSE
ITEM_PURE_INCENSE
ITEM_ODD_KEYSTONE
ITEM_GRACIDEA
ITEM_BUG_MEMORY
ITEM_DARK_MEMORY
ITEM_DRAGON_MEMORY
ITEM_ELECTRIC_MEMORY
ITEM_FAIRY_MEMORY
ITEM_FIGHTING_MEMORY
ITEM_FIRE_MEMORY
ITEM_FLYING_MEMORY
ITEM_GHOST_MEMORY
ITEM_GRASS_MEMORY
ITEM_GROUND_MEMORY
ITEM_ICE_MEMORY
ITEM_POISON_MEMORY
ITEM_PSYCHIC_MEMORY
ITEM_ROCK_MEMORY
ITEM_STEEL_MEMORY
ITEM_WATER_MEMORY
ITEM_ARMOR_FOSSIL
ITEM_SKULL_FOSSIL
ITEM_COVER_FOSSIL
ITEM_PLUME_FOSSIL
ITEM_JAW_FOSSIL
ITEM_SAIL_FOSSIL

And Tms, but this will be done later

Discharge Issue

Discharge works properly when being used from your own side (albeit it hits Pokemon in a weird order), but when an opponent uses it, it will hit its ally and only one of your own Pokemon.

Synchronize + Toxic Causes Issues

If you use Toxic and it gets reflected by an opponent's Synchronize, instead of the opponent's "synchronize" card popping up, YOUR ability card pops up, and whatever string happened to occupy the last string variables gets used instead of the ability; e.g. "{Pokemon} was poisoned by foe {Pokemon's} evasiveness" was an example I got.

Safari Zone Broken

If the fast intro toggle is set to TRUE, all encounters in the Safari Zone softlock the game at the "Wild X Appeared!" message.

EDIT: Never mind, this happens even with the toggle set to FALSE. Safari Zone is completely borked.

Seed Flare has the wrong effect

Because it has EFFECT_SPECIAL_DEFENSE_DOWN_2, it cannot work as the offensive move that it's supposed to be.
I guess someone will have to make a EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2 or something like that, unless there's already a hold effect here that can cover it.

Status moves checking the typechart when missing

Psychic-type status moves will display the message "It doesn't affect X..." when missing against Dark-type targets, even though all status moves except Thunder Wave do not check the typechart

Magnet Rise Text Issue

I haven't investigated whether the effect itself works or not, but when a Pokemon uses Magnet Rise, it immediately prints the "magnetism has worn off" message after the "Pokemon levitated using magnetism" message before the turn even ends.

Need documentation - types table - suggestion

Hi,
¿where is the table of resistainces and etc. of types?
On pret's repo is on src/battle_main.c, around line 343.

Now, suggestion.
Maybe you could manage all systems by it's own on different branches and then have other one to merge all.

Surf Softlock Issue

When using Surf against an opposing team of Seaking and Tentacruel, after the first "It's not very effective" message appears, the text disappears and the game is softlocked. I haven't tested other similar situations to this, so I'm not sure exactly what triggers it.

Flash Cannon's Effect is Incorrect

Currently, Flash Cannon lowers special defense by two stages; Flash Cannon is supposed to hit with a secondary effect of having a chance of lowering special defense by one stage.

Taunt issues

Taunt does not work correctly. The duration is only 2 turns when it should be 4, and there is no expiry message.

Quick Guard effect text is off.

If your opponents use Quick Guard, it still says "Protected your team" Should probably, instead, say "Protected its team"

Embargo Uses Incorrect Text

I'm not sure if this is just because it hasn't been coded yet, but Embargo uses Odor Sleuth's "(Pokemon) identified (other Pokemon)!" message.

Update end-of-turn effects to latest gen standards

Effects such as Leftovers healing, Sandstorm damage, etc. are executed after the switch-in queue instead of before Pokémon switch in, the latter being the case in later generations.

Also update the behavior where Pokémon switch in prematurely. Example:
Battler A chooses Quiver Dance
Battler B is faster, chooses Double-Edge
Battler B damages Battler A but knocks itself out in the process due to recoil
Battler B then immediately switches in a new Pokémon, cancelling Battler A's Quiver Dance
In later generations, the defending Pokémon's action executes regardless of the opponent's presence.
(Exception: If the opponent has no more Pokémon in their party, cancel action)

Some to-do's (and Protean)

Powder:
Add a case for CANCELLER_POWDER right before CANCELLER_THAW
effect = 0 to continue the loop in case the user is frozen and a move will thaw it first before executing Powder's damage battle script.
Do not clear Powdered status after checking as it lasts for the duration of the turn!

Protean:
See Discord DMs ;^)
Also note that Psychic Terrain's priority blocking effect needs to be checked in ABE's ABILITYEFFECT_MOVES_BLOCK and not in AtkCanceller_UnableToUseMove to make sure the Protean user gets to transform.

Heal Block:
Add EFFECT_DREAM_EATER in IsHealBlockPreventingMove and fix the message that shows the inability to use a heal blocked move.

Wild Double Battle Graphical Error

When using a move that targets both opponents in a wild double battle, the attack does damage to both opponents normally, but the graphics act as if only one Pokemon was targeted instead of going down the middle of both Pokemon like in a trainer battle; this issue is not present in trainer battles (I noticed this when using Bubblebeam if it matters).

EDIT: As huderlem mentions below, I misunderstood the issue. The issue is not that graphics in wild doubles are messed up, but that moves that have been changed to hit multiple opponents need to have their animations changed.

Fix Gravity move effect

atk69_setgravity should check each battler's semi invulnerable status to see if they are currently using Fly or Bounce (and Sky Drop when that gets implemented), and CancelMultiTurnMove if they do.

Teleport Ends Wild Double Battles

If there are two wild Pokemon still on the field in a wild double battle, and one of them uses Teleport, the battle immediately ends, even if the other Pokemon is still on the field.

Safety Googles

  1. Add item data
  2. Add sprite
  3. Edit Powder Moves battlescript to account for it

Charge Beam's Effect Is Incorrect

Charge Beam is supposed to deal damage with a chance of raising Special Attack; right now it just boosts Special Attack without dealing damage.

EDIT: I haven't tested it, but looking at how it's defined, I think Fiery Dance has the same issue. Additionally, I have determined that this issue stems from the fact that there is no EFFECT_SPECIAL_ATTACK_UP effect defined (there were no moves that dealt damage and raised Special Attack in Gen 3, so this will need to be added).

Future Sight Does 0 Damage

Future Sight seems to always do 0 damage, regardless of types, levels, or stats. Additionally, it can hit through Wonder Guard (though since it does 0 damage, my Shedinja didn't die :P).

Move Reminder Display Errors

There seems to be strange errors in how the move description and stuff are displayed for the Move Reminder in Fallarbor Town

pokeemerald-1
pokeemerald-2
pokeemerald-0

Some ability bugs, mostly ATK49 related

ABILITY_IMPOSTER:
check if opposite battler is semi invulnerable
ABILITY_DEFIANT:
ABILITY_COMPETITIVE:
the way these were implemented makes it impossible to check if the battler's stat was lowered by itself/its ally or an opponent (defiant/competitive wont activate in the former case)
ABILITY_CURSED_BODY:
GetBattleMonMoveSlot(&gBattleMons[gBattlerAttacker], gChosenMove) is completely unecessary, just read from gChosenMovePos
also check if the chosen move has pp left
ABILITY_ANGER_POINT:
manually setting sB_ANIM_ARG1 to the chosen stat animation will not be indicative of amount of stages raised, i suggest adding 'setgraphicalstatchangevalues' to the script and setting gBattleScripting.statChanger to '12 - gBattleMons[battler].statStages[STAT_ATK] then | STAT_ATTACK'
nitpick: wrong name for battle script & string: "angrypoint"
ABILITY_JUSTIFIED:
ABILITY_RATTLED:
you forgot to buffer the stat to change, either call ChangeStatBuffs or use PREPARE_STAT_BUFFER
ABILITY_WEAK_ARMOR:
check if the current move is physical (weak armor only activates on physical hits)
speed should raise by 2, not 1

Weather Effects Don't Happen In-Battle

In the Route 113 desert, a sandstorm does not start in-battle. Similarly, when it's raining on Route 119, battles do not start with rain on the field

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.