home *** CD-ROM | disk | FTP | other *** search
/ Cheet Sheets 1995 July / CHEET42.ZIP / 4OB2.TXT < prev    next >
Text File  |  1995-07-07  |  17KB  |  289 lines

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