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,2012 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016 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 |
… | |
… | |
67 | object *key = archetype::get (shstr_key_random_map); |
67 | object *key = archetype::get (shstr_key_random_map); |
68 | key->slaying = keycode; |
68 | key->slaying = keycode; |
69 | return key; |
69 | return key; |
70 | } |
70 | } |
71 | |
71 | |
72 | /* places keys in the map, preferably in something alive. |
72 | /* places keys in the map, preferably in something alive. |
73 | keycode is the key's code, |
73 | keycode is the key's code, |
74 | door_flag is either PASS_DOORS or NO_PASS_DOORS. |
74 | door_flag is either PASS_DOORS or NO_PASS_DOORS. |
75 | NO_PASS_DOORS won't cross doors or walls to keyplace, PASS_DOORS will. |
75 | NO_PASS_DOORS won't cross doors or walls to keyplace, PASS_DOORS will. |
76 | if n_keys is 1, it will place 1 key. if n_keys >1, it will place 2-4 keys: |
76 | if n_keys is 1, it will place 1 key. if n_keys >1, it will place 2-4 keys: |
77 | it will place 2-4 keys regardless of what nkeys is provided nkeys > 1. |
77 | it will place 2-4 keys regardless of what nkeys is provided nkeys > 1. |
… | |
… | |
184 | |
184 | |
185 | m->at (x, y).update (); |
185 | m->at (x, y).update (); |
186 | return GET_MAP_MOVE_BLOCK (m, x, y) & MOVE_WALK; |
186 | return GET_MAP_MOVE_BLOCK (m, x, y) & MOVE_WALK; |
187 | } |
187 | } |
188 | |
188 | |
189 | /* place treasures in the map, given the |
189 | /* place treasures in the map, given the |
190 | map, (required) |
190 | map, (required) |
191 | maze, (required) |
191 | maze, (required) |
192 | treasure style (may be empty or NULL, or "none" to cause no treasure.) |
192 | treasure style (may be empty or NULL, or "none" to cause no treasure.) |
193 | treasureoptions (may be 0 for random choices or positive) |
193 | treasureoptions (may be 0 for random choices or positive) |
194 | */ |
194 | */ |