View Single Post
  #1  
Old 07-14-2011, 06:42 AM
Leere
Sarnak
 
Join Date: Sep 2008
Location: Home
Posts: 31
Default COMMITTED (Rev1971): SoD and reading books

Regarding a post on PEQTGC. (Sorry, can't get the link, the PEQ website is not responding for me right now.)


Supporting evidence:
Code:
+-------+----------------------------------------+------+----------+
| id    | name                                   | book | booktype |
+-------+----------------------------------------+------+----------+
| 18368 | Seitha's Research on Clerical Spells I |    1 |        0 |
| 18678 | Yaeth's Compendium Book V              |    1 |       22 |
| 18780 | Tattered Note                          |    0 |       -1 |
| 18786 | Tattered Note                          |    0 |       -1 |
| 36003 | Frost-Covered Note                     |    0 |       -1 |
+-------+----------------------------------------+------+----------+
The first was noted as working, but showing up as a scroll. The other four were noted as not working. 0 being the code for a scroll would be consistent with this.

Booktype seems to actually be a language field at a guess. (Some evidence)
Code:
+----------+-----------+
| booktype | count(id) |
+----------+-----------+
|       -1 |       440 |
|        0 |     83831 |
|        1 |         3 |
|        2 |        12 |
|        3 |         5 |
|        4 |        17 |
|        5 |         6 |
|        6 |         8 |
|        7 |         6 |
|        8 |        25 |
|        9 |         9 |
|       10 |        17 |
|       11 |         3 |
|       12 |         8 |
|       13 |        14 |
|       14 |         7 |
|       15 |         9 |
|       16 |        22 |
|       17 |         8 |
|       18 |        54 |
|       19 |         2 |
|       20 |         1 |
|       21 |         8 |
|       22 |        65 |
|       23 |         8 |
+----------+-----------+

Tested locally with the 5 book items in the first table. All 5 displayed as they should. (2 books, 3 scrolls) Testing done with a SoD client.

Code:
Index: client.cpp
===================================================================
--- client.cpp	(revision 1970)
+++ client.cpp	(working copy)
@@ -1997,7 +1997,7 @@
         if(GetClientVersion() >= EQClientSoF) {
             const ItemInst *inst = m_inv[book->invslot];
             if(inst) {
-                out->type = inst->GetItem()->BookType;
+                out->type = inst->GetItem()->Book;
             } else {
                 out->type = book->type;
             }
Reply With Quote