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, };
}

@ -263,22 +263,21 @@ namespace INVENTORIES
enum TItemPropId enum TItemPropId
{ {
Sheet, Sheet,
Quality, Quality,
Quantity, Quantity,
UserColor, UserColor,
CreateTime, Locked,
Serial, Access,
Locked, Weight,
Weight, NameId,
NameId, Enchant,
Enchant, ItemClass,
ItemClass, ItemBestStat,
ItemBestStat, PrerequisitValid,
Price, Price,
ResaleFlag, ResaleFlag,
PrerequisitValid, Worned,
Worned, NbItemPropId
NbItemPropId
}; };
const uint NbBitsForItemPropId = 4; // TODO: replace this constant by an inline function using NbItemPropId const uint NbBitsForItemPropId = 4; // TODO: replace this constant by an inline function using 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,8 +1366,9 @@ 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