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 Bank 03) 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).

(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).