1 | /* |
1 | /* |
2 | * static char *rcsid_spell_util_c = |
2 | * static char *rcsid_spell_util_c = |
3 | * "$Id: spell_util.C,v 1.2 2006/08/15 16:19:55 elmex Exp $"; |
3 | * "$Id: spell_util.C,v 1.3 2006/08/15 17:35:51 elmex Exp $"; |
4 | */ |
4 | */ |
5 | |
5 | |
6 | |
6 | |
7 | /* |
7 | /* |
8 | CrossFire, A Multiplayer game for X-windows |
8 | CrossFire, A Multiplayer game for X-windows |
… | |
… | |
1121 | * not alive, then this would mean that the mapmaker put the |
1121 | * not alive, then this would mean that the mapmaker put the |
1122 | * objects on the space - presume that they know what they are |
1122 | * objects on the space - presume that they know what they are |
1123 | * doing. |
1123 | * doing. |
1124 | */ |
1124 | */ |
1125 | if (spell_ob->type == SPELL |
1125 | if (spell_ob->type == SPELL |
1126 | && (mflags & P_SAFE_MAP || caster->type != POTION) // elmex: prevent potions from casting on safe maps |
1126 | && (mflags & P_SAFE || caster->type != POTION) // elmex: prevent potions from casting on safe maps |
1127 | && !QUERY_FLAG(op, FLAG_WIZCAST) |
1127 | && !QUERY_FLAG(op, FLAG_WIZCAST) |
1128 | && (QUERY_FLAG(caster, FLAG_ALIVE) |
1128 | && (QUERY_FLAG(caster, FLAG_ALIVE) |
1129 | || QUERY_FLAG(op, FLAG_ALIVE)) |
1129 | || QUERY_FLAG(op, FLAG_ALIVE)) |
1130 | && (((mflags & P_NO_MAGIC) && spell_ob->stats.sp) |
1130 | && (((mflags & P_NO_MAGIC) && spell_ob->stats.sp) |
1131 | || ((mflags & P_NO_CLERIC) && spell_ob->stats.grace))) |
1131 | || ((mflags & P_NO_CLERIC) && spell_ob->stats.grace))) |
… | |
… | |
1133 | if (op->type!=PLAYER) |
1133 | if (op->type!=PLAYER) |
1134 | return 0; |
1134 | return 0; |
1135 | |
1135 | |
1136 | if ((mflags & P_NO_CLERIC) && spell_ob->stats.grace) |
1136 | if ((mflags & P_NO_CLERIC) && spell_ob->stats.grace) |
1137 | new_draw_info_format(NDI_UNIQUE, 0,op,"This ground is unholy! %s ignores you.",godname); |
1137 | new_draw_info_format(NDI_UNIQUE, 0,op,"This ground is unholy! %s ignores you.",godname); |
1138 | else if (mflags & P_SAFE_MAP) |
1138 | else if (mflags & P_SAFE) |
1139 | new_draw_info(NDI_UNIQUE, 0,op, |
1139 | new_draw_info(NDI_UNIQUE, 0,op, |
1140 | "This ground is sacred! The gods prevent any magical effects done by you here!."); |
1140 | "This ground is sacred! The gods prevent any magical effects done by you here!."); |
1141 | else |
1141 | else |
1142 | switch(op->contr->shoottype) |
1142 | switch(op->contr->shoottype) |
1143 | { |
1143 | { |