wpdev-commits Mailing List for Wolfpack Emu (Page 167)
Brought to you by:
rip,
thiagocorrea
You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(14) |
Aug
(121) |
Sep
(256) |
Oct
(59) |
Nov
(73) |
Dec
(120) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(259) |
Feb
(381) |
Mar
(501) |
Apr
(355) |
May
(427) |
Jun
(270) |
Jul
(394) |
Aug
(412) |
Sep
(724) |
Oct
(578) |
Nov
(65) |
Dec
|
|
From: <dr...@pr...> - 2004-01-30 19:23:24
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26014 Modified Files: world.cpp Log Message: Tweaked the tables to be `table` so it works better. Also, vchar(255) NOT NULL default NULL didn't work, so default '' and mysql doesn't have float(11) it's just float Index: world.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/world.cpp,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** world.cpp 30 Jan 2004 14:08:36 -0000 1.59 --- world.cpp 30 Jan 2004 19:21:48 -0000 1.60 *************** *** 64,68 **** #include <list> ! // UNCOMMENT THIS IF YOU WANT TO USE A HASHMAP //#define WP_USE_HASH_MAP --- 64,68 ---- #include <list> ! // UNCOMMENT THIS IF YOU WANT TO USE A HASHMAP //#define WP_USE_HASH_MAP *************** *** 87,335 **** } tableInfo[] = { ! { "settings", "CREATE TABLE settings ( \ ! option varchar(255) NOT NULL default NULL, \ ! value varchar(255) NOT NULL default NULL, \ ! PRIMARY KEY (option) \ ! );" }, ! { "boats", "CREATE TABLE boats ( \ ! serial int(11) NOT NULL default '0', \ ! autosail tinyint(1) NOT NULL default '0', \ ! boatdir tinyint(1) NOT NULL default '0', \ ! itemserial1 int(11) NOT NULL default '-1', \ ! itemserial2 int(11) NOT NULL default '-1', \ ! itemserial3 int(11) NOT NULL default '-1', \ ! itemserial4 int(11) NOT NULL default '-1', \ ! multi1 smallint(6) default '0', \ ! multi2 smallint(6) default '0', \ ! multi3 smallint(6) default '0', \ ! multi4 smallint(6) default '0', \ ! PRIMARY KEY (serial) \ ! );" }, ! { "boats_itemids", "CREATE TABLE boats_itemids ( \ ! serial int(11) NOT NULL default '0', \ ! a tinyint(1) NOT NULL default '0', \ ! b tinyint(1) NOT NULL default '0', \ ! id smallint(6) default '0', \ ! PRIMARY KEY (serial) \ ! );" }, ! { "boats_itemoffsets", "CREATE TABLE boats_itemoffsets (\ ! serial int(11) NOT NULL default '0',\ ! a tinyint(1) NOT NULL default '0',\ ! b tinyint(1) NOT NULL default '0',\ ! c tinyint(1) NOT NULL default '0',\ ! offset smallint(6) default '0',\ ! PRIMARY KEY (serial)\ ! );" }, ! { "characters", "CREATE TABLE characters (\ ! serial int(11) NOT NULL default '0',\ ! name varchar(255) default NULL,\ ! title varchar(255) default NULL,\ ! creationdate varchar(255) default NULL,\ ! body smallint(5) NOT NULL default '0',\ ! orgbody smallint(5) NOT NULL default '0',\ ! skin smallint(5) NOT NULL default '0',\ ! orgskin smallint(5) NOT NULL default '0',\ ! saycolor smallint(5) NOT NULL default '0',\ ! emotecolor smallint(5) NOT NULL default '0',\ ! strength smallint(6) NOT NULL default '0',\ ! strengthmod smallint(6) NOT NULL default '0',\ ! dexterity smallint(6) NOT NULL default '0',\ ! dexteritymod smallint(6) NOT NULL default '0',\ ! intelligence smallint(6) NOT NULL default '0',\ ! intelligencemod smallint(6) NOT NULL default '0',\ ! maxhitpoints smallint(6) NOT NULL default '0',\ ! hitpoints smallint(6) NOT NULL default '0',\ ! maxstamina smallint(6) NOT NULL default '0',\ ! stamina smallint(6) NOT NULL default '0',\ ! maxmana smallint(6) default NULL,\ ! mana smallint(6) default NULL,\ ! karma int(11) NOT NULL default '0',\ ! fame int(11) NOT NULL default '0',\ ! kills int(10) NOT NULL default '0',\ ! deaths int(10) NOT NULL default '0',\ ! def int(10) NOT NULL default '0',\ ! hunger int(11) NOT NULL default '0',\ ! poison int(11) NOT NULL default '0',\ ! poisoned int(10) NOT NULL default '0',\ ! murderertime int(11) NOT NULL default '0',\ ! criminaltime int(11) NOT NULL default '0',\ ! nutriment int(10) NOT NULL default '0',\ ! gender tinyint(1) NOT NULL default '0',\ ! propertyflags int(11) NOT NULL default '0',\ ! attacker int(11) NOT NULL default '-1',\ ! combattarget int(11) NOT NULL default '-1',\ ! murderer int(11) NOT NULL default '-1',\ ! guarding int(11) NOT NULL default '-1',\ ! PRIMARY KEY (serial)\ ! );" }, ! { "corpses", "CREATE TABLE corpses (\ ! serial int(11) NOT NULL default '0',\ ! bodyid smallint(6) NOT NULL default '0',\ ! hairstyle smallint(6) NOT NULL default '0',\ ! haircolor smallint(6) NOT NULL default '0',\ ! beardstyle smallint(6) NOT NULL default '0',\ ! beardcolor smallint(6) NOT NULL default '0',\ ! PRIMARY KEY (serial)\ ! );" }, ! { "corpses_equipment", "CREATE TABLE corpses_equipment (\ ! serial int(11) NOT NULL default '0',\ ! layer tinyint(3) NOT NULL default '0',\ ! item int(11) NOT NULL default '-1', \ ! PRIMARY KEY (serial,layer)\ ! );" }, ! { "houses", "CREATE TABLE houses (\ ! serial int(11) NOT NULL default '0',\ ! nokey tinyint(1) NOT NULL default '0',\ ! charpos_x smallint(6) NOT NULL default '0',\ ! charpos_y smallint(6) NOT NULL default '0',\ ! charpos_z smallint(6) NOT NULL default '0',\ ! PRIMARY KEY (serial)\ ! );" }, ! { "items", "CREATE TABLE items (\ ! serial int(11) NOT NULL default '0',\ ! id smallint(5) NOT NULL default '0',\ ! color smallint(5) NOT NULL default '0',\ ! cont int(11) NOT NULL default '-1',\ ! layer tinyint(3) NOT NULL default '0',\ ! type smallint(5) NOT NULL default '0',\ ! type2 smallint(5) NOT NULL default '0',\ ! amount smallint(5) NOT NULL default '0',\ ! decaytime int(10) NOT NULL default '0',\ ! def int(10) NOT NULL default '0',\ ! hidamage smallint(6) NOT NULL default '0',\ ! lodamage smallint(6) NOT NULL default '0',\ ! weight float(11) NOT NULL default '0',\ ! hp smallint(6) NOT NULL default '0',\ ! maxhp smallint(6) NOT NULL default '0',\ ! speed int(11) NOT NULL default '0',\ ! magic tinyint(3) NOT NULL default '0',\ ! owner int(11) NOT NULL default '-1',\ ! visible tinyint(3) NOT NULL default '0',\ ! spawnregion varchar(255) default NULL,\ ! priv tinyint(3) NOT NULL default '0',\ ! sellprice int(11) NOT NULL default '0',\ ! buyprice int(11) NOT NULL default '0',\ ! restock smallint(5) NOT NULL default '0',\ ! baseid varchar(32) NOT NULL default '',\ ! PRIMARY KEY (serial)\ ! );" }, ! { "multis", "CREATE TABLE multis (\ ! serial int(11) NOT NULL default '0',\ ! coowner int(11) NOT NULL default '-1',\ ! deedsection varchar(255) NOT NULL default '',\ ! PRIMARY KEY (serial)\ ! );" }, ! { "multis_bans", "CREATE TABLE multis_bans (\ ! serial int(11) NOT NULL default '0',\ ! ban int(11) NOT NULL default '-1',\ ! PRIMARY KEY (serial,ban)\ ! );" }, ! { "multis_friends", "CREATE TABLE multis_friends (\ ! serial int(11) NOT NULL default '0',\ ! friend int(11) NOT NULL default '-1',\ ! PRIMARY KEY (serial,friend)\ ! );" }, ! { "npcs", "CREATE TABLE npcs (\ ! serial int(11) NOT NULL default '0',\ ! mindamage smallint(6) NOT NULL default '0',\ ! maxdamage smallint(6) NOT NULL default '0',\ ! tamingminskill smallint(6) NOT NULL default '0',\ ! summontime int(11) NOT NULL default '0',\ ! additionalflags int(11) NOT NULL default '0',\ ! owner int(11) NOT NULL default '-1',\ ! carve varchar(255) default NULL,\ ! spawnregion varchar(255) default NULL,\ ! stablemaster int(11) NOT NULL default '-1',\ ! lootlist varchar(255) default NULL,\ ! ai varchar(255) default NULL,\ ! wandertype smallint(3) NOT NULL default '0',\ ! wanderx1 smallint(6) NOT NULL default '0',\ ! wanderx2 smallint(6) NOT NULL default '0',\ ! wandery1 smallint(6) NOT NULL default '0',\ ! wandery2 smallint(6) NOT NULL default '0',\ ! wanderradius smallint(6) NOT NULL default '0',\ ! fleeat smallint(3) NOT NULL default '10',\ ! spellslow int(11) NOT NULL default '0',\ ! spellshigh int(11) NOT NULL default '0',\ ! PRIMARY KEY (serial)\ ! );" }, ! { "players", "CREATE TABLE players (\ ! serial int(11) NOT NULL default '0',\ ! account varchar(255) default NULL,\ ! additionalflags int(10) NOT NULL default '0',\ ! visualrange tinyint(3) NOT NULL default '0',\ ! profile longtext,\ ! fixedlight tinyint(3) NOT NULL default '0',\ ! PRIMARY KEY (serial)\ ! );" }, ! { "skills", "CREATE TABLE skills (\ ! serial int(11) NOT NULL default '0',\ ! skill tinyint(3) NOT NULL default '0',\ ! value smallint(6) NOT NULL default '0',\ ! locktype tinyint(4) default '0',\ ! cap smallint(6) default '0',\ ! PRIMARY KEY (serial,skill)\ ! );" }, ! { "tags", "CREATE TABLE tags (\ ! serial int(11) NOT NULL default '0',\ ! name varchar(64) NOT NULL default '',\ ! type varchar(6) NOT NULL default '',\ ! value longtext NOT NULL,\ ! PRIMARY KEY (serial,name)\ ! );" }, ! { "uobject", "CREATE TABLE uobject (\ ! name varchar(255) default NULL,\ ! serial int(11) NOT NULL default '0',\ ! multis int(11) NOT NULL default '-1',\ ! direction char(1) NOT NULL default '0',\ ! pos_x smallint(6) NOT NULL default '0',\ ! pos_y smallint(6) NOT NULL default '0',\ ! pos_z smallint(6) NOT NULL default '0',\ ! pos_map tinyint(4) NOT NULL default '0', \ ! events varchar(255) default NULL,\ ! bindmenu varchar(255) default NULL,\ ! havetags tinyint(1) NOT NULL default '0',\ ! PRIMARY KEY (serial)\ ! );" }, ! { "uobjectmap", "CREATE TABLE uobjectmap (\ ! serial int(11) NOT NULL default '0',\ ! type varchar(80) NOT NULL default '',\ ! PRIMARY KEY (serial)\ ! );" }, ! { "effects", "CREATE TABLE effects (\ ! id int NOT NULL,\ ! objectid varchar(64) NOT NULL,\ ! expiretime int NOT NULL,\ ! dispellable tinyint NOT NULL default '0',\ ! source int NOT NULL default '-1',\ ! destination int NOT NULL default '-1',\ ! PRIMARY KEY (id)\ ! );" }, ! { "effects_properties", "CREATE TABLE effects_properties (\ ! id int NOT NULL,\ ! keyname varchar(64) NOT NULL,\ ! type varchar(64) NOT NULL,\ ! value text NOT NULL,\ ! PRIMARY KEY (id,keyname)\ ! );" }, { NULL, NULL } --- 87,335 ---- } tableInfo[] = { ! { "settings", "CREATE TABLE `settings` ( \ ! `option` varchar(255) NOT NULL default '', \ ! `value` varchar(255) NOT NULL default '', \ ! PRIMARY KEY (`option`) \ ! );" }, ! { "boats", "CREATE TABLE `boats` ( \ ! `serial` int(11) NOT NULL default '0', \ ! `autosail` tinyint(1) NOT NULL default '0', \ ! `boatdir` tinyint(1) NOT NULL default '0', \ ! `itemserial1` int(11) NOT NULL default '-1', \ ! `itemserial2` int(11) NOT NULL default '-1', \ ! `itemserial3` int(11) NOT NULL default '-1', \ ! `itemserial4` int(11) NOT NULL default '-1', \ ! `multi1` smallint(6) default '0', \ ! `multi2` smallint(6) default '0', \ ! `multi3` smallint(6) default '0', \ ! `multi4` smallint(6) default '0', \ ! PRIMARY KEY (`serial`) \ ! );" }, ! { "boats_itemids", "CREATE TABLE `boats_itemids` ( \ ! `serial` int(11) NOT NULL default '0', \ ! `a` tinyint(1) NOT NULL default '0', \ ! `b` tinyint(1) NOT NULL default '0', \ ! `id` smallint(6) default '0', \ ! PRIMARY KEY (`serial`) \ ! );" }, ! { "boats_itemoffsets", "CREATE TABLE `boats_itemoffsets` (\ ! `serial` int(11) NOT NULL default '0',\ ! `a` tinyint(1) NOT NULL default '0',\ ! `b` tinyint(1) NOT NULL default '0',\ ! `c` tinyint(1) NOT NULL default '0',\ ! `offset` smallint(6) default '0',\ ! PRIMARY KEY (`serial`)\ ! );" }, ! { "characters", "CREATE TABLE `characters` (\ ! `serial` int(11) NOT NULL default '0',\ ! `name` varchar(255) default NULL,\ ! `title` varchar(255) default NULL,\ ! `creationdate` varchar(255) default NULL,\ ! `body` smallint(5) NOT NULL default '0',\ ! `orgbody` smallint(5) NOT NULL default '0',\ ! `skin` smallint(5) NOT NULL default '0',\ ! `orgskin` smallint(5) NOT NULL default '0',\ ! `saycolor` smallint(5) NOT NULL default '0',\ ! `emotecolor` smallint(5) NOT NULL default '0',\ ! `strength` smallint(6) NOT NULL default '0',\ ! `strengthmod` smallint(6) NOT NULL default '0',\ ! `dexterity` smallint(6) NOT NULL default '0',\ ! `dexteritymod` smallint(6) NOT NULL default '0',\ ! `intelligence` smallint(6) NOT NULL default '0',\ ! `intelligencemod` smallint(6) NOT NULL default '0',\ ! `maxhitpoints` smallint(6) NOT NULL default '0',\ ! `hitpoints` smallint(6) NOT NULL default '0',\ ! `maxstamina` smallint(6) NOT NULL default '0',\ ! `stamina` smallint(6) NOT NULL default '0',\ ! `maxmana` smallint(6) default NULL,\ ! `mana` smallint(6) default NULL,\ ! `karma` int(11) NOT NULL default '0',\ ! `fame` int(11) NOT NULL default '0',\ ! `kills` int(10) NOT NULL default '0',\ ! `deaths` int(10) NOT NULL default '0',\ ! `def` int(10) NOT NULL default '0',\ ! `hunger` int(11) NOT NULL default '0',\ ! `poison` int(11) NOT NULL default '0',\ ! `poisoned` int(10) NOT NULL default '0',\ ! `murderertime` int(11) NOT NULL default '0',\ ! `criminaltime` int(11) NOT NULL default '0',\ ! `nutriment` int(10) NOT NULL default '0',\ ! `gender` tinyint(1) NOT NULL default '0',\ ! `propertyflags` int(11) NOT NULL default '0',\ ! `attacker` int(11) NOT NULL default '-1',\ ! `combattarget` int(11) NOT NULL default '-1',\ ! `murderer` int(11) NOT NULL default '-1',\ ! `guarding` int(11) NOT NULL default '-1',\ ! PRIMARY KEY (`serial`)\ ! );" }, ! { "corpses", "CREATE TABLE `corpses` (\ ! `serial` int(11) NOT NULL default '0',\ ! `bodyid` smallint(6) NOT NULL default '0',\ ! `hairstyle` smallint(6) NOT NULL default '0',\ ! `haircolor` smallint(6) NOT NULL default '0',\ ! `beardstyle` smallint(6) NOT NULL default '0',\ ! `beardcolor` smallint(6) NOT NULL default '0',\ ! PRIMARY KEY (`serial`)\ ! );" }, ! { "corpses_equipment", "CREATE TABLE `corpses_equipment` (\ ! `serial` int(11) NOT NULL default '0',\ ! `layer` tinyint(3) NOT NULL default '0',\ ! `item` int(11) NOT NULL default '-1', \ ! PRIMARY KEY (`serial`,`layer`)\ ! );" }, ! { "houses", "CREATE TABLE `houses` (\ ! `serial` int(11) NOT NULL default '0',\ ! `nokey` tinyint(1) NOT NULL default '0',\ ! `charpos_x` smallint(6) NOT NULL default '0',\ ! `charpos_y` smallint(6) NOT NULL default '0',\ ! `charpos_z` smallint(6) NOT NULL default '0',\ ! PRIMARY KEY (`serial`)\ ! );" }, ! { "items", "CREATE TABLE `items` (\ ! `serial` int(11) NOT NULL default '0',\ ! `id` smallint(5) NOT NULL default '0',\ ! `color` smallint(5) NOT NULL default '0',\ ! `cont` int(11) NOT NULL default '-1',\ ! `layer` tinyint(3) NOT NULL default '0',\ ! `type` smallint(5) NOT NULL default '0',\ ! `type2` smallint(5) NOT NULL default '0',\ ! `amount` smallint(5) NOT NULL default '0',\ ! `decaytime` int(10) NOT NULL default '0',\ ! `def` int(10) NOT NULL default '0',\ ! `hidamage` smallint(6) NOT NULL default '0',\ ! `lodamage` smallint(6) NOT NULL default '0',\ ! `weight` float NOT NULL default '0',\ ! `hp` smallint(6) NOT NULL default '0',\ ! `maxhp` smallint(6) NOT NULL default '0',\ ! `speed` int(11) NOT NULL default '0',\ ! `magic` tinyint(3) NOT NULL default '0',\ ! `owner` int(11) NOT NULL default '-1',\ ! `visible` tinyint(3) NOT NULL default '0',\ ! `spawnregion` varchar(255) default NULL,\ ! `priv` tinyint(3) NOT NULL default '0',\ ! `sellprice` int(11) NOT NULL default '0',\ ! `buyprice` int(11) NOT NULL default '0',\ ! `restock` smallint(5) NOT NULL default '0',\ ! `baseid` varchar(32) NOT NULL default '',\ ! PRIMARY KEY (`serial`)\ ! );" }, ! { "multis", "CREATE TABLE `multis` (\ ! `serial` int(11) NOT NULL default '0',\ ! `coowner` int(11) NOT NULL default '-1',\ ! `deedsection` varchar(255) NOT NULL default '',\ ! PRIMARY KEY (`serial`)\ ! );" }, ! { "multis_bans", "CREATE TABLE `multis_bans` (\ ! `serial` int(11) NOT NULL default '0',\ ! `ban` int(11) NOT NULL default '-1',\ ! PRIMARY KEY (`serial`,`ban`)\ ! );" }, ! { "multis_friends", "CREATE TABLE `multis_friends` (\ ! `serial` int(11) NOT NULL default '0',\ ! `friend` int(11) NOT NULL default '-1',\ ! PRIMARY KEY (`serial`,`friend`)\ ! );" }, ! { "npcs", "CREATE TABLE `npcs` (\ ! `serial` int(11) NOT NULL default '0',\ ! `mindamage` smallint(6) NOT NULL default '0',\ ! `maxdamage` smallint(6) NOT NULL default '0',\ ! `tamingminskill` smallint(6) NOT NULL default '0',\ ! `summontime` int(11) NOT NULL default '0',\ ! `additionalflags` int(11) NOT NULL default '0',\ ! `owner` int(11) NOT NULL default '-1',\ ! `carve` varchar(255) default NULL,\ ! `spawnregion varchar(255) default NULL,\ ! `stablemaster` int(11) NOT NULL default '-1',\ ! `lootlist` varchar(255) default NULL,\ ! `ai` varchar(255) default NULL,\ ! `wandertype` smallint(3) NOT NULL default '0',\ ! `wanderx1` smallint(6) NOT NULL default '0',\ ! `wanderx2` smallint(6) NOT NULL default '0',\ ! `wandery1` smallint(6) NOT NULL default '0',\ ! `wandery2` smallint(6) NOT NULL default '0',\ ! `wanderradius` smallint(6) NOT NULL default '0',\ ! `fleeat` smallint(3) NOT NULL default '10',\ ! `spellslow` int(11) NOT NULL default '0',\ ! `spellshigh` int(11) NOT NULL default '0',\ ! PRIMARY KEY (`serial`)\ ! );" }, ! { "players", "CREATE TABLE `players` (\ ! `serial` int(11) NOT NULL default '0',\ ! `account` varchar(255) default NULL,\ ! `additionalflags` int(10) NOT NULL default '0',\ ! `visualrange` tinyint(3) NOT NULL default '0',\ ! `profile` longtext,\ ! `fixedlight` tinyint(3) NOT NULL default '0',\ ! PRIMARY KEY (`serial`)\ ! );" }, ! { "skills", "CREATE TABLE `skills` (\ ! `serial` int(11) NOT NULL default '0',\ ! `skill` tinyint(3) NOT NULL default '0',\ ! `value` smallint(6) NOT NULL default '0',\ ! `locktype` tinyint(4) default '0',\ ! `cap` smallint(6) default '0',\ ! PRIMARY KEY (`serial`,`skill`)\ ! );" }, ! { "tags", "CREATE TABLE `tags` (\ ! `serial` int(11) NOT NULL default '0',\ ! `name` varchar(64) NOT NULL default '',\ ! `type` varchar(6) NOT NULL default '',\ ! `value` longtext NOT NULL,\ ! PRIMARY KEY (`serial`,`name`)\ ! );" }, ! { "uobject", "CREATE TABLE `uobject` (\ ! `name` varchar(255) default NULL,\ ! `serial` int(11) NOT NULL default '0',\ ! `multis` int(11) NOT NULL default '-1',\ ! `direction` char(1) NOT NULL default '0',\ ! `pos_x` smallint(6) NOT NULL default '0',\ ! `pos_y` smallint(6) NOT NULL default '0',\ ! `pos_z` smallint(6) NOT NULL default '0',\ ! `pos_map` tinyint(4) NOT NULL default '0', \ ! `events` varchar(255) default NULL,\ ! `bindmenu` varchar(255) default NULL,\ ! `havetags` tinyint(1) NOT NULL default '0',\ ! PRIMARY KEY (`serial`)\ ! );" }, ! { "uobjectmap", "CREATE TABLE `uobjectmap` (\ ! `serial` int(11) NOT NULL default '0',\ ! `type` varchar(80) NOT NULL default '',\ ! PRIMARY KEY (`serial`)\ ! );" }, ! { "effects", "CREATE TABLE `effects` (\ ! `id` int NOT NULL,\ ! `objectid` varchar(64) NOT NULL,\ ! `expiretime` int NOT NULL,\ ! `dispellable` tinyint NOT NULL default '0',\ ! `source` int NOT NULL default '-1',\ ! `destination` int NOT NULL default '-1',\ ! PRIMARY KEY (`id`)\ ! );" }, ! { "effects_properties", "CREATE TABLE `effects_properties` (\ ! `id` int NOT NULL,\ ! `keyname` varchar(64) NOT NULL,\ ! `type` varchar(64) NOT NULL,\ ! `value` text NOT NULL,\ ! PRIMARY KEY (`id`,`keyname`)\ ! );" }, { NULL, NULL } *************** *** 348,360 **** ItemMap items; CharMap chars; ! // Pending for deletion std::list< cUObject* > pendingObjects; ! void purgePendingObjects() { std::list< cUObject* >::const_iterator it; for( it = pendingObjects.begin(); it != pendingObjects.end(); ++it ) ! { World::instance()->unregisterObject( *it ); delete *it; --- 348,360 ---- ItemMap items; CharMap chars; ! // Pending for deletion std::list< cUObject* > pendingObjects; ! void purgePendingObjects() { std::list< cUObject* >::const_iterator it; for( it = pendingObjects.begin(); it != pendingObjects.end(); ++it ) ! { World::instance()->unregisterObject( *it ); delete *it; *************** *** 472,476 **** { QString type = types[j]; ! cDBResult res = persistentBroker->query( QString( "SELECT COUNT(*) FROM uobjectmap WHERE type = '%1'" ).arg( type ) ); --- 472,476 ---- { QString type = types[j]; ! cDBResult res = persistentBroker->query( QString( "SELECT COUNT(*) FROM uobjectmap WHERE type = '%1'" ).arg( type ) ); *************** *** 490,494 **** res = persistentBroker->query( UObjectFactory::instance()->findSqlQuery( type ) ); ! // Error Checking if( !res.isValid() ) throw persistentBroker->lastError(); --- 490,494 ---- res = persistentBroker->query( UObjectFactory::instance()->findSqlQuery( type ) ); ! // Error Checking if( !res.isValid() ) throw persistentBroker->lastError(); *************** *** 506,510 **** // do something with data ! object = UObjectFactory::instance()->createObject( type ); object->load( row, offset ); --- 506,510 ---- // do something with data ! object = UObjectFactory::instance()->createObject( type ); object->load( row, offset ); *************** *** 605,609 **** { SERIAL owner = pNPC->owner()->serial(); ! P_PLAYER pOwner = dynamic_cast<P_PLAYER>(FindCharBySerial( owner )); if( pOwner ) --- 605,609 ---- { SERIAL owner = pNPC->owner()->serial(); ! P_PLAYER pOwner = dynamic_cast<P_PLAYER>(FindCharBySerial( owner )); if( pOwner ) *************** *** 677,681 **** uoTime.setTime_t( db_time.toInt() ); Console::instance()->ProgressDone(); ! Console::instance()->send(QString("Worldtime is %1 on %3. %4 in year %5").arg(uoTime.time().toString()).arg(uoTime.date().day()).arg(QDate::monthName(uoTime.date().month())).arg(uoTime.date().year() - 1970) + ".\n" ); --- 677,681 ---- uoTime.setTime_t( db_time.toInt() ); Console::instance()->ProgressDone(); ! Console::instance()->send(QString("Worldtime is %1 on %3. %4 in year %5").arg(uoTime.time().toString()).arg(uoTime.date().day()).arg(QDate::monthName(uoTime.date().month())).arg(uoTime.date().year() - 1970) + ".\n" ); *************** *** 727,731 **** // Flush old items persistentBroker->flushDeleteQueue(); ! p->purgePendingObjects(); --- 727,731 ---- // Flush old items persistentBroker->flushDeleteQueue(); ! p->purgePendingObjects(); *************** *** 768,772 **** uiCurrentTime = getNormalizedTime(); ! Console::instance()->ChangeColor( WPC_GREEN ); Console::instance()->send( " Done" ); --- 768,772 ---- uiCurrentTime = getNormalizedTime(); ! Console::instance()->ChangeColor( WPC_GREEN ); Console::instance()->send( " Done" ); *************** *** 900,904 **** p->items.insert( std::make_pair( serial - ITEM_SPACE, pItem ) ); _itemCount++; ! if( serial > _lastItemSerial ) _lastItemSerial = serial; --- 900,904 ---- p->items.insert( std::make_pair( serial - ITEM_SPACE, pItem ) ); _itemCount++; ! if( serial > _lastItemSerial ) _lastItemSerial = serial; |
|
From: <thi...@pr...> - 2004-01-30 18:25:46
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8725 Modified Files: factory.h Log Message: Fix for -pedantic compile with gcc Index: factory.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/factory.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** factory.h 28 Jan 2004 02:18:13 -0000 1.3 --- factory.h 30 Jan 2004 18:24:08 -0000 1.4 *************** *** 50,54 **** bool registerType(const keyType& id, productCreator creator) { ! return associations_.insert( mapTypes::value_type( id, creator ) ).second; } --- 50,54 ---- bool registerType(const keyType& id, productCreator creator) { ! return associations_.insert( std::make_pair( id, creator ) ).second; } |
|
From: <thi...@pr...> - 2004-01-30 18:09:13
|
Update of /cvsroot/wpdev/wolfpack/network In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26364/network Modified Files: uosocket.cpp uotxpackets.cpp Log Message: Fix for context menus ( script being called with wrong tag ) Index: uosocket.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/uosocket.cpp,v retrieving revision 1.305 retrieving revision 1.306 diff -C2 -d -r1.305 -r1.306 *** uosocket.cpp 29 Jan 2004 23:56:34 -0000 1.305 --- uosocket.cpp 30 Jan 2004 18:07:38 -0000 1.306 *************** *** 1146,1150 **** --- 1146,1153 ---- if ( (*it)->checkVisible() ) if ( !menu->onCheckVisible( this->player(), clicked, entryCount ) ) + { + ++i; continue; + } bool enabled = true; if ( (*it)->checkEnabled() ) Index: uotxpackets.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/uotxpackets.cpp,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -d -r1.74 -r1.75 *** uotxpackets.cpp 30 Jan 2004 15:28:50 -0000 1.74 --- uotxpackets.cpp 30 Jan 2004 18:07:38 -0000 1.75 *************** *** 439,443 **** } ! position = (position * 5) + std::min(4, pChar->fame() / 2500); if (position < titles.size()) { --- 439,443 ---- } ! position = (position * 5) + QMIN(4, pChar->fame() / 2500); if (position < titles.size()) { |
|
From: <thi...@pr...> - 2004-01-30 18:09:13
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26364 Modified Files: accounts.cpp uobject.cpp uobject.h Log Message: Fix for context menus ( script being called with wrong tag ) Index: accounts.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/accounts.cpp,v retrieving revision 1.77 retrieving revision 1.78 diff -C2 -d -r1.77 -r1.78 *** accounts.cpp 25 Jan 2004 01:42:52 -0000 1.77 --- accounts.cpp 30 Jan 2004 18:07:38 -0000 1.78 *************** *** 303,311 **** if( !persistentBroker->tableExists( "accounts" ) ) { ! Console::instance()->send("Accounts database didn't exist! Creating one"); persistentBroker->executeQuery( createSql ); cAccount* account = createAccount( "admin", "admin" ); account->setAcl( "admin" ); ! Console::instance()->send("Created default admin account: Login = admin, Password = admin"); } --- 303,311 ---- if( !persistentBroker->tableExists( "accounts" ) ) { ! Console::instance()->send("Accounts database didn't exist! Creating one\n"); persistentBroker->executeQuery( createSql ); cAccount* account = createAccount( "admin", "admin" ); account->setAcl( "admin" ); ! Console::instance()->send("Created default admin account: Login = admin, Password = admin\n"); } *************** *** 359,367 **** if( !persistentBroker->tableExists( "accounts" ) ) { ! Console::instance()->send("Accounts database didn't exist! Creating one"); persistentBroker->executeQuery( createSql ); cAccount* account = createAccount( "admin", "admin" ); account->setAcl( "admin" ); ! Console::instance()->send("Created default admin account: Login = admin, Password = admin"); } --- 359,367 ---- if( !persistentBroker->tableExists( "accounts" ) ) { ! Console::instance()->send("Accounts database didn't exist! Creating one\n"); persistentBroker->executeQuery( createSql ); cAccount* account = createAccount( "admin", "admin" ); account->setAcl( "admin" ); ! Console::instance()->send("Created default admin account: Login = admin, Password = admin\n"); } Index: uobject.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/uobject.cpp,v retrieving revision 1.127 retrieving revision 1.128 diff -C2 -d -r1.127 -r1.128 *** uobject.cpp 29 Jan 2004 23:56:34 -0000 1.127 --- uobject.cpp 30 Jan 2004 18:07:38 -0000 1.128 *************** *** 292,295 **** --- 292,298 ---- } + /*! + Removes an event handler from the object + */ void cUObject::removeEvent( const QString& name ) { *************** *** 711,717 **** } ! bool cUObject::hasTag( const QString& key ) { ! changed_ = true; return tags_.has( key ); } --- 714,720 ---- } ! bool cUObject::hasTag( const QString& key ) const { ! // changed_ = true; return tags_.has( key ); } Index: uobject.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/uobject.h,v retrieving revision 1.80 retrieving revision 1.81 diff -C2 -d -r1.80 -r1.81 *** uobject.h 29 Jan 2004 23:56:34 -0000 1.80 --- uobject.h 30 Jan 2004 18:07:38 -0000 1.81 *************** *** 101,105 **** // Forwarder for the tags const cVariant &getTag( const QString& key ) const; ! bool hasTag( const QString& key ); void setTag( const QString& key, const cVariant& value ); void removeTag( const QString& key ); --- 101,105 ---- // Forwarder for the tags const cVariant &getTag( const QString& key ) const; ! bool hasTag( const QString& key ) const; void setTag( const QString& key, const cVariant& value ); void removeTag( const QString& key ); |
|
From: <dar...@pr...> - 2004-01-30 17:07:52
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23910 Modified Files: wolfpack.cpp Log Message: Makes debugging easier. Index: wolfpack.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/wolfpack.cpp,v retrieving revision 1.482 retrieving revision 1.483 diff -C2 -d -r1.482 -r1.483 *** wolfpack.cpp 29 Jan 2004 15:34:44 -0000 1.482 --- wolfpack.cpp 29 Jan 2004 23:20:09 -0000 1.483 *************** *** 366,371 **** --- 366,373 ---- // Try to load several data files + #if !defined(_DEBUG) try { + #endif Console::instance()->send( "Loading skills...\n" ); Skills->load(); *************** *** 409,412 **** --- 411,415 ---- Console::instance()->send( "\n" ); + #if !defined(_DEBUG) } catch( wpException &exception ) *************** *** 420,424 **** return 1; } ! SetGlobalVars(); --- 423,427 ---- return 1; } ! #endif SetGlobalVars(); |
|
From: <dr...@pr...> - 2004-01-29 16:33:59
|
Update of /cvsroot/wpdev/xmlscripts/definitions/items/professions In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23194/definitions/items/professions Modified Files: miner.xml Log Message: Mining now works great, all four ore types can be dug up. 12 ore types (silver, merkite and mythril are added ontop of OSI ones.) There is a few bugs that I noticed when clicking mountain tiles that are of certain angles but I think that is hard coded... I'll look into it later. Index: miner.xml =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/definitions/items/professions/miner.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** miner.xml 28 Sep 2003 20:30:43 -0000 1.6 --- miner.xml 25 Jan 2004 01:25:57 -0000 1.7 *************** *** 10,31 **** --> <definitions> <item id="19b7"> <id>0x19b7</id> ! <category>Professions\Miner\Iron Ore 1</category> </item> <item id="19b8"> <id>0x19b8</id> ! <category>Professions\Miner\Iron Ore 2</category> </item> <item id="19b9"> <id>0x19b9</id> ! <category>Professions\Miner\Iron Ore 3</category> </item> <item id="19ba"> <id>0x19ba</id> ! <category>Professions\Miner\Iron Ore 4</category> <type>1102</type> </item> --- 10,615 ---- --> <definitions> + + <item id="iron_ingot"> + <name>iron ingot</name> + <id>0x1bf2</id> + <color>0x0</color> + <tag name="resname" value="iron" /> + <category>Professions\Miner\Ingots\Colored\Iron Ingot</category> + </item> + + <item id="dullcopper_ingot"> + <name>dull iopper ingot</name> + <id>0x1bf2</id> + <color>0x973</color> + <tag name="resname" value="iron" /> + <category>Professions\Miner\Ingots\Colored\Dull Copper Ingot</category> + </item> + + <item id="shadowiron_ingot"> + <name>shadow iron ingot</name> + <id>0x1bf2</id> + <color>0x966</color> + <tag name="resname" value="shadowiron" /> + <category>Professions\Miner\Ingots\Colored\Shadow Iron Ingot</category> + </item> + + <item id="copper_ingot"> + <name>copper ingot</name> + <id>0x1bf2</id> + <color>0x96d</color> + <tag name="resname" value="copper" /> + <category>Professions\Miner\Ingots\Colored\Copper Ingot</category> + </item> + + <item id="bronze_ingot"> + <name>bronze ingot</name> + <id>0x1bf2</id> + <color>0x972</color> + <tag name="resname" value="bronze" /> + <category>Professions\Miner\Ingots\Colored\Bronze Ingot</category> + </item> + + <item id="gold_ingot"> + <name>gold ingot</name> + <id>0x1bf2</id> + <color>0x8a5</color> + <tag name="resname" value="gold" /> + <category>Professions\Miner\Ingots\Colored\Gold Ingot</category> + </item> + + <item id="silver_ingot"> + <name>silver ingot</name> + <id>0x1bf2</id> + <color>0x430</color> + <tag name="resname" value="silver" /> + <category>Professions\Miner\Ingots\Colored\Silver Ingot</category> + </item> + + <item id="agapite_ingot"> + <name>agapite ingot</name> + <id>0x1bf2</id> + <color>0x979</color> + <tag name="resname" value="agapite" /> + <category>Professions\Miner\Ingots\Colored\Agapite Ingot</category> + </item> + + <item id="verite_ingot"> + <name>verite ingot</name> + <id>0x1bf2</id> + <color>0x89f</color> + <tag name="resname" value="verite" /> + <category>Professions\Miner\Ingots\Colored\Verite Ingot</category> + </item> + + <item id="valorite_ingot"> + <name>valorite ingot</name> + <id>0x1bf2</id> + <color>0x8ab</color> + <tag name="resname" value="valorite" /> + <category>Professions\Miner\Ingots\Colored\Valorite Ingot</category> + </item> + + <item id="merkite_ingot"> + <name>merkite ingot</name> + <id>0x1bf2</id> + <color>0x8b0</color> + <tag name="resname" value="merkite" /> + <category>Professions\Miner\Ingots\Colored\Merkite Ingot</category> + </item> + + <item id="mythril_ingot"> + <name>mythril ingot</name> + <id>0x1bf2</id> + <color>0x84c</color> + <tag name="resname" value="mythril" /> + <category>Professions\Miner\Ingots\Colored\Mythril Ingot</category> + </item> + + <item id="iron_ore_1"> + <name>iron ire</name> + <id>0x19b7</id> + <color>0x0</color> + <category>Professions\Miner\Ore\Iron\Iron Ore 1</category> + <tag name="resname" value="iron" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="dullcopper_ore_1"> + <name>dull copper ire</name> + <id>0x19b7</id> + <color>0x973</color> + <category>Professions\Miner\Ore\Dull Copper\Dull Copper Ore 1</category> + <tag name="resname" value="dullcopper" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="shadowiron_ore_1"> + <name>shadow iron ore</name> + <id>0x19b7</id> + <color>0x966</color> + <category>Professions\Miner\Ore\Shadow Iron\Shadow Iron Ore 1</category> + <tag name="resname" value="shadowiron" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="copper_ore_1"> + <name>copper ore</name> + <id>0x19b7</id> + <color>0x96d</color> + <category>Professions\Miner\Ore\Copper\Copper Ore 1</category> + <tag name="resname" value="copper" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="bronze_ore_1"> + <name>bronze ore</name> + <id>0x19b7</id> + <color>0x972</color> + <category>Professions\Miner\Ore\Bronze\Bronze Ore 1</category> + <tag name="resname" value="bronze" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="gold_ore_1"> + <name>gold ore</name> + <id>0x19b7</id> + <color>0x8a5</color> + <category>Professions\Miner\Ore\Gold\Gold Ore 1</category> + <tag name="resname" value="gold" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="silver_ore_1"> + <name>silver ore</name> + <id>0x19b7</id> + <color>0x430</color> + <category>Professions\Miner\Ore\Silver\Silver Ore 1</category> + <tag name="resname" value="silver" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="agapite_ore_1"> + <name>agapite ore</name> + <id>0x19b7</id> + <color>0x979</color> + <category>Professions\Miner\Ore\Agapite\Agapite Ore 1</category> + <tag name="resname" value="agapite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="verite_ore_1"> + <name>verite ore</name> + <id>0x19b7</id> + <color>0x89f</color> + <category>Professions\Miner\Ore\Verite\Verite Ore 1</category> + <tag name="resname" value="verite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="valorite_ore_1"> + <name>valorite ore</name> + <id>0x19b7</id> + <color>0x8ab</color> + <category>Professions\Miner\Ore\Valorite\Valorite Ore 1</category> + <tag name="resname" value="valorite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="merkite_ore_1"> + <name>merkite ore</name> + <id>0x19b7</id> + <color>0x8b0</color> + <category>Professions\Miner\Ore\Merkite\Merkite Ore 1</category> + <tag name="resname" value="merkite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="mythril_ore_1"> + <name>mythril ore</name> + <id>0x19b7</id> + <color>0x84c</color> + <category>Professions\Miner\Ore\Mythril\Mythril Ore 1</category> + <tag name="resname" value="mythril" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="iron_ore_2"> + <name>iron ore</name> + <id>0x19b8</id> + <color>0x0</color> + <category>Professions\Miner\Ore\Iron\Iron Ore 2</category> + <tag name="resname" value="iron" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="dullcopper_ore_2"> + <name>dull copper ore</name> + <id>0x19b8</id> + <color>0x973</color> + <category>Professions\Miner\Ore\Dull Copper\Dull Copper Ore 2</category> + <tag name="resname" value="dullcopper" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="shadowiron_ore_2"> + <name>shadow iron ore</name> + <id>0x19b8</id> + <color>0x966</color> + <category>Professions\Miner\Ore\Shadow Iron\Shadow Iron Ore 2</category> + <tag name="resname" value="shadowiron" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="copper_ore_2"> + <name>copper ore</name> + <id>0x19b8</id> + <color>0x96d</color> + <category>Professions\Miner\Ore\Copper\Copper Ore 2</category> + <tag name="resname" value="copper" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="bronze_ore_2"> + <name>bronze ore</name> + <id>0x19b8</id> + <color>0x972</color> + <category>Professions\Miner\Ore\Bronze\Bronze Ore 2</category> + <tag name="resname" value="bronze" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="gold_ore_2"> + <name>gold ore</name> + <id>0x19b8</id> + <color>0x8a5</color> + <category>Professions\Miner\Ore\Gold\Gold Ore 2</category> + <tag name="resname" value="gold" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="silver_ore_2"> + <name>silver ore</name> + <id>0x19b8</id> + <color>0x430</color> + <category>Professions\Miner\Ore\Silver\Silver Ore 2</category> + <tag name="resname" value="silver" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="agapite_ore_2"> + <name>agapite ore</name> + <id>0x19b8</id> + <color>0x979</color> + <category>Professions\Miner\Ore\Agapite\Agapite Ore 2</category> + <tag name="resname" value="agapite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="verite_ore_2"> + <name>verite ore</name> + <id>0x19b8</id> + <color>0x89f</color> + <category>Professions\Miner\Ore\Verite\Verite Ore 2</category> + <tag name="resname" value="verite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="valorite_ore_2"> + <name>valorite ore</name> + <id>0x19b8</id> + <color>0x8ab</color> + <category>Professions\Miner\Ore\Valorite\Valorite Ore 2</category> + <tag name="resname" value="valorite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="merkite_ore_2"> + <name>merkite ore</name> + <id>0x19b8</id> + <color>0x8b0</color> + <category>Professions\Miner\Ore\Merkite\Merkite Ore 2</category> + <tag name="resname" value="merkite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="mythril_ore_2"> + <name>mythril ore</name> + <id>0x19b8</id> + <color>0x84c</color> + <category>Professions\Miner\Ore\Mythril\Mythril Ore 2</category> + <tag name="resname" value="mythril" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="iron_ore_3"> + <name>iron ore</name> + <id>0x19b9</id> + <color>0x0</color> + <category>Professions\Miner\Ore\Iron\Iron Ore 3</category> + <tag name="resname" value="iron" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="dullcopper_ore_3"> + <name>dull copper ore</name> + <id>0x19b9</id> + <color>0x973</color> + <category>Professions\Miner\Ore\Dull Copper\Dull Copper Ore 3</category> + <tag name="resname" value="dullcopper" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="shadowiron_ore_3"> + <name>shadow iron ore</name> + <id>0x19b9</id> + <color>0x966</color> + <category>Professions\Miner\Ore\Shadow Iron\Shadow Iron Ore 3</category> + <tag name="resname" value="shadowiron" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="copper_ore_3"> + <name>copper ore</name> + <id>0x19b9</id> + <color>0x96d</color> + <category>Professions\Miner\Ore\Copper\Copper Ore 3</category> + <tag name="resname" value="copper" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="bronze_ore_3"> + <name>bronze ore</name> + <id>0x19b9</id> + <color>0x972</color> + <category>Professions\Miner\Ore\Bronze\Bronze Ore 3</category> + <tag name="resname" value="bronze" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="gold_ore_3"> + <name>gold ore</name> + <id>0x19b9</id> + <color>0x8a5</color> + <category>Professions\Miner\Ore\Gold\Gold Ore 3</category> + <tag name="resname" value="gold" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="silver_ore_3"> + <name>silver ore</name> + <id>0x19b9</id> + <color>0x430</color> + <category>Professions\Miner\Ore\Silver\Silver Ore 3</category> + <tag name="resname" value="silver" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="agapite_ore_3"> + <name>agapite ore</name> + <id>0x19b9</id> + <color>0x979</color> + <category>Professions\Miner\Ore\Agapite\Agapite Ore 3</category> + <tag name="resname" value="agapite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="verite_ore_3"> + <name>verite ore</name> + <id>0x19b9</id> + <color>0x89f</color> + <category>Professions\Miner\Ore\Verite\Verite Ore 3</category> + <tag name="resname" value="verite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="valorite_ore_3"> + <name>valorite ore</name> + <id>0x19b9</id> + <color>0x8ab</color> + <category>Professions\Miner\Ore\Valorite\Valorite Ore 3</category> + <tag name="resname" value="valorite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="merkite_ore_3"> + <name>merkite ore</name> + <id>0x19b9</id> + <color>0x8b0</color> + <category>Professions\Miner\Ore\Merkite\Merkite Ore 3</category> + <tag name="resname" value="merkite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="mythril_ore_3"> + <name>mythril ore</name> + <id>0x19b9</id> + <color>0x84c</color> + <category>Professions\Miner\Ore\Mythril\Mythril Ore 3</category> + <tag name="resname" value="mythril" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="iron_ore_4"> + <name>iron ore</name> + <id>0x19ba</id> + <color>0x0</color> + <category>Professions\Miner\Ore\Iron\Iron Ore 4</category> + <tag name="resname" value="iron" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="dullcopper_ore_4"> + <name>dull copper ore</name> + <id>0x19ba</id> + <color>0x973</color> + <category>Professions\Miner\Ore\Dull Copper\Dull Copper Ore 4</category> + <tag name="resname" value="dullcopper" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="shadowiron_ore_4"> + <name>shadow iron ore</name> + <id>0x19ba</id> + <color>0x966</color> + <category>Professions\Miner\Ore\Shadow Iron\Shadow Iron Ore 4</category> + <tag name="resname" value="shadowiron" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="copper_ore_4"> + <name>copper ore</name> + <id>0x19ba</id> + <color>0x96d</color> + <category>Professions\Miner\Ore\Copper\Copper Ore 4</category> + <tag name="resname" value="copper" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="bronze_ore_4"> + <name>bronze ore</name> + <id>0x19ba</id> + <color>0x972</color> + <category>Professions\Miner\Ore\Bronze\Bronze Ore 4</category> + <tag name="resname" value="bronze" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="gold_ore_4"> + <name>gold ore</name> + <id>0x19ba</id> + <color>0x8a5</color> + <category>Professions\Miner\Ore\Gold\Gold Ore 4</category> + <tag name="resname" value="gold" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="silver_ore_4"> + <name>silver ore</name> + <id>0x19ba</id> + <color>0x430</color> + <category>Professions\Miner\Ore\Silver\Silver Ore 4</category> + <tag name="resname" value="silver" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="agapite_ore_4"> + <name>agapite ore</name> + <id>0x19ba</id> + <color>0x979</color> + <category>Professions\Miner\Ore\Agapite\Agapite Ore 4</category> + <tag name="resname" value="agapite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="verite_ore_4"> + <name>verite ore</name> + <id>0x19ba</id> + <color>0x89f</color> + <category>Professions\Miner\Ore\Verite\Verite Ore 4</category> + <tag name="resname" value="verite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="valorite_ore_4"> + <name>valorite ore</name> + <id>0x19ba</id> + <color>0x8ab</color> + <category>Professions\Miner\Ore\Valorite\Valorite Ore 4</category> + <tag name="resname" value="valorite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="merkite_ore_4"> + <name>merkite ore</name> + <id>0x19ba</id> + <color>0x8b0</color> + <category>Professions\Miner\Ore\Merkite\Merkite Ore 4</category> + <tag name="resname" value="merkite" /> + <events>ore</events> + <type>1102</type> + </item> + + <item id="mythril_ore_4"> + <name>mythril ore</name> + <id>0x19ba</id> + <color>0x84c</color> + <category>Professions\Miner\Ore\Mythril\Mythril Ore 4</category> + <tag name="resname" value="mythril" /> + <events>ore</events> + <type>1102</type> + </item> + <item id="19b7"> <id>0x19b7</id> ! <category>Professions\Miner\Ore\Ore 1</category> ! <events>ore</events> ! <type>1102</type> </item> <item id="19b8"> <id>0x19b8</id> ! <category>Professions\Miner\Ore\Ore 2</category> ! <events>ore</events> ! <type>1102</type> </item> <item id="19b9"> <id>0x19b9</id> ! <category>Professions\Miner\Ore\Ore 3</category> ! <events>ore</events> ! <type>1102</type> </item> <item id="19ba"> <id>0x19ba</id> ! <category>Professions\Miner\Ore\Ore 4</category> ! <events>ore</events> <type>1102</type> </item> *************** *** 63,207 **** <item id="1be3"> <id>0x1be3</id> ! <category>Professions\Miner\Copper Ingot (W/E)</category> </item> <item id="1be4"> <id>0x1be4</id> ! <category>Professions\Miner\Copper Ingots 1 (W/E)</category> </item> <item id="1be5"> <id>0x1be5</id> ! <category>Professions\Miner\Copper Ingots 2 (W/E)</category> </item> <item id="1be6"> <id>0x1be6</id> ! <category>Professions\Miner\Copper Ingot (N/S)</category> </item> <item id="1be7"> <id>0x1be7</id> ! <category>Professions\Miner\Copper Ingots 1 (N/S)</category> </item> <item id="1be8"> <id>0x1be8</id> ! <category>Professions\Miner\Copper Ingots 2 (N/S)</category> </item> <item id="1be9"> <id>0x1be9</id> ! <category>Professions\Miner\Gold Ingot (W/E)</category> </item> <item id="1bea"> <id>0x1bea</id> ! <category>Professions\Miner\Gold Ingots 1 (W/E)</category> </item> <item id="1beb"> <id>0x1beb</id> ! <category>Professions\Miner\Gold Ingots 2 (W/E)</category> </item> <item id="1bec"> <id>0x1bec</id> ! <category>Professions\Miner\Gold Ingot (N/S)</category> </item> <item id="1bed"> <id>0x1bed</id> ! <category>Professions\Miner\Gold Ingots 1 (N/S)</category> </item> <item id="1bee"> <id>0x1bee</id> ! <category>Professions\Miner\Gold Ingots 2 (N/S)</category> </item> <item id="1bef"> <id>0x1bef</id> ! <category>Professions\Miner\Iron Ingot (W/E)</category> </item> <item id="1bf0"> <id>0x1bf0</id> ! <category>Professions\Miner\Iron Ingots 1 (W/E)</category> </item> <item id="1bf1"> <id>0x1bf1</id> ! <category>Professions\Miner\Iron Ingots 2 (W/E)</category> </item> <item id="1bf2"> <id>0x1bf2</id> ! <category>Professions\Miner\Iron Ingot (N/S)</category> </item> <item id="1bf3"> <id>0x1bf3</id> ! <category>Professions\Miner\Iron Ingots 1 (N/S)</category> </item> <item id="1bf4"> <id>0x1bf4</id> ! <category>Professions\Miner\Iron Ingots 2 (N/S)</category> </item> <item id="1bf5"> <id>0x1bf5</id> ! <category>Professions\Miner\Silver Ingot (W/E)</category> </item> <item id="1bf6"> <id>0x1bf6</id> ! <category>Professions\Miner\Silver Ingots 1 (W/E)</category> </item> <item id="1bf7"> <id>0x1bf7</id> ! <category>Professions\Miner\Silver Ingots 2 (W/E)</category> </item> <item id="1bf8"> <id>0x1bf8</id> ! <category>Professions\Miner\Silver Ingot (N/S)</category> </item> <item id="1bf9"> <id>0x1bf9</id> ! <category>Professions\Miner\Silver Ingots 1 (N/S)</category> </item> <item id="1bfa"> <id>0x1bfa</id> ! <category>Professions\Miner\Silver Ingots 2 (N/S)</category> ! </item> ! ! <!-- pickaxe --> ! <item id="e85"> ! <id>0x0e85</id> ! <durability>50</durability> ! <type>1104</type> ! <events>tools.pickaxe</events> ! <category>Professions\Miner\Pickaxe (W/E)</category> </item> <!-- Shovel --> <item id="f39"> ! <id>0x0f39</id> <type>1104</type> ! <durability>30</durability> <decay/> <events>tools.pickaxe</events> ! <category>Professions\Miner\Shovel (W/E)</category> </item> <item id="f3a"> <inherit id="f39" /> ! <id>0x0f3a</id> ! <category>Professions\Miner\Shovel (N/S)</category> </item> --- 647,788 ---- <item id="1be3"> <id>0x1be3</id> ! <category>Professions\Miner\Ingots\Copper Ingot (W/E)</category> </item> <item id="1be4"> <id>0x1be4</id> ! <category>Professions\Miner\Ingots\Copper Ingots 1 (W/E)</category> </item> <item id="1be5"> <id>0x1be5</id> ! <category>Professions\Miner\Ingots\Copper Ingots 2 (W/E)</category> </item> <item id="1be6"> <id>0x1be6</id> ! <category>Professions\Miner\Ingots\Copper Ingot (N/S)</category> </item> <item id="1be7"> <id>0x1be7</id> ! <category>Professions\Miner\Ingots\Copper Ingots 1 (N/S)</category> </item> <item id="1be8"> <id>0x1be8</id> ! <category>Professions\Miner\Ingots\Copper Ingots 2 (N/S)</category> </item> <item id="1be9"> <id>0x1be9</id> ! <category>Professions\Miner\Ingots\Gold Ingot (W/E)</category> </item> <item id="1bea"> <id>0x1bea</id> ! <category>Professions\Miner\Ingots\Gold Ingots 1 (W/E)</category> </item> <item id="1beb"> <id>0x1beb</id> ! <category>Professions\Miner\Ingots\Gold Ingots 2 (W/E)</category> </item> <item id="1bec"> <id>0x1bec</id> ! <category>Professions\Miner\Ingots\Gold Ingot (N/S)</category> </item> <item id="1bed"> <id>0x1bed</id> ! <category>Professions\Miner\Ingots\Gold Ingots 1 (N/S)</category> </item> <item id="1bee"> <id>0x1bee</id> ! <category>Professions\Miner\Ingots\Gold Ingots 2 (N/S)</category> </item> <item id="1bef"> <id>0x1bef</id> ! <category>Professions\Miner\Ingots\Iron Ingot (W/E)</category> ! <tag name="resname" value="iron" /> </item> <item id="1bf0"> <id>0x1bf0</id> ! <category>Professions\Miner\Ingots\Iron Ingots 1 (W/E)</category> ! <tag name="resname" value="iron" /> </item> <item id="1bf1"> <id>0x1bf1</id> ! <category>Professions\Miner\Ingots\Iron Ingots 2 (W/E)</category> ! <tag name="resname" value="iron" /> </item> <item id="1bf2"> <id>0x1bf2</id> ! <category>Professions\Miner\Ingots\Iron Ingot (N/S)</category> ! <tag name="resname" value="iron" /> </item> <item id="1bf3"> <id>0x1bf3</id> ! <category>Professions\Miner\Ingots\Iron Ingots 1 (N/S)</category> ! <tag name="resname" value="iron" /> </item> <item id="1bf4"> <id>0x1bf4</id> ! <category>Professions\Miner\Ingots\Iron Ingots 2 (N/S)</category> ! <tag name="resname" value="iron" /> </item> <item id="1bf5"> <id>0x1bf5</id> ! <category>Professions\Miner\Ingots\Silver Ingot (W/E)</category> </item> <item id="1bf6"> <id>0x1bf6</id> ! <category>Professions\Miner\Ingots\Silver Ingots 1 (W/E)</category> </item> <item id="1bf7"> <id>0x1bf7</id> ! <category>Professions\Miner\Ingots\Silver Ingots 2 (W/E)</category> </item> <item id="1bf8"> <id>0x1bf8</id> ! <category>Professions\Miner\Ingots\Silver Ingot (N/S)</category> </item> <item id="1bf9"> <id>0x1bf9</id> ! <category>Professions\Miner\Ingots\Silver Ingots 1 (N/S)</category> </item> <item id="1bfa"> <id>0x1bfa</id> ! <category>Professions\Miner\Ingots\Silver Ingots 2 (N/S)</category> </item> <!-- Shovel --> <item id="f39"> ! <id>0xf39</id> <type>1104</type> ! <durability><random min="30" max="55" /></durability> <decay/> <events>tools.pickaxe</events> ! <category>Professions\Miner\Tools\Shovel (E/W)</category> </item> <item id="f3a"> <inherit id="f39" /> ! <id>0xf3a</id> ! <category>Professions\Miner\Tools\Shovel (N/S)</category> </item> |
|
From: <dr...@pr...> - 2004-01-29 07:44:21
|
Update of /cvsroot/wpdev/xmlscripts/definitions/items/armory/colored/ring In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24376/ring Added Files: mythril.xml silver.xml Log Message: Armor for silver/merkite/mythril. --- NEW FILE: mythril.xml --- <!-- ================================================================= | ) (\_ | WOLFPACK 13.0.0 Scripts | | (( _/{ "-; | Created by: Kosh | | )).-' {{ ;'` | Revised by: Viper, Dreoth | | ( ( ;._ \\ ctr | Last Modification: Color Split, both IDs | ================================================================= --> <definitions> <!-- ring armor --> <!-- ring gloves --> <item id="mythril_armor_ring_gloves"> <inherit id="13eb" /> <mythril_armor /> <category>Armor\Mythril\Ringmail\Gloves (N/S)</category> </item> <item id="mythril_armor_ring_gloves_2"> <inherit id="13f2" /> <mythril_armor /> <category>Armor\Mythril\Ringmail\Gloves (E/W)</category> </item> <!-- ring leggings --> <item id="mythril_armor_ring_leggings"> <inherit id="13f0" /> <mythril_armor /> <category>Armor\Mythril\Ringmail\Leggings (N/S)</category> </item> <item id="mythril_armor_ring_leggings_2"> <inherit id="13f1" /> <mythril_armor /> <category>Armor\Mythril\Ringmail\Leggings (E/W)</category> </item> <!-- ring sleeves --> <item id="mythril_armor_ring_sleeves"> <inherit id="13ee" /> <mythril_armor /> <category>Armor\Mythril\Ringmail\Sleeves (N/S)</category> </item> <item id="mythril_armor_ring_sleeves_2"> <inherit id="13ef" /> <mythril_armor /> <category>Armor\Mythril\Ringmail\Sleeves (E/W)</category> </item> <!-- ring tunic --> <item id="mythril_armor_ring_tunic"> <inherit id="13ec" /> <mythril_armor /> <category>Armor\Mythril\Ringmail\Tunic (N/S)</category> </item> <item id="mythril_armor_ring_tunic_2"> <inherit id="13ed" /> <mythril_armor /> <category>Armor\Mythril\Ringmail\Tunic (E/W)</category> </item> </definitions> --- NEW FILE: silver.xml --- <!-- ================================================================= | ) (\_ | WOLFPACK 13.0.0 Scripts | | (( _/{ "-; | Created by: Kosh | | )).-' {{ ;'` | Revised by: Viper, Dreoth | | ( ( ;._ \\ ctr | Last Modification: Color Split, both IDs | ================================================================= --> <definitions> <!-- ring armor --> <!-- ring gloves --> <item id="silver_armor_ring_gloves"> <inherit id="13eb" /> <silver_armor /> <category>Armor\Silver\Ringmail\Gloves (N/S)</category> </item> <item id="silver_armor_ring_gloves_2"> <inherit id="13f2" /> <silver_armor /> <category>Armor\Silver\Ringmail\Gloves (E/W)</category> </item> <!-- ring leggings --> <item id="silver_armor_ring_leggings"> <inherit id="13f0" /> <silver_armor /> <category>Armor\Silver\Ringmail\Leggings (N/S)</category> </item> <item id="silver_armor_ring_leggings_2"> <inherit id="13f1" /> <silver_armor /> <category>Armor\Silver\Ringmail\Leggings (E/W)</category> </item> <!-- ring sleeves --> <item id="silver_armor_ring_sleeves"> <inherit id="13ee" /> <silver_armor /> <category>Armor\Silver\Ringmail\Sleeves (N/S)</category> </item> <item id="silver_armor_ring_sleeves_2"> <inherit id="13ef" /> <silver_armor /> <category>Armor\Silver\Ringmail\Sleeves (E/W)</category> </item> <!-- ring tunic --> <item id="silver_armor_ring_tunic"> <inherit id="13ec" /> <silver_armor /> <category>Armor\Silver\Ringmail\Tunic (N/S)</category> </item> <item id="silver_armor_ring_tunic_2"> <inherit id="13ed" /> <silver_armor /> <category>Armor\Silver\Ringmail\Tunic (E/W)</category> </item> </definitions> |
|
From: <dar...@pr...> - 2004-01-28 23:35:01
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28586 Modified Files: preferences.cpp preferences.h srvparams.cpp srvparams.h Log Message: Implemented a way to comment wolfpack.xml Index: preferences.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/preferences.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** preferences.cpp 26 Sep 2003 01:03:52 -0000 1.4 --- preferences.cpp 28 Jan 2004 23:21:26 -0000 1.5 *************** *** 314,317 **** --- 314,326 ---- QDomElement group, option; for (git = d->groups_.begin(); git != d->groups_.end(); ++git) { + // comment the group + QString commentText = getGroupDoc(git.key()); + + if (commentText != QString::null) { + root.appendChild(doc.createTextNode("\n\n ")); + root.appendChild(doc.createComment("\n " + commentText.replace("\n", "\n ") + "\n ")); + root.appendChild(doc.createTextNode("\n ")); + } + // create a group element group = doc.createElement("group"); *************** *** 319,322 **** --- 328,339 ---- // add in options for (pit = (*git).begin(); pit != (*git).end(); ++pit) { + QString commentText = getEntryDoc(git.key(), pit.key()); + + if (commentText != QString::null) { + group.appendChild(doc.createTextNode("\n\n ")); + group.appendChild(doc.createComment(" " + commentText.replace("\n", "\n ") + " ")); + group.appendChild(doc.createTextNode("\n ")); + } + option = doc.createElement("option"); option.setAttribute("key", pit.key()); *************** *** 340,344 **** // write it out QTextStream textstream(&datafile); ! doc.save(textstream, 4); datafile.close(); d->formatstate_ = true; --- 357,361 ---- // write it out QTextStream textstream(&datafile); ! doc.save(textstream, 2); datafile.close(); d->formatstate_ = true; *************** *** 352,353 **** --- 369,378 ---- bool Preferences::formatState() { return d->formatstate_; } + + QString Preferences::getGroupDoc(const QString &group) { + return QString::null; + } + + QString Preferences::getEntryDoc(const QString &group, const QString &entry) { + return QString::null; + } Index: preferences.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/preferences.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** preferences.h 26 Sep 2003 01:03:52 -0000 1.3 --- preferences.h 28 Jan 2004 23:21:27 -0000 1.4 *************** *** 81,84 **** --- 81,87 ---- void writeData(); void processGroup( const QDomElement& group ); + + virtual QString getGroupDoc(const QString &group); + virtual QString getEntryDoc(const QString &group, const QString &entry); private: Index: srvparams.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/srvparams.cpp,v retrieving revision 1.92 retrieving revision 1.93 diff -C2 -d -r1.92 -r1.93 *** srvparams.cpp 22 Jan 2004 04:48:12 -0000 1.92 --- srvparams.cpp 28 Jan 2004 23:21:27 -0000 1.93 *************** *** 338,340 **** --- 338,389 ---- } + struct stGroupDoc { + const char *group; + const char *documentation; + }; + + static stGroupDoc group_doc[] = { + {"AI", "This group configures the NPC AI."}, + {"Accounts", "This group configures the account management."}, + {"Database", "This group configures access to the worldsave database."}, + {0, 0} + }; + + QString cSrvParams::getGroupDoc(const QString &group) { + // Try to find documentation for a group in our table + unsigned int i = 0; + + while (group_doc[i].group) { + if (group == group_doc[i].group) { + return group_doc[i].documentation; + } + ++i; + } + + return Preferences::getGroupDoc(group); + } + struct stEntryDoc { + const char *group; + const char *entry; + const char *documentation; + }; + + static stEntryDoc entry_doc[] = { + {"Accounts", "Database Driver", "Possible values are: sqlite, mysql"}, + {0, 0, 0} + }; + + QString cSrvParams::getEntryDoc(const QString &group, const QString &entry) { + // Try to find documentation for an entry in our table + unsigned int i = 0; + + while (entry_doc[i].group && entry_doc[i].entry) { + if (group == entry_doc[i].group && entry == entry_doc[i].entry) { + return entry_doc[i].documentation; + } + ++i; + } + + return Preferences::getEntryDoc(group, entry); + } Index: srvparams.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/srvparams.h,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** srvparams.h 20 Sep 2003 12:01:44 -0000 1.59 --- srvparams.h 28 Jan 2004 23:21:27 -0000 1.60 *************** *** 60,63 **** --- 60,66 ---- { protected: + QString getGroupDoc(const QString &group); + QString getEntryDoc(const QString &group, const QString &entry); + std::vector<ServerList_st> serverList_; std::vector<StartLocation_st> startLocation_; |
|
From: <dar...@pr...> - 2004-01-28 20:34:15
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17764 Modified Files: walking.cpp Log Message: Fixes for resend on unhide. Index: walking.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/walking.cpp,v retrieving revision 1.93 retrieving revision 1.94 diff -C2 -d -r1.93 -r1.94 *** walking.cpp 30 Sep 2003 15:06:29 -0000 1.93 --- walking.cpp 28 Jan 2004 20:33:01 -0000 1.94 *************** *** 737,743 **** if( pChar->stealthedSteps() != -1 ) { ! pChar->setStealthedSteps( -1 ); ! pChar->setHidden( false ); ! pChar->resend( false ); } --- 737,752 ---- if( pChar->stealthedSteps() != -1 ) { ! // Simply update the statistics for us ! bool update = pChar->isHidden(); ! ! pChar->setStealthedSteps(-1); ! pChar->setHidden(false); ! pChar->resend(false, true); ! ! if (update && socket) { ! cUOTxUpdatePlayer updatePlayer; ! updatePlayer.fromChar(pChar); ! socket->send(&updatePlayer); ! } } *************** *** 770,794 **** if( pChar->stealthedSteps() > ( ( SrvParams->maxStealthSteps() * pChar->skillValue( STEALTH ) ) / 1000 ) ) { ! if( pChar->objectType() == enPlayer ) ! { P_PLAYER pp = dynamic_cast<P_PLAYER>(pChar); ! if( pp->socket() ) pp->socket()->sysMessage( tr( "You have been revealed." ) ); } - pChar->setStealthedSteps( -1 ); - pChar->setHidden( false ); - pChar->resend( false, false ); } } else { ! if( pChar->objectType() == enPlayer ) ! { P_PLAYER pp = dynamic_cast<P_PLAYER>(pChar); ! if( pp->socket() ) pp->socket()->sysMessage( tr( "You have been revealed." ) ); } - pChar->setHidden( false ); - pChar->resend( false, false ); } } --- 779,815 ---- if( pChar->stealthedSteps() > ( ( SrvParams->maxStealthSteps() * pChar->skillValue( STEALTH ) ) / 1000 ) ) { ! pChar->setStealthedSteps(-1); ! pChar->setHidden(false); ! pChar->resend(false, true); ! ! if (pChar->objectType() == enPlayer) { P_PLAYER pp = dynamic_cast<P_PLAYER>(pChar); ! ! if (pp->socket()) { pp->socket()->sysMessage( tr( "You have been revealed." ) ); + + cUOTxUpdatePlayer updatePlayer; + updatePlayer.fromChar(pChar); + pp->socket()->send(&updatePlayer); + } } } } else { ! pChar->setHidden(false); ! pChar->resend(false, true); ! ! if (pChar->objectType() == enPlayer) { P_PLAYER pp = dynamic_cast<P_PLAYER>(pChar); ! ! if (pp->socket()) { pp->socket()->sysMessage( tr( "You have been revealed." ) ); + + cUOTxUpdatePlayer updatePlayer; + updatePlayer.fromChar(pChar); + pp->socket()->send(&updatePlayer); + } } } } |
|
From: <thi...@pr...> - 2004-01-28 20:10:10
|
Update of /cvsroot/wpdev/wolfpack/python In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11908/python Modified Files: char.cpp item.cpp Log Message: Linux compile fixes Index: char.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/python/char.cpp,v retrieving revision 1.117 retrieving revision 1.118 diff -C2 -d -r1.117 -r1.118 *** char.cpp 28 Jan 2004 02:18:14 -0000 1.117 --- char.cpp 28 Jan 2004 20:08:41 -0000 1.118 *************** *** 685,689 **** self->pChar->setTag(key, cVariant(PyString_AsString(object))); } else if (PyUnicode_Check(object)) { ! self->pChar->setTag(key, cVariant(QString::fromUcs2(PyUnicode_AsUnicode(object)))); } else if (PyInt_Check(object)) { self->pChar->setTag(key, cVariant((int)PyInt_AsLong(object))); --- 685,689 ---- self->pChar->setTag(key, cVariant(PyString_AsString(object))); } else if (PyUnicode_Check(object)) { ! self->pChar->setTag(key, cVariant(QString::fromUcs2((ushort*)PyUnicode_AsUnicode(object)))); } else if (PyInt_Check(object)) { self->pChar->setTag(key, cVariant((int)PyInt_AsLong(object))); *************** *** 1960,1964 **** val = cVariant( PyString_AsString( value ) ); else if( PyUnicode_Check( value ) ) ! val = cVariant(QString::fromUcs2(PyUnicode_AsUnicode(value))); else if( PyInt_Check( value ) ) val = cVariant( PyInt_AsLong( value ) ); --- 1960,1964 ---- val = cVariant( PyString_AsString( value ) ); else if( PyUnicode_Check( value ) ) ! val = cVariant(QString::fromUcs2((ushort*)PyUnicode_AsUnicode(value))); else if( PyInt_Check( value ) ) val = cVariant( PyInt_AsLong( value ) ); Index: item.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/python/item.cpp,v retrieving revision 1.81 retrieving revision 1.82 diff -C2 -d -r1.81 -r1.82 *** item.cpp 28 Jan 2004 02:12:20 -0000 1.81 --- item.cpp 28 Jan 2004 20:08:41 -0000 1.82 *************** *** 378,382 **** self->pItem->setTag(key, cVariant(PyString_AsString(object))); } else if (PyUnicode_Check(object)) { ! self->pItem->setTag(key, cVariant(QString::fromUcs2(PyUnicode_AsUnicode(object)))); } else if (PyInt_Check(object)) { self->pItem->setTag(key, cVariant((int)PyInt_AsLong(object))); --- 378,382 ---- self->pItem->setTag(key, cVariant(PyString_AsString(object))); } else if (PyUnicode_Check(object)) { ! self->pItem->setTag(key, cVariant(QString::fromUcs2((ushort*)PyUnicode_AsUnicode(object)))); } else if (PyInt_Check(object)) { self->pItem->setTag(key, cVariant((int)PyInt_AsLong(object))); *************** *** 813,817 **** val = cVariant( PyString_AsString( value ) ); else if( PyUnicode_Check( value ) ) ! val = cVariant(QString::fromUcs2(PyUnicode_AsUnicode(value))); else if( PyInt_Check( value ) ) val = cVariant( PyInt_AsLong( value ) ); --- 813,817 ---- val = cVariant( PyString_AsString( value ) ); else if( PyUnicode_Check( value ) ) ! val = cVariant(QString::fromUcs2((ushort*)PyUnicode_AsUnicode(value))); else if( PyInt_Check( value ) ) val = cVariant( PyInt_AsLong( value ) ); |
|
From: <thi...@pr...> - 2004-01-28 20:10:10
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11908 Modified Files: configure wolfpack.pro Log Message: Linux compile fixes Index: configure =================================================================== RCS file: /cvsroot/wpdev/wolfpack/configure,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** configure 12 Jan 2004 17:24:56 -0000 1.5 --- configure 28 Jan 2004 20:08:41 -0000 1.6 *************** *** 79,85 **** echo "$PYTHONINC"; fi; # </python> ! export MYSQLINC PYTHONINC echo -n "Creating Makefile using qmake... " --- 79,107 ---- echo "$PYTHONINC"; fi; + + echo -n "Searching for Python library.... "; + + for py_libpath in \ + /usr/lib/[Pp]ython*/libpython*.a \ + /usr/lib/[Pp]ython*/config/libpython*.a \ + ; + do + if [ -e "$py_libpath" ]; + then + py_libs="$py_libs\n$py_libpath"; + fi; + done; + + PYTHONLIB="$(echo -e "$py_libs"|sort -nr|head -1|sed -e 's/^\(\([^\/]*\/\)*\).*$/\1/;s/\/\+$//')"; + + if ! [ "PYTHONLIB" ]; + then + echo -n "Not found :(("; + else + echo "$PYTHONLIB"; + fi; # </python> ! export MYSQLINC PYTHONINC PYTHONLIB echo -n "Creating Makefile using qmake... " Index: wolfpack.pro =================================================================== RCS file: /cvsroot/wpdev/wolfpack/wolfpack.pro,v retrieving revision 1.169 retrieving revision 1.170 diff -C2 -d -r1.169 -r1.170 *** wolfpack.pro 22 Jan 2004 05:53:51 -0000 1.169 --- wolfpack.pro 28 Jan 2004 20:08:41 -0000 1.170 *************** *** 10,14 **** TEMPLATE += app CONFIG += qt console thread exceptions rtti - #INCLUDEPATH += lib/Python/include OPTIONS += mysql --- 10,13 ---- *************** *** 29,43 **** MYSQL_INCLUDE = /usr/include/mysql } exists(/usr/local/lib/mysql/include/mysql/mysql.h) { ! message("MySQL files found, support enabled") ! INCLUDEPATH += /usr/local/lib/mysql/include/mysql ! DEFINES += MYSQL_DRIVER ! LIBS += -lmysqlclient } !isEmpty(MYSQL_INCLUDE) { - message("MySQL include path........: ($$MYSQL_INCLUDE)") - INCLUDEPATH += $$MYSQL_INCLUDE - DEFINES += MYSQL_DRIVER - exists(/usr/lib/mysql/mysqlclient*) { MYSQL_LIB = /usr/lib/mysql --- 28,35 ---- MYSQL_INCLUDE = /usr/include/mysql } exists(/usr/local/lib/mysql/include/mysql/mysql.h) { ! MYSQL_INCLUDE = /usr/local/lib/mysql/include/mysql } !isEmpty(MYSQL_INCLUDE) { exists(/usr/lib/mysql/mysqlclient*) { MYSQL_LIB = /usr/lib/mysql *************** *** 49,56 **** !isEmpty(MYSQL_LIB) { message("MySQL library path.........: ($$MYSQL_LIB)") ! LIBS += -L$$MYSQL_LIB } - LIBS += -lmysqlclient } isEmpty(MYSQL_INCLUDE) --- 41,50 ---- !isEmpty(MYSQL_LIB) { + message("MySQL include path.........: ($$MYSQL_INCLUDE)") message("MySQL library path.........: ($$MYSQL_LIB)") ! LIBS += -L$$MYSQL_LIB -lmysqlclient ! INCLUDEPATH += $$MYSQL_INCLUDE ! DEFINES += MYSQL_DRIVER } } isEmpty(MYSQL_INCLUDE) *************** *** 68,74 **** message("Error: Could not find Python include files") } ! INCLUDEPATH += /usr/local/include/stlport lib/Python sqlite lib/Python/Include network ! LIBS += -L. -L/usr/local/lib -Llib/Python -ldl -lpython2.3 -lutil ! # we dont use those. QMAKE_LIBS_X11 -= -lX11 -lXext -lm --- 62,68 ---- message("Error: Could not find Python include files") } ! INCLUDEPATH += /usr/local/include/stlport sqlite network ! LIBS += -L/usr/local/lib -ldl -lpython2.3 -lutil ! LIBS += -L$$(PYTHONLIB) # we dont use those. QMAKE_LIBS_X11 -= -lX11 -lXext -lm *************** *** 115,119 **** TmpEff.h \ Trade.h \ - ai/ai.h \ accounts.h \ basics.h \ --- 109,112 ---- |
|
From: <thi...@pr...> - 2004-01-28 02:23:00
|
Update of /cvsroot/wpdev/xmlscripts/definitions/menus In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10659 Modified Files: contextmenu.xml Log Message: Reimplemented context menus Index: contextmenu.xml =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/definitions/menus/contextmenu.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** contextmenu.xml 1 Oct 2003 09:19:22 -0000 1.8 --- contextmenu.xml 28 Jan 2004 02:21:53 -0000 1.9 *************** *** 7,56 **** <definitions> <contextmenu id="banker_menu"> <events>bankermenu</events> ! <access acl="admin"> ! <option tag="1" intlocid="6" msgid="105"/> ! <option tag="2" intlocid="6" msgid="124"/> ! </access> ! <access acl="player"> ! <option tag="1" intlocid="6" msgid="105"/> ! <option tag="2" intlocid="6" msgid="124"/> ! </access> ! <access acl="counselor"> ! <option tag="1" intlocid="6" msgid="105"/> ! <option tag="2" intlocid="6" msgid="124"/> ! </access> </contextmenu> <contextmenu id="healer_menu"> ! <events>npc.healer</events> ! <access acl="admin"> ! <option tag="1" intlocid="0" msgid="489"/> ! </access> ! <access acl="player"> ! <option tag="1" intlocid="0" msgid="489"/> ! </access> ! <access acl="counselor"> ! <option tag="1" intlocid="0" msgid="489"/> ! </access> </contextmenu> <contextmenu id="ITEM_MENU"> <events>daggermenu</events> ! <access acl="admin"> ! <option tag="1" intlocid="6" msgid="121" /> ! <option tag="2" intlocid="6" msgid="125" /> ! <option tag="3" intlocid="0" msgid="176" /> ! <option tag="4" intlocid="0" msgid="484" /> ! ! </access> ! <access acl="player"> ! <option tag="5" intlocid="6" msgid="121" /> ! </access> ! <access acl="counselor"> ! <option tag="6" intlocid="6" msgid="121" /> ! <option tag="7" intlocid="6" msgid="125" /> ! <option tag="8" intlocid="0" msgid="176" /> ! </access> </contextmenu> </definitions> --- 7,53 ---- <definitions> + <contextmenu id="train_menu"> + <events>trainmenu</events> + <option tag="1" msgid="6000" checkvisible="true" checkenabled="true" /> + <option tag="2" msgid="6001" checkvisible="true" checkenabled="true" /> + <option tag="3" msgid="6002" checkvisible="true" checkenabled="true" /> + <option tag="4" msgid="6003" checkvisible="true" checkenabled="true" /> + <option tag="5" msgid="6004" checkvisible="true" checkenabled="true" /> + <option tag="6" msgid="6005" checkvisible="true" checkenabled="true" /> + <option tag="7" msgid="6006" checkvisible="true" checkenabled="true" /> + <option tag="8" msgid="6007" checkvisible="true" checkenabled="true" /> + <option tag="9" msgid="6008" checkvisible="true" checkenabled="true" /> + <option tag="10" msgid="6009" checkvisible="true" checkenabled="true" /> + <option tag="11" msgid="6010" checkvisible="true" checkenabled="true" /> + <option tag="12" msgid="6011" checkvisible="true" checkenabled="true" /> + <option tag="13" msgid="6012" checkvisible="true" checkenabled="true" /> + <option tag="14" msgid="6013" checkvisible="true" checkenabled="true" /> + <option tag="15" msgid="6014" checkvisible="true" checkenabled="true" /> + <option tag="16" msgid="6015" checkvisible="true" checkenabled="true" /> + <option tag="17" msgid="6016" checkvisible="true" checkenabled="true" /> + <option tag="18" msgid="6017" checkvisible="true" checkenabled="true" /> + <option tag="19" msgid="6018" checkvisible="true" checkenabled="true" /> + <option tag="20" msgid="6019" checkvisible="true" checkenabled="true" /> + <option tag="21" msgid="6020" checkvisible="true" checkenabled="true" /> + <option tag="22" msgid="6021" checkvisible="true" checkenabled="true" /> + <option tag="23" msgid="6022" checkvisible="true" checkenabled="true" /> + <option tag="24" msgid="6023" checkvisible="true" checkenabled="true" /> + <option tag="25" msgid="6024" checkvisible="true" checkenabled="true" /> + <option tag="26" msgid="6025" checkvisible="true" checkenabled="true" /> + </contextmenu> + <contextmenu id="banker_menu"> <events>bankermenu</events> ! <option tag="1" msgid="6105"/> ! <option tag="2" msgid="6124"/> </contextmenu> <contextmenu id="healer_menu"> ! <option tag="1" msgid="0489"/> </contextmenu> <contextmenu id="ITEM_MENU"> <events>daggermenu</events> ! <option tag="5" msgid="5121" /> </contextmenu> </definitions> |
|
From: <thi...@pr...> - 2004-01-28 02:22:45
|
Update of /cvsroot/wpdev/xmlscripts/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10570 Modified Files: bankermenu.py Added Files: trainmenu.py Log Message: Reimplemented context menus --- NEW FILE: trainmenu.py --- ################################################################# # ) (\_ # WOLFPACK 13.0.0 Scripts # # (( _/{ "-; # Created by: Correa # # )).-' {{ ;'` # Revised by: # # ( ( ;._ \\ ctr # Last Modification: # ################################################################# # # This is just a sample implementation, still needs to be filled in properly # def onContextMenuCheckVisible( char, target, tag ): if ( target.skill[tag] >= 300 ): return 1 # visible else: return 0 # not visible def onContextMenuCheckEnabled( char, target, tag ): if ( char.skill[tag] >= 300 ): return 0 # disabled else: return 1 #enabled Index: bankermenu.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/bankermenu.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** bankermenu.py 15 Mar 2003 05:20:36 -0000 1.3 --- bankermenu.py 28 Jan 2004 02:21:34 -0000 1.4 *************** *** 1,4 **** --- 1,17 ---- + ################################################################# + # ) (\_ # WOLFPACK 13.0.0 Scripts # + # (( _/{ "-; # Created by: codex # + # )).-' {{ ;'` # Revised by: Correa # + # ( ( ;._ \\ ctr # Last Modification: check for dead/criminal # + ################################################################# + + def onContextEntry( char, target, tag ): if( tag == 1 ): + if ( char.isdead() ): + return 1 + if ( char.iscriminal() ): + target.say( 500378 ) # Thou art a criminal and cannot access thy bank box. + return 1 bank = char.getbankbox() if bank: |
|
From: <thi...@pr...> - 2004-01-28 02:19:22
|
Update of /cvsroot/wpdev/wolfpack/network In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9671/network Modified Files: uorxpackets.h uosocket.cpp uosocket.h uotxpackets.cpp uotxpackets.h Log Message: Reimplemented context menus Index: uorxpackets.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/uorxpackets.h,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** uorxpackets.h 5 Jan 2004 06:25:38 -0000 1.54 --- uorxpackets.h 28 Jan 2004 02:18:13 -0000 1.55 *************** *** 312,316 **** Q_UINT32 serial( void ) const { return getInt( 5 ); } ! Q_UINT16 EntryTag( void ) const { return getShort( 9 ); } }; --- 312,316 ---- Q_UINT32 serial( void ) const { return getInt( 5 ); } ! Q_UINT16 entryTag( void ) const { return getShort( 9 ); } }; Index: uosocket.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/uosocket.cpp,v retrieving revision 1.303 retrieving revision 1.304 diff -C2 -d -r1.303 -r1.304 *** uosocket.cpp 26 Jan 2004 03:48:40 -0000 1.303 --- uosocket.cpp 28 Jan 2004 02:18:14 -0000 1.304 *************** *** 72,75 **** --- 72,76 ---- #include <qvaluelist.h> + #include <functional> using namespace std; *************** *** 108,114 **** } - #include <functional> - - /*! Destructs the cUOSocket instance. --- 109,112 ---- *************** *** 1052,1066 **** P_CHAR pChar; P_ITEM pItem; - const cConMenu *menu; ! Q_UINT16 Tag = packet->EntryTag(); ! ! pItem = FindItemBySerial( packet->serial() ); if ( pItem ) { - menu = ContextMenus::instance()->getMenu( pItem->bindmenu(), this->player()->account()->acl() ); - if ( !menu ) - return; menu->onContextEntry( this->player(), pItem, Tag ); } --- 1050,1077 ---- P_CHAR pChar; P_ITEM pItem; ! if ( contextMenu_.isEmpty() ) ! return; ! ! Q_UINT16 Tag = packet->entryTag(); ! cContextMenu* menu = 0; ! bool found = false; ! for ( menu = contextMenu_.first(); menu; menu = contextMenu_.next() ) ! { ! if ( Tag >= menu->count() ) ! Tag -= menu->count(); ! else ! { ! found = true; ! break; ! } ! } ! ! if ( !found ) ! return; ! pItem = FindItemBySerial( packet->serial() ); if ( pItem ) { menu->onContextEntry( this->player(), pItem, Tag ); } *************** *** 1070,1076 **** if( !pChar ) return; - menu = ContextMenus::instance()->getMenu( pChar->bindmenu(), this->player()->account()->acl() ); - if ( !menu ) - return; menu->onContextEntry( this->player(), pChar, Tag ); } --- 1081,1084 ---- *************** *** 1143,1174 **** return; ! if( !ContextMenus::instance()->menuExists( clicked->bindmenu() ) ) { clicked->setBindmenu(QString::null); return; } ! ! QString acl = this->account()->acl(); ! QString bindmenu = clicked->bindmenu(); ! ! cUOTxContextMenu menu; ! menu.setSerial ( packet->serial() ); ! ! const cConMenuOptions *tOptions = ContextMenus::instance()->getMenuOptions( bindmenu, acl ); ! ! if ( !tOptions ) ! return; ! ! Q_UINT16 Tag, IntlocID, MsgID; ! ! for (int i = 0; i < tOptions->getOptions().size(); i++) { ! Tag = tOptions->getOptions()[i].getTag(); ! IntlocID = tOptions->getOptions()[i].getIntlocID(); ! MsgID = tOptions->getOptions()[i].getMsgID(); ! ! menu.addEntry ( Tag, IntlocID, MsgID ); } ! send( &menu ); } --- 1151,1192 ---- return; ! /* if( !ContextMenus::instance()->menuExists( clicked->bindmenu() ) ) { clicked->setBindmenu(QString::null); return; } ! */ ! cUOTxContextMenu menuPacket; ! menuPacket.setSerial ( packet->serial() ); ! ! QStringList bindMenus = QStringList::split(",", clicked->bindmenu()); ! QStringList::const_iterator menuIt = bindMenus.begin(); ! ! contextMenu_.clear(); ! unsigned int i = 0; ! for ( ; menuIt != bindMenus.end(); ++menuIt ) { ! cContextMenu* menu = ContextMenus::instance()->getMenu( *menuIt ); ! ! if ( !menu ) ! continue; ! ! contextMenu_.append( menu ); ! uint entryCount = 0; ! cContextMenu::const_iterator it = menu->begin(); ! for ( ; it != menu->end(); ++it, ++entryCount ) ! { ! if ( (*it)->checkVisible() ) ! if ( !menu->onCheckVisible( this->player(), clicked, entryCount ) ) ! continue; ! bool enabled = true; ! if ( (*it)->checkEnabled() ) ! if ( !menu->onCheckEnabled( this->player(), clicked, entryCount ) ) ! enabled = false; ! menuPacket.addEntry( i++, (*it)->cliloc(), enabled ? (*it)->flags() : (*it)->flags() | 0x0001, (*it)->color() ); ! } } ! if ( i ) // Won't send empty menus ! send( &menuPacket ); } *************** *** 2393,2399 **** /* ! thanks to codex, see ! http://www.wpdev.org/modules.php?op=modload&name=phpBB2&file=viewtopic&t=1117&sid=44a576c488c79ba923295eae549bed42 ! for more information */ void cUOSocket::clilocMessage( const UINT32 MsgID, const QString ¶ms, const Q_UINT16 color, const Q_UINT16 font, cUObject *object ) --- 2411,2415 ---- /* ! thanks to codex */ void cUOSocket::clilocMessage( const UINT32 MsgID, const QString ¶ms, const Q_UINT16 color, const Q_UINT16 font, cUObject *object ) Index: uosocket.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/uosocket.h,v retrieving revision 1.99 retrieving revision 1.100 diff -C2 -d -r1.99 -r1.100 *** uosocket.h 24 Nov 2003 20:27:28 -0000 1.99 --- uosocket.h 28 Jan 2004 02:18:14 -0000 1.100 *************** *** 47,50 **** --- 47,51 ---- class cUObject; class cCustomTags; + class cContextMenu; *************** *** 80,84 **** QString _ip; // IP used to connect QBitArray *tooltipscache_; ! QMap< SERIAL, cGump* > gumps; --- 81,85 ---- QString _ip; // IP used to connect QBitArray *tooltipscache_; ! QPtrList<cContextMenu> contextMenu_; QMap< SERIAL, cGump* > gumps; Index: uotxpackets.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/uotxpackets.cpp,v retrieving revision 1.72 retrieving revision 1.73 diff -C2 -d -r1.72 -r1.73 *** uotxpackets.cpp 22 Dec 2003 11:01:56 -0000 1.72 --- uotxpackets.cpp 28 Jan 2004 02:18:14 -0000 1.73 *************** *** 221,225 **** } ! void cUOTxContextMenu::addEntry ( Q_UINT16 RetVal, Q_UINT16 FileID, Q_UINT16 TextID, Q_UINT16 flags, Q_UINT16 color ) { Q_UINT32 size = count(); --- 221,225 ---- } ! void cUOTxContextMenu::addEntry ( Q_UINT16 RetVal, Q_UINT16 msgID, Q_UINT16 flags, Q_UINT16 color ) { Q_UINT32 size = count(); *************** *** 236,245 **** else { ! resize( size + 4 ); ! setShort( 1, size + 4 ); } setShort( size, RetVal ); ! setShort( size+2, FileID*1000+TextID ); setShort( size+4, flags ); --- 236,245 ---- else { ! resize( size + 6 ); ! setShort( 1, size + 6 ); } setShort( size, RetVal ); ! setShort( size+2, msgID ); setShort( size+4, flags ); Index: uotxpackets.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/uotxpackets.h,v retrieving revision 1.90 retrieving revision 1.91 diff -C2 -d -r1.90 -r1.91 *** uotxpackets.h 25 Sep 2003 03:05:59 -0000 1.90 --- uotxpackets.h 28 Jan 2004 02:18:14 -0000 1.91 *************** *** 614,619 **** void setSerial ( Q_UINT32 data ) { setInt( 7, data ); } ! void setEntNum ( Q_UINT8 data ) { setShort ( 11, data ); } ! void addEntry ( Q_UINT16 RetVal, Q_UINT16 FileID, Q_UINT16 TextID, Q_UINT16 flags=Popcolor, Q_UINT16 color=0x7FE0 ); }; --- 614,619 ---- void setSerial ( Q_UINT32 data ) { setInt( 7, data ); } ! void setEntNum ( Q_UINT8 data ) { (*this)[11] = data; } ! void addEntry ( Q_UINT16 RetVal, Q_UINT16 msgID, Q_UINT16 flags=Popcolor, Q_UINT16 color=0x7FE0 ); }; |
|
From: <thi...@pr...> - 2004-01-28 02:19:22
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9671 Modified Files: Trade.cpp contextmenu.cpp contextmenu.h factory.h npc.cpp npc.h Log Message: Reimplemented context menus Index: Trade.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/Trade.cpp,v retrieving revision 1.91 retrieving revision 1.92 diff -C2 -d -r1.91 -r1.92 *** Trade.cpp 8 Jan 2004 08:33:38 -0000 1.91 --- Trade.cpp 28 Jan 2004 02:18:13 -0000 1.92 *************** *** 188,192 **** if ( pChar->CountGold() < totalValue ) { ! pVendor->talk( 500192, 0xFFFF, pChar->socket() ); //Begging thy pardon, but thou casnt afford that. return; } --- 188,192 ---- if ( pChar->CountGold() < totalValue ) { ! pVendor->talk( 500192, 0, 0xFFFF, pChar->socket() ); //Begging thy pardon, but thou casnt afford that. return; } *************** *** 196,200 **** if ( pChar->CountBankGold() < totalValue ) { ! pVendor->talk( 500191, 0xFFFF, pChar->socket() ); //Begging thy pardon, but thy bank account lacks these funds. return; } --- 196,200 ---- if ( pChar->CountBankGold() < totalValue ) { ! pVendor->talk( 500191, 0, 0xFFFF, pChar->socket() ); //Begging thy pardon, but thy bank account lacks these funds. return; } *************** *** 205,209 **** { socket->send( &clearBuy ); ! pVendor->talk( 500190, 0xFFFF, pChar->socket() ); // Thou hast bought nothing! return; } --- 205,209 ---- { socket->send( &clearBuy ); ! pVendor->talk( 500190, 0, 0xFFFF, pChar->socket() ); // Thou hast bought nothing! return; } Index: contextmenu.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/contextmenu.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** contextmenu.cpp 23 Sep 2003 12:40:18 -0000 1.16 --- contextmenu.cpp 28 Jan 2004 02:18:13 -0000 1.17 *************** *** 4,8 **** // UO Server Emulation Program // ! // Copyright 2001-2003 by holders identified in authors.txt // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by --- 4,8 ---- // UO Server Emulation Program // ! // Copyright 2001-2004 by holders identified in authors.txt // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by *************** *** 38,96 **** #include "player.h" ! cConMenu::cConMenu( const cElement *Tag ) ! { ! applyDefinition( Tag ); ! recreateEvents(); ! } ! ! void cConSingleOption::setOption( const cElement *Tag ) { ! this->tag_ = Tag->getAttribute( "tag" ).toUShort(); ! this->intlocid_ = Tag->getAttribute( "intlocid" ).toUShort(); ! this->msgid_ = Tag->getAttribute( "msgid" ).toUShort(); } ! void cConMenuOptions::addOption( const cElement *Tag ) { ! cConSingleOption SingleOption; ! SingleOption.setOption( Tag ); ! this->options_.push_back( SingleOption ); } ! void cConMenuOptions::processNode( const cElement *Tag ) { ! QString TagName = Tag->name(); ! if( TagName == "option" ) ! addOption ( Tag ); } ! void cConMenu::processNode( const cElement *Tag ) { ! QString TagName = Tag->name(); ! cConMenuOptions tOptions; ! ! tOptions.applyDefinition( Tag ); ! ! if( TagName == "access" && Tag->hasAttribute( "acl" ) ) { ! tOptions.processNode( Tag ); ! options_.insert( Tag->getAttribute( "acl" ), tOptions ); ! tOptions.deleteAll(); } ! else if( TagName == "events" ) { ! eventList_ = QStringList::split( ",", Tag->getValue() ); ! recreateEvents(); ! } } ! void cConMenu::recreateEvents( void ) { ! scriptChain.clear(); // Walk the eventList and recreate ! QStringList::const_iterator myIter( eventList_.begin() ); ! for( ; myIter != eventList_.end(); ++myIter ) { cPythonScript *myScript = ScriptManager::instance()->find( (*myIter).latin1() ); --- 38,156 ---- #include "player.h" ! /*! ! Builds a context menu out of the definition scripts ! */ ! void cContextMenu::processNode( const cElement *Tag ) { ! QString TagName = Tag->name(); ! ! if( TagName == "events" ) ! { ! scripts_ = Tag->getValue(); ! } ! else if ( TagName == "option" ) ! { ! bool ok; ! ushort msgid = Tag->getAttribute("msgid").toUShort(); ! ushort tag = Tag->getAttribute("tag").toUShort(); ! ushort color = Tag->getAttribute("color").toUShort(&ok); ! if ( !ok ) ! color = 0x7FE0; // Default ! bool checkenabled = Tag->getAttribute("checkenabled", "false").lower() == "true"; ! bool checkvisible = Tag->getAttribute("checkvisible", "false").lower() == "true"; ! entries_.push_back( new cContextMenuEntry( msgid, tag, color, checkvisible, checkenabled ) ); ! } } ! /*! ! Deletes all menu entries, should only be called from the Context Menu manager ! */ ! void cContextMenu::disposeEntries() { ! const_iterator it ( entries_.begin() ); ! for ( ; it != entries_.end(); ++it ) ! delete *it; } ! /*! ! Handles response from client invoking all the scripts binded to this menu's ! given \a entry. ! */ ! void cContextMenu::onContextEntry( cPlayer* from, cUObject* target, ushort entry ) { ! if ( scriptChain_.isEmpty() || entries_.size() <= entry ) ! return; ! PyObject *args = Py_BuildValue( "O&O&h", PyGetCharObject, from, PyGetObjectObject, target, entries_[entry]->scriptTag() ); ! for ( cPythonScript* script = scriptChain_.first(); script; script = scriptChain_.next() ) ! { ! script->callEventHandler( EVENT_CONTEXTENTRY, args ); ! } } ! /*! ! Calls script handler to check whether the given entry of the menu ! should be sent or not to the client ! */ ! bool cContextMenu::onCheckVisible( cPlayer* from, cUObject* target, ushort entry ) { ! if ( scriptChain_.isEmpty() || entries_.size() <= entry ) ! return true; ! ! bool returnValue = true; ! PyObject *args = Py_BuildValue( "O&O&h", PyGetCharObject, from, PyGetObjectObject, target, entries_[entry]->scriptTag() ); ! for ( cPythonScript* script = scriptChain_.first(); script; script = scriptChain_.next() ) { ! PyObject* obj = script->callEvent( "onContextMenuCheckVisible", args ); ! if ( obj ) ! { ! if ( !PyObject_IsTrue( obj ) ) ! returnValue = false; ! Py_XDECREF( obj ); ! } ! ! if ( !returnValue ) ! return false; } ! return true; ! } ! ! /*! ! Calls script handler to check whether the given entry of the menu ! should be flagged as enabled or not to the client ! */ ! bool cContextMenu::onCheckEnabled( cPlayer* from, cUObject* target, ushort entry ) ! { ! if ( scriptChain_.isEmpty() || entries_.size() <= entry ) ! return true; ! ! bool returnValue = true; ! PyObject *args = Py_BuildValue( "O&O&h", PyGetCharObject, from, PyGetObjectObject, target, entries_[entry]->scriptTag() ); ! for ( cPythonScript* script = scriptChain_.first(); script; script = scriptChain_.next() ) { ! PyObject* obj = script->callEvent( "onContextMenuCheckEnabled", args ); ! if ( obj ) ! { ! if ( !PyObject_IsTrue( obj ) ) ! returnValue = false; ! Py_XDECREF( obj ); ! } + if ( !returnValue ) + return false; + } + return true; } ! /*! ! Reloads associated Python scripts ! */ ! void cContextMenu::recreateEvents() { ! scriptChain_.clear(); // Walk the eventList and recreate ! QStringList eventList = QStringList::split(",", scripts_); ! QStringList::const_iterator myIter( eventList.begin() ); ! for( ; myIter != eventList.end(); ++myIter ) { cPythonScript *myScript = ScriptManager::instance()->find( (*myIter).latin1() ); *************** *** 100,139 **** continue; ! scriptChain.push_back( myScript ); ! } ! } ! ! bool cConMenu::onContextEntry( cPlayer *Caller, cUObject *Target, Q_UINT16 Tag ) const ! { ! // If we dont have any events assigned just skip processing ! if( scriptChain.empty() ) ! return false; ! ! PyObject *args = Py_BuildValue( "O&O&h", PyGetCharObject, Caller, PyGetObjectObject, Target, Tag ); ! ! // If we got ANY events process them in order ! for( UI08 i = 0; i < scriptChain.size(); i++ ) ! { ! if ( scriptChain[ i ]->callEventHandler( EVENT_CONTEXTENTRY, args ) ) ! return true; } - - return false; } ! const cConMenuOptions* cConMenu::getOptionsByAcl( const QString& acl ) const ! { ! QMap< QString, cConMenuOptions >::const_iterator it = options_.find( acl ); ! if( it != options_.end() ) ! return &it.data(); ! ! return 0; ! } ! ! void cAllConMenus::load( void ) { QStringList sections = DefManager->getSections( WPDT_CONTEXTMENU ); QStringList::const_iterator it = sections.begin(); ! while( it != sections.end() ) { const cElement* section = DefManager->getDefinition( WPDT_CONTEXTMENU, (*it) ); --- 160,175 ---- continue; ! scriptChain_.append( myScript ); } } ! /*! ! Loads and pre-builds all context menus ! */ ! void cAllContextMenus::load( void ) { QStringList sections = DefManager->getSections( WPDT_CONTEXTMENU ); QStringList::const_iterator it = sections.begin(); ! for ( ; it != sections.end(); ++it ) { const cElement* section = DefManager->getDefinition( WPDT_CONTEXTMENU, (*it) ); *************** *** 141,178 **** if( section ) { ! menus_.insert( (*it), cConMenu( section ) ); } - ++it; } } ! bool cAllConMenus::menuExists( const QString& bindmenu ) const { ! QMap< QString, cConMenu >::const_iterator it( menus_.find( bindmenu ) ); return it != menus_.end(); } ! const cConMenuOptions* cAllConMenus::getMenuOptions( const QString& bindmenu, const QString& acl ) const { ! QMap< QString, cConMenu >::const_iterator it = menus_.find( bindmenu ); ! if ( it != menus_.end() ) ! return it.data().getOptionsByAcl( acl ); return 0; } ! const cConMenu* cAllConMenus::getMenu( const QString& bindmenu, const QString& acl ) const { ! Q_UNUSED(acl); ! QMap< QString, cConMenu >::const_iterator it( menus_.find( bindmenu ) ); ! if ( it != menus_.end() ) ! return &it.data(); ! ! return 0; } ! void cAllConMenus::reload( void ) { ! menus_.clear(); load(); } --- 177,224 ---- if( section ) { ! cContextMenu* menu = new cContextMenu; ! menu->applyDefinition( section ); ! menu->recreateEvents(); ! menus_.insert( (*it), menu ); } } } ! /*! ! Checks if a given menu exists or not, indexed by name ! */ ! bool cAllContextMenus::menuExists( const QString& bindmenu ) const { ! const_iterator it( menus_.find( bindmenu ) ); return it != menus_.end(); } ! /*! ! Retrieves the menu ! */ ! cContextMenu* cAllContextMenus::getMenu( const QString& bindmenu ) const { ! const_iterator it( menus_.find( bindmenu ) ); ! if ( it != menus_.end() ) ! { ! return it.data(); // returns a copy of the menu ! } return 0; } ! void cAllContextMenus::unload() { ! const_iterator it( menus_.begin() ); ! for ( ; it != menus_.end(); ++it ) ! { ! it.data()->disposeEntries(); ! delete it.data(); ! } } ! void cAllContextMenus::reload( void ) { ! unload(); load(); } Index: contextmenu.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/contextmenu.h,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** contextmenu.h 20 Jul 2003 00:04:51 -0000 1.13 --- contextmenu.h 28 Jan 2004 02:18:13 -0000 1.14 *************** *** 4,9 **** // UO Server Emulation Program // ! // Copyright 1997, 98 by Marcus Rating (Cironian) ! // Copyright 2001-2003 by holders identified in authors.txt // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by --- 4,8 ---- // UO Server Emulation Program // ! // Copyright 2001-2004 by holders identified in authors.txt // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by *************** *** 47,113 **** class cElement; ! class cConSingleOption { ! public: ! ! void setOption( const cElement *Tag ); ! Q_UINT16 getTag( void ) { return tag_; } ! Q_UINT16 getIntlocID(void) { return intlocid_; } ! Q_UINT16 getMsgID(void) { return msgid_; } ! ! private: ! Q_UINT16 tag_; ! Q_UINT16 intlocid_; ! Q_UINT16 msgid_; ! }; - class cConMenuOptions : public cDefinable - { public: - typedef QValueVector< cConSingleOption > vSingleOption; - void processNode( const cElement *Tag ); - vSingleOption getOptions( void ) const { return options_; } - void addOption( const cElement *Tag ); - void deleteAll( void ) { options_.clear(); } ! private: ! vSingleOption options_; }; ! class cConMenu : public cDefinable { public: ! cConMenu() {}; ! cConMenu( const cElement *Tag ); ! void processNode( const cElement *Tag ); ! const cConMenuOptions* getOptionsByAcl( const QString& acl ) const; ! void recreateEvents( void ); ! ! bool onContextEntry( cPlayer *Caller, cUObject *Target, Q_UINT16 Tag ) const; private: ! QMap< QString, cConMenuOptions > options_; ! QStringList eventList_; ! std::vector<cPythonScript*> scriptChain; }; ! class cAllConMenus { public: - ~cAllConMenus() { menus_.clear(); } ! bool menuExists( const QString& bindmenu ) const; ! void load( void ); ! void reload( void ); ! const cConMenuOptions* getMenuOptions( const QString& bindmenu, const QString& acl ) const; ! const cConMenu* getMenu( const QString& bindmenu, const QString& acl ) const; ! private: ! QMap< QString, cConMenu > menus_; }; ! typedef SingletonHolder<cAllConMenus> ContextMenus; #endif // __CONTEXTMENU_H__ --- 46,122 ---- class cElement; ! class cContextMenuEntry { ! ushort cliloc_; ! ushort flags_; ! ushort color_; ! ushort scriptTag_; ! bool checkvisible_; ! bool checkenabled_; public: ! cContextMenuEntry( ushort cliloc, ushort scriptTag, ushort color = 0, bool checkvisible = false, bool checkenabled = false ) : ! cliloc_( cliloc ), scriptTag_(scriptTag), flags_ ( 0 ), color_(0), checkvisible_(checkvisible_), checkenabled_(checkenabled) ! { ! flags_ |= ( color_ & 0xFFFF ) ? 32 : 0; ! } + bool isEnabled() const { return !(flags_ & 0x0001); } + bool setEnabled( bool enable ) + { + flags_ = enable ? flags_ & ~0x0001 : flags_ | 0x0001; + } + + ushort color() const { return color_; } + ushort flags() const { return flags_; } + ushort scriptTag() const { return scriptTag_; } + ushort cliloc() const { return cliloc_; } + bool checkVisible() const { return checkvisible_; } + bool checkEnabled() const { return checkenabled_; } }; ! class cContextMenu : public cDefinable { public: ! typedef QValueVector< cContextMenuEntry* > Entries; ! typedef Entries::const_iterator const_iterator; ! typedef Entries::iterator iterator; ! ! const_iterator begin() const { return entries_.begin(); } ! const_iterator end() const { return entries_.end(); } ! ! uint count() const { return entries_.count(); } ! void processNode( const cElement *Tag ); ! void onContextEntry( cPlayer* from, cUObject* target, ushort entry ); ! bool onCheckVisible( cPlayer* from, cUObject* target, ushort entry ); ! bool onCheckEnabled( cPlayer* from, cUObject* target, ushort entry ); ! void recreateEvents(); ! void disposeEntries(); private: ! Entries entries_; ! QPtrList<cPythonScript> scriptChain_; ! QString scripts_; }; ! class cAllContextMenus { public: ! bool menuExists( const QString& bindmenu ) const; ! void load(); ! void unload(); ! void reload(); ! ! cContextMenu* getMenu( const QString& ) const; private: ! typedef QMap< QString, cContextMenu* > Menus; ! typedef Menus::const_iterator const_iterator; ! Menus menus_; }; ! typedef SingletonHolder<cAllContextMenus> ContextMenus; #endif // __CONTEXTMENU_H__ Index: factory.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/factory.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** factory.h 12 Jan 2003 18:11:31 -0000 1.2 --- factory.h 28 Jan 2004 02:18:13 -0000 1.3 *************** *** 4,9 **** // UO Server Emulation Program // ! // Copyright 1997, 98 by Marcus Rating (Cironian) ! // Copyright 2001-2003 by holders identified in authors.txt // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by --- 4,8 ---- // UO Server Emulation Program // ! // Copyright 2001-2004 by holders identified in authors.txt // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by Index: npc.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/npc.cpp,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** npc.cpp 22 Jan 2004 04:48:12 -0000 1.54 --- npc.cpp 28 Jan 2004 02:18:13 -0000 1.55 *************** *** 353,361 **** } ! void cNPC::talk( const UINT32 MsgID, UI16 color /*= 0xFFFF*/, cUOSocket* socket /*= 0*/ ) { if ( socket ) { ! socket->clilocMessage( MsgID, 0, color, 3, this ); } else --- 353,361 ---- } ! void cNPC::talk( const UINT32 MsgID, const QString& params /*= 0*/, UI16 color /*= 0xFFFF*/, cUOSocket* socket /*= 0*/ ) { if ( socket ) { ! socket->clilocMessage( MsgID, params, color, 3, this ); } else Index: npc.h =================================================================== RCS file: /cvsroot/wpdev/wolfpack/npc.h,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** npc.h 8 Jan 2004 08:33:38 -0000 1.28 --- npc.h 28 Jan 2004 02:18:13 -0000 1.29 *************** *** 93,97 **** virtual void resend( bool clean = true, bool excludeself = false ); virtual void talk( const QString &message, UI16 color = 0xFFFF, UINT8 type = 0, bool autospam = false, cUOSocket* socket = NULL ); ! void talk( const UINT32 MsgID, UI16 color = 0xFFFF, cUOSocket* socket = 0 ); virtual UINT8 notority( P_CHAR pChar = NULL ); virtual void kill(); --- 93,97 ---- virtual void resend( bool clean = true, bool excludeself = false ); virtual void talk( const QString &message, UI16 color = 0xFFFF, UINT8 type = 0, bool autospam = false, cUOSocket* socket = NULL ); ! void talk( const UINT32 MsgID, const QString& params = 0, UI16 color = 0xFFFF, cUOSocket* socket = 0 ); virtual UINT8 notority( P_CHAR pChar = NULL ); virtual void kill(); |
|
From: <thi...@pr...> - 2004-01-28 02:19:22
|
Update of /cvsroot/wpdev/wolfpack/python In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9671/python Modified Files: char.cpp Log Message: Reimplemented context menus Index: char.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/python/char.cpp,v retrieving revision 1.116 retrieving revision 1.117 diff -C2 -d -r1.116 -r1.117 *** char.cpp 28 Jan 2004 02:12:20 -0000 1.116 --- char.cpp 28 Jan 2004 02:18:14 -0000 1.117 *************** *** 4,8 **** // UO Server Emulation Program // ! // Copyright 2001-2003 by holders identified in authors.txt // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by --- 4,8 ---- // UO Server Emulation Program // ! // Copyright 2001-2004 by holders identified in authors.txt // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by *************** *** 558,572 **** if( !checkArgStr( 0 ) ) { ! PyErr_BadArgument(); ! return 0; ! } ! INT16 color = -1; ! if( checkArgInt( 1 ) ) ! color = getArgInt( 1 ); ! self->pChar->talk( getArgStr( 0 ), color ); ! return PyTrue; } --- 558,592 ---- if( !checkArgStr( 0 ) ) { ! P_NPC npc = dynamic_cast<P_NPC>( self->pChar); ! if ( !npc ) ! return PyFalse; ! ! if( !checkArgInt( 0 ) ) ! { ! PyErr_BadArgument(); ! return 0; ! } ! ! ushort color = -1; ! uint cliloc = getArgInt( 0 ); ! if( checkArgInt( 1 ) ) ! color = getArgInt( 1 ); ! ! npc->talk( cliloc, 0, color ); ! return PyTrue; ! } ! else ! { ! INT16 color = -1; ! ! if( checkArgInt( 1 ) ) ! color = getArgInt( 1 ); ! self->pChar->talk( getArgStr( 0 ), color ); ! return PyTrue; ! } ! return PyFalse; } *************** *** 1339,1342 **** --- 1359,1374 ---- /*! + Are we dead. + */ + static PyObject* wpChar_isdead( wpChar* self, PyObject* args ) + { + Q_UNUSED(args); + if( !self->pChar || self->pChar->free ) + return PyTrue; + + return self->pChar->isDead() ? PyTrue : PyFalse; + } + + /*! Let's this character attack someone else. */ *************** *** 1686,1689 **** --- 1718,1722 ---- { "lightning", (getattrofunc)wpChar_lightning, METH_VARARGS, NULL }, { "additem", (getattrofunc)wpChar_additem, METH_VARARGS, "Creating item on specified layer."}, + { "isdead", (getattrofunc)wpChar_isdead, METH_VARARGS, "Checks if the character is alive or not."}, // Mostly NPC functions |
|
From: <thi...@pr...> - 2004-01-28 02:19:20
|
Update of /cvsroot/wpdev/wolfpack/ai In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9671/ai Modified Files: ai.cpp ai_humans.cpp Log Message: Reimplemented context menus Index: ai.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/ai/ai.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ai.cpp 24 Jan 2004 22:35:28 -0000 1.2 --- ai.cpp 28 Jan 2004 02:18:13 -0000 1.3 *************** *** 48,55 **** #include <vector> void cAIFactory::checkScriptAI( const QStringList &oldSections, const QStringList &newSections ) { QStringList::const_iterator aiit = oldSections.begin(); ! while( aiit != oldSections.end() ) { // We must reset all existing and scripted AI objects, so changes can take effect. --- 48,59 ---- #include <vector> + /***************************************************************************** + cAIFactory member functions + *****************************************************************************/ + void cAIFactory::checkScriptAI( const QStringList &oldSections, const QStringList &newSections ) { QStringList::const_iterator aiit = oldSections.begin(); ! for( ; aiit != oldSections.end(); ++aiit ) { // We must reset all existing and scripted AI objects, so changes can take effect. *************** *** 88,92 **** unregisterType( *aiit ); } - ++aiit; } aiit = newSections.begin(); --- 92,95 ---- *************** *** 101,104 **** --- 104,111 ---- } + /***************************************************************************** + cAbstractAI member functions + *****************************************************************************/ + struct stActionNode { *************** *** 160,163 **** --- 167,174 ---- } + /***************************************************************************** + cScriptAI member functions + *****************************************************************************/ + void ScriptAI::registerInFactory( const QString &name ) { Index: ai_humans.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/ai/ai_humans.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ai_humans.cpp 24 Jan 2004 22:35:28 -0000 1.2 --- ai_humans.cpp 28 Jan 2004 02:18:13 -0000 1.3 *************** *** 47,51 **** static AbstractAI* productCreator_HV() { ! return new Human_Vendor( NULL ); } --- 47,51 ---- static AbstractAI* productCreator_HV() { ! return new Human_Vendor(0); } |
|
From: <dar...@pr...> - 2004-01-28 02:13:27
|
Update of /cvsroot/wpdev/wolfpack/python In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8334/python Modified Files: char.cpp item.cpp Log Message: Fixes for Unicode in Properties/Tags. Needed for Books. Index: char.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/python/char.cpp,v retrieving revision 1.115 retrieving revision 1.116 diff -C2 -d -r1.115 -r1.116 *** char.cpp 25 Jan 2004 20:24:26 -0000 1.115 --- char.cpp 28 Jan 2004 02:12:20 -0000 1.116 *************** *** 664,667 **** --- 664,669 ---- if (PyString_Check(object)) { self->pChar->setTag(key, cVariant(PyString_AsString(object))); + } else if (PyUnicode_Check(object)) { + self->pChar->setTag(key, cVariant(QString::fromUcs2(PyUnicode_AsUnicode(object)))); } else if (PyInt_Check(object)) { self->pChar->setTag(key, cVariant((int)PyInt_AsLong(object))); *************** *** 1924,1927 **** --- 1926,1931 ---- if( PyString_Check( value ) ) val = cVariant( PyString_AsString( value ) ); + else if( PyUnicode_Check( value ) ) + val = cVariant(QString::fromUcs2(PyUnicode_AsUnicode(value))); else if( PyInt_Check( value ) ) val = cVariant( PyInt_AsLong( value ) ); Index: item.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/python/item.cpp,v retrieving revision 1.80 retrieving revision 1.81 diff -C2 -d -r1.80 -r1.81 *** item.cpp 25 Jan 2004 20:24:26 -0000 1.80 --- item.cpp 28 Jan 2004 02:12:20 -0000 1.81 *************** *** 377,380 **** --- 377,382 ---- if (PyString_Check(object)) { self->pItem->setTag(key, cVariant(PyString_AsString(object))); + } else if (PyUnicode_Check(object)) { + self->pItem->setTag(key, cVariant(QString::fromUcs2(PyUnicode_AsUnicode(object)))); } else if (PyInt_Check(object)) { self->pItem->setTag(key, cVariant((int)PyInt_AsLong(object))); *************** *** 810,813 **** --- 812,817 ---- if( PyString_Check( value ) ) val = cVariant( PyString_AsString( value ) ); + else if( PyUnicode_Check( value ) ) + val = cVariant(QString::fromUcs2(PyUnicode_AsUnicode(value))); else if( PyInt_Check( value ) ) val = cVariant( PyInt_AsLong( value ) ); |
|
From: <dar...@pr...> - 2004-01-28 02:13:27
|
Update of /cvsroot/wpdev/wolfpack In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8334 Modified Files: dragdrop.cpp Log Message: Fixes for Unicode in Properties/Tags. Needed for Books. Index: dragdrop.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/dragdrop.cpp,v retrieving revision 1.210 retrieving revision 1.211 diff -C2 -d -r1.210 -r1.211 *** dragdrop.cpp 26 Jan 2004 09:43:15 -0000 1.210 --- dragdrop.cpp 28 Jan 2004 02:12:20 -0000 1.211 *************** *** 817,824 **** { // Feed our pets ! if( pChar->hunger() >= 6 || pItem->type2() == 0 || !( pChar->nutriment() & ( 1 << (pItem->type2()-1) ) ) ) { ! socket->sysMessage( tr("It doesn't seem to want your item") ); ! bounceItem( socket, pItem ); return; } --- 817,824 ---- { // Feed our pets ! if( pChar->hunger() >= 6 || !(pChar->nutriment() & (1 << (pItem->type2() - 1))) ) { ! socket->sysMessage(tr("It doesn't seem to want your item.")); ! bounceItem(socket, pItem); return; } *************** *** 829,833 **** // *You see Snowwhite eating some poisoned apples* // Color: 0x0026 ! pChar->emote( tr( "*You see %1 eating %2*" ).arg( pChar->name() ).arg( pItem->getName() ) ); // We try to feed it more than it needs --- 829,833 ---- // *You see Snowwhite eating some poisoned apples* // Color: 0x0026 ! pChar->emote(tr("*You see %1 eating %2*").arg(pChar->name()).arg(pItem->getName())); // We try to feed it more than it needs |
|
From: <dar...@pr...> - 2004-01-28 02:10:53
|
Update of /cvsroot/wpdev/xmlscripts/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7312 Modified Files: book.py Log Message: Fixed books. Index: book.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/book.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** book.py 1 Sep 2003 22:15:11 -0000 1.2 --- book.py 28 Jan 2004 02:09:46 -0000 1.3 *************** *** 19,26 **** offset = 13 for line in lines: ! packet.setascii( offset, line ) ! offset += len( line ) + 1 ! packet.send( char.socket ) def onUse( char, item ): --- 19,26 ---- offset = 13 for line in lines: ! packet.setascii(offset, str(line)) ! offset += len(line) + 1 ! packet.send(char.socket) def onUse( char, item ): *************** *** 52,60 **** packet.setshort( 9, pages ) ! packet.setshort( 11, len( author ) + 1 ) ! packet.setascii( 13, author ) ! packet.setshort( 13 + len( author ) + 1, len( title ) + 1 ) ! packet.setascii( 15 + len( author ) + 1, title ) packet.send( char.socket ) --- 52,60 ---- packet.setshort( 9, pages ) ! packet.setshort( 11, len(title) + 1 ) ! packet.setascii( 13, title ) ! packet.setshort( 13 + len(title) + 1, len(author) + 1 ) ! packet.setascii( 15 + len(title) + 1, author ) packet.send( char.socket ) *************** *** 90,100 **** # Request Update ! def onBookUpdatePage( char, item, page, content ): ! if item.hastag( 'protected' ): ! char.message( 'This book is protected' ) return if item.hastag( 'pages' ): ! pages = int( item.gettag( 'pages' ) ) else: pages = 64 --- 90,100 ---- # Request Update ! def onBookUpdatePage(char, item, page, content): ! if item.hastag('protected'): ! char.message('This book is read only.') return if item.hastag( 'pages' ): ! pages = int(item.gettag('pages')) else: pages = 64 *************** *** 104,117 **** if len( content.strip() ) == 0: ! item.deltag( 'page%u' % page ) return item.settag( 'page%u' % page, content ) ! def onBookUpdateInfo( char, item, author, title ): ! if item.hastag( 'protected' ): ! char.message( 'This book is protected' ) ! return ! ! item.settag( 'author', author ) ! item.name = title --- 104,121 ---- if len( content.strip() ) == 0: ! item.deltag('page%u' % page) return item.settag( 'page%u' % page, content ) ! def onBookUpdateInfo(char, item, title, author): ! if item.hastag( 'protected' ): ! char.message( 'This book is read only.' ) ! return ! ! if len(author) == 0: ! item.deltag('author') ! else: ! item.settag('author', author) ! ! item.name = title |
|
From: <thi...@pr...> - 2004-01-27 23:47:52
|
Update of /cvsroot/wpdev/wolfpack/network In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6714 Modified Files: listener.cpp Log Message: Tries to reduce Linux down time in the event of a crash with socket linger option. Index: listener.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/listener.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** listener.cpp 27 Jan 2004 23:46:22 -0000 1.16 --- listener.cpp 27 Jan 2004 23:46:46 -0000 1.17 *************** *** 71,78 **** void cListener::run() throw() { listenningSocket.bind( static_cast<Q_UINT32>(0), _port ); listenningSocket.listen( 20 ); listenningSocket.setBlocking( false ); // or else it would take a while to join() - listenningSocket.setAddressReusable( true ); while ( !canceled() ) --- 71,78 ---- void cListener::run() throw() { + listenningSocket.setAddressReusable( true ); listenningSocket.bind( static_cast<Q_UINT32>(0), _port ); listenningSocket.listen( 20 ); listenningSocket.setBlocking( false ); // or else it would take a while to join() while ( !canceled() ) |
|
From: <thi...@pr...> - 2004-01-27 23:47:28
|
Update of /cvsroot/wpdev/wolfpack/network In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6542 Modified Files: listener.cpp Log Message: Tries to reduce Linux down time in the event of a crash with socket linger option. Index: listener.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/network/listener.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** listener.cpp 19 Sep 2003 22:02:41 -0000 1.15 --- listener.cpp 27 Jan 2004 23:46:22 -0000 1.16 *************** *** 74,77 **** --- 74,78 ---- listenningSocket.listen( 20 ); listenningSocket.setBlocking( false ); // or else it would take a while to join() + listenningSocket.setAddressReusable( true ); while ( !canceled() ) |
|
From: <dr...@pr...> - 2004-01-27 17:27:47
|
Update of /cvsroot/wpdev/xmlscripts/definitions/items/armory/colored In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30869/definitions/items/armory/colored Modified Files: color_defines.xml Log Message: I added resname tags to weapons/armor. This will be useful for smelting weapons and armor, and even cutting armor that gives leather. AoS has the four leather types. Also, wooden objects have 'plainwood' in case later there happens to be multiple wood types or something... Index: color_defines.xml =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/definitions/items/armory/colored/color_defines.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** color_defines.xml 25 Jan 2004 01:25:55 -0000 1.3 --- color_defines.xml 26 Jan 2004 07:02:25 -0000 1.4 *************** *** 12,15 **** --- 12,16 ---- <define id="iron_armor"> <name>iron %1</name> + <tag name="resname" value="iron" /> </define> *************** *** 33,36 **** --- 34,38 ---- <tag name="armor_reqs" value="20" type="int" /> <tag name="weapon_reqs" value="50" type="int" /> + <tag name="resname" value="dullcopper" /> </define> *************** *** 52,55 **** --- 54,58 ---- <tag name="armor_durability" value="100" type="int" /> <tag name="weapon_durability" value="50" type="int" /> + <tag name="resname" value="shadowiron" /> </define> *************** *** 69,72 **** --- 72,76 ---- <tag name="weapon_poison" value="10" type="int" /> <tag name="weapon_energy" value="20" type="int" /> + <tag name="resname" value="copper" /> </define> *************** *** 86,89 **** --- 90,94 ---- <tag name="weapon_poison" value="0" type="int" /> <tag name="weapon_energy" value="0" type="int" /> + <tag name="resname" value="bronze" /> </define> *************** *** 106,109 **** --- 111,115 ---- <tag name="armor_reqs" value="30" type="int" /> <tag name="weapon_reqs" value="50" type="int" /> + <tag name="resname" value="gold" /> </define> *************** *** 126,129 **** --- 132,136 ---- <tag name="armor_reqs" value="30" type="int" /> <tag name="weapon_reqs" value="50" type="int" /> + <tag name="resname" value="silver" /> </define> *************** *** 143,146 **** --- 150,154 ---- <tag name="weapon_poison" value="0" type="int" /> <tag name="weapon_energy" value="20" type="int" /> + <tag name="resname" value="agapite" /> </define> *************** *** 160,163 **** --- 168,172 ---- <tag name="weapon_poison" value="40" type="int" /> <tag name="weapon_energy" value="20" type="int" /> + <tag name="resname" value="verite" /> </define> *************** *** 179,182 **** --- 188,192 ---- <tag name="armor_durability" value="50" type="int" /> <tag name="weapon_durability" value="0" type="int" /> + <tag name="resname" value="valorite" /> </define> *************** *** 198,201 **** --- 208,212 ---- <tag name="armor_durability" value="50" type="int" /> <tag name="weapon_durability" value="50" type="int" /> + <tag name="resname" value="merkite" /> </define> *************** *** 217,220 **** --- 228,232 ---- <tag name="armor_durability" value="50" type="int" /> <tag name="weapon_durability" value="50" type="int" /> + <tag name="resname" value="mythril" /> </define> |
|
From: <dar...@pr...> - 2004-01-27 14:32:45
|
Update of /cvsroot/wpdev/wolfpack/ai In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1797/ai Modified Files: ai.cpp ai_animals.cpp ai_humans.cpp ai_monsters.cpp Log Message: compile fixes Index: ai.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/ai/ai.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ai.cpp 22 Jan 2004 04:48:12 -0000 1.1 --- ai.cpp 24 Jan 2004 22:35:28 -0000 1.2 *************** *** 29,46 **** //================================================================================== ! #include "python/utilities.h" #include "ai.h" ! #include "npc.h" ! #include "sectors.h" ! #include "player.h" ! #include "srvparams.h" ! #include "globals.h" ! #include "basics.h" ! #include "walking.h" ! #include "itemid.h" ! #include "items.h" ! #include "console.h" ! #include "world.h" // library includes --- 29,46 ---- //================================================================================== ! #include "../python/utilities.h" #include "ai.h" ! #include "../npc.h" ! #include "../sectors.h" ! #include "../player.h" ! #include "../srvparams.h" ! #include "../globals.h" ! #include "../basics.h" ! #include "../walking.h" ! #include "../itemid.h" ! #include "../items.h" ! #include "../console.h" ! #include "../world.h" // library includes Index: ai_animals.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/ai/ai_animals.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ai_animals.cpp 22 Jan 2004 04:48:12 -0000 1.1 --- ai_animals.cpp 24 Jan 2004 22:35:28 -0000 1.2 *************** *** 30,41 **** #include "ai.h" ! #include "npc.h" ! #include "player.h" ! #include "srvparams.h" ! #include "globals.h" ! #include "sectors.h" ! #include "basics.h" ! #include "targetrequests.h" ! #include "chars.h" // library includes --- 30,41 ---- #include "ai.h" ! #include "../npc.h" ! #include "../player.h" ! #include "../srvparams.h" ! #include "../globals.h" ! #include "../sectors.h" ! #include "../basics.h" ! #include "../targetrequests.h" ! #include "../chars.h" // library includes Index: ai_humans.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/ai/ai_humans.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ai_humans.cpp 22 Jan 2004 04:48:12 -0000 1.1 --- ai_humans.cpp 24 Jan 2004 22:35:28 -0000 1.2 *************** *** 30,44 **** #include "ai.h" ! #include "npc.h" ! #include "player.h" ! #include "network/uosocket.h" ! #include "speech.h" ! #include "targetrequests.h" ! #include "TmpEff.h" ! #include "srvparams.h" ! #include "globals.h" ! #include "sectors.h" ! #include "world.h" ! #include "basics.h" // library includes --- 30,44 ---- #include "ai.h" ! #include "../npc.h" ! #include "../player.h" ! #include "../network/uosocket.h" ! #include "../speech.h" ! #include "../targetrequests.h" ! #include "../TmpEff.h" ! #include "../srvparams.h" ! #include "../globals.h" ! #include "../sectors.h" ! #include "../world.h" ! #include "../basics.h" // library includes Index: ai_monsters.cpp =================================================================== RCS file: /cvsroot/wpdev/wolfpack/ai/ai_monsters.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ai_monsters.cpp 22 Jan 2004 04:48:12 -0000 1.1 --- ai_monsters.cpp 24 Jan 2004 22:35:28 -0000 1.2 *************** *** 30,42 **** #include "ai.h" ! #include "npc.h" ! #include "factory.h" ! #include "sectors.h" ! #include "player.h" ! #include "srvparams.h" ! #include "globals.h" ! #include "basics.h" ! #include "itemid.h" ! #include "items.h" // library includes --- 30,42 ---- #include "ai.h" ! #include "../npc.h" ! #include "../factory.h" ! #include "../sectors.h" ! #include "../player.h" ! #include "../srvparams.h" ! #include "../globals.h" ! #include "../basics.h" ! #include "../itemid.h" ! #include "../items.h" // library includes |
|
From: <dr...@pr...> - 2004-01-27 14:32:07
|
Update of /cvsroot/wpdev/xmlscripts/definitions/items/armory/colored/shields In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24376/shields Added Files: mythril.xml silver.xml Log Message: Armor for silver/merkite/mythril. --- NEW FILE: mythril.xml --- <!-- ================================================================= | ) (\_ | WOLFPACK 13.0.0 Scripts | | (( _/{ "-; | Created by: Kosh | | )).-' {{ ;'` | Revised by: Viper, Dreoth | | ( ( ;._ \\ ctr | Last Modification: Split, both IDs | ================================================================= --> <definitions> <!-- shields --> <!-- buckler --> <item id="mythril_shields_buckler"> <inherit id="1b73" /> <mythril_armor /> <category>Armor\Mythril\Shields\Buckler</category> </item> <!-- bronze shield --> <item id="mythril_shields_bronze_shield"> <inherit id="1b72" /> <mythril_armor /> <category>Armor\Mythril\Shields\Bronze</category> </item> <!-- heater --> <item id="mythril_shields_heater_shield"> <inherit id="1b76" /> <mythril_armor /> <category>Armor\Mythril\Shields\Heater (N/S)</category> </item> <item id="mythril_shields_heater_shield_2"> <inherit id="1b77" /> <mythril_armor /> <category>Armor\Mythril\Shields\Heater (E/W)</category> </item> <!-- metal shield --> <item id="mythril_shields_metal_shield"> <inherit id="1b7b" /> <mythril_armor /> <category>Armor\Mythril\Shields\Metal Shield</category> </item> <!-- metal kite shield --> <item id="mythril_shields_metal_kite_shield"> <inherit id="1b74" /> <mythril_armor /> <category>Armor\Mythril\Shields\Metal Kite (N/S)</category> </item> <item id="mythril_shields_metal_kite_shield_2"> <inherit id="1b75" /> <mythril_armor /> <category>Armor\Mythril\Shields\Metal Kite (E/W)</category> </item> <!-- wooden kite shield --> <item id="mythril_shields_wooden_kite_shield"> <inherit id="1b78" /> <mythril_armor /> <category>Armor\Mythril\Shields\Wooden Kite (N/S)</category> </item> <item id="mythril_shields_wooden_kite_shield_2"> <inherit id="1b79" /> <mythril_armor /> <category>Armor\Mythril\Shields\Wooden Kite (E/W)</category> </item> <!-- chaos shield --> <item id="mythril_shields_chaos_shield"> <inherit id="1bc3" /> <mythril_armor /> <category>Armor\Mythril\Shields\Chaos Shield</category> </item> <!-- order shield --> <item id="mythril_shields_order_shield"> <inherit id="1bc4" /> <mythril_armor /> <category>Armor\Mythril\Shields\Order Shield (N/S)</category> </item> <item id="mythril_shields_order_shield_2"> <inherit id="1bc5" /> <mythril_armor /> <category>Armor\Mythril\Shields\Order Shield (E/W)</category> </item> </definitions> --- NEW FILE: silver.xml --- <!-- ================================================================= | ) (\_ | WOLFPACK 13.0.0 Scripts | | (( _/{ "-; | Created by: Kosh | | )).-' {{ ;'` | Revised by: Viper, Dreoth | | ( ( ;._ \\ ctr | Last Modification: Split, both IDs | ================================================================= --> <definitions> <!-- shields --> <!-- buckler --> <item id="silver_shields_buckler"> <inherit id="1b73" /> <silver_armor /> <category>Armor\Silver\Shields\Buckler</category> </item> <!-- bronze shield --> <item id="silver_shields_bronze_shield"> <inherit id="1b72" /> <silver_armor /> <category>Armor\Silver\Shields\Bronze</category> </item> <!-- heater --> <item id="silver_shields_heater_shield"> <inherit id="1b76" /> <silver_armor /> <category>Armor\Silver\Shields\Heater (N/S)</category> </item> <item id="silver_shields_heater_shield_2"> <inherit id="1b77" /> <silver_armor /> <category>Armor\Silver\Shields\Heater (E/W)</category> </item> <!-- metal shield --> <item id="silver_shields_metal_shield"> <inherit id="1b7b" /> <silver_armor /> <category>Armor\Silver\Shields\Metal Shield</category> </item> <!-- metal kite shield --> <item id="silver_shields_metal_kite_shield"> <inherit id="1b74" /> <silver_armor /> <category>Armor\Silver\Shields\Metal Kite (N/S)</category> </item> <item id="silver_shields_metal_kite_shield_2"> <inherit id="1b75" /> <silver_armor /> <category>Armor\Silver\Shields\Metal Kite (E/W)</category> </item> <!-- wooden kite shield --> <item id="silver_shields_wooden_kite_shield"> <inherit id="1b78" /> <silver_armor /> <category>Armor\Silver\Shields\Wooden Kite (N/S)</category> </item> <item id="silver_shields_wooden_kite_shield_2"> <inherit id="1b79" /> <silver_armor /> <category>Armor\Silver\Shields\Wooden Kite (E/W)</category> </item> <!-- chaos shield --> <item id="silver_shields_chaos_shield"> <inherit id="1bc3" /> <silver_armor /> <category>Armor\Silver\Shields\Chaos Shield</category> </item> <!-- order shield --> <item id="silver_shields_order_shield"> <inherit id="1bc4" /> <silver_armor /> <category>Armor\Silver\Shields\Order Shield (N/S)</category> </item> <item id="silver_shields_order_shield_2"> <inherit id="1bc5" /> <silver_armor /> <category>Armor\Silver\Shields\Order Shield (E/W)</category> </item> </definitions> |