Sacred 2: Fallen Angel Discussion
I think there is a common fixed value looking at the file you gave me between the different versions of the game so I have changed the way the editor finds the fist item. It should now deal with different versions of the game automatically.
You can now clone or edit more than one armour item at a time as well by the way.
Link to latest version
EDIT: Link removed see bugfix version later in this thread.
On my to do list:
Be able to properly clone socketed items in the weapon or armour. This will need to be done as a clone and put item in new position as cloning in the same place as I have implemented will not work for socketed items.
Be able to add items to sockets in the editor.
Be able to remove items from sockets in the editor.
Things I cannot see happening:
Adding extra sockets to items.
Adding extra bonuses to items e.g. adding lifeleech to an item that does not have it.
I think the only way to do the above is to edit the blueprint.txt file. i.e. Find the item id of the item that you want extra goodies with. Search for it in the blueprint file and then add what you would like to that item by where it says bonusgroupX. the first number in the brakets is the type of bonus which can be found near the end of the file. This would affect every item of that type that you have or will get.
[Edited by jimbouk, 10/23/2009 11:01:48 AM]
Man, now I'm anxiuos to try it and can't cause I'm at work and stupid webwasher blocks mediafire. Guess I'll have to wait patiently till I get home.
PS. In one of the earlier posts you asked if the colouring scheme is fine with me. To be honest, I'm not the original author of the green-on-black setup (I think it has been that way since ase69_s made his changes to DescentJS editor - ancient past now ). Anyway I don't mind and I doubt any of the other authors will.
EDIT: I tip my hat to you, jimbouk. You've done a sh*tload of good work on this one. I don't know if I may, but I'd like to ask 3 questions:
1. What happens when one changes item level? Does the item stats increase/decrease also?
2. Where do you read game version from? Or do you just guess it based on the file structure?
3. Your XLS file containing item IDs and types - what version of game is it based on? 2.43? Or maybe even the expansion? Since it has bunny ears it must be post-2.40.
[Edited by Karach0s, 10/22/2009 10:22:33 AM]
In answer to your questions.
1. When you change item level the stats automatically change e.g. armour or damage (I think). If you use a bronze item and change the level all the way to above 200 the stats determined by level bronze, silver, gold etc will stay the same. So a niobium level item is needed to gain access to the niobium level stats for set items (there will be a value to change somewhere but haven't found it yet). I think I have found a way to change normal items into something better e.g. legendary.
2. Game version is guessed from file structure. The fixed value of about 64000 (can't remember off the top of my head) is in a different position but looking at your thread I think you may have had the same problem indianwhite encountered.
3. The XLS file is the info taken from the blueprint.txt file of version 2.43 (haven't got Ice & Blood yet).
I have figured out how to add extra sockets to items over the last few days but this is a blueprint.txt hack much like the balance.txt edits that are in other threads on the forum.
Serphim lightsabers yet?
@ 1. So the gameplay difficulty caps some item stats? Interesting, but not unexpected.
@ 2. Yeah, been there, done that (but it's not fixed yet... Oops! ). What I haven't tried is to read the game version (or more specifically - the character savegame version) from the heroxx.sacred2stats file (noticed the very first line?). Of course when editing characters I may safely assume the value is correct, but for the chest file there's always some degree of uncertainty (when one has many "chests" and changes chest files for some reason - heck, I do it all the time ). Of course reading the game version from the stats file can probably be only informational and not an indicator of how the program should act - the file is clean text and so easy to edit...
@3. And parsed by hand, I presume? Must have been a lot of work. Respect is due just for that.
About those sockets - yeah, I have expected as much when I looked at blueprints file when you mentioned it for the first time. Ah, well. Can't have everything, I guess.
I have not been able to change a unique sword into a lightsaber. I tried changing both id and type but that apparently wasn't enough. So I've edited the itemtype.txt file and removed the FLAG_NOSPAWN param from lightsabers, but have not found a single saber yet. Well, patience is virtue, or so they say.
Keep up the good work with the Item Editor.
And out of curiousity: are you developing it in C++ or moved to some other technology?
[Edited by Karach0s, 10/22/2009 1:23:48 PM]
If you would like lightsabers I think one is at item id 2945 and item type is 2778 the other item types will give you the others elemantal damages. Change the item to this and you should have your toys, it gave me a Shadow Warrior dual wielding different colours of lightsaber.
Still in C++. I had to do an F77 course a while ago and haven't got with the newer languages yet. Did manage a free download of Visual Studio 2008 off Dreamspark so have progressed to Visual C++, still lagging behind tho although C# does look not too bad for 2D matrices rather than what feels like jumping through hoops in C++.
EDIT: Karach0s this might be useful for you in editing hero files. I found that the value at line 136 in the chest files is the length of the file + 252 so theoretically the length of the file could be changed. I have done this with a hex editor for the chests and it worked (although the sockets that I added disappeared when I opened the game, blueprint.txt over-riding the items values for the chest). This could be one of the reasons Sacred 2 takes sooooooo long to load. It probably has to load all the items and textures into memory rather than loading as needed or relying on the actual chest for true values. This is how the only thing needed to do is change the level of an item and a lot of other things change automatically.
[Edited by jimbouk, 10/22/2009 1:46:25 PM]
My tinkering with your Item Editor caused it to produce a beautiful System.IO.FileNotFoundException. Try this to check it: move the chest file from your savegames dir to somewhere else and click Decode. Than the editor displays a file open dialog. But one changes his/her mind and clicks the Cancel button. Voila.
Also, if you have some free time and willing to, you could add a small "choose chest file" option. So the user doesn't have to backup/copy/move chest files if he has more than one. I don't know, maybe I'm the only one, but I have a few chest files for different items - in one I keep runes, in other some sets, in another some uniques. So for me such option would be more than useful, but maybe I'm in very minor group of people who have more than one chest file. EDIT: Adding such functionality would however require cleaning the resources and rereading values for each opened file, so if you think it's too much work, just forget I asked for it.
[Edited by Karach0s, 10/22/2009 2:16:21 PM]
I tend to store stuff by making a new character and then just loading their personnal chest and inventory up. Hadn't thought of doing it that way
Do you have a preference for the extension? Or is it just the normal chest extension with a filename change?
Umm yea. Could just be lazy again and force the editor to close after saving. Or maybe I could just learn to code better. It has been an interesting journey so far learning to write better code and if I have the time one that I would like to continue
* Updated game trainers and cheats daily
* Get notified when new cheats are added
* Request which games get new trainers
* Priority support with any problem
• Instant Combat Cooldowns
• Invincible Character
+ 7 more options