Author Topic: Break 255 MP cost  (Read 19227 times)

cloudiar

  • *
  • Posts: 202
    • View Profile
Break 255 MP cost
« on: 2012-10-08 16:35:47 »
Hello everybody, first of all thank you for your time.
I would like to receive help of someone, because I want to increase the PM cost limit more than 255, I don't need to make it to 65535 (nice to 999 for example), but it's important not only for mine, for everyone that is making a mod will achieve ths goal.
If someone knows the offset to make it, please tell me out.

Thanks

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: Break 255 MP cost
« Reply #1 on: 2012-10-08 17:39:00 »
I'll just spare you a lot of headache by saying no. It's not possible. There's no magic byte(s) or word(s) that can be modified to change this. It's a data structure issue that changing it would mean a drastic re-write of the way magics are handled.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: Break 255 MP cost
« Reply #3 on: 2012-10-08 18:02:52 »
The only way I see this possible is to write a large character AI script that takes off MP your char every time you cast spell X
now.. you'd need a LOT of AI to cover all the spells with this. And that is, if that even works.

cloudiar

  • *
  • Posts: 202
    • View Profile
Re: Break 255 MP cost
« Reply #4 on: 2012-10-08 19:41:43 »
DLPB no thinks this case exactly how example "+99" level, but understand, not is necesary, no need to upload at +99...But case of 255 limit is very hard for apply in mods, much limitation, even the original game is not well balanced...example is:

Bahamut ZERO = 9999 Damage = 180 MP
Kings of round = +100000 Dam. = 255 MP??? Logic cost is minimun 500 MP  ::)

But repeat understand you...also very hard manipulation, the ultimate solution is example of kugeen, change the IA of players for apply extra MP, but in this case only of somes magic.

Sorry for english and thanks to all  ;)
« Last Edit: 2012-10-08 19:48:25 by cloudiar »

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: Break 255 MP cost
« Reply #5 on: 2012-10-08 20:24:10 »
does AI even work for characters?
I mean, is it technically even possible to, lets say, have Ultima, Full Cure, Shield, KOTR and Bahamut Zero as
IF cast && MP > X, then subtract MP X ( yes, this is horribly wrong but I can't into AI that much yet )

omega res novae

  • *
  • Posts: 541
  • previously known as squall8cloud7
    • View Profile
    • omegas mods google docs
Re: Break 255 MP cost
« Reply #6 on: 2012-10-08 20:59:04 »
dlpb was linking to his post. hes saying stat values are all relative and the idea of big numbers is in your head. instead of making the mp cost higher you could lower the damage done, make it hurt the players as well, make the enemies more resistant

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: Break 255 MP cost
« Reply #7 on: 2012-10-08 21:38:16 »
dlpb was linking to his post. hes saying stat values are all relative and the idea of big numbers is in your head. instead of making the mp cost higher you could lower the damage done, make it hurt the players as well, make the enemies more resistant

are you explaining that to cloudiar? because I couldn't care any less about what DPLB thinks

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: Break 255 MP cost
« Reply #8 on: 2012-10-08 21:55:26 »
does AI even work for characters?
I mean, is it technically even possible to, lets say, have Ultima, Full Cure, Shield, KOTR and Bahamut Zero as
IF cast && MP > X, then subtract MP X ( yes, this is horribly wrong but I can't into AI that much yet )

Yes AI works for characters. I've tested it a lot. What you're saying is conceivably possible, but probably technically too large to consider doing for too many magics. You would have to put it on Vincent's preAction script block and have all other characters link to his scripts. Since they don't transform then his main script wouldn't matter.

omega res novae

  • *
  • Posts: 541
  • previously known as squall8cloud7
    • View Profile
    • omegas mods google docs
Re: Break 255 MP cost
« Reply #9 on: 2012-10-08 22:04:00 »
 
are you explaining that to cloudiar? because I couldn't care any less about what DPLB thinks

@kuugen (i put the @kuugen so you know i am talking to you) quit being a child. in what way could i possibly be talking to you. of course its for cloudiar. your obsessive need to shoot everything down is very unbecoming. there is a difference between being blunt and being an ass. FYI you are the latter. also you get angry when genesis derails your thread that is the pot calling the kettle black.  look what you did here on this thread. these are your first point that you posted for genesis.
1) supply NOTHING OF VALUE WHATSOEVER to the thread
that is exactly what you did here. hold yourself to your own standards. no one cares that you do not like dlpb.

and i apologize to cloudiar for this off topic post i wont do so again

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: Break 255 MP cost
« Reply #10 on: 2012-10-09 00:07:36 »
Yes AI works for characters. I've tested it a lot. What you're saying is conceivably possible, but probably technically too large to consider doing for too many magics. You would have to put it on Vincent's preAction script block and have all other characters link to his scripts. Since they don't transform then his main script wouldn't matter.

How large can you make each characters script before it actually starts to trunc or worse? I assume he won't use much more than maybe 3-6 magics that exceed those MP costs. From what I assume, you'd check on actionindex and crosscheck on self.currentMP?
Is Vincent's the only pre-action script that actually runs?


@ Omega
oh yeah? nothing of value? asking about char AI and getting an answer that could potentially solve his issue of no >255 MP break is nothing of value?

Jenova's Witness

  • Right Wing Safety Squads
  • *
  • Posts: 471
  • I ♥ SCIENCE
    • View Profile
.
« Reply #11 on: 2012-10-09 03:52:56 »
.
« Last Edit: 2015-11-16 09:53:06 by Jenova's Witness »

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: Break 255 MP cost
« Reply #12 on: 2012-10-09 06:05:21 »
The big issue with "design your game around low MP totals" is that people who ask things that get that answer already did something else.
And asking them to  "design your game around low MP totals" is essentially asking them to design their mod all over. chances are, they'd rather stop development than do that

Jenova's Witness

  • Right Wing Safety Squads
  • *
  • Posts: 471
  • I ♥ SCIENCE
    • View Profile
.
« Reply #13 on: 2012-10-09 15:48:10 »
.
« Last Edit: 2015-11-16 09:52:56 by Jenova's Witness »

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: Break 255 MP cost
« Reply #14 on: 2012-10-09 16:54:43 »
The best thing to do in this case is to let someone post their spells - damage multipliers and mp costs - and stat growths and totals, and then allow them to ask for help in finding and reducing the ratios and proportions.

But then you'd have to alter all the MP of the enemies that use those magics too. If they don't have enough to cast it more than twice then they either don't have enough or your ratio is too high. It's a subtle balance of keeping enemies strong for an entire battle while allowing player characters access to these magics through a series of battles.

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: Break 255 MP cost
« Reply #15 on: 2012-10-09 16:59:55 »
Quote
If you have a ratio of 1 mp to 10 damage-multiplier, then that's the simplest thing to reduce to low mp costs.
Not neccessarily.  Depends on the mod, but I can't think of a mod where it can't be done.  The best thing to do in this case is to let someone post their spells - damage multipliers and mp costs - and stat growths and totals, and then allow them to ask for help in finding and reducing the ratios and proportions.

So, in the case of Nightmare, you want me to re-do all the MP growth curves, all the spells that specifically work off the MP costs of other spells, and then everything else that relates to that?
That's so much work for something that people apparently like to shove on others instead of looking for alternatives that it seems pure lazyness on the answerers part for me.

@ NFITC
How large can you make each characters script before it actually starts to trunc or worse? I assume he won't use much more than maybe 3-6 magics that exceed those MP costs. From what I assume, you'd check on actionindex and crosscheck on self.currentMP?
Is Vincent's the only pre-action script that actually runs?

do you have an idea for how to best structure a script like that?

NxK

  • *
  • Posts: 130
  • In AI I Trust
    • View Profile
    • YT
Re: Break 255 MP cost
« Reply #16 on: 2012-10-09 17:07:15 »
Hmm, I have another suggestion: Change that spell's effect modifier to 18 (using WallMarket). This will, upon execution of that spell, trigger another attack which can be customized to reduce the casters MP by any multiple smaller than 33 of 20MP quite easily. I have actually just tried this and it works perfectly. I am aware that this is not exactly what you hope to implement but it is close and extremely easy to do.

To be precise, I gave the Tornado spell the effect 18 "Perform Attack [] upon completion" and edited the unused attack 55 (37h) to do 400MP damage.
You could also have the caster die upon completion of that spell or give them other negative status effects, like Stop, by resorting to that procedure.
« Last Edit: 2012-10-09 17:11:01 by NxK »

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: Break 255 MP cost
« Reply #17 on: 2012-10-09 17:24:37 »
You can use that attack ( 55 ) only for ONE spell, which defeats the purpose of this
Not to mention, giving them status effects after casting or having them die isn't really what we are looking for.

For me, it's really only 3 spells. KOTR, Ultima and Shield. I can possibly live with just KOTR and Ultima, too.
that should be somehow managable

Not sure how many spells cloudiar had in mind, but I doubt it'll be too many

NxK

  • *
  • Posts: 130
  • In AI I Trust
    • View Profile
    • YT
Re: Break 255 MP cost
« Reply #18 on: 2012-10-09 17:38:22 »
What about the attacks 123-127? It seems they are unused as well. So, you might have enough custom effects to be triggered.

On the other hand, if you still intend to do handle the MP issue via character AI, I am wondering what is supposed to happen in case the amount of MP is insufficient for a spell. Have a message show up and end the turn?

Jenova's Witness

  • Right Wing Safety Squads
  • *
  • Posts: 471
  • I ♥ SCIENCE
    • View Profile
.
« Reply #19 on: 2012-10-09 18:55:45 »
.
« Last Edit: 2015-11-16 08:02:06 by Jenova's Witness »

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: Break 255 MP cost
« Reply #20 on: 2012-10-09 19:15:20 »
What about the attacks 123-127? It seems they are unused as well. So, you might have enough custom effects to be triggered.

On the other hand, if you still intend to do handle the MP issue via character AI, I am wondering what is supposed to happen in case the amount of MP is insufficient for a spell. Have a message show up and end the turn?

Kill the character from Mental Overexhaustion "Mental Destruction" displays and the character drops dead.


@Jenova

Quote
Do enemies have the same limits player characters have, in terms of max stats?  Do/Can enemies and PCs use the same damage formulas, in their attacks (enemy->player attacks aren't multiplied by 10 or something)?

Magic used by enemies is pulled from the kernel. Enemies have 30,000 MP limits and many enemy attacks use a lot of MP so I'd have to edit ALL of those too. The damage types and algorhythms are the same no matter who attacks.

Quote
Yeah, you'd have to redo all the stats and spells for enemies too, along with PCs.
So me telling someone else a alternate way to do something, and offering some help, instead of just going, "lol learn asm", makes me lazy?  Then how do you define lazy - a response that you don't like, maybe?  Would you rather I ignore your topics in the future?

This is not an alternate way to do X. This is a DIFFERENT way to do something like X. Vastly differently things. And offering help? The work would still be all his / my own. And it seems lazy because I see this kind of response, in various states of elaborate wording but essentially being the same at the core, practically every time something like this comes up.

Quote
1. Break your MP limit, by adding another byte or nibble (actually only two more bits, but good luck finding room for them, and for the optimized routine - though I wonder if you could use a few bits from HP?) to player character MP.
See NFITC1's post about this not being propable.

Quote
2. Figure out what the proportions to your spells are (hint: don't do it manually, dump the game data to a spreadsheet and automate it) and reduce the mp cost -> damage multiplier proportions, along with stat growth, and enemy stats.
Growth Curves are much more complex than that. And dumping all that attack data to a spreadhseet and then automating it? I'll be half done doing it manually by the time I worked that out. Please don't throw out "means" to something you don't know well enough.

Quote
You are right, though, this is a very tall order, so maybe we need a base patch that keeps the game the same, but simply reduces the proportions to their lowest equivalent values.
I won't bother making a patch like this and likely, nobody else will either. Because there is no real purpose to this. Because it's not that easy.

Quote
I'd call it more tedium than actual work, but it can be done.
The same tedious activity is MUCH more actual work than stuff that is actually fun to make, like new events. So if anything, that stuff would be work. real, unsatisfying and annoying, work.

Quote
What we really need are planning tools, such as spreadsheets where you can plug in values for the different variables and determine how much damage an attack will do, and what variables and constants will produce certain growths, all for PCs and enemies.
Good luck making those. What we 'need' and what we 'can get' are also vastly different things. Growth Curves are complicated and damage algorhythms rely a lot on different things. You cannot plan "this will do X damage" because of defense, varying stats of the player character and so on.

Quote
A set of spreadsheets will do, until someone adds this sort of preview to the game editing programs.
A preview? Of what? Of what a battle will be like? This will NEVER happen.

Quote
This is what is done for FFT, over at FFHacktics, so there's no reason not to do it here too.  Maybe we need a thread to go with the previewing spreadsheets, to explain the math behind reducing proportions.
Yes there IS reason we can't do it here. Different mechanics. Different GENRE. Different play style. Different combat system.

You want a Lamp of Wonders. But those don't exist in reality, where my reasoning is grounded.

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: Break 255 MP cost
« Reply #21 on: 2012-10-09 19:40:28 »
How large can you make each characters script before it actually starts to trunc or worse? I assume he won't use much more than maybe 3-6 magics that exceed those MP costs. From what I assume, you'd check on actionindex and crosscheck on self.currentMP?
Is Vincent's the only pre-action script that actually runs?

do you have an idea for how to best structure a script like that?

I have valid, correct, and concise answers to all of these questions. However, the ultimate conclusion is that nothing can really be done. I'll give you a scenario that would prevent this:

Cloud has 300 MP and you want him to cast a spell that costs 350, but the game actually says it costs 255 (because that's the max). Now first of all, the game will allow him to select the attack in the magic menu. There's the first problem right there. It's still highlighted as if it's valid. There is no way around this. Second, an AI script will see the magic you're trying to cast and see that Cloud doesn't have enough MP. Three things happen:
1) He performs it anyway because there's no way to actually stop him
2) Even if you could stop him, the game's mechanics would still subtract the 255 MP
3) Now he's wasted a turn (if you managed to "stop him") and is down 255 MP on an action he never should have taken.
So an AI would have to do this:

If ( character.MP >= [desired MP cost] )
{
    character.MP -= [difference in desired cost vs actual in-game cost]
}
else
{
    [stop from performing] //NO WAY TO DO THIS
    character.MP += [actual in-game cost] //because the mechanics require it be taken before this script would fire
    character.timebar = 255 //to re-grant a turn, but I don't know if this is possible either
}

That's for every magic you want to go over the 255 limit. That shouldn't be much, probably just a few summons and higher-level magic. But like I said before, there's no way to stop Cloud from using it anyway or grant his turn back. The mechanics of the game simply don't allow for an action to be canceled once it's been queued unless the actor dies. Then THAT screws up all the previously attained status effects, especially timed ones.

Ultimately, it's not practical to attempt to do this. It's attempting to alter the mechanics of the game, it lies to the players, and it just can't cleanly be done.

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: Break 255 MP cost
« Reply #22 on: 2012-10-09 20:25:38 »
Quote
Cloud has 300 MP and you want him to cast a spell that costs 350, but the game actually says it costs 255 (because that's the max). Now first of all, the game will allow him to select the attack in the magic menu. There's the first problem right there. It's still highlighted as if it's valid. There is no way around this.

People can attempt to try impossible things in IRL too. This is no problem at all. Since this script would be limited to maximum 5 attacks in the entire game, and you gain them very late, it's fair to expect the player to know their way around the game by then and learn from mistakes.

Quote
1) He performs it anyway because there's no way to actually stop him
That's fine. If the consequence of having not enough MP to pay is DEATH, it's not worth it.
Quote
2) Even if you could stop him, the game's mechanics would still subtract the 255 MP
3) Now he's wasted a turn (if you managed to "stop him") and is down 255 MP on an action he never should have taken.
Due to what I said above, this becomes irrelevant.

The way I see it now, is to handle the exceed MP cost this way:
If action performed AND self.MP is >= needed amount, then subtract specified MP
If action perfmed AND self.MP is < needed amount, perform actionindex XYZ ( the unused attack I talk about below )

THAT, the above, should be possible, right? It doesn't have to necessarily stop them from trying. They can DIE trying. That's how it makes more sense actually.

so, something like

If ( character.MP >= [desired MP cost] )
{
    character.MP -= [difference in desired cost vs actual in-game cost]
}
else
{
    target.self, execute attack "Mental Destruction" ( there is one unused attack as NxK said and that can be used for animation, MP damage and the display string all in once. )
   
}

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: Break 255 MP cost
« Reply #23 on: 2012-10-09 20:32:00 »
Kill the character from Mental Overexhaustion "Mental Destruction" displays and the character drops dead.

Great, but the player has no way of seeing the MP cost before the mana is subtracted. So players will die unexpectedly, which isn't much fun.

Quote
Magic used by enemies is pulled from the kernel. Enemies have 30,000 MP limits and many enemy attacks use a lot of MP so I'd have to edit ALL of those too.

It shouldn't be too hard to extract the attack MPs from the SCENE.BIN, do a mass multiplication and reinsert them. You'd have to write your own script for doing it, though.

Quote
This is not an alternate way to do X. This is a DIFFERENT way to do something like X. Vastly differently things. And offering help? The work would still be all his / my own. And it seems lazy because I see this kind of response, in various states of elaborate wording but essentially being the same at the core, practically every time something like this comes up.

It's a hack, but we can only do that because the alternative is too arduous. If you feel that strongly about it, why not help us get around these limitations in future by contributing to the Q-Gears codebase?

Quote
And asking them to  "design your game around low MP totals" is essentially asking them to design their mod all over. chances are, they'd rather stop development than do that

You shouldn't really be developing a mod before you've scoped out these kinds of constraints.

You want a Lamp of Wonders. But those don't exist in reality, where my reasoning is grounded

Congratulations! You just won 30 warn points for continuing to act abrasively despite being told several times to tone things down! Nice work! Except, not really.
« Last Edit: 2012-10-09 20:35:27 by Bosola »

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: Break 255 MP cost
« Reply #24 on: 2012-10-09 20:55:09 »
Quote
Great, but the player has no way of seeing the MP cost before the mana is subtracted. So players will die unexpectedly, which isn't much fun.

Easy way around this is to have some 'rumors' spread by NPCs about this. And the MP cost will always be the same so it's a matter of "remember 2 to 5 values for these spells you will be using a lot to avoid dying". Not to mention that there are much more nasty surprises than that.

Quote
It shouldn't be too hard to extract the attack MPs from the SCENE.BIN, do a mass multiplication and reinsert them. You'd have to write your own script for doing it, though.
I have no intention of doing that OR dumping MP cost. It doesn't change my point btw. If anything, it further increments the likelihood of being done halfway while doing it manually instead of learning how to write scripts on top of everything else.

Quote
It's a hack, but we can only do that because the alternative is too arduous. If you feel that strongly about it, why not help us get around these limitations in future by contributing to the Q-Gears codebase?
I stick to the things I can realistically do. Coding anything from scratch or helping code something that was made from scratch does not belong to that category. I actually REALLY don't care about Q-Gears too. And the alternative is too arduous? Uh, okay. You must have missed the my post? That AI script shouldn't be too big and it's a lot better than what Jenova suggested. THAT is arduous. Not what I'm trying to do in this case.

Quote
You shouldn't really be developing a mod before you've scoped out these kinds of constraints.
I developped my mod with specific growths and values in mind and I got there fine. Adjusting 2 to 5, maximum, spells to have higher MP costs does not change the system of the entire mod's system. Redesigning it for lower MP costs however, does.
« Last Edit: 2012-10-09 20:57:24 by The Rocket Kuugen »