1.1 --- a/plugins/admin-flatfile/admin-groups.sp Mon Sep 10 22:28:22 2007 +0000
1.2 +++ b/plugins/admin-flatfile/admin-groups.sp Mon Sep 10 23:38:58 2007 +0000
1.3 @@ -110,22 +110,7 @@
1.4 SetAdmGroupAddFlag(g_CurGrp, flag, true);
1.5 }
1.6 } else if (StrEqual(key, "immunity")) {
1.7 - /* If it's a value we know about, use it */
1.8 - if (StrEqual(value, "*"))
1.9 - {
1.10 - SetAdmGroupImmunity(g_CurGrp, Immunity_Global, true);
1.11 - } else if (StrEqual(value, "$")) {
1.12 - SetAdmGroupImmunity(g_CurGrp, Immunity_Default, true);
1.13 - } else {
1.14 - /* If we can't find the group, we'll need to schedule a reparse */
1.15 - new GroupId:id = FindAdmGroup(value);
1.16 - if (id != INVALID_GROUP_ID)
1.17 - {
1.18 - SetAdmGroupImmuneFrom(g_CurGrp, id);
1.19 - } else {
1.20 - g_NeedReparse = true;
1.21 - }
1.22 - }
1.23 + g_NeedReparse = true;
1.24 }
1.25 } else if (g_GroupState == GROUP_STATE_OVERRIDES) {
1.26 new OverrideRule:rule = Command_Deny;
1.27 @@ -147,18 +132,31 @@
1.28 /* Check for immunity again, core should handle double inserts */
1.29 if (StrEqual(key, "immunity"))
1.30 {
1.31 - if (StrEqual(value, "$"))
1.32 + /* If it's a value we know about, use it */
1.33 + if (StrEqual(value, "*"))
1.34 {
1.35 - SetAdmGroupImmunity(g_CurGrp, Immunity_Default, true);
1.36 - } else if (StrEqual(value, "*")) {
1.37 - SetAdmGroupImmunity(g_CurGrp, Immunity_Global, true);
1.38 + SetAdmGroupImmunityLevel(g_CurGrp, 2);
1.39 + } else if (StrEqual(value, "$")) {
1.40 + SetAdmGroupImmunityLevel(g_CurGrp, 1);
1.41 } else {
1.42 - new GroupId:id = FindAdmGroup(value);
1.43 - if (id != INVALID_GROUP_ID)
1.44 + new level;
1.45 + if (StringToIntEx(value, level))
1.46 {
1.47 - SetAdmGroupImmuneFrom(g_CurGrp, id);
1.48 + SetAdmGroupImmunityLevel(g_CurGrp, level);
1.49 } else {
1.50 - ParseError("Unable to find group: \"%s\"", value);
1.51 + new GroupId:id;
1.52 + if (value[0] == '@')
1.53 + {
1.54 + id = FindAdmGroup(value[1]);
1.55 + } else {
1.56 + id = FindAdmGroup(value);
1.57 + }
1.58 + if (id != INVALID_GROUP_ID)
1.59 + {
1.60 + SetAdmGroupImmuneFrom(g_CurGrp, id);
1.61 + } else {
1.62 + ParseError("Unable to find group: \"%s\"", value);
1.63 + }
1.64 }
1.65 }
1.66 }