Users browsing this thread: 1 Guest(s)
FF6 Expansion Editor (FF6ExpED)

#11
Posts: 281
Threads: 18
Thanks Received: 13
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
Wow, this is really neat. Goes a long way to make Steal more useful because you can give Steal a higher base success rate, add more items, and simply give the better items a lower chance of being Stolen. So you get more out of it, overall, even if it's just useless vendor loot. So Steal can have another purpose (increasing your wealth). Smile

By the way, Madsiur, as long as you're poking about in the Steal code, perhaps you can modify the way the Sneak Ring works. In vanilla, it doubles the StealValue.
Code:
StealValue = (Locke's Level + 50 - Enemy Level)


I always thought that was a silly way of doing it, because if a monster is 50 levels higher than Locke (as often is the case in an LLG), then StealValue becomes 0 and doubling it is useless. It would be much better if Sneak Ring doubled the value before subtracting the enemy's level, ie. StealValue becomes:
Code:
StealValue = (Locke's level * 2 + 100 - Enemy's level)

I'll likely get around to doing it myself someday. But I'm making the suggestion here so you can plan ahead and incorporate such a mod into your editor (if you so wish).
  Find
Quote  
[-] The following 2 users say Thank You to seibaby for this post:
  • madsiur (04-13-2016), Robo Jesus (10-05-2016)

#12
Posts: 3,969
Threads: 279
Thanks Received: 236
Thanks Given: 57
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(04-13-2016, 02:16 PM)seibaby Wrote:
Code:
StealValue = (Locke's level * 2 + 100 - Enemy's level)

I'll likely get around to doing it myself someday. But I'm making the suggestion here so you can plan ahead and incorporate such a mod into your editor (if you so wish).

That does look like a nice alternate formula. It's something I can make optional with a simple checkbox in the config menu. Same with steal formula, if anyone has a formula replacement that make sense, I can include it as optional.
  Find
Quote  

#13
Posts: 281
Threads: 18
Thanks Received: 13
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
(04-13-2016, 10:42 PM)Madsiur Wrote: That does look like a nice alternate formula. It's something I can make optional with a simple checkbox in the config menu.

I just noticed that I made a mistake with that formula. It should be:
Code:
(Without Sneak Ring)
StealValue = (Locke's level + 50 - Enemy's level) (as in vanilla)
(With Sneak Ring
StealValue = (Locke's level * 2 + 100 - Enemy's level * 2)
Otherwise the Sneak Ring gets an unintended boost. The intended purpose of the Sneak Ring is to double the Steal chance; my amendment is only proposing to fix the formula so that the Sneak Ring doesn't become useless before taking it's own effect into account, as that can arguably be called a bug.

I would argue that the Sneak Ring does need a boost, but that's a discussion that goes beyond fixing bugs and into modification territory. Which brings us to:
(04-13-2016, 10:42 PM)Madsiur Wrote: [...]if anyone has a formula replacement that make sense, I can include it as optional.

One minor modification I'd like to see is to cap StealValue at a minimum of 1, so that there is always at least a chance of Stealing (Sneak Ring or not).

Otherwise, I'm kind of a fan of what FFXII did, and that is simply to do away with a Steal formula altogether. It just checks the probabilities for each slot (there are three; 55%, 10% and 3% without Thief's Cuffs, 80%, 30%, and 6% with them) when a Steal attempt is made. If nothing is stolen, the attempt is unsuccessful and you can try again.

The only thing I'd change with FFXII's approach is to allow you to try indefinitely to get all the items, but that depends on what your model is supposed to simulate. Are all mobs always carrying rare items, and it's just really difficult to get ahold of it by pickpocketing? Or are only a small percentage of enemies you face carrying rare items? I'm leaning towards the latter idea, except in the case of rare steals on bosses because bosses are unique while there's an endless supply of mobs. It'd be nice to have a flag for enemies that allows multiple successful steal attempts.
  Find
Quote  

#14
Posts: 3,969
Threads: 279
Thanks Received: 236
Thanks Given: 57
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(04-14-2016, 07:25 AM)seibaby Wrote: Otherwise, I'm kind of a fan of what FFXII did, and that is simply to do away with a Steal formula altogether. It just checks the probabilities for each slot (there are three; 55%, 10% and 3% without Thief's Cuffs, 80%, 30%, and 6% with them) when a Steal attempt is made. If nothing is stolen, the attempt is unsuccessful and you can try again.

I thought about getting rid of the steal formula (optionally). So basically stolen items would work like drops if the hacker wants. As you said I like to keep 1 stolen item per monster, I like rare steal/drops actually being rare.
  Find
Quote  

#15
Posts: 281
Threads: 18
Thanks Received: 13
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
FFX does allow for multiple steals; each Steal slot is checked independently. You can steal between one or three items in one go, but you only get the one successful attempt.

Ok, I'm retarded.
Code:
(Attacker Level + 50 - Target Level) * 2
and
(Attacker Level * 2 + 100 - Target Level * 2)
are literally exactly the same and has exactly the same shortcoming.

I guess what I was trying to do was find a formula that effectively doubles the range of level difference where you still have a chance to Steal, while also staying close to an overall doubled Steal chance. Back to the drawing board for me.

In the meantime, my first suggestion (Attacker's Level * 2 + 100 - Target's Level) is the best I can come up with, since it allows Stealing at any relative level. Although it doesn't just double the Steal chance, it pretty much guarantees a Steal unless the level difference is more than 50.

Edit: D'oh. I guess what I'd like Sneak Ring to do is to simply give the Attacker 50 extra levels for the purpose of calculating Steal success. So pretty much just this:
Code:
StealValue = (Attacker Level + 100 - Target Level)
  Find
Quote  

#16
Posts: 2,768
Threads: 88
Thanks Received: 24
Thanks Given: 87
Joined: Jun 2009
Reputation: 25
Status
None
Wow this is just awesome madsiur great work


"Sometimes ninjas do wrong to each other, and in dat way the force of tha earf' comes around da moon - and at that presence, da dirt, it overshadows the grass, so you're like, I can't cut dis grass, there's no sun comin' through. So in order to enable each other the two fruits have to look each other in da eye and understand we can only be right, as da ripe is wrong, you know what I mean?"

-HNIC
Quote  

#17
Posts: 3,969
Threads: 279
Thanks Received: 236
Thanks Given: 57
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(04-14-2016, 08:56 PM)Poco Loco Wrote: Wow this is just awesome madsiur great work

Thanks man I'm gonna do the same with sketch data and rages.
  Find
Quote  

#18
Posts: 2,768
Threads: 88
Thanks Received: 24
Thanks Given: 87
Joined: Jun 2009
Reputation: 25
Status
None
thats incredible


"Sometimes ninjas do wrong to each other, and in dat way the force of tha earf' comes around da moon - and at that presence, da dirt, it overshadows the grass, so you're like, I can't cut dis grass, there's no sun comin' through. So in order to enable each other the two fruits have to look each other in da eye and understand we can only be right, as da ripe is wrong, you know what I mean?"

-HNIC
Quote  

#19
Posts: 81
Threads: 4
Thanks Received: 6
Thanks Given: 6
Joined: Nov 2009
Reputation: 14
Status
Weakness
This looks awesome. I can't tell if it makes it possible to steal more than one item from a given monster though? I would assume that it does not, because that is one thing I had to tweak in Multi-Steal; you actually need some RAM to store the IDs of all the stolen items until the animation can get around to showing it. For those that don't know; before Locke ever jumps to the first enemy, the entire sequence of events is determined, and part of the original bug was that they did not have more than one RAM location for stolen items to go. I solved it by making 6 of them, so in theory you could get one per enemy. If the steal slots were treated independently, then you'd need #slots * #enemies locations (up to 8, since I don't suppose you're going to get more than 8 attempts in one turn).

Finding free RAM is always the hard part with stuff like that. It's also another source of potential worry over conflicts when applying multiple patches.


I appreciate the prayers and good wishes. Those who don't know, I was diagnosed with stage 4 melanoma in 2019, and I have done well with the treatment, but eventually treatments stop working and you change.  I recently had a seizure at work, now I am healing but not able to work or really do much at all. The focus is just to get better. Again, thanks for the support and if I can help you I will.  I've forgotten more about this game than most people should ever learn, lol.
  Find
Quote  

#20
Posts: 3,969
Threads: 279
Thanks Received: 236
Thanks Given: 57
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(05-06-2016, 01:07 AM)Imzogelmo Wrote: This looks awesome. I can't tell if it makes it possible to steal more than one item from a given monster though? I would assume that it does not, because that is one thing I had to tweak in Multi-Steal; you actually need some RAM to store the IDs of all the stolen items until the animation can get around to showing it.

You can only steal one item per monster. I did some odd coding to make this work. Instead of using the stealable items RAM for items numbers and expanding RAM to 4 bytes per monster, I stored an offset there (monster ID * 8 because of 4 drops and 4 steals) instead of using other RAM (such as $144X) for monsters 4, 5,6 (this solution was expanding the code a lot). So when there's a successful steal I write #FFFF to the RAM bytes (formely for stealable items numbers) of the monster and check for #FFFF at beginning of steal routine to see if monster has already been stolen. I opted for that solution after realizing the stolen item RAM is only used in the steal routine at 2 or 3 places and nowhere else in the game. I instead just get the values from the steal / drop table.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite