Add guild access grade bits to inventory summary

ryzomclassic-develop
kaetemi 4 years ago
parent 24ceb5df04
commit d512d10f18

@ -216,7 +216,8 @@
<leaf name="ENCHANT" type="I10" /> <leaf name="ENCHANT" type="I10" />
<leaf name="RM_CLASS_TYPE" type="I3" /> <leaf name="RM_CLASS_TYPE" type="I3" />
<leaf name="RM_FABER_STAT_TYPE" type="I5" /> <leaf name="RM_FABER_STAT_TYPE" type="I5" />
<leaf name="PREREQUISIT_VALID" type="I11" /> <leaf name="PREREQUISIT_VALID" type="I1" />
<leaf name="PRICE" type="I32" />
<leaf name="RESALE_FLAG" type="I2" /> <leaf name="RESALE_FLAG" type="I2" />
<leaf name="WORNED" type="I1" /> <leaf name="WORNED" type="I1" />
<leaf name="INFO_VERSION" type="I8" /> <leaf name="INFO_VERSION" type="I8" />
@ -241,13 +242,14 @@
<leaf name="QUANTITY" type="I10" /> <leaf name="QUANTITY" type="I10" />
<leaf name="USER_COLOR" type="I3" /> <leaf name="USER_COLOR" type="I3" />
<!-- <leaf name="LOCKED" type="I10" /> --> <!-- <leaf name="LOCKED" type="I10" /> -->
<!-- <leaf name="ACCESS" type="I2" /> --> <!-- <leaf name="ACCESS" type="I2" /> --> <!-- TGuildGrade access grade -->
<leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE --> <leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE -->
<leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item --> <leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item -->
<leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 --> <leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 -->
<leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum --> <leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum -->
<leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum --> <leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum -->
<leaf name="PREREQUISIT_VALID" type="I1" /> <leaf name="PREREQUISIT_VALID" type="I1" />
<!-- <leaf name="PRICE" type="I32" /> -->
<!-- <leaf name="RESALE_FLAG" type="I2" /> --> <!-- TBotChatResaleFlag --> <!-- <leaf name="RESALE_FLAG" type="I2" /> --> <!-- TBotChatResaleFlag -->
<leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) --> <leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) -->
<leaf name="INFO_VERSION" type="I8" /> <leaf name="INFO_VERSION" type="I8" />
@ -261,13 +263,14 @@
<leaf name="QUANTITY" type="I10" /> <leaf name="QUANTITY" type="I10" />
<leaf name="USER_COLOR" type="I3" /> <leaf name="USER_COLOR" type="I3" />
<!-- <leaf name="LOCKED" type="I10" /> --> <!-- <leaf name="LOCKED" type="I10" /> -->
<!-- <leaf name="ACCESS" type="I2" /> --> <!-- <leaf name="ACCESS" type="I2" /> --> <!-- TGuildGrade access grade -->
<leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE --> <leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE -->
<leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item --> <leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item -->
<leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 --> <leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 -->
<leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum --> <leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum -->
<leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum --> <leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum -->
<leaf name="PREREQUISIT_VALID" type="I1" /> <leaf name="PREREQUISIT_VALID" type="I1" />
<!-- <leaf name="PRICE" type="I32" /> -->
<!-- <leaf name="RESALE_FLAG" type="I2" /> --> <!-- TBotChatResaleFlag --> <!-- <leaf name="RESALE_FLAG" type="I2" /> --> <!-- TBotChatResaleFlag -->
<leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) --> <leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) -->
<leaf name="INFO_VERSION" type="I8" /> <leaf name="INFO_VERSION" type="I8" />
@ -293,13 +296,14 @@
<leaf name="QUANTITY" type="I10" /> <leaf name="QUANTITY" type="I10" />
<leaf name="USER_COLOR" type="I3" /> <leaf name="USER_COLOR" type="I3" />
<leaf name="LOCKED" type="I10" /> <leaf name="LOCKED" type="I10" />
<leaf name="ACCESS" type="I2" /> <leaf name="ACCESS" type="I2" /> <!-- TGuildGrade access grade -->
<leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE --> <leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE -->
<leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item --> <leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item -->
<leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 --> <leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 -->
<leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum --> <leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum -->
<leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum --> <leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum -->
<leaf name="PREREQUISIT_VALID" type="I1" /> <leaf name="PREREQUISIT_VALID" type="I1" />
<leaf name="PRICE" type="I32" />
<leaf name="RESALE_FLAG" type="I2" /> <!-- TBotChatResaleFlag --> <leaf name="RESALE_FLAG" type="I2" /> <!-- TBotChatResaleFlag -->
<leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) --> <leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) -->
<leaf name="INFO_VERSION" type="I8" /> <leaf name="INFO_VERSION" type="I8" />
@ -314,13 +318,14 @@
<leaf name="QUANTITY" type="I10" /> <leaf name="QUANTITY" type="I10" />
<leaf name="USER_COLOR" type="I3" /> <leaf name="USER_COLOR" type="I3" />
<leaf name="LOCKED" type="I10" /> <leaf name="LOCKED" type="I10" />
<leaf name="ACCESS" type="I2" /> <leaf name="ACCESS" type="I2" /> <!-- TGuildGrade access grade -->
<leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE --> <leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE -->
<leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item --> <leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item -->
<leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 --> <leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 -->
<leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum --> <leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum -->
<leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum --> <leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum -->
<leaf name="PREREQUISIT_VALID" type="I1" /> <leaf name="PREREQUISIT_VALID" type="I1" />
<leaf name="PRICE" type="I32" />
<leaf name="RESALE_FLAG" type="I2" /> <!-- TBotChatResaleFlag --> <leaf name="RESALE_FLAG" type="I2" /> <!-- TBotChatResaleFlag -->
<leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) --> <leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) -->
<leaf name="INFO_VERSION" type="I8" /> <leaf name="INFO_VERSION" type="I8" />
@ -345,13 +350,14 @@
<leaf name="QUANTITY" type="I10" /> <leaf name="QUANTITY" type="I10" />
<leaf name="USER_COLOR" type="I3" /> <leaf name="USER_COLOR" type="I3" />
<!-- <leaf name="LOCKED" type="I10" /> --> <!-- <leaf name="LOCKED" type="I10" /> -->
<!-- <leaf name="ACCESS" type="I2" /> --> <!-- <leaf name="ACCESS" type="I2" /> --> <!-- TGuildGrade access grade -->
<leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE --> <leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE -->
<leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item --> <leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item -->
<leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 --> <leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 -->
<leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum --> <leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum -->
<leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum --> <leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum -->
<leaf name="PREREQUISIT_VALID" type="I1" /> <leaf name="PREREQUISIT_VALID" type="I1" />
<!-- <leaf name="PRICE" type="I32" /> -->
<!-- <leaf name="RESALE_FLAG" type="I2" /> --> <!-- TBotChatResaleFlag --> <!-- <leaf name="RESALE_FLAG" type="I2" /> --> <!-- TBotChatResaleFlag -->
<leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) --> <leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) -->
<leaf name="INFO_VERSION" type="I8" /> <leaf name="INFO_VERSION" type="I8" />
@ -371,13 +377,14 @@
<leaf name="QUANTITY" type="I10" /> <leaf name="QUANTITY" type="I10" />
<leaf name="USER_COLOR" type="I3" /> <leaf name="USER_COLOR" type="I3" />
<!-- <leaf name="LOCKED" type="I10" /> --> <!-- <leaf name="LOCKED" type="I10" /> -->
<!-- <leaf name="ACCESS" type="I2" /> --> <!-- <leaf name="ACCESS" type="I2" /> --> <!-- TGuildGrade access grade -->
<leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE --> <leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE -->
<leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item --> <leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item -->
<leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 --> <leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 -->
<leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum --> <leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum -->
<leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum --> <leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum -->
<leaf name="PREREQUISIT_VALID" type="I1" /> <leaf name="PREREQUISIT_VALID" type="I1" />
<!-- <leaf name="PRICE" type="I32" /> -->
<!-- <leaf name="RESALE_FLAG" type="I2" /> --> <!-- TBotChatResaleFlag --> <!-- <leaf name="RESALE_FLAG" type="I2" /> --> <!-- TBotChatResaleFlag -->
<!-- <leaf name="WORNED" type="I1" /> --> <!-- true if item is worned (show a red cross) --> <!-- <leaf name="WORNED" type="I1" /> --> <!-- true if item is worned (show a red cross) -->
<leaf name="INFO_VERSION" type="I8" /> <leaf name="INFO_VERSION" type="I8" />
@ -407,14 +414,15 @@
<leaf name="QUANTITY" type="I10" /> <leaf name="QUANTITY" type="I10" />
<leaf name="USER_COLOR" type="I3" /> <leaf name="USER_COLOR" type="I3" />
<leaf name="LOCKED" type="I10" /> <leaf name="LOCKED" type="I10" />
<leaf name="ACCESS" type="I2" /> <leaf name="ACCESS" type="I2" /> <!-- TGuildGrade access grade -->
<leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE --> <leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE -->
<leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item --> <leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item -->
<leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 --> <leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 -->
<leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum --> <leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum -->
<leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum --> <leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum -->
<leaf name="PREREQUISIT_VALID" type="I1" /> <leaf name="PREREQUISIT_VALID" type="I1" />
<leaf name="RESALE_FLAG" type="I2" /> <!-- TBotChatResaleFlag --> <!-- <leaf name="PRICE" type="I32" /> -->
<!-- <leaf name="RESALE_FLAG" type="I2" /> --> <!-- TBotChatResaleFlag -->
<leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) --> <leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) -->
<leaf name="INFO_VERSION" type="I8" /> <leaf name="INFO_VERSION" type="I8" />
</branch> </branch>
@ -538,13 +546,14 @@
<leaf name="QUANTITY" type="I10" /> <leaf name="QUANTITY" type="I10" />
<leaf name="USER_COLOR" type="I3" /> <leaf name="USER_COLOR" type="I3" />
<!-- <leaf name="LOCKED" type="I10" /> --> <!-- <leaf name="LOCKED" type="I10" /> -->
<!-- <leaf name="ACCESS" type="I2" /> --> <!-- <leaf name="ACCESS" type="I2" /> --> <!-- TGuildGrade access grade -->
<leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE --> <leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE -->
<leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item --> <leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item -->
<leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 --> <leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 -->
<leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum --> <leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum -->
<leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum --> <leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum -->
<leaf name="PREREQUISIT_VALID" type="I1" /> <leaf name="PREREQUISIT_VALID" type="I1" />
<!-- <leaf name="PRICE" type="I32" /> -->
<!-- <leaf name="RESALE_FLAG" type="I2" /> --> <!-- TBotChatResaleFlag --> <!-- <leaf name="RESALE_FLAG" type="I2" /> --> <!-- TBotChatResaleFlag -->
<!-- <leaf name="WORNED" type="I1" /> --> <!-- true if item is worned (show a red cross) --> <!-- <leaf name="WORNED" type="I1" /> --> <!-- true if item is worned (show a red cross) -->
<leaf name="INFO_VERSION" type="I8" /> <leaf name="INFO_VERSION" type="I8" />
@ -713,14 +722,15 @@
<leaf name="QUANTITY" type="I10" /> <leaf name="QUANTITY" type="I10" />
<leaf name="USER_COLOR" type="I3" /> <leaf name="USER_COLOR" type="I3" />
<leaf name="LOCKED" type="I10" /> <leaf name="LOCKED" type="I10" />
<leaf name="ACCESS" type="I2" /> <leaf name="ACCESS" type="I2" /> <!-- TGuildGrade access grade -->
<leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE --> <leaf name="WEIGHT" type="I16" /> <!-- weight. see DB_WEIGHT_SCALE -->
<leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item --> <leaf name="NAMEID" type="I32" /> <!-- 0 or special name of item -->
<leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 --> <leaf name="ENCHANT" type="I10" /> <!-- 0=not enchanted, 1=enchanted nbcharge 0, 10=e. nbcharge 9 -->
<leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum --> <leaf name="RM_CLASS_TYPE" type="I3" /> <!-- RM_CLASS_TYPE enum -->
<leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum --> <leaf name="RM_FABER_STAT_TYPE" type="I6" /> <!-- RM_FABER_STAT_TYPE enum -->
<leaf name="PREREQUISIT_VALID" type="I1" /> <leaf name="PREREQUISIT_VALID" type="I1" />
<leaf name="RESALE_FLAG" type="I2" /> <!-- TBotChatResaleFlag --> <!-- <leaf name="PRICE" type="I32" /> -->
<!-- <leaf name="RESALE_FLAG" type="I2" /> --> <!-- TBotChatResaleFlag -->
<leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) --> <leaf name="WORNED" type="I1" /> <!-- true if item is worned (show a red cross) -->
<leaf name="INFO_VERSION" type="I8" /> <leaf name="INFO_VERSION" type="I8" />
</branch> </branch>

@ -166,6 +166,9 @@
<leaf name="CLOSE_ROOM_INVENTORY" sendto="" description="EGS wants to close the user inventory" /> <leaf name="CLOSE_ROOM_INVENTORY" sendto="" description="EGS wants to close the user inventory" />
<leaf name="USE_ITEM" sendto="EGS" format="u16" description="client wants to use teleport in the specified bag slot or consume an item to trigger its effect" /> <leaf name="USE_ITEM" sendto="EGS" format="u16" description="client wants to use teleport in the specified bag slot or consume an item to trigger its effect" />
<leaf name="STOP_USE_XP_CAT" sendto="EGS" format="b" description="client wants to stop using xp catalyser" /> <leaf name="STOP_USE_XP_CAT" sendto="EGS" format="b" description="client wants to stop using xp catalyser" />
<leaf name="LOCK" sendto="EGS" format="u16 u16 b" description="lock or unlock an item. inventory, slot, lock" />
<leav name="RENAME" sendot="EGS" format="u16 u16 b s" description="change an item name to a phrase or literal. inventory, slot, literal, name" />
<leav name="WRITE" sendot="EGS" format="u16 u16 s" description="wrrite a crafter's message. inventory, slot, lock" />
</branch> </branch>
<branch name="TP"> <branch name="TP">
<leaf name="RESPAWN" sendto="EGS" format="" description="teleport the player to his respawn point" /> <leaf name="RESPAWN" sendto="EGS" format="" description="teleport the player to his respawn point" />

@ -82,7 +82,7 @@ namespace BOTCHATTYPE
ResaleKOBroken, ResaleKOBroken,
// this item can't be sold because its Resold time has expired // this item can't be sold because its Resold time has expired
ResaleKONoTimeLeft, ResaleKONoTimeLeft,
// this item can't be sold because the owner has locked it (temporary hack to get around modifying database.xml) // this item can't be sold because the owner has locked it
ResaleKOLockedByOwner, ResaleKOLockedByOwner,
NumBotChatResaleFlag NumBotChatResaleFlag

@ -26,6 +26,9 @@
namespace CHARACTERISTICS namespace CHARACTERISTICS
{ {
enum TCharacteristics enum TCharacteristics
#ifdef NL_CPP14
: uint8
#endif
{ {
constitution = 0, //HP max constitution = 0, //HP max
metabolism, //Hp Regen metabolism, //Hp Regen

@ -122,7 +122,6 @@ namespace INVENTORIES
const char *InfoVersionStr = "INFO_VERSION"; const char *InfoVersionStr = "INFO_VERSION";
const char *CItemSlot::ItemPropStr [NbItemPropId] = const char *CItemSlot::ItemPropStr [NbItemPropId] =
{ "SHEET", "QUALITY", "QUANTITY", "USER_COLOR", "CREATE_TIME", "SERIAL", "LOCKED", "WEIGHT", "NAMEID", "ENCHANT", "RM_CLASS_TYPE", "RM_FABER_STAT_TYPE", "PRICE", "RESALE_FLAG", "PREREQUISIT_VALID", "WORNED" }; { "SHEET", "QUALITY", "QUANTITY", "USER_COLOR", "LOCKED", "ACCESS", "WEIGHT", "NAMEID", "ENCHANT", "RM_CLASS_TYPE", "RM_FABER_STAT_TYPE", "PREREQUISIT_VALID", "PRICE", "RESALE_FLAG", "WORNED" };
const uint CItemSlot::DataBitSize [NbItemPropId] = const uint CItemSlot::DataBitSize [NbItemPropId] =
{ 32, 10, 10, 3, 32, 32, 10, 16, 32, 10, 3, 5, 32, 2, 1, 1 }; { 32, 10, 10, 3, 10, 2, 16, 32, 10, 3, 5, 1, 32, 2, 1, };
}

@ -266,17 +266,16 @@ namespace INVENTORIES
Quality, Quality,
Quantity, Quantity,
UserColor, UserColor,
CreateTime,
Serial,
Locked, Locked,
Access,
Weight, Weight,
NameId, NameId,
Enchant, Enchant,
ItemClass, ItemClass,
ItemBestStat, ItemBestStat,
PrerequisitValid,
Price, Price,
ResaleFlag, ResaleFlag,
PrerequisitValid,
Worned, Worned,
NbItemPropId NbItemPropId
}; };

@ -25,6 +25,9 @@ namespace ITEMFAMILY
{ {
// Mode // Mode
enum EItemFamily enum EItemFamily
#ifdef NL_CPP14
: uint8
#endif
{ {
UNDEFINED = 0, UNDEFINED = 0,
SERVICE, SERVICE,

@ -73,7 +73,7 @@ CItemInfos::CItemInfos()
LacustreMagicResistance = 0; LacustreMagicResistance = 0;
JungleMagicResistance = 0; JungleMagicResistance = 0;
PrimaryRootMagicResistance = 0; PrimaryRootMagicResistance = 0;
PetNumber = 0; // 1 based!
} }
void CItemInfos::serial(NLMISC::IStream & s) void CItemInfos::serial(NLMISC::IStream & s)
@ -128,9 +128,9 @@ void CItemInfos::serial(NLMISC::IStream & s)
s.serial(CastingSpeedFactor[i]); s.serial(CastingSpeedFactor[i]);
s.serial(MagicPowerFactor[i]); s.serial(MagicPowerFactor[i]);
} }
s.serial( CustomText ); s.serial( CustomText );
s.serial( R2ItemDescription ); s.serial( R2ItemDescription );
s.serial( R2ItemComment ); s.serial( R2ItemComment );
s.serial( PetNumber );
} }

@ -27,7 +27,7 @@
#include "characteristics.h" #include "characteristics.h"
#include "sphrase_com.h" #include "sphrase_com.h"
#include "type_skill_mod.h" #include "type_skill_mod.h"
#include "guild_grade.h"
///\structure defining the protection of an item ///\structure defining the protection of an item
struct SProtection struct SProtection
@ -136,10 +136,10 @@ public:
CSPhraseCom Enchantment; CSPhraseCom Enchantment;
float WearEquipmentMalus; // Malus for wearing this equipment (malus is used when execute an magic, forage action, craft action...), malus is only applicable for weapon and armor pieces float WearEquipmentMalus; // Malus for wearing this equipment (malus is used when execute an magic, forage action, craft action...), malus is only applicable for weapon and armor pieces
ucstring CustomText; // TODO: UTF-8 (serial) std::string CustomText;
ucstring R2ItemDescription; // TODO: UTF-8 (serial) std::string R2ItemDescription;
ucstring R2ItemComment; // TODO: UTF-8 (serial) std::string R2ItemComment;
uint8 PetNumber; // 1 based pet index
//@} //@}
}; };

@ -26,6 +26,9 @@
namespace ITEM_ORIGIN namespace ITEM_ORIGIN
{ {
enum EItemOrigin enum EItemOrigin
#ifdef NL_CPP14
: uint8
#endif
{ {
COMMON = 0, COMMON = 0,
FYROS, FYROS,

@ -26,6 +26,9 @@ namespace ITEM_TYPE
// Mode // Mode
// nb : sell filter uses two 64b database values to build a bitfield, so the item type limit is 128 for now // nb : sell filter uses two 64b database values to build a bitfield, so the item type limit is 128 for now
enum TItemType enum TItemType
#ifdef NL_CPP14
: uint8
#endif
{ {
DAGGER, DAGGER,
SWORD, SWORD,

@ -27,6 +27,9 @@
namespace SKILLS namespace SKILLS
{ {
enum ESkills enum ESkills
#ifdef NL_CPP14
: uint8
#endif
{ {
SC = 0, SC = 0,
SCA, SCA,

@ -1155,6 +1155,15 @@ void CGameItem::setLockedByOwner(bool value)
} }
} }
void CGameItem::setAccessGrade(EGSPD::CGuildGrade::TGuildGrade value)
{
if (value != _AccessGrade)
{
_AccessGrade = value;
callItemChanged(INVENTORIES::TItemChangeFlags(INVENTORIES::itc_lock_state));
}
}
//----------------------------------------------- //-----------------------------------------------
// getCopy : // getCopy :
//----------------------------------------------- //-----------------------------------------------

@ -34,6 +34,7 @@
#include "game_share/type_skill_mod.h" #include "game_share/type_skill_mod.h"
#include "game_share/resistance_type.h" #include "game_share/resistance_type.h"
#include "game_share/skills.h" #include "game_share/skills.h"
#include "game_share/guild_grade.h"
#include "egs_log_filter.h" #include "egs_log_filter.h"
#include "player_inventory.h" #include "player_inventory.h"
@ -442,7 +443,7 @@ public :
// get maximum piercing protection // get maximum piercing protection
uint32 maxPiercingProtection() const; uint32 maxPiercingProtection() const;
// get color // get color
uint8 color() const { return _CraftParameters == 0 ? 1 : _CraftParameters->Color; } uint8 color() const { return _CraftParameters == 0 ? DefaultColor : _CraftParameters->Color; }
// get one of the three possible protection, legal protection number are 1,2 or 3 // get one of the three possible protection, legal protection number are 1,2 or 3
void magicProtection(uint32 protectionNumber, PROTECTION_TYPE::TProtectionType& protectionType, uint32& protectionValue) const; void magicProtection(uint32 protectionNumber, PROTECTION_TYPE::TProtectionType& protectionType, uint32& protectionValue) const;
@ -659,6 +660,8 @@ public :
inline bool getLockedByOwner() const { return _LockedByOwner; } inline bool getLockedByOwner() const { return _LockedByOwner; }
void setLockedByOwner(bool value); void setLockedByOwner(bool value);
inline EGSPD::CGuildGrade::TGuildGrade getAccessGrade() const { return _AccessGrade; }
void setAccessGrade(EGSPD::CGuildGrade::TGuildGrade value);
inline bool getMovable() const { return _Movable; } inline bool getMovable() const { return _Movable; }
inline void setMovable(bool value) { _Movable = value; } inline void setMovable(bool value) { _Movable = value; }
@ -699,7 +702,7 @@ public :
protected: protected:
friend class CFaberPhrase; friend class CFaberPhrase;
// set Default Color (for craft only) // set Default Color (for craft only)
void setDefaultColor() { if( _CraftParameters ) _CraftParameters->Color = 1; } void setDefaultColor() { if( _CraftParameters ) _CraftParameters->Color = DefaultColor; }
/// set link information between item and container inventory (used by CInventoryBase) /// set link information between item and container inventory (used by CInventoryBase)
void setInventory(const CInventoryPtr &inv, uint32 slot); void setInventory(const CInventoryPtr &inv, uint32 slot);
@ -866,13 +869,15 @@ private:
uint32 _LockCount; uint32 _LockCount;
// required skill // required skill
SKILLS::ESkills _RequiredSkill;
SKILLS::ESkills _RequiredSkill2;
CHARACTERISTICS::TCharacteristics _RequiredCharac;
uint16 _RequiredSkillLevel; uint16 _RequiredSkillLevel;
uint16 _RequiredSkillLevel2; uint16 _RequiredSkillLevel2;
/// min required stat level and required stat /// min required stat level and required stat
uint16 _RequiredCharacLevel; uint16 _RequiredCharacLevel;
// required skill
SKILLS::ESkills _RequiredSkill;
SKILLS::ESkills _RequiredSkill2;
/// min required stat level and required stat
CHARACTERISTICS::TCharacteristics _RequiredCharac;
/// whether the item has any skill requirements /// whether the item has any skill requirements
bool _HasPrerequisit; bool _HasPrerequisit;
bool _UseNewSystemRequirement; bool _UseNewSystemRequirement;
@ -881,6 +886,8 @@ private:
bool _PhraseLiteral; bool _PhraseLiteral;
bool _LockedByOwner; bool _LockedByOwner;
EGSPD::CGuildGrade::TGuildGrade _AccessGrade;
bool _UnMovable; bool _UnMovable;
bool _Movable; bool _Movable;
uint8 _PetIndex; uint8 _PetIndex;
@ -892,6 +899,10 @@ private:
// true if the item is on the ground // true if the item is on the ground
// bool _IsOnTheGround; // bool _IsOnTheGround;
public:
static const EGSPD::CGuildGrade::TGuildGrade DefaultAccessGrade = EGSPD::CGuildGrade::HighOfficer;
static const uint8 DefaultColor = 1;
}; };
/** /**

@ -138,14 +138,15 @@ void CGuildInventoryView::updateClientSlot(uint32 slot)
itemSlot.setItemProp( INVENTORIES::Quantity, item->getStackSize() ); itemSlot.setItemProp( INVENTORIES::Quantity, item->getStackSize() );
itemSlot.setItemProp( INVENTORIES::UserColor, item->color() ); itemSlot.setItemProp( INVENTORIES::UserColor, item->color() );
itemSlot.setItemProp( INVENTORIES::Locked, 0 ); itemSlot.setItemProp( INVENTORIES::Locked, 0 );
itemSlot.setItemProp( INVENTORIES::Access, item->getAccessGrade() );
itemSlot.setItemProp( INVENTORIES::Weight, item->weight() / 10 ); itemSlot.setItemProp( INVENTORIES::Weight, item->weight() / 10 );
itemSlot.setItemProp( INVENTORIES::NameId, 0 ); // TODO: name of guild (item->sendNameId()) itemSlot.setItemProp( INVENTORIES::NameId, 0 ); // TODO: name of guild (item->sendNameId())
itemSlot.setItemProp( INVENTORIES::Enchant, item->getClientEnchantValue() ); itemSlot.setItemProp( INVENTORIES::Enchant, item->getClientEnchantValue() );
itemSlot.setItemProp( INVENTORIES::Price, 0 );
itemSlot.setItemProp( INVENTORIES::ResaleFlag, 0 );
itemSlot.setItemProp( INVENTORIES::ItemClass, item->getItemClass() ); itemSlot.setItemProp( INVENTORIES::ItemClass, item->getItemClass() );
itemSlot.setItemProp( INVENTORIES::ItemBestStat, item->getCraftParameters() == 0 ? RM_FABER_STAT_TYPE::Unknown : item->getCraftParameters()->getBestItemStat() ); itemSlot.setItemProp( INVENTORIES::ItemBestStat, item->getCraftParameters() == 0 ? RM_FABER_STAT_TYPE::Unknown : item->getCraftParameters()->getBestItemStat() );
itemSlot.setItemProp( INVENTORIES::PrerequisitValid, 1 ); itemSlot.setItemProp( INVENTORIES::PrerequisitValid, 1 ); // TODO: per user prereq
itemSlot.setItemProp( INVENTORIES::Price, 0 );
itemSlot.setItemProp( INVENTORIES::ResaleFlag, 0 );
_GuildInvUpdater.setItemProps( INVENTORIES::CInventoryCategoryForGuild::GuildInvId, itemSlot ); _GuildInvUpdater.setItemProps( INVENTORIES::CInventoryCategoryForGuild::GuildInvId, itemSlot );
} }

@ -1071,6 +1071,14 @@ void CCharacterInvView::updateClientSlot(uint32 slot, const CGameItemPtr item)
{ {
resaleFlag = BOTCHATTYPE::ResaleKOLockedByOwner; resaleFlag = BOTCHATTYPE::ResaleKOLockedByOwner;
} }
else if (item->durability() == item->maxDurability())
{
resaleFlag = BOTCHATTYPE::ResaleOk;
}
else
{
resaleFlag = BOTCHATTYPE::ResaleKOBroken;
}
const INVENTORIES::TItemId &itemId = item->getItemId(); const INVENTORIES::TItemId &itemId = item->getItemId();
@ -1079,9 +1087,8 @@ void CCharacterInvView::updateClientSlot(uint32 slot, const CGameItemPtr item)
itemSlot.setItemProp( INVENTORIES::Quality, item->quality() ); itemSlot.setItemProp( INVENTORIES::Quality, item->quality() );
itemSlot.setItemProp( INVENTORIES::Quantity, item->getStackSize() ); itemSlot.setItemProp( INVENTORIES::Quantity, item->getStackSize() );
itemSlot.setItemProp( INVENTORIES::UserColor, item->color() ); itemSlot.setItemProp( INVENTORIES::UserColor, item->color() );
itemSlot.setItemProp( INVENTORIES::CreateTime, itemId.getCreateTime() );
itemSlot.setItemProp( INVENTORIES::Serial, itemId.getSerialNumber() );
itemSlot.setItemProp( INVENTORIES::Locked, item->getLockCount() ); itemSlot.setItemProp( INVENTORIES::Locked, item->getLockCount() );
itemSlot.setItemProp( INVENTORIES::Access, item->getAccessGrade() );
itemSlot.setItemProp( INVENTORIES::Weight, item->weight() / 10 ); itemSlot.setItemProp( INVENTORIES::Weight, item->weight() / 10 );
itemSlot.setItemProp( INVENTORIES::NameId, item->sendNameId(getCharacter()) ); itemSlot.setItemProp( INVENTORIES::NameId, item->sendNameId(getCharacter()) );
itemSlot.setItemProp( INVENTORIES::Enchant, item->getClientEnchantValue() ); itemSlot.setItemProp( INVENTORIES::Enchant, item->getClientEnchantValue() );

@ -2385,8 +2385,8 @@ void CCharacter::sendItemInfos( uint16 slotId )
const R2::TMissionItem * itemDesc = CR2MissionItem::getInstance().getR2ItemDefinition( currentSessionId(), item->getSheetId() ); const R2::TMissionItem * itemDesc = CR2MissionItem::getInstance().getR2ItemDefinition( currentSessionId(), item->getSheetId() );
if( itemDesc != 0 ) if( itemDesc != 0 )
{ {
infos.R2ItemDescription = itemDesc->Description; infos.R2ItemDescription = itemDesc->Description.toUtf8();
infos.R2ItemComment = itemDesc->Comment; infos.R2ItemComment = itemDesc->Comment.toUtf8();
} }
} }
} }
@ -2442,6 +2442,8 @@ void CCharacter::sendItemInfos( uint16 slotId )
infos.TypeSkillMods = item->getTypeSkillMods(); infos.TypeSkillMods = item->getTypeSkillMods();
infos.AccessGrade = item->getAccessGrade();
infos.CustomText = item->getCustomText(); infos.CustomText = item->getCustomText();
CMessage msgout( "IMPULSION_ID" ); CMessage msgout( "IMPULSION_ID" );

@ -1366,7 +1366,8 @@ private:
LPROP2(_CustomName, string, if (false), string(), setPhraseId(val, true)) /* Ryzom Forge compatibility, replaced by _PhraseLiteral */ \ LPROP2(_CustomName, string, if (false), string(), setPhraseId(val, true)) /* Ryzom Forge compatibility, replaced by _PhraseLiteral */ \
PROP(bool, _Movable)\ PROP(bool, _Movable)\
PROP(bool, _UnMovable)\ PROP(bool, _UnMovable)\
PROP(bool, _LockedByOwner) /* Ryzom Forge compatibility */\ PROP(bool, _LockedByOwner)\
LPROP2(_AccessGrade, string, if (_AccessGrade != DefaultAccessGrade), CGuildGrade::toString(_AccessGrade), _AccessGrade = CGuildGrade::fromString(val))\
//#pragma message( PERSISTENT_GENERATION_MESSAGE ) //#pragma message( PERSISTENT_GENERATION_MESSAGE )
#include "game_share/persistent_data_template.h" #include "game_share/persistent_data_template.h"
@ -1402,7 +1403,7 @@ private:
LPROP(float,MaxSlashingProtection,if (MaxSlashingProtection!=0.0f))\ LPROP(float,MaxSlashingProtection,if (MaxSlashingProtection!=0.0f))\
LPROP(float,MaxBluntProtection,if (MaxBluntProtection!=0.0f))\ LPROP(float,MaxBluntProtection,if (MaxBluntProtection!=0.0f))\
LPROP(float,MaxPiercingProtection,if (MaxPiercingProtection!=0.0f))\ LPROP(float,MaxPiercingProtection,if (MaxPiercingProtection!=0.0f))\
LPROP(uint8,Color,if (Color!=1))\ LPROP(uint8,Color,if (Color!=CGameItem::DefaultColor))\
LPROP(sint32,HpBuff,if (HpBuff!=0))\ LPROP(sint32,HpBuff,if (HpBuff!=0))\
LPROP(sint32,SapBuff,if (SapBuff!=0))\ LPROP(sint32,SapBuff,if (SapBuff!=0))\
LPROP(sint32,StaBuff,if (StaBuff!=0))\ LPROP(sint32,StaBuff,if (StaBuff!=0))\

Loading…
Cancel
Save