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 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team |
5 | * Copyright (©) 2002 Mark Wedel & Crossfire Development Team |
6 | * Copyright (©) 1992,2007 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 |
10 | * Free Software Foundation, either version 3 of the License, or (at your |
10 | * Free Software Foundation, either version 3 of the License, or (at your |
11 | * option) any later version. |
11 | * option) any later version. |
… | |
… | |
44 | /* |
44 | /* |
45 | * Flags to generate_treasures(): |
45 | * Flags to generate_treasures(): |
46 | */ |
46 | */ |
47 | enum |
47 | enum |
48 | { |
48 | { |
49 | GT_ENVIRONMENT = 0x0001, // put treasure at objetc, not into object |
49 | GT_ENVIRONMENT = 0x0001, // put treasure at object, not into object |
50 | GT_INVISIBLE = 0x0002, |
50 | GT_INVISIBLE = 0x0002, |
51 | GT_STARTEQUIP = 0x0004, |
51 | GT_STARTEQUIP = 0x0004, |
52 | GT_APPLY = 0x0008, |
52 | GT_APPLY = 0x0008, |
53 | GT_ONLY_GOOD = 0x0010, |
53 | GT_ONLY_GOOD = 0x0010, |
54 | GT_MINIMAL = 0x0020, // Do minimal adjustments |
54 | GT_MINIMAL = 0x0020, // Do minimal adjustments |
… | |
… | |
117 | static treasurelist *get (const char *name); // find or create |
117 | static treasurelist *get (const char *name); // find or create |
118 | static treasurelist *find (const char *name); |
118 | static treasurelist *find (const char *name); |
119 | }; |
119 | }; |
120 | |
120 | |
121 | inline void |
121 | inline void |
122 | object_freezer::put (keyword k, treasurelist *v) |
122 | object_freezer::put (const keyword_string k, treasurelist *v) |
123 | { |
123 | { |
124 | put (k, v ? &v->name : (const char *)0); |
124 | if (expect_true (v)) |
|
|
125 | put (k, v->name); |
|
|
126 | else |
|
|
127 | put (k); |
125 | } |
128 | } |
126 | |
129 | |
127 | void create_treasure (treasurelist *t, object *op, int flag, int difficulty, int tries = 0); |
130 | void create_treasure (treasurelist *t, object *op, int flag, int difficulty, int tries = 0); |
128 | |
131 | |
129 | #endif |
132 | #endif |