Users browsing this thread: 1 Guest(s)
Having the option to use Vigor in some spells

#41
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
I think you got 2 small issues. First the edit you've done nullify almost completely damage randomness. You can keep it that way but to lower the damage range you could maybe try #$F8 for a start.

Second I can lower the gap of an actual critical with normal attack. I'll look into this.
  Find
Quote  

#42
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
Try NOP this (EA EA):

Code:
C2/340E: E6 BC        INC $BC

If I understand this correctly, critical should deal 1.5X damages instead of 2X.
  Find
Quote  

#43
Posts: 378
Threads: 94
Thanks Received: 17
Thanks Given: 26
Joined: Jul 2013
Reputation: 11
Status
Charmed
I'm not sure if that's what I'm looking for. Putting FE there was a test to see what even happened, I don't want to get rid of random damage entirely, much less removing critical hits, I wanted to see why sometimes a bitlz did a weird strong attack.


Step forward, spriters! We are also responsible to make hacks look new and fresh, we are no less important than code or ASM hackers! CHARGE!!
Quote  

#44
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
I think the only thing that can modify a damage after the formulas and static stats is randomness that you played with it but I'm no expert, maybe I'm missing something.
  Find
Quote  

#45
Posts: 378
Threads: 94
Thanks Received: 17
Thanks Given: 26
Joined: Jul 2013
Reputation: 11
Status
Charmed
Okay, on closer evaluation, I noticed that these faux crits do happen even with regular attacks. I took an enemy with 65535 hp and bashed away. Headdy's usual 90 dmg attacks get turned into 123 very occasionally. They aren't crits because they don't make the screen flash, and Twila's actual crits deal twice her normal damage (82-164). This...is quite strange.

...Okay, so I figured out what happened.
Battle starts at normal, numbers dealing base damage.

Character does a random crit, does x2 damage.
Character keeps doing faux crits of around +25% damage.
Character crits again, dealing x2 damage
Character now does base damage.
Character does another random crit, does x2 damage.
Character keeps doing faux crits of around +25% damage.
Character crits again, dealing x2 damage
Character now does base damage.

It loops.
When this happened I was like "Whaaaaaa!?"
So now we know what happens. Now how could we fix this?

And upon even FURTHER investigation, I've come to another conclusion: each character reacts differently
Edgar descibes the scenario I pictured above.
Locke, after a crit, first deals one regular damage attack, then starts dealing faux crits until another crit, the next turn dealing normal damage, then faux crits until real crit. Pattern repeats.
With Terra the contrary happens: after a crit, it deals a faux crit, then starts dealing regular damage until a crit. The next turn is a faux crit and then normal again until another real crit.

What is this sorcery


Step forward, spriters! We are also responsible to make hacks look new and fresh, we are no less important than code or ASM hackers! CHARGE!!
Quote  
[-] The following 1 user says Thank You to Kugawattan for this post:
  • seibaby (05-08-2016)

#46
Posts: 281
Threads: 18
Thanks Received: 13
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
(05-06-2016, 07:33 PM)Kugawattan Wrote: 1) No. As you can see in my post above, my rom has a header and "header" is not commented.
2) Not that either. My rom before applying the patch has a big bunch of FF (around 150 bytes) empty at the adress you gave me.
3) Sorry for being a bit mean, but that doesn't make any sense. If any patch but the Ultimate Damage fix would not work with your patch, then why do they do? Without the UDf my game runs smoothly with the new vigor formula.

I've been being extra careful about not doing weird things after the second time I corrupted my rom, so I doubt something is wrong with it. Also, I think you made a typo in your last post and meant to say "no part of my patch is incompatible with", because your post wouldn't make any sense otherwise.

Wow, this sounded unnecesarily mean. I'm sorry. I'm going to apply your asm to a clean rom (with the ultimate damage fix) and see if it works.

A clean rom (that has FF FF in the offsets you pointed) with both ultimate damage patch and your asm work still crashes once a character gets a turn. Ouch.


No offense taken. I think we both misunderstood each other. I thought you were still having problems with my patch after you removed the Ultimate Damage fix and I attempted to give possible reasons why that may be, the most likely one being other patches. If you haven't had problems with other patches and my patch, then it's all good. However, you should know that, if something should happen to your ROM so that you'll have to revert to a backup, it's still possible to extract changes you've made to stuff like item stats and monster scripts.

Sorry, but no typo. Ultimate Damage fix will definitely NOT work with my patch. If you try using both, the game will definitely crash, as you discovered. It doesn't have anything to do with free space (the Ultimate Damage fix uses none); they modify the same code and aren't compatible. The Ultimate damage fix rewrites every part of the damage code completely, moves things around, etc, and my patch relies on all of that being unchanged.


(05-06-2016, 07:33 PM)Kugawattan Wrote: (oooh double post of doom. Very scary!) Okay, after testing seibaby's vigor normalizer patch, I can assure it works wonders, even if it allows slighty less variety for the early monsters' attack power (with the stamina tweak disabled, early enemies can't have more than 3 or 4 Bat. Power and level 5 or 6, or else they deal way too much damage).

However, I seem to have noticed a small issue that's more annoying than anything, and it's that it seems characters dealing damage is kinda...too aleatory. For example I have Terra (with 36 Vigor and 9 Battle Power) deal a somewhat consistent 70 damage on one enemy, but other times the damage goes from 49 to 82. Likewise, My Pummel equivalent seems to do damage that varies from 110 to 148. I'm wondering if it is possible to reduce the random damage somewhat, what do you think?

Yeah, enemies doing too much damage was the reason I changed their Vigor formula, so that earlier monsters would have less Vigor. I can modify it to be dependent on Level or some other stat if you prefer. And yeah, Battle Power makes a huge difference now.

The random damage isn't modified in my patch, it should be within the normal (Damage * [224..256] / 256) variance. If you're seeing varying damage on different enemies, it could be due to differences in Defense. If damage varies more than 12,5%, then something isn't working as it should. Note that, if you're hitting an enemy in the back, damage is increased by 50%.

(05-07-2016, 08:25 PM)Kugawattan Wrote: What is this sorcery

This all sounds very strange. Have you tested if it happens on a vanilla ROM with ONLY my patch applied? It's difficult to troubleshoot when there are other patches and edits in the mix.

If it does happen with only my patch applied, I'll have to take a closer look. If not, then it's because one or more of your other patches conflict with mine. You'll have to keep adding one patch at a time, with testing inbetween, until you discover the culprit.
  Find
Quote  

#47
Posts: 378
Threads: 94
Thanks Received: 17
Thanks Given: 26
Joined: Jul 2013
Reputation: 11
Status
Charmed
I just tested it in a clean rom with only your patch applied. The same thing happens: Edgar does around 400 damage, crits, then deals 400 damage again and then consistently deals 511 the next turns until another crit.
Terra is now dealing "intermitent" damage, doing intervals of 260, 330, 250, 320, 240, 320, etc. Crits didn't seem to have any influence.
Strangely, Locke didn't seem to be affected, dealing consistent 400 damage until the crit which did around 800. That's...so weird.


Step forward, spriters! We are also responsible to make hacks look new and fresh, we are no less important than code or ASM hackers! CHARGE!!
Quote  
[-] The following 1 user says Thank You to Kugawattan for this post:
  • seibaby (05-08-2016)

#48
Posts: 281
Threads: 18
Thanks Received: 13
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
That was a sneaky bug. It was caused by prematurely setting 16-bit memory before calling the magical damage code. This can cause the carry flag to be wrongfully set sometimes, resulting in skipping the quadrupling of Battle Power/Spell Power that gets added to damage. This is normally only skipped by Items, Runic and other "special" forms of damage/healing that do damage exactly equal to Spell Power.

You may have noticed that the difference in damage was exactly Battle Power * 3. That's what clued me in to the bug. Smile

It's fixed now and I updated the code in my post.
  Find
Quote  

#49
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
Unrelated: When does the carry flag can lead to a bug? I know you must always clear it (CLC) before an addition, but given you make a BCC or BCS and reach after in an unexpected way another BCC / BCS, the carry flag will still be based on the operation often right before the last BCC / BCS. What am I missing here?
  Find
Quote  

#50
Posts: 281
Threads: 18
Thanks Received: 13
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
(05-08-2016, 12:29 PM)Madsiur Wrote: Unrelated: When does the carry flag can lead to a bug? I know you must always clear it (CLC) before an addition, but given you make a BCC or BCS and reach after in an unexpected way another BCC / BCS, the carry flag will still be based on the operation often right before the last BCC / BCS. What am I missing here?

You don't need to clear the carry for addition if your intention is to have the result be +1. Off the top of my head, one such example is in the Steal function. 

The carry flag can get set by ADC/SBC, LSR/ASL, ROR/ROL, CMP/CPX/CPY, (and SEP/SEC). A wrongfully set/cleared carry flag would most commonly mess up conditional branches and cause bugs that way, but I guess with careless bit rotations it could cause some values to be wrong in a catastrophic way (messing with BEQ/BNE for example). I'm still a novice to assembly and haven't done a lot of debugging (except for my own code) so I'm not particularly familiar with common bug-causing scenarios. Smile
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite