Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Yu-Gi-Oh! Duel Monsters 4: Kaiba Deck/Tutorials

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a Tutorial for Yu-Gi-Oh! Duel Monsters 4: Kaiba Deck.

Create new Magic/Trap/Ritual Effects

In progress
You can either:

  • Replace an existing Magic/Trap/Ritual Effect, by using its effect_id then replacing its associated subroutine, and optionally the associated subroutine used by the CPU as well;
  • Add a new Spell/Trap/Effect by either extending the array of pointers at 3:799E (as well as the CPU one; both will need some re-pointing in Banks 0x03 and 0x14) and finding space in the current Bank for your new subroutine (there's a lot of ways to do this, for example you can keep only one Trap setting subroutine and remove all the others, then point every Trap to that subroutine); or add your new effect subroutine in another Bank (and probably use some rst 08 magic). Effect IDs 0x7E to 0xFE are free, so there's 128 slots available if you don't modify or get around the game engine.

(To be continued)

Text boxes in battle - Magic/Trap/Ritual

Usually you'll be outside of Bank 06, since you'll be mostly calling these for card effects and lingering effects such as Swords of Revealing Light.
So do a rst 08 to Bank 06, grabbing the pointer at 6:400B, with the textbox ID in accumulator as the parameter.

3E 13            ld   a,13        ;0x13 is Stop Defense textbox
CF               rst  08
=> 0B 06                          ;Display text box

The parameter you send in accumulator is also used to retrieve up to 3 card_ids stored in three arrays at 6:41F3, used by display_textbox_func at 6:41B4.
These card_ids are 2 bytes long, and are stored in wC8F6, wC8F8, and wC8FA.
You can display these card_id names in your textboxes using the special character codes (in DM3, these are 0xB5 to 0xB8, but it might be different in DM4, I will check).