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: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
  {{tutorials|game=Yu-Gi-Oh! Duel Monsters 4: Kaiba Deck}}
  {{tutorials|game=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 [[Yu-Gi-Oh!_Duel_Monsters_4:_Kaiba_Deck:Notes#Card_Effect_IDs_(Magic_Ritual_Trap)|effect_id]] then replacing [[Yu-Gi-Oh!_Duel_Monsters_4:_Kaiba_Deck:ROM_map#Player's_card_effects|its associated subroutine]], and optionally [[Yu-Gi-Oh!_Duel_Monsters_4:_Kaiba_Deck:ROM_map#CPU_Card_Effects|the associated subroutine used by the CPU as well]];
* Add a new Spell/Trap/Effect by either extending [[Yu-Gi-Oh!_Duel_Monsters_4:_Kaiba_Deck:ROM_map#Magic_Trap_Ritual_effects_pointers|the array of pointers at 3:799E]] (as well as the CPU one) 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==
==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.<br>
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.<br>

Revision as of 00:25, 24 October 2023

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