home *** CD-ROM | disk | FTP | other *** search
/ Yellow Share - Cheats, Hints, Cracks / Yellow_Share_Vol_1_Cheats_Hints_cracks.iso / sw / gamesol / free / beholde2.cht < prev    next >
Text File  |  1993-07-14  |  17KB  |  287 lines

  1.               Eye of the Beholder II - The Legend of Darkmoon
  2.                                 Cheat Sheet
  3.             by the Silver Rainmaker (mloux@rm42.ucc.uconn.edu)
  4.  
  5.      This information contained below will tell you how you can
  6. modify your characters through the use of binary manipulation. 
  7. It will NOT tell you how to win the game, nor is it a hint file. 
  8. If hints are desired, email me at mloux@rm42.ucc.uconn.edu or buy
  9. the hint book.  
  10.      Also, take note:  The details within this document have been
  11. tested and found valid on IBM/MS-DOS compatible machines ONLY!  I
  12. cannot vouch for the validity of these notes on any other type of
  13. machine.  Those of you with other machines (Amiga, Mac, etc.) are
  14. welcome to try it, but don't come crying to me if it doesn't
  15. work.  
  16.      Now, in Eye of the Beholder I, there was one save file and
  17. one only.  Now I am pretty sure the info contained herein WILL
  18. work on Eye of the Beholder I save files, in fact it was another
  19. cheat file like this one that made me try it on Eye II, but I say
  20. again, no promises.  At any rate, in Eye of the Beholder II,
  21. there are several slots in which you can save your game, each
  22. with so many characters in which you can give it an individual
  23. name.  At any rate, where in Eye I there was one save file, named
  24. EOBDATA.SAV, there are several in Eye II, one for each save slot,
  25. to be exact.  These files have the names EOBDATAx.SAV, where x is
  26. a number 0 through 6, I believe.  At any rate, the number on the
  27. end corresponds to the distance from the top slot in the game. 
  28. Therefore the highest up will be EOBDATA0.SAV, the next one
  29. EOBDATA1.SAV, and so on, until the last one.  
  30.      Therefore, you must figure out which file contains the data
  31. you want to alter, and then make a backup copy of it.  You don't
  32. have to, but if you mess up, and there is no data to restore,
  33. then you're stuck with it.  I thought I would warn you in
  34. advance, so you don't do anything stupid.  Now, you can either
  35. edit the backup file or the save file, it doesn't really matter. 
  36. I edit my save file directly, namely because it saves time.  If
  37. you edit the backup file, then you have to rename the original
  38. save file to a backup, then copy the backup file to the save file
  39. original name (Eye II WON'T know to look for BOB.SAV), then run
  40. Eye II.  It's easier to just edit the save file directly, copying
  41. from the backup file in case you screw up.  You might want to
  42. make several backup files, at different stages of the editing
  43. spree, in case you only want to back up one small step, rather
  44. than start over again.  But you should be able to figure out this
  45. stuff from common sense, so I will get to the point.
  46.      Now, you will need a hex editor of some kind.  I use
  47. Diskedit myself, because it's nice and easy to use, and it
  48. supports a mouse.  Oh yes, DISKEDIT is a part of Norton
  49. Utilities, and the version I use is 6.01.  Very nice, but I am
  50. sure PC tools has something as well, and there are probably half
  51. a million editors out there in shareware land or by less known
  52. companies.  Any recommendations should be sent to
  53. mloux@rm42.ucc.uconn.edu for newer versions of this text file.
  54.      OK, let's start fiddling.  Execute your editor and open the
  55. file in question.  With most hex editors, there will be a series
  56. of two-digit hex codes to the left, and the ASCII equivalent to
  57. the right.  It should look vaguely like the following:
  58.  
  59.  3D 3D 3E 45 61 74 20 6D  - 65 3C 3D 3D 00 00 00 00   ==>Eat me<==....
  60.  00 00 00 00 00 01 49 72  - 6F 6E 41 73 73 00 00 00   ......IronAss...
  61.  00 13 13 64 64 12 12 12  - 12 11 11 13 13 10 10 7F   ...dd..........
  62.  00 7F 00 FF 00 06 00 02  - 19 35 09 00 00 C4 EF 03   ........5......
  63.  00 88 0D 01 00 88 0D 01  - 00 64 1E 87 79 00 00 00   .........d..y...
  64.  00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
  65.  00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
  66.  00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
  67.  00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
  68.  00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
  69.  00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
  70.  
  71.      Now, notice that most of the characters that are represented
  72. by hex numbers other than 00 do not show up.  No need to really
  73. worry about that.  As long as they are there on the hex side,
  74. you're ok.  
  75.      First of all, notice the first line.  This represents
  76. roughly the title that appears in the save slot.  This will most
  77. likely be in all capitals (I have already done some editing with
  78. this file, as you will see).  Eye II automatically throws
  79. everything in caps, so the only way to get them otherwise is to
  80. do it yourself here.  
  81.      I will stress now that you want to do most of your editing
  82. on the hex side.  Hopefully your editor allows you to edit in
  83. either hex or decimal areas.  For names and such you can edit on
  84. the text side, but for the most part you want to play with the
  85. hex numbers. 
  86.      After the name, on the second line you will see the name of
  87. your first character (that is, the character in the upper left
  88. hand corner of your six.  The next character would be in the
  89. upper right hand corner, then the center ones, left to right, and
  90. finally the bottom ones, left to right).  This always starts with
  91. the hex character 01, so leave the character to the left of the
  92. name alone.  Now, the name can take up 11 spaces, although I have
  93. never tested that.  It might be wise to leave a byte free between
  94. the name and the abilities, which come next.  You can type in the
  95. name any way you want, but make sure the characters not taken up
  96. by the name are left as 00.  
  97.      Next come the abilities of your character, in the order
  98. Strength, Percentage, Intelligence, Wisdom, Dexterity,
  99. Constitution, and Charisma.  These all take up two bytes apiece,
  100. and I assume the first byte is current score, and the second byte
  101. is maximum score.  Whatever the case, make sure they are the
  102. same.  The numbers are in hex, so an 18 would be represented by
  103. 12, 19 by 13, and so on.  Don't edit in the text side here,
  104. because you are dealing with byte values, not actual numbers. 
  105. You won't see an 18 in the text, just the character with the
  106. value 18d or 12h (a control character in ASCII.  19d, or 13h, is
  107. the Carriage Return).  Oh, by the way, the percentage is also in
  108. hex, but since 2 hex digits will give you a number as large as
  109. 255, you can represent anything from 1 to 100.  So, 64h is the
  110. equivalent of 100d.  Might as well jack them all of the way up if
  111. you're going to cheat.  Now, this only works for fighters.  If
  112. you do this to a mage, the game will ignore it.
  113.      The abilities all take up 14 bytes right after the name. 
  114. Next is the hit point value, also in hex, a null byte (00), and
  115. then the hit point value again, followed by another null byte
  116. (00).  Once again, I'm guessing, but I think you have current hit
  117. points followed by maximum hit points (for injuries and such). 
  118. Note the null byte following each.  I assume so this is in case
  119. you reach a hit point total of 256 or higher, which could be
  120. feasable in Eye of the Beholder III.  What will happen is the
  121. second byte, now null, will be used as the higher byte, much the
  122. way you add a 1 to the left end of a number, like when 99 goes to
  123. 100.  More on this later, when we deal with the experience.
  124.      Next, there are two bytes, one that might be high up, like
  125. FC or so, followed by one that should be null (00).  I don't know
  126. what function these perform, but they seem to be way up there for
  127. NPC's and low for your generated characters.  
  128.      Next is a series of four bytes that are useful only if you
  129. really want to completely change your character:
  130.      The first byte is the Race and Sex, with even numbers being
  131. male, and odd being female.  Thus, 00 and 01 are human male and
  132. human female, respectively.  Likewise, the elves take up 02 and
  133. 03, the half-elves have 04 and 05, the dwarves 06 and 07, the
  134. gnomes 08 and 09, and the halflings finish it off with 0A and 0B.
  135.      The next byte following that is pretty important.  It states
  136. the class of your character.  I don't know all of them, but I
  137. have deduced that 00 is fighter, 01 ranger, 02 paladin, 03 mage,
  138. 04 cleric, and 05 is thief.  The multi-classed also have a single
  139. digit, with 06 going to fighter/cleric, 07 fighter/thief, and so
  140. on.  I don't know all of them, but Amber, the mage/thief on the
  141. priets level, is 0A.  So you should be able to deduce the rest
  142. through experimenting, and I will most likely have more complete
  143. results in the next version of this file.
  144.      The next byte is the alignment of the character, with 00 as
  145. lawful good, 01 neutral good, 02 chaotic good, and so on, ending
  146. up with 08 as chaotic evil.  
  147.      The next byte you really shouldn't tangle with unless you
  148. want to change the character's appearance.  This byte selects the
  149. portrait used on the screen.  I don't know which is which, but
  150. each portrait probably has its own two-digit hex code.  Try
  151. different numbers and see what you come up with (hell, you might
  152. come up with the head of a monster!).  I do know that the NPC's
  153. all have portrait numbers high up, around FE and FF or so.  Most
  154. likely the character portraits are all down in the 00 to 30
  155. range.
  156.      The byte after that doesn't seem to do much, at least not
  157. that I can figure out, so I leave it alone.  
  158.      The next three bytes detail the character's level.  You
  159. probably don't want to toy with these, as they will only be
  160. temporary (once the experience points reach the turning point of
  161. a certain level, they will put the character in that level, even
  162. if the level byte says he's three levels higher).  Each byte
  163. represents the level in hex.  Most characters will only have one
  164. of the three bytes used, unless they are multi-classed (yeah, one
  165. for each class, as three classes is the max you can have).
  166.      Then after those three bytes is the experience for each
  167. class, which takes up four bytes apiece.  Now, this is where it
  168. gets really tricky.  The best way to compute these guys is to
  169. have a really good knowledge of hex, or to use a calculator that
  170. can readily convert between hex and decimal.  I use an HP 28S
  171. myself.  
  172.      Now, this is tough.  Take the four bytes, let's use an
  173. example from one of my files.  Calandra (not shown above in the
  174. sample text) has an experience value here of C4 1E 05 00.  Now,
  175. the right most byte is the highest byte.  To figure out the
  176. decimal value, feed in the hex value byte by byte, starting with
  177. the right.  So, you would punch 00 05 1E C4 into your hex
  178. calculator (in hex mode, silly) and convert to decimal.  This
  179. will result in Calandra having an experience point value of
  180. 335,556 experience points, putting her at level 9.  Now, if you
  181. want to have Calandra go up a level, the best thing to do is not
  182. to give her enough points to make her level 10.  Rather, you want
  183. to put her at just ONE point below the next level, that way when
  184. she kills a monster next (or anyone in the party does), she will
  185. gain enough to go up automatically.  That way her hit points are
  186. updated, as well as the levels, in the save file.  Otherwise, you
  187. will confuse the program, and while you may have enough
  188. experience, you will probably not get a level increase, because
  189. the actual point boundary was never CROSSED, but avoided
  190. entirely.  I really hope I am making sense.  
  191.      Now, to make Calandra 10th level, let's bump her up to one
  192. point below 10th level boundaries, which are 500,000 for a
  193. fighter.  So, punch in 499,999 in decimal to your calculator, and
  194. convert to hex, which should give you the value of 00 07 A1 1F. 
  195. You would then go to the hex codes (on the left side, of course)
  196. and punch them in backwards: 1F A1 07 00.  Note that you are not
  197. punching in the ENTIRE number in reverse, just the bytes.  So if
  198. you punched in F1 1A 70 00, you would completly screw your
  199. character up.  In fact, you might find the experience point value
  200. drastically different than what you intended.  Just thought you
  201. should know.  That is what makes it so tricky.  Note that the
  202. fourth digit will probably be unused, unless you have a very high
  203. experience level.  This will most likely be used in Eye of the
  204. Beholder III, when you will probably be level 15 or higher.  Or,
  205. because the numbers are exponential, you might not see it until
  206. Eye IV or so (assuming they make an Eye III and IV.  They
  207. BETTER).
  208.      For those of you who do not have hex calculators, there is a
  209. way to figure out what you want, but it's pretty tricky.  Each
  210. hex digit in a number, like a decimal number, is nothing more
  211. than a digit from 0 to 10 (including A through F in hex)
  212. multiplied by a power.  For example, using decimal, 1 is actually
  213. 1 times 10 to the power of 0 (which is 1).  10 is actually 1
  214. times 10 to the power of 1 (10) added to 0 times 10 to the power
  215. of 0 (1), resulting in 10.  Therefore, 15 would be 1 times 10 to
  216. the power of 1, plus 5 times 10 to the power of 0, resulting in
  217. 10 + 5, or 15.  Simple, right?  One hopes so (not only will I
  218. tell you how to cheat at your game, I will have given an
  219. introductory course in hex math.  Wild).
  220.      Now the principle is the same with hex, only you use sixteen
  221. as the base, rather than 10.  So, 01 is 1 times sixteen (or 10 in
  222. hex) to the power of 0 (still 1), 10 is 1 times sixteen to the
  223. power of 1 (sixteen) plus 0 times sixteen to the power of 0,
  224. resulting in sixteen (which is hex 10).  Likewise, 01 00 is two-
  225. hundred fifty-six, 10 00 is four thousand, ninety-six, 01 00 00
  226. is sixty-five thousand, five hundred thirty-six (I am spelling
  227. them out so you won't get the humber systems confused), and so
  228. on.  You will notice that these numbers tend to resemble computer
  229. values in disk or memory size.  That should make sense.  
  230.      At any rate, to figure out the value of Calandra's
  231. experience, we would take the number shown in the file, C4 1E 05
  232. 00, write it backwards (sort of), 00 05 1E C4, and then convert
  233. it.  00 can be discarded, as can the first 0 in the next byte. 
  234. That leaves us with 5 times 16 to the power of 4 (65536d), plus 1
  235. times 16 to the power of 3 (4096d), plus E (14d) times 16 to the
  236. power of 2 (256d), plus C (12d) times 16 to the power of 1 (16d),
  237. plus 4, which should result in what we had up above, 335,556.  It
  238. is a hell of a lot more tedious, and converting back is an even
  239. bigger pain, but if ya have to....
  240.      That covers the experience part.  The rest iis shaky, but I
  241. do know that there is a great deal of space between the
  242. abilities, and the physical posessions on a character.  I can
  243. only assume that each item has it's own two-digit hex code, and
  244. the location in the file pertains to the location on the
  245. character's person.  Now obviously there are some places that
  246. will not accept certain items (putting boots on as armor, and the
  247. like), so if you mess with those, you could cause certain items
  248. to disappear.  At any rate, I plan to experiment with that next,
  249. and see what happens.  What I will need to to is compile a list
  250. of items and their respective hex codes, and then list the places
  251. in order on the file.  Most likely they progress logically in the
  252. file, much the same as the characters do.  It's easier on the
  253. programmers to promote order, especially when it comes to
  254. debugging.  
  255.      And finally, there must be a location section, that states
  256. where the characters are in the dungeon, what level, what square,
  257. what doors are open, what monsters have been killed, do they have
  258. the mark of darkmoon, do they have the pieces of talon, have they
  259. trapped the medusas, what doors are open, etc etc etc.  Because
  260. this stuff is all incomplete, I plan to do more research at a
  261. later date.  For now, I will be content with what I have here,
  262. and hopefully you all will too.
  263.  
  264.      Any questions, comments, money (just kidding), can be sent
  265. to mloux@rm42.ucc.uconn.edu or INFOSY11@UCONNVM (bitnet).  Or you
  266. can write me at:
  267.  
  268.      Michael J. Loux, Jr.
  269.      46 Tracy Rd.
  270.      Canterbury, CT, 06331
  271.      phone number (203)-546-6395.  
  272.      Work phone (203)-486-1406.  You'll probably get voice mail.
  273.  
  274.      That's it!  I hope this helps you all out!  I enjoyed
  275. delving into the guts of this game, and will probably do so for
  276. other games in the future, now that I know how...
  277.  
  278.                                    -Mike
  279.  
  280. P.S.  I always enjoy feedback, so email me, even if you didn't
  281. find this useful!  I'm always fond of correspondence or
  282. conversation, or just plain hint-swapping.  Like I said before, I
  283. DO have a ton of hints, and am considering writing a hint file
  284. for EOB II.  If I get enough requests for it, I will most likely
  285. do so.  
  286. Take care, and stay cool.
  287.