Banner
Views: 844,171,925
Time:
8 users online: AnasMario130, gwai_lo,  JamesD28, Katrina, kurb kid, Romano338, SuperMarisa1999,  Tahixham - Guests: 37 - Bots: 74 Users: 46,401 (2,776 active)
Latest: AbdulDraws
Tip: Read all of the tips by looking here.Not logged in.
Plumber's Parasitic Plant Problem (Jul-16-2016: A Sad Update!)
Forum Index - Sunken Ghost Ship - Forum Graveyard - Super Mario RPG - Plumber's Parasitic Plant Problem (Jul-16-2016: A Sad Update!)
Pages: « 1 2 3 4 5 »
Worth a shot! Send the code on over!
Well, let's start with the RAM addresses. The characters in slots 1-3 are first, then monsters 1-8, with 128 bytes each.

Code
7E:FA80-FAFF Slot 1
7E:FB00-FB7F Slot 2
7E:FB80-FBFF Slot 3


Code
7E:FC00-7E:FC7F slot 1
7E:FC80-FFFF slot 2 - 8 (128 bytes each)


The modified speed (the one calculated with base + equipment) is located at 7E:FAF0 for character in slot 1, but that's after the register push. We're looking at $70 for the final speed. The monster, too, uses this same byte for final speed calculation.

Umm, so that's that... Giangurgolo found where the hit chance is located, and where I think the speed calculation hack will go. I added in the parts that were branched over:

Code
C2/C19E A6 CA       LDX $CA    [$00:00CA]   A:0001 X:FC80 Y:0730 
C2/C1A0 A5 FA       LDA $FA    [$00:00FA]   A:0001 X:FC80 Y:0730 ;load Hit %
C2/C1A2 C9 64       CMP #$64                A:0063 X:FC80 Y:0730 ;check if 100%
C2/C1A4 D0 03       BNE $03    [$C1A9]      A:0063 X:FC80 Y:0730 ;branch if not 100%

C2/C1A6 A9 01       LDA #$01
C2/C1A8 60          RTS

C2/C1A9 A5 F8       LDA $F8    [$00:00F8]   A:0063 X:FC80 Y:0730 ;load attack type
C2/C1AB 89 20       BIT #$20                A:0001 X:FC80 Y:0730 ;check morph bit
C2/C1AD F0 0B       BEQ $0B    [$C1BA]      A:0001 X:FC80 Y:0730 ;branch if not set

C2/C1AF BF 41 00 7E LDA $7E0041,x[$7E:FCC1] A:0001 X:FC80 Y:0730 ;load special defense
C2/C1B3 89 02       BIT #$02                A:0000 X:FC80 Y:0730 ;check death protection bit
C2/C1B5 F0 03       BEQ $03    [$C1BA]      A:0000 X:FC80 Y:0730 ;branch if not set

C2/C1B7 A9 00       LDA #$00                A:0000 X:FC80 Y:0730 ;set miss flag
C2/C1B9 60          RTS                     A:0000 X:FC80 Y:0730 

C2/C1BA A5 CE       LDA $CE    [$00:00CE]   A:0001 X:FC80 Y:0730 
C2/C1BC D0 2A       BNE $2A    [$C1E8]      A:0000 X:FC80 Y:0730 
C2/C1BE A5 F8       LDA $F8    [$00:00F8]   A:0000 X:FC80 Y:0730 ;load attack type
C2/C1C0 89 01       BIT #$01                A:0001 X:FC80 Y:0730 ;check if physical attack
C2/C1C2 F0 06       BEQ $06    [$C1CA]      A:0001 X:FC80 Y:0730 ;branch if magic attack

C2/C1C4 BF 1B 00 7E LDA $7E001B,x[$7E:FC9B] A:0001 X:FC80 Y:0730 ;load Evade %
C2/C1C8 80 04       BRA $04    [$C1CE]      A:0000 X:FC80 Y:0730
 
C2/C1CA BF 1C 00 7E LDA $7E001C,x[$7E:FC9C] A:0000 X:FC80 Y:0730 ;load Magic Evade %

C2/C1CE 85 DA       STA $DA    [$00:00DA]   A:0000 X:FC80 Y:0730 ;set to evade%
C2/C1D0 A9 63       LDA #$63                A:0000 X:FC80 Y:0730 ;value 99
C2/C1D2 85 DB       STA $DB    [$00:00DB]   A:0063 X:FC80 Y:0730 ;set value to 99 (out of 99)
C2/C1D4 20 F2 B2    JSR $B2F2  [$C2:B2F2]   A:0063 X:FC80 Y:0730 ;generate random number
C2/C1D7 F0 03	    BEQ $03					 ;branch if NOT equal
	A9 00							 ;set miss flag
	60							 ;end
	A5 FA
	85 DA
	A9 63
	85 DB
	20 F2 B2
	60

Generate random number
C2/B2F2 A5 DB							 ;load from $DB memory
C2/B2F5 EB
C2/B2F6 A9 00
C2/B2F8 EB
C2/B2F9 C2 20
C2/B2FB 1A 
C2/B2FC 20 C6 B2

C2/B2C6 DA
	5A
	85 44 
	A5 40
	29 00 FF ;isloate
	09 01
	00

C2/B2FE E2 20       SEP #$20                A:0062 X:FB80 Y:0730 
C2/B300 C5 DA       CMP $DA    [$00:00DA]   A:0062 X:FB80 Y:0730 ;compare generated number to Hit %
C2/B302 30 03       BMI $03    [$B307]      A:0062 X:FB80 Y:0730 ;branch if in hit range
C2/B304 A9 00       LDA #$00                A:0062 X:FB80 Y:0730 ;set 'miss' flag
C2/B306 60          RTS                     A:0000 X:FB80 Y:0730 


My thoughts on this: I have no idea how this works. I've tried deleting/changing bytes certain bytes to see how it works, but even with this I couldn't pinpoint how hit chance is determined. Without knowing how it works, I can't really think of how the speed would be calculated.

-----

For full documentation purposes, here is what all the bytes do.
For characters:
Code
00 mortal status
	bit 7: wounded
01 character byte

10 Level
11 Current HP (2 bytes)
13 Maximum HP (2 bytes)
15 Speed
16 Attack
17 Defense
18 Magic Attack
19 Magic Defense
1A Current EXP (2 bytes)
1C equipped weapon
1D equipped armor
1E equipped accessory
1F unused byte*
20 spell list (4 bytes)

40 status ailment (if any)
41 status bonus
42
44 Once Again
45 amount of damage to display

70 modified speed
72 modified attack
74 modified defense
76 modified mg.attack
78 modified mg.defense


For monsters:
Code
00 mortal status
	bit 6: disable target
	bit 7: remove target
01 monster byte
11 Current HP (2 bytes)
13 Maximum HP (2 bytes)
15 Speed
16 Attack
17 Defense
18 Magic Attack
19 Magic Defense
1A Current FP
1B Evade%
1C Magic Evade%
1D Special Flags
1E ?undocumented
1F ?undocumented
20 ?undocumented
21 ?undocumented
22 entrance style byte
2C coin animation
2D flower bonus
2E entrance style bits
37 targetting cursor X coordinate
38 targetting cursor Y coordinate
3D elevation
41 special defense (death/morph protection)
45 amount of damage to display
46 heal bit

70 modified speed
72 modified attack
74 modified defense
76 modified mg.attack
78 modified mg.defense
Update:

Toadstool will not be able to learn a party-wide heal spell automatically as she levels up. Instead, her toolkit is going to be influenced a lot by a couple items and equips. She'll learn a new spell to compensate for her lack of party heals.

Toadstool will learn a new special called "Take Cover!". What this does is all party members will instantly use the "Defend" command, causing all incoming damage to reduce by 50% until their next turn.





By timing this just after the her warning, the each member is invulnerable until their next turn! This also clears status ailments. Timing this will actually cost you a little extra FP, so watch your FP count!

This spell does have a drawback, one you may have seen coming.

What if Toadstool's turn is first? When it becomes another member's turn, the Defend or invulnerability bonus will have worn off. This is where new items will come into play. You'll be able to either make members faster than her, or make her slower than them. You'll be able to do this more than one way! But I won't reveal how though until the next version of the game is out.
Peace!Layout by Erik557 & LDA.
Thank you!








That looking good i believe the take cover! spell should have a funny like noise like a scream or a panic like noise to add more to the spell and make it sound like Toadstool is actually freaking out.
*But I won't reveal how though until the next version of the game is out.*

That makes it sound like a New Demo is going to happen soon. That would seem weird though as it looks like you have messed with Battle Actions so far.

Shame that the sewer thing had to be changed from the first Demo.

As for the Take Cover! Spell, I feel like it should be Remove 50% of Damage on it's own, but if timed correctly it's 60% and cost twice as much FP in the process.
The enemy nor PC's speed takes any role when it comes to placing a hit, which I'm sure was already known. It all comes down to the enemies evade and a random role. None of the PC stats seem to have ANY kind of role in hit chance at all from what I'm seeing..

Speed - Speed essentially could work, but the problem is the random role. It's definitely needed but how exactly are the calculations going to work with the random role included? If it's just speed - speed say if the enemy had 100 speed and Mario had 10 speed, you'd have a 90% chance of missing.. how would the random role come into play? That's what's throwing me off with adding in any code since it is LEGITIMATELY completely random and then it compares to the enemies evade, that's it. There's no special additional calculation that I can see.

I'm trying to think of something.. though it's most likely not going to work but worth a shot to throw up in the air.

What if the random role # was based off of the enemies TOTAL speed? So if the enemy had 100 speed, the max role would be 100, if they had 200, max role would be 200. We would 'PROBABLY' have to add a 'minimum' number as well I think.. honestly not sure.

My theory is this:
Enemy Speed: 200
PC Speed: 180
Miss Chance: Enemy Speed (200) - PC Speed (180) = 20
Max Random Role: Enemy Speed (200)
Minimum Role: Enemy Speed (200) - Miss Chance (20) = 180
Total Max Role: Enemy Speed (200) + Miss Chance (20) = 220

What I'm thinking is that the miss chance is the additional and subtractional value to the max role. In this case, it'd role a number between 180-220 and then compare if that value is greater than the enemies speed being 200. Basically, it sets the basis overall for the miss chance.. I think if this works out properly. The only big problem I see is if your speed is way above the enemies, in which case, it'd 'probably' have a check for that and just have an automatic setting to 100% hit.

Now, the big kicker here is what if the enemy clearly out matches you? It makes it 'incredibly' hard to allow for an actual hit to happen even with increased speed. You'd have to do some SERIOUS speed increasing to make that work via items, spells and what not.
The project has been put on hold!! #wario{:U}

Incoming wall of text!! I'm going developer blog writing mode for this. Watch out!!

So it's been a little under three months since I posted anything here. Well, what happened?

It's not that I was low on fuel to work on this project, my motivation never really ceased. However, I hit a wall, which I will describe in three points.

#1. I got employment over in another city. It's pretty exciting for my life--I'm actually going somewhere! At least, for now anyway. It took me about a month to adapt, so that's where one month went.

#2. I was going to school at one point. During that time I taking more time brainstorming than I was actually developing the game.

And #3. I think point is the most pronounced of the three: I planned this project on a scale so big I can't develop it the way I want. This is the second time I've done this, mind you, so I'm not too happy. I think this is why I never actually got anywhere in developing gameplay outside that demo last year...

So in short, life happened. To elaborate more on point #3, I learned some neat tricks by watching Extra Credits, a channel on YouTube (specifically these videos: https://www.youtube.com/watch?v=dHMNeNapL1E and https://www.youtube.com/watch?v=UvCri1tqIxQ). I actually recommend these for anyone developing their own game, on any developing platform, be it Game Maker, Unity, LazyShell, or anything.

So... Back to PPPP. Instead of scrapping all the ideas I have for this project, I want to first try my hand at a project even smaller than this one--Something I can comprehend, to be able to show something for it instead of having it all on paper.

Erm--This won't be easy. Here are the mistakes I made on PPPP, for anyone that wants to learn from me:

#1: I kept adding on to the project. It started off small with a humble "Mario and Toadstool go on vacation to fight a good piranha plant that went bad" to a huge, upscale "Mario, Toadstool and Toad go on vacation and along the way discovers a new world connected to the pits, creating a dire situation that involves not only the Mushroom World, but the Star World as well." (Yes, this was going to be a lot more grandiose)

#2: As I kept brainstorming the story to try to fit all the puzzle pieces together, I ran into even more problems: I couldn't settle on anything. Ideas kept changing, and when I felt I wanted to settle on a handful of ideas, I revised it and revised it to a point where I couldn't settle it to work on anything concrete. My ideas for the project were all up in the air. As much as I wanted more story arcs to appear to present themselves, even more problems arose because I couldn't actually sit down to make any actual playable content.

#3: I did not set myself with a deadline to do anything. And, I didn't actually tell myself what I've done, what I wanted to do, etc because it was all up in the air. Nothing was getting done. At all. :sadface:

*sigh* And with all these points, I came to a conclusion: There is too much expectation on a first project. Too much stuff I wanted to include to meet my ideal for a great SMRPG hack: Four new partners, all with new skills (and animations), every level is new, all new events, twenty-three (23!!!) areas to visit, all with a new story for a player to travel through that all somehow linked together to create a new, immersive world.

CONCLUSION: How do I fix these? This will be put on hold until I do something ("something" = actually make a little tiny game, even if it sucks and doesn't meet expectations). I need to set a deadline, and give myself extra time because I know for a fact it will not be completed in the expected time because of my employment, but also because life will happen. I need to tell myself what I have done and what I will do (like a head developer's report to a team of developers), that way I can account for my work.
I need to watch those Extra Credits videos one more time, because they really helped me see my flaws. You should too!

Don't think of this as a step back--It's actually more progress to bigger projects like this one. I'm still going to be sad that I have to put this down, though! It's ok, I'll hold you too.

So, rest for a little bit, Plumber's Parasitic Plant Problem. I'll be back for you again, some day.

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

@justin3009: I'm not even going to try. Thank you for your efforts and motivation to help, however I'm just going to not do this. Sorry I took ~3 months to respond. #ab{:S} Again, thank you.
Peace!Layout by Erik557 & LDA.
Thank you!








Hey Yakibomb sorry to hear you couldn't finish your smrpg project and yeah it does happen we plan so big it goes over our heads but some of these bigger hack and mods have one thing i may think you fogot... they are not done by a single maker. some maybe but don't plan big relaize later you cannot do it alone and think it either a fail or a project on hold.
Ok with that said what you have done so far looks great and you have some great talent sprite creating and mixing even your ideas on the music you edited over to smrpg sounds great.
If you need a helping hand just ask :D i'm sure someone will be willing to help (if it not me of course). Some project are better to go solo while others are better with some more hands on the project.
Thanks for the kind words, Izouki. I honestly have no team-managing experience, so my fear is I would be either too bossy or too submissive, or both. Perhaps within the next six months (or sometime in the beginning of 2017), I will start a team project with a Super Mario Galaxy/Kirby Super Star Milky Way Wishes theme, but this is not for a long while. Someone else may take my idea for a collab like that, otherwise I will start it. (In truth I intended to start it on the first of this year, but I didn't take)

As for this project... I'll love it till death, but I have to put it down for now. It was starting to get dry, and I was forced with too much creative-impairing limitations. With a new SMRPG project at my fingertips, this limitation minimized considerably.

My wish for my birthday was to make a hack that I will finish. Even half-thought out, small, and/or just not offering replay value, I hope, and my wish, is to just finish something others can play and appreciate.

My love for SMRPG will not fall off screen so suddenly as long as I live. So with that, I'm happy to keep on this project until I gather more experience and of course, when I learn more about myself to be able to ask for help.
I look forward to your smrpg hack and if you need any help in working on it i be more than happy to since my smrpg hack is almost finished and im gonna take a break from working on anything for a lil bit to get more ideas for another project.
Well Yakibomb. It's a shame that your SMRPG project went down for now. At least you are finally going to another place for employment which is quite exciting. Wish you luck there :). Also I hope the SMRPG project can come back maybe somewhere between January and March of next year :D.
Originally posted by Rashama Izouki
I look forward to your smrpg hack and if you need any help in working on it i be more than happy to since my smrpg hack is almost finished and im gonna take a break from working on anything for a lil bit to get more ideas for another project.

Excellent! I'm going to need testers in the future--I've made a list, and I'll be sure to hit you up!


Originally posted by mosky2000
Well Yakibomb. It's a shame that your SMRPG project went down for now. At least you are finally going to another place for employment which is quite exciting. Wish you luck there :). Also I hope the SMRPG project can come back maybe somewhere between January and March of next year :D.

Thanks, mosky! I hope to get back PPPP quite soon (around the time you mentioned, or before). I can't let it sit for too long, otherwise it'll just sit there.

Gonna reveal the new project within the next couple of days. September 27th is my goal date, that's when NCFC2016 starts. I will cross that finish line with a complete project!
Your project was awesome !
I played the demo 142 times (i'm seriously) !
I hope you come back to PPPP soon...

About that new project, if there something i can help...
Good luck o/

Sorry for my bad english, i'm brazilian
It's honestly probably for the best and it's good that you've learned this early on. I've fallen into this same trap multiple times and I STILL do with my projects!

I aim for something small but then I realize what can be done and it expands into a ludicrous amount of things that makes it near impossible to finish etc etc..

Like you said, start small and I mean REALLY small. If you want to go for a bigger project, plan plan plan! Get as many of the details as you possibly can worked out and go from there. Jumping the gun with not much of a plan makes for the same repetitive pattern (From experience again. Still learning not to do this).

I think though if you come back to this, you'll be much better than ever and it'll be easier to work on it. You've done incredibly well so far so take all the time in the world to do what you need to do and figure out what you want.
Originally posted by DarkFeposo
Your project was awesome !
I played the demo 142 times (i'm seriously) !
I hope you come back to PPPP soon...

About that new project, if there something i can help...
Good luck o/

Sorry for my bad english, i'm brazilian

Aw, thank you. I'm so happy you enjoyed it that much! I think the only thing that is worth mentioning is that in the demo, by pressing B rapidly you'll come to my old debug menu... If you're looking to implement a button activated debug menu, look into that. (event 2496 I believe)

Originally posted by justin3009
It's honestly probably for the best and it's good that you've learned this early on. I've fallen into this same trap multiple times and I STILL do with my projects!

I aim for something small but then I realize what can be done and it expands into a ludicrous amount of things that makes it near impossible to finish etc etc..

Like you said, start small and I mean REALLY small. If you want to go for a bigger project, plan plan plan! Get as many of the details as you possibly can worked out and go from there. Jumping the gun with not much of a plan makes for the same repetitive pattern (From experience again. Still learning not to do this).

I think though if you come back to this, you'll be much better than ever and it'll be easier to work on it. You've done incredibly well so far so take all the time in the world to do what you need to do and figure out what you want.

Thank you. I'm like half asleep but I think I get what you're saying. I really should start as small as I can and work my way up. I kind of already made the mistake of adding on stuff for this new project already without building the base, so I'm going to try my best within the little time I have to cut things and work from what I have rather than what I don't have.

What you're saying kind of reminds me of Tobias (https://www.youtube.com/watch?v=2b0tSu0QDQ0), the game that took 13 years to complete.
I will not lie, but this hack is better than others. Can not wait to play it#smw{<3}

--------------------
Visit my channel, and subscribe so you do not miss the best videos in the house
Originally posted by davidholanda30
I will not lie, but this hack is better than others. Can not wait to play it#smw{<3}

Thank you, I appreciate your input! Though it won't be released till farther down the line, I'm afraid!
Pages: « 1 2 3 4 5 »
Forum Index - Sunken Ghost Ship - Forum Graveyard - Super Mario RPG - Plumber's Parasitic Plant Problem (Jul-16-2016: A Sad Update!)

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2020 - SMW Central
Legal Information - Privacy Policy - Link To Us


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy