News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Playstation 1 Castlevania SOTN critical damage remove?  (Read 525 times)

mirage548

  • Newbie
  • *
  • Posts: 4
    • View Profile
Playstation 1 Castlevania SOTN critical damage remove?
« on: May 03, 2020, 02:51:08 pm »
hello every1, i wanna know something, there is some1 here that know how to make chats for ps1?, i wanna play again castlevania SOTN ps1 with the hard version patch (already beat 1 time) but still not hard or like a regular castlevania cuz the critical damage, and i want a cheat that disable critical  no matter how much luck  i get.

sorry if this is the wrong place to put this  request, aim not very familiar with forums, also english is not my native elguanje but i can understand if i read like 2 or 3 times a complicated sentence without any translation help.

FAST6191

  • Hero Member
  • *****
  • Posts: 2965
    • View Profile
Re: Playstation 1 Castlevania SOTN critical damage remove?
« Reply #1 on: May 03, 2020, 08:10:48 pm »
It is a reasonably doable hack (you are basically removing a random chance option from a game).

2 approaches. 1 far easier but likely buggier, 1 proper way that will be harder to do but do it properly.

1) The easier way.
You mentioned luck. If the luck stat in this is affects critical hit chance then what happens when you set that to 0? If it is only critical hits then fantastic
Learn to make cheats (they are much the same on all systems so https://web.archive.org/web/20080309104350/http://etk.scener.org/?op=tutorial works for me even if it is for the GBA), find the luck stat (get a bunch of items that change the luck value and swap between them, the luck stat should reveal itself quickly enough) and instead of making it 99 or something then make it 0.
The trouble will come if luck does more than critical hits, and instead does critical hits and also item drops so you never get the rare stuff.

Do certain weapons have more chance of a critical hit? I imagine there are certain weapons that artificially have higher chances than not. Alternatively there might be something like a cursed weapon that never critical hits. If you can find out how to trick the game into thinking that is the case for all weapons then great. It might be a simple flag in memory as well, but also might be buried deep.

2) The proper way.
This will see you have to edit game code. It is not going to be the hardest thing (again you are only removing a choice, not adding anything) but editing code, aka assembly hacking, is usually not something we get people to do as their first hack.
The way I would do it.
Find an enemy's health value in memory. A cheat finder will help with this one. Might want to go against a later boss/high HP enemy and equip a starter weapon to do little damage and give yourself a lot of chances to search. Might also help if you have infinite health yourself rather than risk dying but that is easy enough to find, if someone has not found it already and made a cheat to use.
Find your luck value in memory if you can. You might not strictly need it but it will not hurt to have it. Either way try to know what it is, fortunately most newer Castlevanias will tell you this one, so you can be sure to spot it when the game uses it.

Anyway now you need a debugger. It has been years since I last did any real PS1 stuff so I don't know what we have for the PS1 right now. Much like cheat searching the debugging is largely the same between systems.
Set something called a break on write (might be under a menu called breakpoints) to the location where the enemy health is.
Next time you damage the enemy the game should stop and it should pop up a screen saying something wrote to this location.
You don't much care about that but the things immediately before that happened you do care about.

Work your way back up until you find the thing that read your luck value and then did a calculation on whether that time was a critical hit.
You then get to change the game to always fail the critical hit check. I don't know what it will be but it will probably use the luck value in a calculation and then do the standard programming style IF ELSE (or in assembly language compare values to see if one is greater than another) somewhere in that. You change this so it always takes the did not score a critical hit path. This will usually be done by replacing (don't delete or add unless you know what you are doing) the command you want gone with a NOP. NOP is short for No-OPeration. Some computers will have a dedicated NOP instruction, others you will have to make something that works as one but I don't know off the top of my head what the PS1 has here.

You could also try searching for anything that uses the luck value. That might be harder if luck also acts as a shield or if the game does something odd.

If you have started doing some of those and need some help please do ask. Nobody likes doing someone's hack for them but show you are trying and you will usually find someone to help.