1 | /* |
1 | /* |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
3 | * |
3 | * |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * Copyright (©) 2001 Mark Wedel & Crossfire Development Team |
5 | * Copyright (©) 2001 Mark Wedel & Crossfire Development Team |
6 | * Copyright (©) 1992 Frank Tore Johansen |
6 | * Copyright (©) 1992 Frank Tore Johansen |
7 | * |
7 | * |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
9 | * the terms of the Affero GNU General Public License as published by the |
9 | * the terms of the Affero GNU General Public License as published by the |
… | |
… | |
688 | |
688 | |
689 | if (!wall_blocked (map, x1, y1) && maze[x1][y1] == '>') |
689 | if (!wall_blocked (map, x1, y1) && maze[x1][y1] == '>') |
690 | { /* place a door */ |
690 | { /* place a door */ |
691 | remove_monsters (x1, y1, map); |
691 | remove_monsters (x1, y1, map); |
692 | |
692 | |
693 | object *new_door = get_archetype (freearr_x[i] == 0 ? doors[1] : doors[0]); |
693 | object *new_door = archetype::get (freearr_x[i] == 0 ? doors[1] : doors[0]); |
694 | map->insert (new_door, x1, y1); |
694 | map->insert (new_door, x1, y1); |
695 | doorlist[ndoors_made] = new_door; |
695 | doorlist[ndoors_made] = new_door; |
696 | ndoors_made++; |
696 | ndoors_made++; |
697 | } |
697 | } |
698 | } |
698 | } |
… | |
… | |
791 | |
791 | |
792 | if (opts & DOORED) |
792 | if (opts & DOORED) |
793 | { |
793 | { |
794 | for (i = 0, door = doorlist[0]; doorlist[i]; i++) |
794 | for (i = 0, door = doorlist[0]; doorlist[i]; i++) |
795 | { |
795 | { |
796 | object *new_door = get_archetype (shstr_locked_door1); |
796 | object *new_door = archetype::get (shstr_locked_door1); |
797 | |
797 | |
798 | door = doorlist[i]; |
798 | door = doorlist[i]; |
799 | new_door->face = door->face; |
799 | new_door->face = door->face; |
800 | new_door->x = door->x; |
800 | new_door->x = door->x; |
801 | new_door->y = door->y; |
801 | new_door->y = door->y; |