• Welcome to Final Fantasy Hacktics. Please login or sign up.
 

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Raijinili

1
Help! / Re: Help for dump ))
January 14, 2023, 10:53:56 pm
I've created a page based on Akasachi's instructions: https://ffhacktics.com/wiki/Play:Getting_Started
2
The Lion War / Re: The Lion War 2.021 - DOWNLOAD HERE!!
January 07, 2022, 10:09:53 pm
Come to the Discord, and we'll see if anyone can help you there.
3
The Lion War / Re: The Lion War 2.021 - DOWNLOAD HERE!!
January 03, 2022, 11:08:56 pm
You can use many existing FFT cheats on the TLW mod, but maybe not all of them. There have been some changes to IDs, though I don't believe cheats use them, so maybe all cheats work.

Are you perhaps looking for cheats in Final Fantasy Tactics? That is not the hacking that we do here. However, you can post a topic in The Lounge to see if anyone can help.
4
Hacking/Patching Tools / Re: FFT Patcher .478 Source Code
February 13, 2021, 04:39:11 pm
Quote from: darkskyx on January 21, 2021, 08:01:14 pmHow do the Growth HP/MP/etc works?

I call it growth impedance, because higher values REDUCE growth. Also, you should know that job multipliers ONLY work on naked stats, not gear stats.

Let's take two jobs:
Thief: 50 MAC (MA impedance), 60% MA multiplier.
Mime: 40 MAC, 115% MA multiplier.
Check these in FFTPatcher.

A level 1 Female unit has 5.0 MA, and level 1 Male has 4.0 MA. These are the internal raw values, before considering job multiplier and equipment. (Technically, it's stored as a fraction over 2^14. This method of storing a non-whole number is called fixed-point notation.)

Here are the MA values at level 1:
Thief-F: floor(5.0 * 60%) = 3 MA
Mime-F: floor(5.0 * 115%) = floor(5.75) = 5 MA
Thief-M: floor(4.0 * 60%) = floor(2.4) = 2 MA
Mime-M: floor(4.0 * 115%) = floor(4.6) = 4 MA


If you know the rawMA at level 1, here's how you calculate the rawMA at any level LVL, given the MAC. (There is a slight overestimate here due to rounding.)
rawMA_LVL = rawMA_1 * (1 + (LVL-1)/(MAC+1))

Here are the raw MA values at level 99 (ignoring job multiplier):
Thief-F: 5.0 * (1 + 98/51) = ~14.61
Mime-F: 5.0 * (1 + 98/41) = ~16.95
Thief-M: 4.0 * (1 + 98/51) = ~11.69
Mime-M: 4.0 * (1 + 98/41) = ~13.56



But here's a more intuitive way of working with it: You gain your level 1 rawMA every MAC+1 levels.

Mime-F has 5.0 MA and 40 MAC, so every 41 levels, it gains another 5.0 MA (minus a bit, due to rounding):
lv=1: 5.0 rawMA
lv=42: 10.0
lv=83: 15.0

Thief-F has 50 MAC, so it takes 51 levels to double MA:
lv=1: 5.0 rawMA
lv=52: 10.0
lv=103: 15.0

Red Dragon has 6 MAC, so it gains its level 1 MA every 7 levels (1, 8, 15, etc.). Since Monsters have randomized stats, I can't calculate the exact raw MA values.


It's important to know that raw stat, job growth, and job multiplier are all multiplicative, so you can calculate each one independent of the other two. That means the Male will ALWAYS have 80% (before the final rounding) of the Female's MA, as long as they have the same job growth history.
5
Who is this for?

Python programmers who want to make a lot of repetitive changes, or want to help make repetitive changes. However, anyone who wants to learn Python can use this as a goal in mind.


What is this?

This intro will look a bit jargony, but please bear with me.

FFTPatcher is written in C#, compiled for .NET. What that means for us is, you can use its internal code in other Microsoft CLR languages.

Python is known as a popular beginner programming language, but also powerful enough to continue using for professional programmers, especially in scientific and numerical analysis.

IronPython is an interpreter for the Python programming language which runs on CLR. That means an IronPython program can load code in from FFTPatcher, and then execute it. Instead of navigating through the program itself, you write code, and then run it to make or change a patch.


What can be done with this?

Fundamentally, anything that FFTPatcher Suite can do, IronPython can do, but harder!

Programming has a few advantages over doing things manually:
- Repetitive work. A program doesn't get bored, so you could, for example, increase all monster Moves by 1 with just a few lines, rather than clicking through dozens of monsters.
- All your mistakes in one place! Instead of making a single typo in a file, you can make a typo in a script, and that typo will be repeated in all the files.
- Make your mod as a script. You can see all your changes in a single text file (or multiple files, if you choose to organize it that way), instead of clicking through tabs to find all changes you've made.
- Automated checks. You can make a script that ensures all gear have a reasonable cost for its power (as defined by you).
- More-direct manipulation. I believe it is possible to write a script that merges two existing FFTPatches and spits out another.
- Composability. Merging two scripts is probably easier than merging two of your patches manually. You can also break your mod up into multiple parts BECAUSE you know how easy it is to combine them.
- Reusable components. Load a library and tell it to replace all the "Dragon"s in the game to "Derpon"s.
- Version control! This topic spans many books, but think of it as branching savestates for your work. FFTPatcher creates patches in XML, but they're compressed and don't play well with version control. Version control isn't just for programmers. Here's an article for writers on using Git.


How do I start?

First, download FFTPatcher. Currently, we require version .493 or higher, because there were significant changes in the internals of the program, and we're playing with its internals.

Second, download the latest IronPython here. Unfortunately, as of this writing, IronPython hasn't caught up with Python 3, so we're stuck using Python 2.


Third, ??? <to be written>

Finally, join us on the FFH Discord, in the #fftpython channel. This is an educational channel, so make sure to stick to the topic.
6
Quote from: Raijinili on October 16, 2020, 09:21:03 pmThat seems like something you need to do before the battle. You can end up with a team which can't safely hit. You didn't put any in an escort mission, right?

If you want to make them a strategic enemy which is dangerous to attack, you might want to lower their HP, and maybe their threat level otherwise. I don't think it's thematically appropriate for squids, though.

I'm not sure whether Squids with Nature's Wrath will roll their Reaction twice. It's an oddity in vanilla.

By the way, here are the damage values per level for vanilla Pisco Demons (neutral Zodiac):
lv  min  max
 1   12   15
 2   15   18
 3   18   21
 4   18   21
 5   21   24
 6   21   36
 7   24   40
 8   27   40
 9   27   44
10   30   48
11   30   48
12   33   52
13   36   56
14   36   60
15   52   60
16   52   64
17   56   68
18   60   72
19   60   72
20   64   76
21   64  100
22   68  100
23   72  105
24   72  110
25   76  115
26   76  115
27   80  120
28   84  125
29   84  125
30   88  130
31   88  135
32   92  140
33  120  140
34  120  145
35  125  150
36  125  180
37  130  186
38  135  192
39  135  198
40  140  198
41  140  204
42  145  210
43  150  216
44  150  216
45  155  222
46  155  228
47  160  228
48  165  234
49  165  240
50  204  287
51  204  287
52  210  294
53  216  301
54  216  301
55  222  308
56  222  315
57  228  322
58  234  322
59  234  329
60  240  336
61  240  336
62  246  343
63  252  350
64  252  357
65  258  408
66  258  416
67  264  424
68  315  432
69  315  432
70  322  440
71  322  448
72  329  448
73  336  456
74  336  464
75  343  472
76  343  472
77  350  480
78  357  488
79  357  488
80  364  558
81  364  567
82  371  576
83  378  576
84  378  585
85  385  594
86  440  594
87  448  603
88  456  612
89  456  621
90  464  621
91  464  630
92  472  639
93  480  648
94  480  648
95  488  730
96  488  740
97  496  740
98  504  750
99  504  760
7
Quote from: Windows X on September 16, 2020, 11:46:24 amAs for Squid demon, you can use attack that doesn't trigger reaction ability like Godspeed Strike from Archer or Agrias' skill for example. Other skills like Iaido and magic shouldn't trigger it too.
That seems like something you need to do before the battle. You can end up with a team which can't safely hit.

If you want to make them a strategic enemy which is dangerous to attack, you might want to lower their HP, and maybe their threat level otherwise. I don't think it's thematically appropriate for squids, though.

I'm not sure whether Squids with Nature's Wrath will roll their Reaction twice. It's an oddity in vanilla.

By the way, here are the damage values per level for vanilla Pisco Demons (neutral Zodiac):
lv  min  max
 1   12   15
 2   15   18
 3   18   21
 4   18   21
 5   21   24
 6   21   36
 7   24   40
 8   27   40
 9   27   44
10   30   48
11   30   48
12   33   52
13   36   56
14   36   60
15   52   60
16   52   64
17   56   68
18   60   72
19   60   72
20   64   76
21   64  100
22   68  100
23   72  105
24   72  110
25   76  115
26   76  115
27   80  120
28   84  125
29   84  125
30   88  130
31   88  135
32   92  140
33  120  140
34  120  145
35  125  150
36  125  180
37  130  186
38  135  192
39  135  198
40  140  198
41  140  204
42  145  210
43  150  216
44  150  216
45  155  222
46  155  228
47  160  228
48  165  234
49  165  240
50  204  287
51  204  287
52  210  294
53  216  301
54  216  301
55  222  308
56  222  315
57  228  322
58  234  322
59  234  329
60  240  336
61  240  336
62  246  343
63  252  350
64  252  357
65  258  408
66  258  416
67  264  424
68  315  432
69  315  432
70  322  440
71  322  448
72  329  448
73  336  456
74  336  464
75  343  472
76  343  472
77  350  480
78  357  488
79  357  488
80  364  558
81  364  567
82  371  576
83  378  576
84  378  585
85  385  594
86  440  594
87  448  603
88  456  612
89  456  621
90  464  621
91  464  630
92  472  639
93  480  648
94  480  648
95  488  730
96  488  740
97  496  740
98  504  750
99  504  760
8
Cloud's role overlaps with both Draw Out and Swordskillers. One goal is to make him stand out. My idea for that, which isn't great, is to give him different ways of dealing damage. He already has Blade Beam, Climhazzard, Finish Touch. Replace one of the MA*K attacks with gravity damage, for example.

Blade Beam compares unfortunately with Beowulf's Shock!. Cloud can't get as much HP (no Armor and needs to commit to MA), so the damage isn't as good. He's more vulnerable than Beowulf at low HP because Charging disables Reaction/Evasion. Shock! is range 8, while Cloud needs to be up close.

It's also possible to revamp Cloud to be more like FF7. I didn't know for years that his Limit Breaks were physical attacks. Why are they MA-based here?

You can give him a single Limit skill which looks at his current HP% and casts a Limit Break skill.

Quote from: Nyzer on July 24, 2020, 10:34:26 pmHaving some of Cloud's abilities be dependent on the Materia Blade but not others is a confusing choice that doesn't really serve any purpose.
It has two useful purposes: flexibility in builds, and flexibility in training.

I like the concept and am surprised I haven't thought of it before. I don't think it's a good fit, but it's an idea.
9
New Project Ideas / Re: Patch Ideas Proposal Thread
August 29, 2020, 09:30:24 pm
ASM hacking is reprogramming the game. If it could've been programmed in, it can be reprogrammed in.

I think the easiest of those will be the destroying eggs one, as long as you don't need to show a dialog box. When an egg is destroyed, call the poach code with arguments, faking other things.
10
New Project Ideas / Concept: Personality rewrites
August 29, 2020, 09:19:51 pm
(Elric has granted me an exception to the rule about "ideas you don't intend to personally pursue".)

Concept: A mod that changes the dialogue, but leaves everything else (including cutscene gestures) unchanged. Each character will be given a very different personality and goals. However, they maintain their jobs in the story, and the dialogue exchanges still happen in the same order (Ramza, then Delita, Algus, Delita). You can think of it as a translation patch by someone who doesn't read the language.

There can be several different mods with this idea. In this topic, we will take a comedic approach, but a dramatic rewrite can also work.

Example of what could be:

Take the following personalities.
* Ramza: Zapp Brannigan. A narcissistic blowhard, oblivious to much of the world that doesn't involve him.
* Agrias: Asshole Knight. Either that strict Paladin, or a straight-up asshole.
* Gafgarion: An old man who is too tired to argue. Resigned to go with the flow.

Orbonne opening battle:
Gafgarion: "Alright, folks, let's calm down here."
Agrias: "Kill them all!"
Gafgarion: "What? Why?"
Agrias: "I'm attacking!"

Gafgarion at the river: "Ramza, let's join up with these knights helping Princess Ovelia."
Ramza: "They must've brainwashed Gafgarion!"
Gafgarion: "What?"
Ramza: "Attack!"


Process

1. Stripping all of the text from the game, playing it through, and writing down your imagined interpretations.

2. Build by committee (on the forum): Go scene by scene, deciding character personalities and then writing out lines.

3. Each character is played by a poster or posters, and they roleplay their dialogue as the game progresses.

11
It's not an FFTPatcher question. Probably should've just made a new topic.

I suspect it has nothing to do with the patch.
1. Try to load the save with a clean ISO.
2. Try a new game on the patched ISO.

If you still think it's the patch, here are the next steps:
- Look at what ASM hacks you're using.
- Look at FFTPatcher's Items tab and see if there are any changes there.

But the first test should solve your issue, and eventually you'll figure out that shop items are sorted by type and then by price (descending), even in Vanilla.
12
Completed Mods / Re: FFT: Emergence (PSP)
April 14, 2020, 03:36:21 pm
Quote from: BleuVII on April 01, 2020, 12:40:09 pmNo idea. I tested the Defense Up innate before releasing the patch, and confirmed that it was working for archers. My only though is that it might be an issue with the patching program? Monks in Emergence are job slot 4E, which in the vanilla game is Monk. Each job has 2 innate slots, and in the vanilla game, Brawler occupies slot 1 of job 4E, whereas in Emergence, Defense Up occupies slot 2. So it might be that the patch isn't properly clearing out slot 1? Again, I'm grasping at straws here. Can you open your ISO in FFTPatcher and let me know what you see for the innate abilities on Job 4E?
Are you aware that Support-blocking in Vanilla is hardcoded and does not actually check what Innates the job has?

There might be an ASM hack for it, but it seems from your response that you aren't aware of such a hack.
13
Solution to the original puzzle:

Quote from: Portalenthusiast on February 15, 2020, 12:04:40 amevent 181, which should appear in  ENTD4.ENT, has delita as the first unit. the second byte, which the Wikipedia says belongs to various flags, is checked for being male (+1) load formation (+10) and save formation(+80)
this should give a value of 8B, however when i check this byte in my hex editor i find it's actually 89; 80 + 8 + 1. Am i missing something here, or are the flags done a little differently to how i originally figured?
(yes, i know how flags work, +1 for the first flag, then double for the second and so on and so forth. this means every numeral possible is a unique combination of any of these collective flags.)
It's actually 1 + 0x10 + 0x80, which is 0x91, not 0x8B. In len8 binary, that'd be 10010001. That 10 is a hex 10, which is a dec 16.

However, 0x89 is, as you say, 1 + 8 + 0x80. In len8 binary, it'd be 10001001.

What you calculated:
10010001
What you observed:
10001001
One is the reverse of the other.

The most likely explanation is that you got the flags backwards. That means Male must be 0x80, not 0x01.
14
I usually just Google for something like gameshark psx format, instead of memorizing what the formats are.
15
You should search Kanji Space on this forum's search engine. It sounds to me like hackers use space allocated for Japanese characters to instead put their ASM code (since there's no need for Japanese in the EN version). That kind of thing will be specific to FFT hacking.

On the wiki, there's the Hacked RAM page, which seems to list RAM locations that certain hacks use, so that others can avoid those spaces.
16
Help! / Re: Problem About Lion Editor
January 31, 2020, 11:35:39 pm
QuoteI posted my problem here because its lion editor related.

This is not a general thread for problems about Lion Editor. The original poster just didn't use descriptive titling. That's one reason why people need to use descriptive titling.

Should there be a Lion Editor thread? Or should this be turned into that thread?

QuoteUntil now it still crashes.

There is STILL not enough information to even GUESS what's wrong. You need to give more details about what you've done, and what exactly happens when it goes wrong, and at what step it goes wrong.

What probably happened is that you edited something wrong. But there are many ways for it to go wrong. You just need to try again and be more careful and attentive about WHAT you're changing. If needed, do a few changes at a time, so that you can narrow down which changes are causing the problem.

QuoteI have been able to do all the steps, but when I try to Rename Lionditor.bin back to FFTA.SYS I can't get it to change back to a sys file.

You probably need to change your Folder Options in Windows to "Always Show Extensions of Known Filetypes".

Or you can do this in the Windows Explorer folder of the file you want to rename:
1. Press Ctrl+D.
2. Type "cmd" and press Enter.
3. In the command prompt that pops up, type "ren Lioneditor.bin FFTA.SYS".

You should really learn the first way, though.
17
New Project Ideas / Re: Patch Ideas Proposal Thread
January 26, 2020, 10:02:03 pm
I designed it to be doable. The only part that I don't know how to do without ASM are the removal of shoes after battle and a way to implement character choice.
18
New Project Ideas / Re: Patch Ideas Proposal Thread
January 22, 2020, 11:01:12 pm
For some reason, I have this idea for a game modded onto FFT where each battle is:
- You start off invisible (Transparent). This represents your stealthiness when people don't know you're there.
- You go in and steal a character's shoes (losing invisibility).
- You put on the shoes.
- You then need to "escape".

Mechanically, the theft requirement is enforced by forcing you to reach a particular tile, which you can't do using your base movement. You need to Equip Change the shoes on, and then use the extra movement to get to the tile. Victory condition will either be to step on the "switch" or to kill a Chicken next to the tile.

It is possible to require stealing multiple pairs of shoes. You'll need to Equip Change to get past each shoegate.

Possible shoe effects, and their obstacles:
- Jump: Vertical height. Horizontal gaps.
- Move: Horizontal gaps. A corridor of units; if there are 3 units in a row, you need at least 4 Move to get past them. The units can be invincible corpses. (Wait, aren't there tiles anyone can walk on but not stop on?)
- Float: Water and lava.
- Status immunity: I imagine you can create a corridor of spike tiles which have traps that inflict Dead/Stop/etc. (which all the enemies are immune to).
- SP/Haste: If you're not fast enough, a sentinel at the end will instakill you when you try to approach. Need to time it so you can double-turn them.
- Elemental immunity/Protect/Shell/Evasion: Similar to above. Sentinel will deal fatal damage if you don't wear the right shoes.
- Combinations of the above.
- With an ASM hack, shoes may be able to grant innate abilities, such as Fly, Ignore Height, Move In Water, Move-Find Item, and Teleport.

Extra thoughts:
- The shoes can also have negative effects, forcing you to choose between using CT to take them off, and sticking with them.
- May need a self-Transparent skill (possibly with a cost), and/or Sunken State. I believe (hope) Equip Change breaks transparency, so you need to find a safe place to put on the shoes.
- The Steal Shoes skill should be 100% so that the first segment of the battle doesn't require so much RNG.
- There may need to be a hack (an Event instruction?) to remove items from your inventory after battle.
- Perhaps give a choice between multiple units to choose as your thief. Not sure how this will work with fixed builds.


Fleshing out the concept

- Fixed battles. You can't build your thief. They will be provided to you.
- The battles will come from FFT's story battles.
- Dialogue included? Skippable, hopefully.
- You will steal Ramza's shoes.
- You need to steal them before he dies, because he can't be revived.
- There will be three sides in a battle: Ramza's side, the enemy's side, and you.
- All enemies will have their AI set to target you. Once you are revealed, they'll all go after you.
- In some battles with bosses, you need to steal shoes from both Ramza and the boss.


I don't know, the concept of stealing shoes off someone's feet is just hilarious to me for some reason.
19
Help! / Re: Extracting Class Growth and Multipliers
December 03, 2019, 09:11:06 pm
You can also do it programmatically by using IronPython to load FFTPatcher and extract the data, but it's a bit involved.

Here are the files I generated for the Level Simulator, using the above technique. I guess I should put it on the wiki.
20
Help! / Re: Problem About Lion Editor
December 03, 2019, 09:01:38 pm
What you've described is not enough to take a guess on.

You shouldn't post an unrelated problem on someone else's problem topic. Though the topic creator should've also used a better title description.