… | |
… | |
3 | * |
3 | * |
4 | * Copyright (©) 2005,2006,2007,2008,2009 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008,2009 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * Copyright (©) 2001,2007 Mark Wedel & Crossfire Development Team |
5 | * Copyright (©) 2001,2007 Mark Wedel & Crossfire Development Team |
6 | * Copyright (©) 1992,2007 Frank Tore Johansen |
6 | * Copyright (©) 1992,2007 Frank Tore Johansen |
7 | * |
7 | * |
8 | * Deliantra is free software: you can redistribute it and/or modify |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
9 | * it under the terms of the GNU General Public License as published by |
9 | * the terms of the Affero GNU General Public License as published by the |
10 | * the Free Software Foundation, either version 3 of the License, or |
10 | * Free Software Foundation, either version 3 of the License, or (at your |
11 | * (at your option) any later version. |
11 | * option) any later version. |
12 | * |
12 | * |
13 | * This program is distributed in the hope that it will be useful, |
13 | * This program is distributed in the hope that it will be useful, |
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | * GNU General Public License for more details. |
16 | * GNU General Public License for more details. |
17 | * |
17 | * |
18 | * You should have received a copy of the GNU General Public License |
18 | * You should have received a copy of the Affero GNU General Public License |
19 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
19 | * and the GNU General Public License along with this program. If not, see |
|
|
20 | * <http://www.gnu.org/licenses/>. |
20 | * |
21 | * |
21 | * The authors can be reached via e-mail to <support@deliantra.net> |
22 | * The authors can be reached via e-mail to <support@deliantra.net> |
22 | */ |
23 | */ |
23 | |
24 | |
24 | #include <global.h> |
25 | #include <global.h> |
… | |
… | |
637 | |
638 | |
638 | /* put_a_monster: puts a monster named monstername near by |
639 | /* put_a_monster: puts a monster named monstername near by |
639 | * op. This creates the treasures for the monsters, and |
640 | * op. This creates the treasures for the monsters, and |
640 | * also deals with multipart monsters properly. |
641 | * also deals with multipart monsters properly. |
641 | */ |
642 | */ |
642 | void |
643 | static void |
643 | put_a_monster (object *op, const char *monstername) |
644 | put_a_monster (object *op, const char *monstername) |
644 | { |
645 | { |
645 | object *tmp, *head = NULL, *prev = NULL; |
646 | object *tmp, *head = NULL, *prev = NULL; |
646 | archetype *at; |
647 | archetype *at; |
647 | int dir; |
648 | int dir; |
… | |
… | |
783 | * at casting a prayer. |
784 | * at casting a prayer. |
784 | * op is the player. |
785 | * op is the player. |
785 | * failure is basically how much grace they had. |
786 | * failure is basically how much grace they had. |
786 | * power is how much grace the spell would normally take to cast. |
787 | * power is how much grace the spell would normally take to cast. |
787 | */ |
788 | */ |
788 | void |
789 | static void |
789 | prayer_failure (object *op, int failure, int power) |
790 | prayer_failure (object *op, int failure, int power) |
790 | { |
791 | { |
791 | const char *godname; |
792 | const char *godname; |
792 | object *tmp; |
793 | object *tmp; |
793 | |
794 | |
… | |
… | |
886 | tmp->insert_at (op); |
887 | tmp->insert_at (op); |
887 | } |
888 | } |
888 | } |
889 | } |
889 | } |
890 | } |
890 | |
891 | |
891 | int |
892 | static int |
892 | cast_party_spell (object *op, object *caster, int dir, object *spell_ob, char *spellparam) |
893 | cast_party_spell (object *op, object *caster, int dir, object *spell_ob, char *spellparam) |
893 | { |
894 | { |
894 | if (!spell_ob->other_arch) |
895 | if (!spell_ob->other_arch) |
895 | { |
896 | { |
896 | LOG (llevError, "cast_party_spell: empty other arch\n"); |
897 | LOG (llevError, "cast_party_spell: empty other arch\n"); |
… | |
… | |
1448 | } |
1449 | } |
1449 | |
1450 | |
1450 | /* this checks to see if something special should happen if |
1451 | /* this checks to see if something special should happen if |
1451 | * something runs into the object. |
1452 | * something runs into the object. |
1452 | */ |
1453 | */ |
1453 | void |
1454 | static void |
1454 | check_spell_effect (object *op) |
1455 | check_spell_effect (object *op) |
1455 | { |
1456 | { |
1456 | switch (op->subtype) |
1457 | switch (op->subtype) |
1457 | { |
1458 | { |
1458 | case SP_BOLT: |
1459 | case SP_BOLT: |