From: Anders R. <ma...@us...> - 2003-07-18 11:24:23
|
Update of /cvsroot/planeshift/planeshift/src/server In directory sc8-pr-cvs1:/tmp/cvs-serv24950/src/server Modified Files: exchangemanager.cpp psdatabase.cpp psserverchar.cpp spellmanager.cpp Log Message: - Started work on scrolling slots in exchange window - Fixed buy/sell/exchange to work with glyphs - Added a ASSERT to the factions. - Fixed depricated includefile in netbase. Index: exchangemanager.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/exchangemanager.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** exchangemanager.cpp 8 Jul 2003 23:12:42 -0000 1.11 --- exchangemanager.cpp 18 Jul 2003 11:24:20 -0000 1.12 *************** *** 25,28 **** --- 25,29 ---- #include "util/log.h" #include "groupmanager.h" + #include "spellmanager.h" *************** *** 439,442 **** --- 440,456 ---- { Error2("%s",(const char*)database->GetLastError()); + } + + // Reload the glyph list, the exchanged item might be a glyph! + psGlyphList * glyphList = client->GetActor()->GetGlyphList(); + if (glyphList) + { + glyphList->LoadGlyphs(); + } + // Reload the glyph list, the exchanged item might be a glyph! + glyphList = target->GetActor()->GetGlyphList(); + if (glyphList) + { + glyphList->LoadGlyphs(); } Index: psdatabase.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/psdatabase.cpp,v retrieving revision 1.131 retrieving revision 1.132 diff -C2 -d -r1.131 -r1.132 *** psdatabase.cpp 17 Jul 2003 23:41:49 -0000 1.131 --- psdatabase.cpp 18 Jul 2003 11:24:20 -0000 1.132 *************** *** 756,763 **** guild)); ! if (!result.IsValid()) { lasterror = GetLastSQLError(); ! return false; } --- 756,763 ---- guild)); ! if (!result.IsValid() || result.Count()==0) { lasterror = GetLastSQLError(); ! return '\0'; } *************** *** 1271,1275 **** } ! printf("AddInventoryItem: defaultSlot for item = %s\n",(const char*)defaultSlot); csString slot; --- 1271,1276 ---- } ! printf("AddInventoryItem: defaultSlot for item = %s\n", ! (const char*)defaultSlot); csString slot; *************** *** 1333,1339 **** // If its a glyph it has to be inserte into the player_glyphs table to ! Result isGlyph(mysql->Select("SELECT i.category, FROM items i, item_categories ic" " WHERE i.id=%d " ! " AND i.category=ic.category_id " " AND ic.name='Glyphs'", itemID)); if (isGlyph.IsValid() && isGlyph.Count() == 1) --- 1334,1340 ---- // If its a glyph it has to be inserte into the player_glyphs table to ! Result isGlyph(mysql->Select("SELECT i.category_id FROM items i, item_categories ic" " WHERE i.id=%d " ! " AND i.category_id=ic.category_id " " AND ic.name='Glyphs'", itemID)); if (isGlyph.IsValid() && isGlyph.Count() == 1) *************** *** 1341,1344 **** --- 1342,1349 ---- // This is a glyph. find a free slot in the glyph window. csString glyphSlot(GetWordNumber(slots[0][0],2)); + + printf("AddInventoryItem: defaultSlot for glyph = %s\n", + (const char*)glyphSlot); + int empty = -1; do *************** *** 1522,1528 **** return false; } if (mysql->Command("DELETE FROM player_glyphs where " "glyph_id = %d AND player_id = %d", ! itemID, playerID ) != 1) { lasterror = GetLastSQLError(); --- 1527,1534 ---- return false; } + // There might be a glyph to delete to if (mysql->Command("DELETE FROM player_glyphs where " "glyph_id = %d AND player_id = %d", ! itemID, playerID ) < 0) { lasterror = GetLastSQLError(); *************** *** 1913,1917 **** mysql->Command( "INSERT INTO player_items (player_id,item_id,equipped_ind,stack_count,in_slot)" " VALUES('%d','%d','N','%d','circles')", ! playerID, GetItemID("Circels"),money.GetCircles()); } --- 1919,1923 ---- mysql->Command( "INSERT INTO player_items (player_id,item_id,equipped_ind,stack_count,in_slot)" " VALUES('%d','%d','N','%d','circles')", ! playerID, GetItemID("Circles"),money.GetCircles()); } *************** *** 2740,2762 **** { slot = "bulk"; ! } else if (!strncmp((const char*)slot,"Crystal",7)) { slot = "crystal"; ! } else if (!strncmp((const char*)slot,"Azure",5)) { slot = "azure"; ! } else if (!strncmp((const char*)slot,"Blue",4)) { slot = "blue"; ! } else if (!strncmp((const char*)slot,"Red",3)) { slot = "red"; ! } else if (!strncmp((const char*)slot,"Brown",5)) { slot = "brown"; ! } else if (!strncmp((const char*)slot,"Dark",4)) { slot = "dark"; ! } else if (!strncmp((const char*)slot,"Assemble",8)) { slot = "assemble"; --- 2746,2768 ---- { slot = "bulk"; ! } else if (!strncmp((const char*)slot,"crystal",7)) { slot = "crystal"; ! } else if (!strncmp((const char*)slot,"azure",5)) { slot = "azure"; ! } else if (!strncmp((const char*)slot,"blue",4)) { slot = "blue"; ! } else if (!strncmp((const char*)slot,"red",3)) { slot = "red"; ! } else if (!strncmp((const char*)slot,"brown",5)) { slot = "brown"; ! } else if (!strncmp((const char*)slot,"dark",4)) { slot = "dark"; ! } else if (!strncmp((const char*)slot,"assemble",8)) { slot = "assemble"; Index: psserverchar.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/psserverchar.cpp,v retrieving revision 1.64 retrieving revision 1.65 diff -C2 -d -r1.64 -r1.65 *** psserverchar.cpp 10 Jul 2003 05:21:45 -0000 1.64 --- psserverchar.cpp 18 Jul 2003 11:24:20 -0000 1.65 *************** *** 43,46 **** --- 43,47 ---- #include "util/psconst.h" #include "groupmanager.h" + #include "spellmanager.h" *************** *** 1080,1083 **** --- 1081,1092 ---- // If inventory window is up, update it SendInventory( client->GetClientNum() ); + + // Reload the glyph list, the item might be a glyph! + psGlyphList * glyphList = client->GetActor()->GetGlyphList(); + if (glyphList) + { + glyphList->LoadGlyphs(); + } + break; } *************** *** 1138,1141 **** --- 1147,1158 ---- // If inventory window is up, update it SendInventory( client->GetClientNum() ); + + // Reload the glyph list, the item might be a glyph! + psGlyphList * glyphList = client->GetActor()->GetGlyphList(); + if (glyphList) + { + glyphList->LoadGlyphs(); + } + break; } Index: spellmanager.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/spellmanager.cpp,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** spellmanager.cpp 8 Jul 2003 23:12:43 -0000 1.20 --- spellmanager.cpp 18 Jul 2003 11:24:20 -0000 1.21 *************** *** 359,363 **** for (int i = 0; i < assembly.Length(); i++) { ! printf("Assembly%i: %s\n",i,assembly[i]->GetName().GetData()); } --- 359,363 ---- for (int i = 0; i < assembly.Length(); i++) { ! printf("assembly%i: %s\n",i,assembly[i]->GetName().GetData()); } *************** *** 374,388 **** if (rs->Count() > 0 && rs->Count() == (unsigned long)assembly.Length()) { ! for (int i = 0; i < rs->Count(); i++) { printf("Comp: %s %s\n",(*rs)[i]["name"],assembly[i]->GetName().GetData()); ! if (csString((*rs)[i]["name"]) != assembly[i]->GetName()) return NULL; } ! printf("Spell found\n"); ! // Combination of glyphs correct ! return p; } --- 374,395 ---- if (rs->Count() > 0 && rs->Count() == (unsigned long)assembly.Length()) { + bool found = true; ! for (int i = 0; i < rs->Count() && found; i++) { printf("Comp: %s %s\n",(*rs)[i]["name"],assembly[i]->GetName().GetData()); ! if (csString((*rs)[i]["name"]) != assembly[i]->GetName()) ! { ! found = false; ! } } ! if (found) ! { ! printf("Spell found\n"); ! // Combination of glyphs correct ! return p; ! } } *************** *** 757,761 **** { csString assembly; ! assembly.Format("Assemble%d",i++); glyph = FindInSlot(assembly); if (glyph) assemblyList.Push(glyph); --- 764,768 ---- { csString assembly; ! assembly.Format("assemble%d",i++); glyph = FindInSlot(assembly); if (glyph) assemblyList.Push(glyph); |