Add support for unsetting bit flag in item_noequip (Closes #1319).
* Unset the flag by passing in negative value. * Thanks to @Everade
This commit is contained in:
parent
38155a625e
commit
5287f82a0e
@ -18,10 +18,13 @@
|
|||||||
// 1024 - restricted in zone 6
|
// 1024 - restricted in zone 6
|
||||||
// 2048 - restricted in zone 7
|
// 2048 - restricted in zone 7
|
||||||
//
|
//
|
||||||
|
// Passing negative value as flag will unset the flag instead.
|
||||||
|
//
|
||||||
// Examples:
|
// Examples:
|
||||||
// 1201,1 // Knife can't be worn on normal maps
|
// 1201,1 // Knife can't be worn on normal maps
|
||||||
// 608,4 // Yggdrasil Seed can't be consumed in both GvG and WoE Castles
|
// 608,4 // Yggdrasil Seed can't be consumed in both GvG and WoE Castles
|
||||||
// 4174,6 // Deviling Card has no effect in every PVP or GVG map, and during WoE
|
// 4174,6 // Deviling Card has no effect in every PVP or GVG map, and during WoE
|
||||||
// 501,32 // Red Potion can't be consumed on maps marked as 'restricted zone 1'
|
// 501,32 // Red Potion can't be consumed on maps marked as 'restricted zone 1'
|
||||||
// 519,322 // Milk can't be consumed in PVP and maps marked as 'restricted zone 2' or 'restricted zone 4' (256+64+2)
|
// 519,322 // Milk can't be consumed in PVP and maps marked as 'restricted zone 2' or 'restricted zone 4' (256+64+2)
|
||||||
|
// 519,-2 // Unset `restricted in PVP` flag from Milk. Making it usable in PVP again.
|
||||||
|
|
||||||
|
@ -18,12 +18,15 @@
|
|||||||
// 1024 - restricted in zone 6
|
// 1024 - restricted in zone 6
|
||||||
// 2048 - restricted in zone 7
|
// 2048 - restricted in zone 7
|
||||||
//
|
//
|
||||||
|
// Passing negative value as flag will unset the flag instead.
|
||||||
|
//
|
||||||
// Examples:
|
// Examples:
|
||||||
// 1201,1 // Knife can't be worn on normal maps
|
// 1201,1 // Knife can't be worn on normal maps
|
||||||
// 608,4 // Yggdrasil Seed can't be consumed in both GvG and WoE Castles
|
// 608,4 // Yggdrasil Seed can't be consumed in both GvG and WoE Castles
|
||||||
// 4174,6 // Deviling Card has no effect in every PVP or GVG map, and during WoE
|
// 4174,6 // Deviling Card has no effect in every PVP or GVG map, and during WoE
|
||||||
// 501,32 // Red Potion can't be consumed on maps marked as 'restricted zone 1'
|
// 501,32 // Red Potion can't be consumed on maps marked as 'restricted zone 1'
|
||||||
// 519,322 // Milk can't be consumed in PVP and maps marked as 'restricted zone 2' or 'restricted zone 4' (256+64+2)
|
// 519,322 // Milk can't be consumed in PVP and maps marked as 'restricted zone 2' or 'restricted zone 4' (256+64+2)
|
||||||
|
// 519,-2 // Unset `restricted in PVP` flag from Milk. Making it usable in PVP again.
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// Normal maps
|
// Normal maps
|
||||||
|
@ -18,12 +18,15 @@
|
|||||||
// 1024 - restricted in zone 6
|
// 1024 - restricted in zone 6
|
||||||
// 2048 - restricted in zone 7
|
// 2048 - restricted in zone 7
|
||||||
//
|
//
|
||||||
|
// Passing negative value as flag will unset the flag instead.
|
||||||
|
//
|
||||||
// Examples:
|
// Examples:
|
||||||
// 1201,1 // Knife can't be worn on normal maps
|
// 1201,1 // Knife can't be worn on normal maps
|
||||||
// 608,4 // Yggdrasil Seed can't be consumed in both GvG and WoE Castles
|
// 608,4 // Yggdrasil Seed can't be consumed in both GvG and WoE Castles
|
||||||
// 4174,6 // Deviling Card has no effect in every PVP or GVG map, and during WoE
|
// 4174,6 // Deviling Card has no effect in every PVP or GVG map, and during WoE
|
||||||
// 501,32 // Red Potion can't be consumed on maps marked as 'restricted zone 1'
|
// 501,32 // Red Potion can't be consumed on maps marked as 'restricted zone 1'
|
||||||
// 519,322 // Milk can't be consumed in PVP and maps marked as 'restricted zone 2' or 'restricted zone 4' (256+64+2)
|
// 519,322 // Milk can't be consumed in PVP and maps marked as 'restricted zone 2' or 'restricted zone 4' (256+64+2)
|
||||||
|
// 519,-2 // Unset `restricted in PVP` flag from Milk. Making it usable in PVP again.
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// Normal maps
|
// Normal maps
|
||||||
|
@ -707,9 +707,11 @@ static void itemdb_read_itemgroup(const char* basedir, bool silent) {
|
|||||||
*/
|
*/
|
||||||
static bool itemdb_read_noequip(char* str[], int columns, int current) {
|
static bool itemdb_read_noequip(char* str[], int columns, int current) {
|
||||||
unsigned short nameid;
|
unsigned short nameid;
|
||||||
|
int flag;
|
||||||
struct item_data *id;
|
struct item_data *id;
|
||||||
|
|
||||||
nameid = atoi(str[0]);
|
nameid = atoi(str[0]);
|
||||||
|
flag = atoi(str[1]);
|
||||||
|
|
||||||
if( ( id = itemdb_exists(nameid) ) == NULL )
|
if( ( id = itemdb_exists(nameid) ) == NULL )
|
||||||
{
|
{
|
||||||
@ -717,7 +719,10 @@ static bool itemdb_read_noequip(char* str[], int columns, int current) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
id->flag.no_equip |= atoi(str[1]);
|
if (flag >= 0)
|
||||||
|
id->flag.no_equip |= flag;
|
||||||
|
else
|
||||||
|
id->flag.no_equip &= ~abs(flag);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user