Dragon Aura 2.0

For discussion of Lunar: Eternal Blue, the remake of Lunar 2 for Saturn/Playstation and all its translations
Post Reply
User avatar
captaindax
Red Dragon Priest
Posts: 117
jedwabna poszewka na poduszkę 70x80
Joined: Tue Oct 21, 2008 4:32 pm
Location: Maine, USA

Dragon Aura 2.0

Post by captaindax »

LATEST VERSION: 2.0 BETA 3
UPDATED: 06/14/24

Current Features:

Change amount of Silver (Money)
Add or Remove Inventory Items (All Possible Items Implemented)
Edit Current HP/MP and Current Experience for Hiro

DRAGON AURA 2.0 BETA 3

DOWNLOAD WINDOWS EXECUTABLE: https://drive.google.com/file/d/1SeCE3o ... sp=sharing
DOWNLOAD VB.NET SOURCE FILES: https://drive.google.com/file/d/1-5puxb ... sp=sharing

======================================================================

I can't believe my account, and everything is still here!

I hope there is still some interest in this. If so please let me know and provide any suggestions or comments, or questions.

Sorry to everyone, life got away from me.

15 years, a marriage, a house, and a bunch of other stuff later I found myself back in the same situation - wanting to edit Lunar 2 save files.

First the bad news, I do not have any copies of Dragon Aura 1.0/1.2 etc. The files got lost somewhere ages ago.

The good news is I'm taking this project back on.

This one is going to be an editor for actual PSX memory card images (.mcr files) which will be more versatile and helpful for everyone.

In the event something should happen to me I will put my latest findings here which might make it easy for someone to continue my work or experiment themselves:

The below hex addresses assume the save to be edited is in the first saveable block (0x2000)

Lunar 2 Eternal Blue Complete holds 2 save games in 1 block, instead of using an entire block of memory.

The game has a form of checksum/crc to prevent loading corrupted / altered save files located at 0x2204 - 0x2206 and it seems to cover the entire block, not just one save in the block as I've found no other checksum..

Everything seems to be little-endian byte order (least significant byte last). This is significant and I'll explain why in my checksum example below.

The checksum seems to be the sum of some large portion of the save data but I can't for the life of me figure out what exact address range (or ranges) it's covering.

Fortunately, by discovering that it's a simple sum of bytes that means we only need a save with a good checksum to start with and keep track of our edits and apply the net gain or loss to the checksum value. It appears everything character related, even map position, is within the checksum range as I get an error trying to edit any of it and then load without fixing the checksum.

Example I actually did:

Let's say the checksum (starting at 0x2204) is 36 40 03

And we want to increase Hiro's current experience points, located at 0x2314-0x2317, from 130 to 131 (a hex change of 82 00 00 00 to 83 00 00 00)

Note here the little endian byte order, essentially reverse order.

First we change the actual experience value as noted above, this is an increase of 1.

So we need to increase the checksum by 1, since if it ran normally it would get the exact same result +1 for the one point increase in experience.

To do this we need to add it correctly, which means the math in hex is: 034036 + 01 = 034037

Then enter it in little endian format: 37 40 03

Voila, the save loads without error and Hiro's experience is now 131.

There's a hell of a lot of testing, trial and error to do here still.

Then I can do more than just things like this (another proof of concept using method above)

Image
Last edited by captaindax on Fri Jun 14, 2024 9:34 pm, edited 3 times in total.
I - am that is

Contact Info: lunar2ebc@hotmail.com

User avatar
captaindax
Red Dragon Priest
Posts: 117
Joined: Tue Oct 21, 2008 4:32 pm
Location: Maine, USA

INVENTORY DATA

Post by captaindax »

I'm going to continue to post my findings here as I work on this in case it is useful to someone.

Again all hex addresses below assume we're dealing with the first block on the card (1/15), and the first save on that block. I'm sure it can be easily extrapolated to other saves and blocks.

INVENTORY

So Lunar 2 Eternal Blue Complete has an interesting way of handling inventory saved on the memory card. I thought it would be a matter of having so many slots, and each one would have a value corresponding to what it is, and how many of them there are. Not the case at all!

Every single item in the game has it's own address on the memory card, if it's "00" then it doesn't show it in inventory, otherwise it appears at the set number!

Also Silver is a 4 byte little-endian value located at 0x29C4-0x29C7. The game won't show beyond 9,999,999 Silver (7F 96 98 00) and if you save normally with a value larger than that, it reduces it to that value in the save. Theoretically there's space for almost 4.3 Billion Silver but how to test that and why it would matter is beyond me.

Below is a very long list of all the items and their addresses. I haven't done a lot of testing with this beyond adding "1" of every item and checking them.

0x2869 = Herb
0x286A = Healing Nut
0x286B = Passion Fruit
0x286C = BLANK (USE = CRASH)
0x286D = Life Jewel
0x286E = BLANK (USE = CRASH)
0x286F = Star Light
0x2870 = BLANK (USE = CRASH)
0x2871 = Silver Light
0x2872 = BLANK (USE = CRASH)
0x2873 = Dragonfly Wing
0x2874 = White Dragon Wings
0x2875 = Lucia's Pendant (TELEPORTER)
0x2876 = Alex's Ocarina
0x2877 = Rememberizer Crystal
0x2878 = Luna's Bromide
0x2879 = Mia's Bromide
0x287A = Jessica's Bromide
0x287B = Lucia's Bromide 1
0x287C = Lucia's Bromide 2
0x287D = Lucia's Bromide 3
0x287E = Jean's Bromide 1
0x287F = Jean's Bromide 2
0x2880 = Jean's Bromide 3
0x2881 = Lemina's Bromide 1
0x2882 = Lemina's Bromide 2
0x2883 = Lemina's Bromide 3
0x2884 = Mauri's Bromide 1
0x2885 = Nall's Bromide
0x2886 = Mystere's Bromide
0x2887 = Borgan's Bromide
0x2888 = Lucia's Bromide 4
0x2889 = Lemina's Bromide 4
0x288A = Jean's Bromide 4
0x288B = Hiro's Bromide
0x288C = Mauri's Bromide 2
0x288D = Ghaleon's Bromide
0x288E = Bromide X
0x288F = BLANK (USE = CRASH)
0x2890 = BLANK (USE = CRASH)
0x2891 = Purity Herb
0x2892 = Cleansing Water
0x2893 = Holy Water
0x2894 = Vitality Vial
0x2895 = Angel's Tear
0x2896 = BLANK (USE = CRASH)
0x2897 = BLANK (USE = CRASH)
0x2898 = BLANK (USE = CRASH)
0x2899 = BLANK (USE = CRASH)
0x289A = BLANK NAME / SILVER COINS ICON (UNUSABLE)
0x289B = Right Sapphire Jewel
0x289C = Left Opal Jewel
0x289D = Left Sapphire Jewel
0x289E = Right Opal Jewel
0x289F = White Dragon Aura
0x28A0 = Blue Dragon Aura
0x28A1 = Black Dragon Aura
0x28A2 = Red Dragon Aura
0x28A3 = Rope Ladder
0x28A4 = Snow Crest
0x28A5 = Mask
0x28A6 = Invitation
0x28A7 = Cave Key
0x28A8 = Althena's Aura
0x28A9 = Undersea Key
0x28AA = BLANK (USE = CRASH)
0x28AB = BLANK (USE = CRASH)
0x28AC = BLANK (USE = CRASH)
0x28AD = BLANK (USE = CRASH)
0x28AE = BLANK (USE = CRASH)
0x28AF = Dagger
0x28B0 = Ancient Dagger
0x28B1 = Star Dagger
0x28B2 = Rusty Dagger
0x28B3 = BLANK (UNUSABLE)
0x28B4 = Short Sword
0x28B5 = Long Sword
0x28B6 = Broadsword
0x28B7 = Silver Sword
0x28B8 = Bastard Sword
0x28B9 = Smash Saber
0x28BA = Rune Sword
0x28BB = Platinum Blade
0x28BC = Samurai Sword
0x28BD = Amethyst Sword
0x28BE = Master Sword
0x28BF = BLANK (UNUSABLE)
0x28C0 = Ghaleon's Sword
0x28C1 = Althena's Sword
0x28C2 = Dark Scimitar
0x28C3 = Dyne's Sword
0x28C4 = White Fang
0x28C5 = Nameless Sword
0x28C6 = BLANK (UNUSABLE)
0x28C7 = Mace
0x28C8 = Flail
0x28C9 = Silver Mace
0x28CA = Golden Mace
0x28CB = Spirit Mace
0x28CC = Ritual Mace
0x28CD = Flaying Flail
0x28CE = Amethyst Mace
0x28CF = Prayer Mace
0x28D0 = Holy Mace
0x28D1 = Justice Rod
0x28D2 = BLANK (UNUSABLE)
0x28D3 = Feather Fan
0x28D4 = Iron Fan
0x28D5 = Razor Fan
0x28D6 = Platinum Fan
0x28D7 = Jean's Fan
0x28D8 = BLANK (UNUSABLE)
0x28D9 = Iron Claw
0x28DA = Black Panther Claw
0x28DB = White Tiger Claw
0x28DC = Crushing Fist
0x28DD = Berserker Claw
0x28DE = Fierce Fist
0x28DF = BLANK (UNUSABLE)
0x28E0 = Magic Staff
0x28E1 = Quake Staff
0x28E2 = Thunder Staff
0x28E3 = Water Staff
0x28E4 = Flame Staff
0x28E5 = Wind Staff
0x28E6 = Earth Staff
0x28E7 = Lightning Staff
0x28E8 = Ice Staff
0x28E9 = Hellfire Staff
0x28EA = Hurricane Staff
0x28EB = Sage Staff
0x28EC = Theives' Staff
0x28ED = Saucepan Lid
0x28EE = Wood Shield
0x28EF = Iron Shield
0x28F0 = Silver Shield
0x28F1 = Steel Shield
0x28F2 = Platinum Shield
0x28F3 = Warrior Shield
0x28F4 = Amethyst Shield
0x28F5 = Master Shield
0x28F6 = Legendary Lid
0x28F7 = Dragon Shield
0x28F8 = BLANK (UNUSABLE)
0x28F9 = Holy Shield
0x28FA = BLANK (UNUSABLE
0x28FB = Bracelet
0x28FC = Iron Bracelet
0x28FD = Silver Bracelet
0x28FE = Steel Bracelet
0x28FF = Platinum Bracelet
0x2900 = Bejeweled Bracelet
0x2901 = Amethyst Bracelet
0x2902 = Holy Bracelet
0x2903 = Goddess Bracelet
0x2904 = EMPTY (UNUSABLE)
0x2905 = Iron Gauntlet
0x2906 = Silver Gauntlet
0x2907 = Platinum Gauntlet
0x2908 = Magic Gauntlet
0x2909 = Jewel Gauntlet
0x290A = Mystic Gauntlet
0x290B = Psycho Gauntlet
0x290C = Goddess Gauntlet
0x290D = BLANK (UNUSABLE)
0x290E = Hawk Armlet
0x290F = Leopard Armlet
0x2910 = Tiger Armlet
0x2911 = Lunn's Armlet
0x2912 = BLANK (UNUSABLE)
0x2913 = Peasant Clothes
0x2914 = Adventurer's Clothes
0x2915 = Blue Pajamas
0x2916 = Red Pajamas
0x2917 = Yellow Pajamas
0x2918 = Plate Armor
0x2919 = BLANK (UNUSABLE)
0x291A = Lucia's Robe
0x291B = Lucia's Shorts
0x291C = BLANK (UNUSABLE)
0x291D = Leather Armor
0x291E = Chain Mail
0x291F = BLANK (UNUSABLE)
0x2920 = Iron Armor
0x2921 = Silver Armor
0x2922 = Platinum Armor
0x2923 = Warrior Armor
0x2924 = Amethyst Armor
0x2925 = Dyne's Armor
0x2926 = BLANK (UNUSABLE)
0x2927 = Dragon Armor
0x2928 = BLANK (UNUSABLE)
0x2929 = Goddess Armor
0x292A = BLANK (UNUSABLE)
0x292B = Priest Clothes
0x292C = Purity Clothes
0x292D = Ceremonial Clothes
0x292E = Holy Clothes
0x292F = Battle Clothes
0x2930 = Miracle Clothes
0x2931 = Saint Clothes
0x2932 = Chaos Armor
0x2933 = BLANK (UNUSABLE)
0x2934 = Pretty Dress
0x2935 = Flared Dress
0x2936 = Fur Dress
0x2937 = Silk Dress
0x2938 = Jean's Dress
0x2939 = BLANK (UNUSABLE)
0x293A = Hawk Wrap
0x293B = Ninja Wrap
0x293C = Tiger Wrap
0x293D = Scarlet Wrap
0x293E = BLANK (UNUSABLE)
0x293F = Robe
0x2940 = Silver Robe
0x2941 = Fur Robe
0x2942 = Magician Robe
0x2943 = Immortal Robe
0x2944 = Wisdom Robe
0x2945 = Aura Robe
0x2946 = Sage Robe
0x2947 = Safety Helmet
0x2948 = Leather Cap
0x2949 = Iron Helm
0x294A = Silver Helm
0x294B = Steel Helm
0x294C = Platinum Helm
0x294D = Warrior Helm
0x294E = Amethyst Helm
0x294F = Master Helm
0x2950 = BLANK (UNUSABLE)
0x2951 = Lucia's Hat
0x2952 = BLANK (UNUSABLE)
0x2953 = Dragon Helm
0x2954 = BLANK (UNUSABLE)
0x2955 = Lion Helm
0x2956 = BLANK (UNUSABLE)
0x2957 = Bandanna
0x2958 = Colorful Bandana
0x2959 = Silver Bandanna
0x295A = Lucky Bandanna
0x295B = Soul Bandanna
0x295C = BLANK (UNUSABLE)
0x295D = Charm Bandanna
0x295E = Prayer Bandanna
0x295F = Spirit Bandanna
0x2960 = Aura Bandanna
0x2961 = Miracle Bandanna
0x2962 = Cute Ribbon
0x2963 = Hairband
0x2964 = Silver Hairpin
0x2965 = Platinum Hairpin
0x2966 = Bejeweled Hairpin
0x2967 = Ritual Hairpin
0x2968 = Gold Hairpin
0x2969 = Amethyst Hairpin
0x296A = Holy Hairpin
0x296B = BLANK (UNUSABLE)
0x296C = Goddess Hairpin
0x296D = BLANK (UNUSABLE)
0x296E = Fantasy Ribbon
0x296F = Headband
0x2970 = BLANK (UNUSABLE)
0x2971 = BLANK (UNUSABLE)
0x2972 = BLANK (UNUSABLE)
0x2973 = BLANK (UNUSABLE)
0x2974 = BLANK (UNUSABLE)
0x2975 = BLANK (UNUSABLE)
0x2976 = BLANK (UNUSABLE)
0x2977 = Angel Ring
0x2978 = Healing Ring
0x2979 = Stardust Ring
0x297A = Snake Ring
0x297B = Shield Ring
0x297C = Force Ring
0x297D = Protection Ring
0x297E = Spirit Ring
0x297F = Luck Ring
0x2980 - Barrier Ring
0x2981 = Endurance Ring
0x2982 = Anti-Magic Ring
0x2983 = Earth Ring
0x2984 = Plasma Ring
0x2985 = Water Ring
0x2986 = Phoenix Ring
0x2987 = Wind Ring
0x2988 = Spirit Talisman
0x2989 = Purity Ring
0x298A = Vigor Ring
0x298B = Dew Ring
0x298C = Noisy Amulet
0x298D = Power Talisman
0x298E = Fresh Ring
0x298F = Clear Ring
0x2990 = Tri-Ring
0x2991 = Fiend Ring
0x2992 = Gauss's Necklace
0x2993 = Lemina's Purse
0x2994 = Mystere's Mask
0x2995 = Lucia's Pendant (NOT TELEPORTER)
0x2996 = Gorgon Doll
0x2997 = Iron Clogs
0x2998 = Rubber Boots
0x2999 = Hero's Talisman
0x299A = BLANK (UNUSABLE)
0x299B = BLANK (UNUSABLE)
0x299C = BLANK (UNUSABLE)
0x299D = BLANK (UNUSABLE)
0x299E = BLANK (UNUSABLE)
0x299F = Earth Crest
0x29A0 = Thunder Crest
0x29A1 = Water Crest
0x29A2 = Fire Crest
0x29A3 = Wind Crest
0x29A4 = Seal Crest
0x29A5 = Charm Crest
0x29A6 = Mind Crest
0x29A7 = Snake Crest
0x29A8 = Dream Crest
0x29A9 = Magic Eye Crest
0x29AA = Revenge Crest
0x29AB = Healing Crest
0x29AC = Warrior Crest
0x29AD = Chiro Crest
0x29AE = Hunter Crest
0x29AF = Shiro Crest
0x29B0 = Gale Crest
0x29B1 = Archer Crest
0x29B2 = Ogre Crest
0x29B3 = Power Crest
0x29B4 = Goddess Crest
0x29B5 = White Dragon Crest
0x29B6 = Red Dragon Crest
0x29B7 = Blue Dragon Crest
0x29B8 = Black Dragon Crest
0x29B9 = BLANK (UNUSABLE)
0x29BA = BLANK (Says Enables Earth Magic, Does Nothing Equipped)
0x29BB = BLANK (Says Enables Thunder Magic, Does Nothing Equipped)
0x29BC = BLANK (Says Enables Water Magic, Does Nothing Equipped)
0x29BD = BLANK (Says Enables Fire Magic, Does Nothing Equipped)
0x29BE = BLANK (Says Enables Wind Magic, Does Nothing Equipped)
0x29BF = BLANK (Says Enables Muting Magic, Does Nothing Equipped)
0x29C0 = BLANK (Says Enables Charm Magic, Does Nothing Equipped)
0x29C1 = BLANK (Says Enables Paralysis Magic, Does Nothing Equipped)
Last edited by captaindax on Thu Jun 06, 2024 3:36 pm, edited 2 times in total.
I - am that is

Contact Info: lunar2ebc@hotmail.com

User avatar
captaindax
Red Dragon Priest
Posts: 117
Joined: Tue Oct 21, 2008 4:32 pm
Location: Maine, USA

CHARACTER DATA

Post by captaindax »

Character Data

Character Level, Experience, Maximum HP and Maximum MP cannot be altered, the game will correct them based on the amount of current experience and auto-level if that experience is changed to a value higher than the "next level" experience.

Character stats cannot be changed even with a correct checksum, it causes a game error. Likely linked to the experience/leveling system.

HIRO

0x2311 = Level

0x2314 - 0x2317 = Current Experience

0x2318 - 0x231B = Experience To Next Level

0x231C - 0x231D = Current HP

0x231E - 0x231F = Maximum HP

0x2320 - 0x2321 = Current MP

0x2322 - 0x2323 = Maximum MP

0x2324 - 0x2325 = Attack
0x2326 - 0x2327 = Attacks
0x2328 - 0x2329 = Defense
0x232A - 0x232B = Agility
0x232C - 0x232D = Speed
0x232E - 0x232F = Wisdom
0x2330 - 0x2331 = MgcDef
0x2332 - 0x2333 = Range
0x2334 - 0x2335 = Luck

0x2388 - 0x2389 = Equipped Weapon
0x238C - 0x238D = Equipped Shield
0x2390 - 0x2391 = Equipped Helmet
0x2394 - 0x2395 = Equipped Armor
0x2398 - 0x2399 = Equipped Ring 1
0x239C - 0x239D = Equipped Ring 2
0x23A0 - 0x23A1 = Equipped Crest 1
0x23A4 - 0x23A5 = Equipped Crest 2

RONFAR

0x23D5 = Level

0x23D8 - 0x23DB = Current Experience

0x23DC - 0x23DF = Experience To Next Level

0x23E0 - 0x23E1 = Current HP

0x23E2 - 0x23E3 = Maximum HP

0x23E4 - 0x23E5 = Current MP

0x23E6 - 0x23E7 = Maximum MP

0x23E8 - 0x23E9 = Attack
0x23EA - 0x23EB = Attacks
0x23EC - 0x23ED = Defense
0x23EE - 0x23EF = Agility
0x23F0 - 0x23F1 = Speed
0x23F2 - 0x23F3 = Wisdom
0x23F4 - 0x23F5 = MgcDef
0x23F6 - 0x23F7 = Range
0x23F8 - 0x23F9 = Luck

0x244C - 0x244D = Equipped Weapon
0x2450 - 0x2451 = Equipped Shield
0x2454 - 0x2455 = Equipped Helmet
0x2458 - 0x2459 = Equipped Armor
0x245C - 0x245D = Equipped Ring 1
0x2460 - 0x2461 = Equipped Ring 2
0x2464 - 0x2465 = Equipped Crest 1
0x2468 - 0x2469 = Equipped Crest 2

JEAN

0x2499 = Level

0x249C - 0x249F = Current Experience

0x24A0 - 0x24A3 = Experience To Next Level

0x24A4 - 0x24A5 = Current HP

0x24A6 - 0x24A7 = Maximum HP

0x24A8 - 0x24A9 = Current MP

0x24AA - 0x24AB = Maximum MP

0x24AC - 0x24AD = Attack
0x24AE - 0x24AF = Attacks
0x24B0 - 0x24B1 = Defense
0x24B2 - 0x24B3 = Agility
0x24B4 - 0x24B5 = Speed
0x24B6 - 0x24B7 = Wisdom
0x24B8 - 0x24B9 = MgcDef
0x24BA - 0x24BB = Range
0x24BC - 0x24BD = Luck

0x2510 - 0x2511 = Equipped Weapon
0x2514 - 0x2515 = Equipped Shield
0x2518 - 0x2519 = Equipped Helmet
0x251C - 0x251D = Equipped Armor
0x2520 - 0x2521 = Equipped Ring 1
0x2524 - 0x2525 = Equipped Ring 2
0x2528 - 0x2429 = Equipped Crest 1
0x252C - 0x252D = Equipped Crest 2

LEO

0x255D = Level

0x2560 - 0x2563 = Current Experience

0x2564 - 0x2567 = Experience To Next Level

0x2568 - 0x2569 = Current HP

0x256A - 0x256B = Maximum HP

0x256C - 0x256D = Current MP

0x256E - 0x256F = Maximum MP

0x2570 - 0x2571 = Attack
0x2572 - 0x2573 = Attacks
0x2574 - 0x2575 = Defense
0x2576 - 0x2577 = Agility
0x2578 - 0x2579 = Speed
0x257A - 0x257B = Wisdom
0x257C - 0x257D = MgcDef
0x257E - 0x257F = Range
0x2580 - 0x2581 = Luck

0x25D4 - 0x25D5 = Equipped Weapon
0x25D8 - 0x25D9 = Equipped Shield
0x25DC - 0x25DD = Equipped Helmet
0x25E0 - 0x25E1 = Equipped Armor
0x25E4 - 0x25E5 = Equipped Ring 1
0x25E8 - 0x25E9 = Equipped Ring 2
0x25EC - 0x24ED = Equipped Crest 1
0x25F0 - 0x25F1 = Equipped Crest 2

LEMINA

0x2621 = Level

0x2624 - 0x2627 = Current Experience

0x2628 - 0x262B = Experience To Next Level

0x262C - 0x262D = Current HP

0x262E - 0x262F = Maximum HP

0x2630 - 0x2631 = Current MP

0x2632 - 0x2633 = Maximum MP

0x2634 - 0x2635 = Attack
0x2636 - 0x2637 = Attacks
0x2638 - 0x2639 = Defense
0x263A - 0x263B = Agility
0x263C - 0x263D = Speed
0x263E - 0x263F = Wisdom
0x2640 - 0x2641 = MgcDef
0x2642 - 0x2643 = Range
0x2644 - 0x2645 = Luck

0x2698 - 0x2699 = Equipped Weapon
0x269C - 0x269D = Equipped Shield
0x26A0 - 0x26A1 = Equipped Helmet
0x26A4 - 0x26A5 = Equipped Armor
0x26A8 - 0x26A9 = Equipped Ring 1
0x26AC - 0x26AD = Equipped Ring 2
0x26B0 - 0x26B1 = Equipped Crest 1
0x26B4 - 0x26B5 = Equipped Crest 2

GWYN

0x26E5 = Level

0x26E8 - 0x26EB = Current Experience

0x26EC - 0x26EF = Experience To Next Level

0x26F0 - 0x26F1 = Current HP

0x26F2 - 0x26F3 = Maximum HP

0x26F4 - 0x26F5 = Current MP

0x26F6 - 0x26F7 = Maximum MP

0x26F8 - 0x26F9 = Attack
0x26FA - 0x26FB = Attacks
0x26FC - 0x26FD = Defense
0x26FE - 0x26FF = Agility
0x2700 - 0x2701 = Speed
0x2702 - 0x2703 = Wisdom
0x2704 - 0x2705 = MgcDef
0x2706 - 0x2707 = Range
0x2708 - 0x2709 = Luck

0x275C - 0x275D = Equipped Weapon
0x2760 - 0x2761 = Equipped Shield
0x2764 - 0x2765 = Equipped Helmet
0x2768 - 0x2769 = Equipped Armor
0x276C - 0x276D = Equipped Ring 1
0x2770 - 0x2771 = Equipped Ring 2
0x2774 - 0x2775 = Equipped Crest 1
0x2778 - 0x2779 = Equipped Crest 2

LUCIA

0x27A9 = Level

0x27AC - 0x27AF = Current Experience

0x27B0 - 0x27B3 = Experience To Next Level

0x27B4 - 0x27B5 = Current HP

0x27B6 - 0x27B7 = Maximum HP

0x27B8 - 0x27B9 = Current MP

0x27BA - 0x27BB = Maximum MP

0x27BC - 0x27BD = Attack
0x27BE - 0x27BF = Attacks
0x27C0 - 0x27C1 = Defense
0x27C2 - 0x27C3 = Agility
0x27C4 - 0x27C5 = Speed
0x27C6 - 0x27C7 = Wisdom
0x27C8 - 0x27C9 = MgcDef
0x27CA - 0x27CB = Range
0x27CC - 0x27CD = Luck

0x2820 - 0x2821 = Equipped Weapon
0x2824 - 0x2825 = Equipped Shield
0x2828 - 0x2829 = Equipped Helmet
0x282C - 0x282D = Equipped Armor
0x2830 - 0x2831 = Equipped Ring 1
0x2834 - 0x2835 = Equipped Ring 2
0x2838 - 0x2839 = Equipped Crest 1
0x283C - 0x283D = Equipped Crest 2

-------

EQUIPMENT CODES (Follows Inventory Item Ordering):

00 00 Empty Slot
01 00 Herb
02 00 Healing Nut
03 00 Passion Fruit
04 00 BLANK (USE CAUSES CRASH)
05 00 Life Jewel
06 00 BLANK (USE CAUSES CRASH)
07 00 Star Light
08 00 BLANK (USE CAUSES CRASH)
09 00 Silver Light
0A 00 BLANK (USE CAUSES CRASH)
0B 00 Dragonfly Wing
0C 00 White Dragon Wings
0D 00 Lucia's Pendant (TELEPORTER)
0E 00 Alex's Ocarina
0F 00 Rememberizer Crystal
10 00 Luna's Bromide
11 00 Mia's Bromide
12 00 Jessica's Bromide
13 00 Lucia's Bromide 1
14 00 Lucia's Bromide 2
15 00 Lucia's Bromide 3
16 00 Jean's Bromide 1
17 00 Jean's Bromide 2
18 00 Jean's Bromide 3
19 00 Lemina's Bromide 1
1A 00 Lemina's Bromide 2
1B 00 Lemina's Bromide 3
1C 00 Mauri's Bromide 1
1D 00 Nall's Bromide
1E 00 Mystere's Bromide
1F 00 Borgan's Bromide
20 00 Lucia's Bromide 4
21 00 Lemina's Bromide 4
22 00 Jean's Bromide 4
23 00 Hiro's Bromide
24 00 Mauri's Bromide 2
25 00 Ghaleon's Bromide
26 00 Bromide X
27 00 BLANK (USE CAUSES CRASH)
28 00 BLANK (USE CAUSES CRASH)
29 00 Purity Herb
2A 00 Cleansing Water
2B 00 Holy Water
2C 00 Vitality Vial
2D 00 Angel's Tear
2E 00 BLANK (USE CAUSES CRASH)
2F 00 BLANK (USE CAUSES CRASH)
30 00 BLANK (USE CAUSES CRASH)
31 00 BLANK (USE CAUSES CRASH)
32 00 BLANK NAME / SILVER COINS ICON (UNUSABLE)
33 00 Right Sapphire Jewel
34 00 Left Opal Jewel
35 00 Left Sapphire Jewel
36 00 Right Opal Jewel
37 00 White Dragon Aura
38 00 Blue Dragon Aura
39 00 Black Dragon Aura
3A 00 Red Dragon Aura
3B 00 Rope Ladder
3C 00 Snow Crest
3D 00 Mask
3E 00 Invitation
3F 00 Cave Key
40 00 Althena's Aura
41 00 Undersea Key
42 00 BLANK (USE CAUSES CRASH)
43 00 BLANK (USE CAUSES CRASH)
44 00 BLANK (USE CAUSES CRASH)
45 00 BLANK (USE CAUSES CRASH)
46 00 BLANK (USE CAUSES CRASH)
47 00 Dagger
48 00 Ancient Dagger
49 00 Star Dagger
4A 00 Rusty Dagger
4B 00 BLANK (UNUSABLE)
4C 00 Short Sword
4D 00 Long Sword
4E 00 Broadsword
4F 00 Silver Sword
50 00 Bastard Sword
51 00 Smash Saber
52 00 Rune Sword
53 00 Platinum Blade
54 00 Samurai Sword
55 00 Amethyst Sword
56 00 Master Sword
57 00 BLANK (UNUSABLE)
58 00 Ghaleon's Sword
59 00 Althena's Sword
5A 00 Dark Scimitar
5B 00 Dyne's Sword
5C 00 White Fang
5D 00 Nameless Sword
5E 00 BLANK (UNUSABLE)
5F 00 Mace
60 00 Flail
61 00 Silver Mace
62 00 Golden Mace
63 00 Spirit Mace
64 00 Ritual Mace
65 00 Flaying Flail
66 00 Amethyst Mace
67 00 Prayer Mace
68 00 Holy Mace
69 00 Justice Rod
6A 00 BLANK (UNUSABLE)
6B 00 Feather Fan
6C 00 Iron Fan
6D 00 Razor Fan
6E 00 Platinum Fan
6F 00 Jean's Fan
70 00 BLANK (UNUSABLE)
71 00 Iron Claw
72 00 Black Panther Claw
73 00 White Tiger Claw
74 00 Crushing Fist
75 00 Berserker Claw
76 00 Fierce Fist
77 00 BLANK (UNUSABLE)
78 00 Magic Staff
79 00 Quake Staff
7A 00 Thunder Staff
7B 00 Water Staff
7C 00 Flame Staff
7D 00 Wind Staff
7E 00 Earth Staff
7F 00 Lightning Staff
80 00 Ice Staff
81 00 Hellfire Staff
82 00 Hurricane Staff
83 00 Sage Staff
84 00 Theives' Staff
85 00 Saucepan Lid
86 00 Wood Shield
87 00 Iron Shield
88 00 Silver Shield
89 00 Steel Shield
8A 00 Platinum Shield
8B 00 Warrior Shield
8C 00 Amethyst Shield
8D 00 Master Shield
8E 00 Legendary Lid
8F 00 Dragon Shield
90 00 BLANK (UNUSABLE)
91 00 Holy Shield
92 00 BLANK (UNUSABLE
93 00 Bracelet
94 00 Iron Bracelet
95 00 Silver Bracelet
96 00 Steel Bracelet
97 00 Platinum Bracelet
98 00 Bejeweled Bracelet
99 00 Amethyst Bracelet
9A 00 Holy Bracelet
9B 00 Goddess Bracelet
9C 00 EMPTY (UNUSABLE)
9D 00 Iron Gauntlet
9E 00 Silver Gauntlet
9F 00 Platinum Gauntlet
A0 00 Magic Gauntlet
A1 00 Jewel Gauntlet
A2 00 Mystic Gauntlet
A3 00 Psycho Gauntlet
A4 00 Goddess Gauntlet
A5 00 BLANK (UNUSABLE)
A6 00 Hawk Armlet
A7 00 Leopard Armlet
A8 00 Tiger Armlet
A9 00 Lunn's Armlet
AA 00 BLANK (UNUSABLE)
AB 00 Peasant Clothes
AC 00 Adventurer's Clothes
AD 00 Blue Pajamas
AE 00 Red Pajamas
AF 00 Yellow Pajamas
B0 00 Plate Armor
B1 00 BLANK (UNUSABLE)
B2 00 Lucia's Robe
B3 00 Lucia's Shorts
B4 00 BLANK (UNUSABLE)
B5 00 Leather Armor
B6 00 Chain Mail
B7 00 BLANK (UNUSABLE)
B8 00 Iron Armor
B9 00 Silver Armor
BA 00 Platinum Armor
BB 00 Warrior Armor
BC 00 Amethyst Armor
BD 00 Dyne's Armor
BE 00 BLANK (UNUSABLE)
BF 00 Dragon Armor
C0 00 BLANK (UNUSABLE)
C1 00 Goddess Armor
C2 00 BLANK (UNUSABLE)
C3 00 Priest Clothes
C4 00 Purity Clothes
C5 00 Ceremonial Clothes
C6 00 Holy Clothes
C7 00 Battle Clothes
C8 00 Miracle Clothes
C9 00 Saint Clothes
CA 00 Chaos Armor
CB 00 BLANK (UNUSABLE)
CC 00 Pretty Dress
CD 00 Flared Dress
CE 00 Fur Dress
CF 00 Silk Dress
D0 00 Jean's Dress
D1 00 BLANK (UNUSABLE)
D2 00 Hawk Wrap
D3 00 Ninja Wrap
D4 00 Tiger Wrap
D5 00 Scarlet Wrap
D6 00 BLANK (UNUSABLE)
D7 00 Robe
D8 00 Silver Robe
D9 00 Fur Robe
DA 00 Magician Robe
DB 00 Immortal Robe
DC 00 Wisdom Robe
DD 00 Aura Robe
DE 00 Sage Robe
DF 00 Safety Helmet
E0 00 Leather Cap
E1 00 Iron Helm
E2 00 Silver Helm
E3 00 Steel Helm
E4 00 Platinum Helm
E5 00 Warrior Helm
E6 00 Amethyst Helm
E7 00 Master Helm
E8 00 BLANK (UNUSABLE)
E9 00 Lucia's Hat
EA 00 BLANK (UNUSABLE)
EB 00 Dragon Helm
EC 00 BLANK (UNUSABLE)
ED 00 Lion Helm
EE 00 BLANK (UNUSABLE)
EF 00 Bandanna
F0 00 Colorful Bandana
F1 00 Silver Bandanna
F2 00 Lucky Bandanna
F3 00 Soul Bandanna
F4 00 BLANK (UNUSABLE)
F5 00 Charm Bandanna
F6 00 Prayer Bandanna
F7 00 Spirit Bandanna
F8 00 Aura Bandanna
F9 00 Miracle Bandanna
FA 00 Cute Ribbon
FB 00 Hairband
FC 00 Silver Hairpin
FD 00 Platinum Hairpin
FE 00 Bejeweled Hairpin
FF 00 Ritual Hairpin
00 01 Gold Hairpin
01 01 Amethyst Hairpin
02 01 Holy Hairpin
03 01 BLANK (UNUSABLE)
04 01 Goddess Hairpin
05 01 BLANK (UNUSABLE)
06 01 Fantasy Ribbon
07 01 Headband
08 01 BLANK (UNUSABLE)
09 01 BLANK (UNUSABLE)
0A 01 BLANK (UNUSABLE)
0B 01 BLANK (UNUSABLE)
0C 01 BLANK (UNUSABLE)
0D 01 BLANK (UNUSABLE)
0E 01 BLANK (UNUSABLE)
0F 01 Angel Ring
10 01 Healing Ring
11 01 Stardust Ring
12 01 Snake Ring
13 01 Shield Ring
14 01 Force Ring
15 01 Protection Ring
16 01 Spirit Ring
17 01 Luck Ring
18 01 Barrier Ring
19 01 Endurance Ring
1A 01 Anti-Magic Ring
1B 01 Earth Ring
1C 01 Plasma Ring
1D 01 Water Ring
1E 01 Phoenix Ring
1F 01 Wind Ring
20 01 Spirit Talisman
21 01 Purity Ring
22 01 Vigor Ring
23 01 Dew Ring
24 01 Noisy Amulet
25 01 Power Talisman
26 01 Fresh Ring
27 01 Clear Ring
28 01 Tri-Ring
29 01 Fiend Ring
2A 01 Gauss's Necklace
2B 01 Lemina's Purse
2C 01 Mystere's Mask
2D 01 Lucia's Pendant (NOT TELEPORTER)
2E 01 Gorgon Doll
2F 01 Iron Clogs
30 01 Rubber Boots
31 01 Hero's Talisman
32 01 BLANK (UNUSABLE)
33 01 BLANK (UNUSABLE)
34 01 BLANK (UNUSABLE)
35 01 BLANK (UNUSABLE)
36 01 BLANK (UNUSABLE)
37 01 Earth Crest
38 01 Thunder Crest
39 01 Water Crest
3A 01 Fire Crest
3B 01 Wind Crest
3C 01 Seal Crest
3D 01 Charm Crest
3E 01 Mind Crest
3F 01 Snake Crest
40 01 Dream Crest
41 01 Magic Eye Crest
42 01 Revenge Crest
43 01 Healing Crest
44 01 Warrior Crest
45 01 Chiro Crest
46 01 Hunter Crest
47 01 Shiro Crest
48 01 Gale Crest
49 01 Archer Crest
4A 01 Ogre Crest
4B 01 Power Crest
4C 01 Goddess Crest
4D 01 White Dragon Crest
4E 01 Red Dragon Crest
4F 01 Blue Dragon Crest
50 01 Black Dragon Crest
51 01 BLANK (UNUSABLE)
52 01 BLANK (Says Enables Earth Magic, Does Nothing Equipped)
53 01 BLANK (Says Enables Thunder Magic, Does Nothing Equipped)
54 01 BLANK (Says Enables Water Magic, Does Nothing Equipped)
55 01 BLANK (Says Enables Fire Magic, Does Nothing Equipped)
56 01 BLANK (Says Enables Wind Magic, Does Nothing Equipped)
57 01 BLANK (Says Enables Muting Magic, Does Nothing Equipped)
58 01 BLANK (Says Enables Charm Magic, Does Nothing Equipped)
59 01 BLANK (Says Enables Paralysis Magic, Does Nothing Equipped)
I - am that is

Contact Info: lunar2ebc@hotmail.com

User avatar
Sonic#
Pao Tribe Chieftain
Posts: 4683
Joined: Thu Dec 26, 2002 3:27 am
Location: Here, there, everywhere
Contact:

Re: Dragon Aura 2.0

Post by Sonic# »

This is really, really cool. I've been too busy to comment, but I hope you're saving this stuff in a few different places. In addition to what you're working on, it'd be invaluable to anyone messing around with save files or doing something more intensive.
Sonic#

"Than seyde Merlion, "Whethir lyke ye bettir the swerde othir the scawberde?" "I lyke bettir the swerde," seyde Arthure. "Ye ar the more unwyse, for the scawberde ys worth ten of the swerde; for whyles ye have the scawberde uppon you, ye shall lose no blood, be ye never so sore wounded. Therefore kepe well the scawberde allweyes with you." --- Le Morte Darthur, Sir Thomas Malory

"Just as you touch the energy of every life form you meet, so, too, will will their energy strengthen you. Fail to live up to your potential, and you will never win. " --- The Old Man at the End of Time

User avatar
captaindax
Red Dragon Priest
Posts: 117
Joined: Tue Oct 21, 2008 4:32 pm
Location: Maine, USA

Re: Dragon Aura 2.0

Post by captaindax »

Thanks! I am making backups and part of why I'm flat out posting my work here so others can make use of it and it's saved in one more place.

Started on the actual program today, results are positive but there's a lot of work to be done.

I'm really excited to mess with some weird stuff once I have the basics functioning in the program.

Despite all the space already taken up, and sharing 2 saves per block, there's a lot of material in a L2EBC save I've yet to identify the purpose of.

I really wonder if there's a trigger to indicate who is in the party. There's also coordinates on the map to be messed with, I assume somewhere the coordinates of the Destiny too.

My burning question is if I can enable locations on Lucia's teleporter pendant via the save, and what happens when I teleport to them outside of the normal flow of the game...
I - am that is

Contact Info: lunar2ebc@hotmail.com

User avatar
DevNall
Blue Dragon Ninja
Posts: 649
Joined: Wed Dec 31, 2003 7:33 am
Location: Unknown

Re: Dragon Aura 2.0

Post by DevNall »

Perhaps consider putting your notes and code in a GitHub or other repository?
captaindax wrote: Thu Jun 06, 2024 8:37 pm Despite all the space already taken up, and sharing 2 saves per block, there's a lot of material in a L2EBC save I've yet to identify the purpose of.
A lot of the save is probably also flags for which events have been triggered, and which chests have been opened.

User avatar
captaindax
Red Dragon Priest
Posts: 117
Joined: Tue Oct 21, 2008 4:32 pm
Location: Maine, USA

BETA 1

Post by captaindax »

DRAGON AURA 2.0 BETA 1

DOWNLOAD WINDOWS EXECUTABLE: https://drive.google.com/file/d/1aKZpc4 ... sp=sharing
DOWNLOAD VB.NET SOURCE FILES: https://drive.google.com/file/d/1qhifo2 ... sp=sharing

Okay I've got a very simple program created, that is more or less a proof of concept. Saving files on my google drive associated with my e-mail, which I've had forever and will likely never get rid of until I'm dead.

Feel free to redistribute, host elsewhere, modify and play with, just give me some kind credit if you do.

I fully intend to continue working on and develop this.

With this program you can:


Open a .MCR File
Edit from the first save of the first block.


** Confirmed working with all 3 discs of Lunar 2: Eternal Blue Complete (USA) **
** The Lunar 2: Eternal Blue Complete Save MUST Be in the first block on the card and the save to be edited will only be the FIRST one **
** This is very much beta, I tested it a bunch but always backup your saves before tinkering **

Edit Your Silver (Between 0 and 9,999,999)
Edit the inventory number of:

Herbs
Healing Nuts
Passion Fruit
Life Jewels
Star Lights
Silver Lights
Dragonfly Wings

And if you have:

White Dragon Wings
Lucia's Pendant (Teleporter)
Alex's Ocarina
Rememberizer Crystal


It will automatically adjust and save the correct checksum, and display it on the program (more for my benefit while testing).

I am a TERRIBLE programmer (my use of VB.NET probably reveals that) but I believe I worked out all the issues with these features.
I - am that is

Contact Info: lunar2ebc@hotmail.com

User avatar
captaindax
Red Dragon Priest
Posts: 117
Joined: Tue Oct 21, 2008 4:32 pm
Location: Maine, USA

BETA 2

Post by captaindax »

DRAGON AURA 2.0 BETA 2

DOWNLOAD WINDOWS EXECUTABLE: https://drive.google.com/file/d/1XnN5z3 ... sp=sharing
DOWNLOAD VB.NET SOURCE FILES: https://drive.google.com/file/d/1gimmnI ... sp=sharing
-----------------------

This is going to seem pretty boring but it was a big implementation and it was easier to do it first thing than wait until I was deep into the projct.

Changes:

You can now load and save data to any Lunar 2 EBC (USA) save on the memory card file.

After loading the file (.mcr) you will need to select a block (1-15) and a save on that block (1-2) and it will then load the appropriate data. When you save, it will save changes made to that appropriate block/save.

It will on first load scan and identify all the Lunar save blocks on the card and which save slots are filled and only present you with valid options to edit.

Example: If block 5 is the only lunar save block and slot 2 is the only save, it will only show you block 5 and slot 2 as options.

It only saves what is currently open, so if you switch blocks or saves (which you can freely without issue) it will not remember any changes you made if you did not save.

Hope this is helpful! Next step will be to continue filling out the inventory page then move on to character data.
I - am that is

Contact Info: lunar2ebc@hotmail.com

User avatar
captaindax
Red Dragon Priest
Posts: 117
Joined: Tue Oct 21, 2008 4:32 pm
Location: Maine, USA

BETA 3

Post by captaindax »

DRAGON AURA 2.0 BETA 3

DOWNLOAD WINDOWS EXECUTABLE: https://drive.google.com/file/d/1SeCE3o ... sp=sharing
DOWNLOAD VB.NET SOURCE FILES: https://drive.google.com/file/d/1-5puxb ... sp=sharing

-----------------------

I have finished the inventory. You can now control the amount of all 281 items in the game (plus your amount of Silver) that can be in your inventory. In most cases up to a maximum of 20 (or 1 in the case of some special items such as Bromides, Keys, etc).

I included a "Pack Rat" option which automatically adds everything in the maximum amount. I also added a "Bromides" button that just adds all the bromides.

I also have begun implementation of Character data, as of right now you can edit Hiro's current experience level, current HP and current MP.

Your level will automatically be set on game load based on whatever your current experience is set to and all appropriate spells will be added automatically.

You can also do the reverse and "Level Down" by reducing your current experience, even bringing Hiro down to level 1.

Current experience maxes out at 9,999,999 and levels max out at 99, at which point there is no listed "experience to next level" and you are essentially a god (999 max HP, 500 max MP).

You can set current HP and MP to anything up to 999, even if it exceeds the "Max" it will allow it, and leveling up or down will not change your current HP/MP.

That's all for now!
I - am that is

Contact Info: lunar2ebc@hotmail.com

Post Reply

Who is online

Users browsing this forum: No registered users and 21 guests