• Welcome to Final Fantasy Hacktics. Please login or sign up.
March 27, 2023, 03:43:13 pm


Please use .png instead of .bmp when uploading unfinished sprites to the forum!

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 - Xifanie

War of the Lions Hacking / Re: ASM Hack question
December 29, 2022, 06:01:16 am
Tzepish is our resident PSP ASM hacker.
You can find him on our discord server. He's fairly active and very helpful!
Help! / Re: GAMESHARK Codes for Modded ISOs
December 27, 2022, 09:49:01 pm
Quote from: alonerfeumuno on December 27, 2022, 01:16:16 pmIt is possible to block the gameshark acess via Patcher ?
Hacking/Patching Tools / Alternate Animations v3
December 25, 2022, 11:31:41 pm
You know what it's about. Just download the damn spreadsheet.

I might add a description later

PS: Please tell me if there's anything you find confusing about the spreadsheet use!
Thief: Shadow Stitch
Monk: Stop Bracelet
Summoner: Teleport 2
Time Mage: Non-Charge
Ramza: Ultima/Ultima (v2)/All-Ultima

I might've gotten Summoner/Time Mage mixed up

If that's not working and you can re-purchase abilities that you've already purchased, then there's a problem with either your ISO or emulator
New Project Ideas / Re: FFT: Romance Simulator
September 25, 2022, 04:20:35 am
Nothing finalized, of course

Game Start
Your main character can be one of the dateable characters or 2-3 custom (male/female/trans), generic characters.
If you pick a vanilla character, he/she will have his/her own original traits.
If you pick a custom character, you won't start with any positive or negative trait.

With custom characters, your first residence will be in the Dorter Slums. Otherwise, it will be the expected residence of the character.

Game Flow
The world map would be accessible, so you can go and buy gifts/clothes.
Events would be battle-style. You'll have 255 move, and be able to move just about anywhere on the map to interact with the different characters on the map, but more often than not it will just be you and your date.
You'll have to use abilities in order to initiate events.

Going Out
Remove Unit will become "Go Out With".
If you're not going out with anyone that day, they might just join you. Characters you're not currently going out with will appear darker. So going out with a character will lighten up the sprite, making the distinction obvious.
If you're already going out with that person, they will stop going out with you that day. Cancelling will hurt your relationship score though.
If you're going out with someone else that day, they'll be like "...oh, I guess you already have plans". This will also hurt your relationship score.
Planning to go out with someone and just going to bed instead will also hurt your relationship score.

They might request specific locations or items to bring with you on the date. You'd be smart to adhere to those requests.

The Bar will have its options revised.
Rumors will allow you to select where to spend time. Once you've read a rumor, you can just head to the world map location to trigger the event.

Factual Events (same as the TLW Rendezvous menu) will be used for jobs to earn gil and other things.

HP = Physical Energy
MP = Emotional Energy

Both your Main Character and your date will have those 2 stats affected depending on the actions you take. Meaning that it doesn't matter if you still have MP left if your date doesn't... night's over.

I'm thinking of making both fully heal each day, but you'll need to increase your max HP/MP yourself to perform more actions

Tree of Love
Jobs will be used to keep track of the character's tree of love. Each branch has its own score and abilities (i.e. traits) for that branch.
Total Job JP = The character's score in that branch
Each branch of each character should start at a score of 1000 or so, with a minimum of 0 and a maximum of 9999.
Traits will not be purchased, but rather learned or unlearned based on how you spent time with each date.
I'm thinking of switching jobs/skillsets for a "boost" in those branches. Your character would simply pay more attention to those things that day. I'm thinking of something similar with RSMs.

  • Romance (NPC)
  • Communication (MC/NPC)
    • + Attentive
    • + Empowered
    • + Understanding
    • + Open-Minded
    • + Emotional Self-Control
    • + Initiative
    • + Curious
    • - Aggressive
    • - Stubborn
    • - Quiet
    • - Rude
  • Empathy (MC/NPC)
    • + Respectful
    • + Appreciative
    • + Accepting
    • + Caring
    • + Humble
    • + Patient
    • - Selfish
    • - Judgmental
    • - Careless
  • Trust (MC/NPC)
    • + Honest
    • + Belief
    • + Courage
    • + Shows Vulnerability
    • + Consistent
    • + Safe
    • - Misleading
    • - Fearful
  • Bond (MC/NPC)
    • + United
    • + Commited
    • + Affectionate
    • + Dedicated
    • + Proud
    • + Serene
    • + Enthusiastic
    • + Rationalized Feelings
  • Growth (MC/NPC)
    • + Dream Seeker
    • + Identity
    • + Effortful
    • + Responsible
    • - Co-dependant
  • Awareness (MC/NPC)
    • + Self-Aware
    • + Self-Love
    • + Confidence

Gifts will have to be equipped in your hands either on the world map, or during events with Equip Change, after which point you'll need to use the "Gift" ability.
Gifts will be able to affect characters differently. Just be careful, because some characters don't enjoy being showered in gifts all the time, and they might not appreciate receiving the same gift twice!
Too many gifts, or gifts that would normally be reserved for a deeper relationship could lower your romance score with that person.
Bitch this is a Romance Simulator, not a dating sim.

You probably haven't done anything wrong, I'm just way too sick to investigate/fix it.
2.03 has just released, so I haven't had the chance to test or code yet.
The Lounge / Re: Tech Help Thread
August 02, 2022, 08:44:58 pm
You mean this?
You're mistaken. The level of enemies in random is based on the character with the highest level in your roster; unless Ramza is highest level, his level doesn't matter.

And yes, TLW aims to present a vanilla experience and it still works that way.
New Project Ideas / Re: FFT: Romance Simulator
June 07, 2022, 12:29:34 am
I still really want to make this happen, but my health has only gotten worse since. :/

I did just come up with a new idea though: If Ramza is the MC, a gender option with a custom female portrait.
No. Well, it depends on the hack. A lot of my complex hacks require the spreadsheet to build the data table. I try to provide the format if it's possible to edit the XML directly for those who wish to do so, but that's only a few of my spreadsheets.
WotL finally has ASM hackers. Or maybe just one. Tzepish is active our our discord server, and Nax (really smart guy and a programmer) was active until a month ago... no idea why he's not anymore.
Though it is frowned upon to push requests on ASM hackers in this community (the requests being infinite, and the number of ASM hackers being, well, extremely limited).

With all things considered, I would still say WotL modding is in its infancy, but I do see some potential in the long term.
You'll learn once you beat the game
Considering what you're experiencing, I can only guess that KANZEN/KANZEN2's SHP/SEQ are allocated to the same memory address. It might require sacrificing something else in order to load both...

Either way, some fairly tedious ASM hacking would be involved.
  • Fixed issues with the ShowGraphic extension that would make it throw a lot of reading errors and not work with GraphicTimeout.
  • Added support to ShowGraphic for a secondary file after the WLDBK.BIN IDs (i.e. 0x92-0xFF)

  • Improved GraphicTimeout to allow setting its value at any point; not only once the graphic is done rendering.
Download it here, and post your bugs here. Maybe I'll add something here later.
PSX FFT Hacking / Re: Trap Extension (Topic is WIP)
March 29, 2022, 07:13:53 am
First Things First

  • Make sure you change the Trapper formula to the ID that you want
  • Use the Add-Ins Load FFTText function (unless you use vanilla text)

Hack Columns

For your own reference

For your own reference

Particle Effect
Effect animation that plays when a trap is triggered.

Ability Name
Ability Name to be displayed with a Check box when a unit steps on the trap.

Formula to use to apply effects on the target.
Attacker's stats will be set to the Trapper's stats.
If set to 0xFF, The sheet's hardcoding will be used instead. (See @custom_traps)
WARNING: Status effects are currently not supported with formulas, but they can be applied (but not removed) with hardcoding

X value to use with the Formula

Y value to use with the Formula

If true, this trap can be ignored by the Ignore RSM (equipped),
or deactivated by the Deactivate RSM (equipped).
If false, the trap will always trigger.

Text Row
Just set it to FF for custom abilities. Don't concern yourself with this.
It actually affects the text offset loaded from "Battle - Action Effects"
Overriden if Ability Name !== 0xFFFF

Adding Traps to battles with the Event Instruction Upgrade Hack

The Traps Format is as follows:

X: X Coordinate
Y: Y Coordinate
U: 0x80 Elevation
0x40 Trap is active (this should always be set to true)
0x00-0x1F ENTD Unit ID (0x00 to 0x0F for ENTD units, 0x10 to 0x14 for the Player's roster units)
T: Trap Type ID

Of course those bytes would be reversed in event code when using LUI/OR

Script Example:

//Load the Traps Table Address into Variable 0x0001

//Set Sleeping Gas (0x02) Trap at coordinates (8,3,0) laid by ENTD Unit 0x03

//Set Manafont (0x0D) Trap at coordinates (4,5,1) laid by ENTD Unit 0x01
PSX FFT Hacking / Trap Extension v1.0
March 29, 2022, 07:13:39 am
💾 Trap Extension.xlsm
💾 Trap Extension.xml

This hack allows you to place old and brand-new traps on the field with an abilities, or with event instructions.

000 | 0x00 Degenerator: -1 Level
001 | 0x01 Deathtrap: 100% Death Sentence
002 | 0x02 Sleeping Gas: 100% Sleep
003 | 0x03 Steel Needle: 25% Max HP Damage
004 | 0x04 Rejuvenation: +HP (Level+1) x 5
005 | 0x05 Explosion: -HP (Level+1) x 2
006 | 0x06 Fusillade: -HP (Level+1) x 5
007 | 0x07 Manafont: +MP (Level+1) x 2
008 | 0x08 Wizardbane: -MP (Level+1) x 5 / 2
009 | 0x09 Leech: -MP (Level+1) x 5
010 | 0x0A Vanishing Smoke: 100% Transparent
011 | 0x0B Blinding Smoke: 100% Blind
012 | 0x0C Choking Gas: 100% Poison
013 | 0x0D Silence Gas: 100% Silence
014 | 0x0E Oil Bug: 100% Oil
015 | 0x0F Stasis: 100% Don't Move + Don't Act
016 | 0x10 Befuddling Gas: 100% Confuse + Berserk
017 | 0x11 Swarm: 100% Blood Suck
018 | 0x12 Stone Gas: 50% Petrify
019 | 0x13 Gil Bug: +Gil (Level+1) x 250
020 | 0x14 Grasshopper: Restore Movement (doesn't work if Act was used)
021 | 0x15 Plot Armor: 100% Immortal
022 | 0x16 Powerup: +1 SP / +2 PA / +2 MA (doesn't display)

Adds a trapping formula which lets the player add custom traps on the battlefield that will trigger once.
The formula cannot be properly processed by AI, so I recommend that you uncheck "Used by AI."
Adding a trap to a tile that already has a trap will replace it with the new one.
The Y value of the formula determines which Trap Type will be set at the targeted tile.
You can either have trap skills that target the same tile as the user, or target empty tiles.
You can assign the formula to whichever formula ID suits your needs best.

WARNING: The ability MUST include a unit (ideally the user) in its AoE when it resolves in order to call the formula, which is why I have the following recommendations below.

Ability will fail if a unit is on the same tile as the targeted tile when the ability resolves.
"Auto Target" must be OFF
Recommended Settings:
Range: 1
AoE: 1
Linear Range ON
Vertical Threshold ON
Top-Down Target ON
Hit Caster ON
Can Select Unit OFF

Ability will fail if the user is not on the same tile as the targeted tile when the ability resolves.
Auto Target must be ON
Recommended Settings:
Range: 0
AoE: 0
Hit Caster ON

Unfortunately, removing status effects through traps is not possible at this time.
You can either hardcode your own traps at @custom_traps, or set a Formula + X + Y value at trap_types.
  • Fixed the .xml so that FFTOrgASM can apply it without errors (seems to run too)

  • Swapped jalr parameters
  • ResetUnitCalculations() does not affect Battle Stats 0x1B7 to 0x1BF anymore.
  • Event Conditionals can now trigger after (charged) actions/movement/crystalize/treasure as they are meant to, regardless of the Next Scenario ATTACK.OUT entries
  • Fixed ButtonPressGoTo()'s event instruction byte length
  • Restructured the hack to allow splitting of kanji space routines
Download Latest Version
💾 Event Instruction Upgrade v1.374.xml