PC Editor: Item Problems

Error message

Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/pied-piper.ermarian.net/includes/common.inc).
AuthorTopic: PC Editor: Item Problems
Shock Trooper
Member # 7662
Profile #0
I am currently compiling a list of the known problems with items coming from the Character Editor.

Aescal's Ring has zero charges so it has a basically infinite number of charges.

Smoky Crystal: is currently a type 0 object. This can be fixed in the MS-Dos Edit command: line 5066, column 51 needs a character with Value = 21. Thus hit Control + P, then Control + U and then delete the original V = 0. Check against certain types of errors: type Home and then type End, you should see Line:5066 Col:71 Value:32

The following observations come from studying the source code:

Zero ability - strength items
208: Alabaster Lizard, 237: Crystal Shield, 238: Iceshield, 242: Shield of Klud, 283: Wand of Venom, 284: Wand of Fireballs, 285: Wand of Flame, 286: Wand of Carrunos, 287: Wand of Slow, 288: Wand of Death, 289: Wand of Charming, 290: Wand of Nullity, 292: Wand of Rats, 299: Gold Serpent Ring, 306: Silver Serpent Ring, 313: Bronze Serpent Ring,

Wrong Graphics
118: Leather Sling, 119: Magic Sling, 176: Ruby , 177: Sapphire, (Smoky Crystal?)

Alchemy ingredients have a zero Type Flag.

(Power Geode and Firestone are non - use objects, they still seem to work anyway).

Shielding Crystal and Shield of Klud have the wrong Special Abilities.

I can tell people how to correct these problems, but it would be a bit long and technical for a post in this forum.

[ Friday, August 31, 2007 04:33: Message edited by: Ishad Nha ]
Posts: 292 | Registered: Monday, November 13 2006 08:00
Shock Trooper
Member # 10488
Profile #1
You should fix the problems yourself and release the fix somewhere, but also explain how you did it so someone can do the same to the Mac side (if necessary).

What file are these errors in? The executable? Only, if it's "Blades of Exile Base" (bladbase.exs on Windows), the errors can be fixed in the scenario editor... but it sounds like the errors are perhaps not in that file.
Posts: 334 | Registered: Friday, September 14 2007 07:00
Apprentice
Member # 9013
Profile #2
They're in the executable.
Posts: 43 | Registered: Tuesday, June 19 2007 07:00
Shock Trooper
Member # 7662
Profile #3
Type Edit at the Command Prompt then hit Enter. In the Edit command open the Character Editor, set Line Width: [65]. Then scroll down to Line:5288, Col:26 there should be a character with Value:22.

What do the numbers mean anyway?

Line 118 of the Windows source file Global.h
“typedef struct {
short variety, item_level;
char awkward, bonus, protection, charges, type;
unsigned char graphic_num,ability, type_flag, is_special;
short value;
Boolean identified, magic;
unsigned char weight, description_flag;
char full_name[25], name[15];
unsigned char reserved1,reserved2;
unsigned char magic_use_type, ability_strength, treas_class, real_abil;
} short_item_record_type;”

Here “short” means that it takes two places to record a number whereas anything else only requires one space per number.

A hex editor like Hexplorer will enable easy alteration: http://hexplorer.sourceforge.net/
Posts: 292 | Registered: Monday, November 13 2006 08:00
Shock Trooper
Member # 10488
Profile #4
Fixing these errors would be great, of course, but it might be simpler just to change the code to use the item list from Blades of Exile Base (bladbase.exs).
Posts: 334 | Registered: Friday, September 14 2007 07:00
Shock Trooper
Member # 7662
Profile #5
The item data is found in the PC Editor source file "itemdata.h". It uses a slightly different format compared to the data in an Exs file. But the biggest problem is that compiling the thing is near impossible. Maybe it takes Code Warrior?

There is also a peculiarity with the numbers given for graphics, sometimes 20 is added to the number. One of the source files adds 20 to the picture number, for certain pictures. My understanding is that lines 697,698 of BladPCEd.cpp have this effect:
if (i.graphic_num >= 25)
i.graphic_num += 20;
Graphic number 25 is the fancy bow.
Posts: 292 | Registered: Monday, November 13 2006 08:00