Parcourir la source

- Fixed group permissions not recognizing `false` setting (bug:5342).
- Reverted a line from `clif.c` that accidentaly got commited in r15586.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15597 54d463be-8e91-2dee-dedb-b68131a5f0ec

gepard1984 il y a 13 ans
Parent
commit
19971714de
2 fichiers modifiés avec 4 ajouts et 1 suppressions
  1. 1 1
      src/map/clif.c
  2. 3 0
      src/map/pc_groups.c

+ 1 - 1
src/map/clif.c

@@ -269,7 +269,7 @@ static inline unsigned char clif_bl_type(struct block_list *bl) {
 	case BL_SKILL: return 0x3; //SKILL_TYPE
 	case BL_CHAT:  return 0x4; //UNKNOWN_TYPE
 	case BL_MOB:   return pcdb_checkid(status_get_viewdata(bl)->class_)?0x0:0x5; //NPC_MOB_TYPE
-	case BL_NPC:   return pcdb_checkid(status_get_viewdata(bl)->class_)?0x0:0x6; //NPC_EVT_TYPE
+	case BL_NPC:   return 0x6; //NPC_EVT_TYPE
 	case BL_PET:   return pcdb_checkid(status_get_viewdata(bl)->class_)?0x0:0x7; //NPC_PET_TYPE
 	case BL_HOM:   return 0x8; //NPC_HOM_TYPE
 	case BL_MER:   return 0x9; //NPC_MERSOL_TYPE

+ 3 - 0
src/map/pc_groups.c

@@ -285,8 +285,11 @@ static void read_config(void)
 			for (i = 0; i < count; ++i) {
 				config_setting_t *perm = config_setting_get_elem(permissions, i);
 				const char *name = config_setting_name(perm);
+				int val = config_setting_get_bool(perm);
 				int j;
 
+				if (val == 0) // does not have this permission
+					continue;
 				ARR_FIND(0, ARRAYLENGTH(permission_name), j, strcmp(permission_name[j].name, name) == 0);
 				group_settings->e_permissions |= permission_name[j].permission;
 			}