1 | /* |
1 | /* |
2 | * This file is part of Crossfire TRT, the Multiplayer Online Role Playing Game. |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
3 | * |
3 | * |
4 | * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012 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 | * Crossfire TRT is free software; you can redistribute it and/or modify it |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
9 | * under the terms of the GNU General Public License as published by the Free |
9 | * the terms of the Affero GNU General Public License as published by the |
10 | * Software Foundation; either version 2 of the License, or (at your option) |
10 | * Free Software Foundation, either version 3 of the License, or (at your |
11 | * any later version. |
11 | * option) any later version. |
12 | * |
12 | * |
13 | * This program is distributed in the hope that it will be useful, but |
13 | * This program is distributed in the hope that it will be useful, |
14 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | * 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 along |
18 | * You should have received a copy of the Affero GNU General Public License |
19 | * with Crossfire TRT; if not, write to the Free Software Foundation, Inc. 51 |
19 | * and the GNU General Public License along with this program. If not, see |
20 | * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
20 | * <http://www.gnu.org/licenses/>. |
21 | * |
21 | * |
22 | * The authors can be reached via e-mail to <crossfire@schmorp.de> |
22 | * The authors can be reached via e-mail to <support@deliantra.net> |
23 | */ |
23 | */ |
24 | |
24 | |
25 | /* This file contains various #defines that select various options. |
25 | /* This file contains various #defines that select various options. |
26 | * Some may not be desirable, and some just may not work. |
26 | * Some may not be desirable, and some just may not work. |
27 | * |
27 | * |
… | |
… | |
61 | * You don't have to change anything here to get a working program, but |
61 | * You don't have to change anything here to get a working program, but |
62 | * you may want to on personal preferance. Items are arranged |
62 | * you may want to on personal preferance. Items are arranged |
63 | * alphabetically. |
63 | * alphabetically. |
64 | * |
64 | * |
65 | * Short list of features, and what to search for: |
65 | * Short list of features, and what to search for: |
66 | * CS_LOGSTATS - log various new client/server data. |
|
|
67 | * DEBUG - more verbose message logging? |
66 | * DEBUG - more verbose message logging? |
68 | * MAP_CLIENT_X, MAP_CLIENT_Y - determines max size client map will receive |
67 | * MAP_CLIENT_X, MAP_CLIENT_Y - determines max size client map will receive |
69 | * MAX_TIME - how long an internal tick is in microseconds |
68 | * MAX_TIME - how long an internal tick is in microseconds |
70 | * MANY_CORES - generate core dumps on gross errors instead of continuing? |
69 | * MANY_CORES - generate core dumps on gross errors instead of continuing? |
71 | * PARTY_KILL_LOG - stores party kill information |
70 | * PARTY_KILL_LOG - stores party kill information |
… | |
… | |
104 | * depleteness^2 / (depletedness^2+ level/ratio). |
103 | * depleteness^2 / (depletedness^2+ level/ratio). |
105 | * ie, if the stats current depleted value is 2 and the character is level |
104 | * ie, if the stats current depleted value is 2 and the character is level |
106 | * 15, the chance not to lose the stat is 4/(4+3) or 4/7. The higher the |
105 | * 15, the chance not to lose the stat is 4/(4+3) or 4/7. The higher the |
107 | * level, the more likely it is a stat can get really depleted, but |
106 | * level, the more likely it is a stat can get really depleted, but |
108 | * this gets more offset as the stat gets more depleted. |
107 | * this gets more offset as the stat gets more depleted. |
109 | * |
108 | * |
110 | */ |
109 | */ |
111 | /* GD */ |
110 | /* GD */ |
112 | |
111 | |
113 | #define BALSL_LOSS_CHANCE_RATIO 100 |
112 | #define BALSL_LOSS_CHANCE_RATIO 100 |
114 | #define BALSL_NUMBER_LOSSES_RATIO 100 |
113 | #define BALSL_NUMBER_LOSSES_RATIO 100 |
… | |
… | |
116 | |
115 | |
117 | |
116 | |
118 | /* Don't edit these values. They are configured in lib/settings. These are |
117 | /* Don't edit these values. They are configured in lib/settings. These are |
119 | Simply the defaults. */ |
118 | Simply the defaults. */ |
120 | |
119 | |
121 | #define BALANCED_STAT_LOSS FALSE |
120 | #define BALANCED_STAT_LOSS TRUE |
122 | #define PERMANENT_EXPERIENCE_RATIO 25 |
121 | #define PERMANENT_EXPERIENCE_RATIO 30 |
123 | #define DEATH_PENALTY_RATIO 20 |
122 | #define DEATH_PENALTY_RATIO 10 |
124 | #define DEATH_PENALTY_LEVEL 3 |
123 | #define DEATH_PENALTY_LEVEL 2 |
125 | #define SET_TITLE TRUE |
124 | #define SET_TITLE TRUE |
126 | #define SIMPLE_EXP TRUE |
125 | #define SIMPLE_EXP TRUE |
127 | #define SPELLPOINT_LEVEL_DEPEND TRUE |
126 | #define SPELLPOINT_LEVEL_DEPEND TRUE |
128 | #define SPELL_ENCUMBRANCE TRUE |
127 | #define SPELL_ENCUMBRANCE FALSE |
129 | #define SPELL_FAILURE_EFFECTS FALSE |
128 | #define SPELL_FAILURE_EFFECTS FALSE |
130 | #define RESURRECTION FALSE |
129 | #define RESURRECTION FALSE |
131 | #define SEARCH_ITEMS TRUE |
130 | #define SEARCH_ITEMS TRUE |
132 | #define NOT_PERMADETH TRUE |
131 | #define NOT_PERMADETH TRUE |
133 | #define EXPLORE_MODE FALSE |
|
|
134 | #define STAT_LOSS_ON_DEATH FALSE |
132 | #define STAT_LOSS_ON_DEATH FALSE |
135 | #define PK_LUCK_PENALTY 1 |
133 | #define PK_LUCK_PENALTY 0 |
136 | #define SET_FRIENDLY_FIRE 5 |
134 | #define SET_FRIENDLY_FIRE 0 |
137 | #define ARMOR_MAX_ENCHANT 5 |
135 | #define ARMOR_MAX_ENCHANT 5 |
138 | #define ARMOR_WEIGHT_REDUCTION 10 |
136 | #define ARMOR_WEIGHT_REDUCTION 10 |
139 | #define ARMOR_WEIGHT_LINEAR TRUE |
137 | #define ARMOR_WEIGHT_LINEAR TRUE |
140 | #define ARMOR_SPEED_IMPROVEMENT 10 |
138 | #define ARMOR_SPEED_IMPROVEMENT 10 |
141 | #define ARMOR_SPEED_LINEAR TRUE |
139 | #define ARMOR_SPEED_LINEAR TRUE |
142 | #define CREATE_HOME_PORTALS FALSE |
140 | #define CREATE_HOME_PORTALS FALSE |
143 | |
141 | |
144 | /* you can edit the ones below */ |
142 | /* you can edit the ones below */ |
145 | |
|
|
146 | |
|
|
147 | /* CS_LOGSTATS will cause the server to log various usage stats |
|
|
148 | * (number of connections, amount of data sent, amount of data received, |
|
|
149 | * and so on.) This can be very useful if you are trying to measure |
|
|
150 | * server/bandwidth usage. It will periodially dump out information |
|
|
151 | * which contains usage stats for the last X amount of time. |
|
|
152 | * CS_LOGTIME is how often it will print out stats. |
|
|
153 | */ |
|
|
154 | #define CS_LOGSTATS |
|
|
155 | #define CS_LOGTIME 600 |
|
|
156 | |
143 | |
157 | /* DEBUG generates copious amounts of output. I tend to change the CC options |
144 | /* DEBUG generates copious amounts of output. I tend to change the CC options |
158 | * in the crosssite.def file if I want this. By default, you probably |
145 | * in the crosssite.def file if I want this. By default, you probably |
159 | * dont want this defined. |
146 | * dont want this defined. |
160 | */ |
147 | */ |
… | |
… | |
192 | * maps at that point. |
179 | * maps at that point. |
193 | * |
180 | * |
194 | * MSW 2001-05-28 |
181 | * MSW 2001-05-28 |
195 | */ |
182 | */ |
196 | |
183 | |
|
|
184 | // both must be 2**n |
197 | #define MAP_CLIENT_X 31 |
185 | #define MAP_CLIENT_X 32 |
198 | #define MAP_CLIENT_Y 31 |
186 | #define MAP_CLIENT_Y 32 |
199 | |
187 | |
200 | /* |
188 | /* |
201 | * If you feel the game is too fast or too slow, change MAX_TIME. |
189 | * If you feel the game is too fast or too slow, change MAX_TIME. |
202 | * You can experiment with the 'speed <new_max_time> command first. |
190 | * You can experiment with the 'speed <new_max_time> command first. |
203 | * The length of a tick is MAX_TIME microseconds. During a tick, |
191 | * The length of a tick is MAX_TIME microseconds. During a tick, |
204 | * players, monsters, or items with speed 1 can do one thing. |
192 | * players, monsters, or items with speed 1 can do one thing. |
205 | */ |
193 | */ |
206 | |
194 | |
207 | #define MAX_TIME 120000 |
195 | #define MAX_TIME 120000 |
|
|
196 | |
|
|
197 | /* |
|
|
198 | * MAX_ITEM_PER_ACTION defines how many items a player can drop/take etc. at once. |
|
|
199 | * (be careful to set this to high values, as dropping lots of things |
|
|
200 | * can be a performance problem (for which a fix is worked on)). |
|
|
201 | */ |
|
|
202 | |
|
|
203 | #define MAX_ITEM_PER_ACTION 100 |
208 | |
204 | |
209 | /* Polymorph as it currently stands is unbalancing, so by default |
205 | /* Polymorph as it currently stands is unbalancing, so by default |
210 | * we have it disabled. It can be enabled and it works, but |
206 | * we have it disabled. It can be enabled and it works, but |
211 | * it can be abused in various ways. |
207 | * it can be abused in various ways. |
212 | */ |
208 | */ |
… | |
… | |
243 | /* GD */ |
239 | /* GD */ |
244 | |
240 | |
245 | #define PERM_EXP_GAIN_RATIO 0.10f |
241 | #define PERM_EXP_GAIN_RATIO 0.10f |
246 | #define PERM_EXP_MAX_LOSS_RATIO 0.50f |
242 | #define PERM_EXP_MAX_LOSS_RATIO 0.50f |
247 | |
243 | |
248 | /* Enable the new material code - it needs some work. You can |
|
|
249 | * enable this, and things will work, just you'll see a whole |
|
|
250 | * bunch more materials show up, and thus a whole bunch more materials |
|
|
251 | * in your inventory, and the sorting for them isn't really good. |
|
|
252 | */ |
|
|
253 | |
|
|
254 | /* |
|
|
255 | #define NEW_MATERIAL_CODE |
|
|
256 | */ |
|
|
257 | |
|
|
258 | |
|
|
259 | /*********************************************************************** |
244 | /*********************************************************************** |
260 | * Section 3 |
245 | * Section 3 |
261 | * |
246 | * |
262 | * General file and other defaults that don't need to be changed, and |
247 | * General file and other defaults that don't need to be changed, and |
263 | * do not change gameplay as percieved by players much. Some options |
248 | * do not change gameplay as percieved by players much. Some options |
264 | * may affect memory consumption however. |
249 | * may affect memory consumption however. |
265 | * |
250 | * |
266 | * Values: |
251 | * Values: |
267 | * |
252 | * |
268 | * CSPORT - port to use for new client/server |
|
|
269 | * DMFILE - file with dm/wizard access lists |
253 | * DMFILE - file with dm/wizard access lists |
270 | * LOGFILE - where to log if using -daemon option |
254 | * LOGFILE - where to log if using -daemon option |
271 | * MAP_ - various map timeout and swapping parameters |
255 | * MAP_ - various map timeout and swapping parameters |
272 | * MAX_OBJECTS - how many objects to keep in memory. |
256 | * MAX_OBJECTS - how many objects to keep in memory. |
273 | * MAX_OBJECTS_LWM - only swap maps out if below that value |
257 | * MAX_OBJECTS_LWM - only swap maps out if below that value |
274 | * MOTD - message of the day - printed each time someone joins the game |
|
|
275 | * PERM_FILE - limit play times |
258 | * PERM_FILE - limit play times |
276 | * SHUTDOWN - used when shutting down the server |
259 | * SHUTDOWN - used when shutting down the server |
277 | * SOCKETBUFSIZE - size of buffer used internally by the server for storing |
260 | * SOCKETBUFSIZE - size of buffer used internally by the server for storing |
278 | * backlogged messages. |
261 | * backlogged messages. |
279 | * TMPDIR - directory to use for temp files |
262 | * TMPDIR - directory to use for temp files |
280 | * UNIQUE_DIR - directory to put unique item files into |
263 | * UNIQUE_DIR - directory to put unique item files into |
281 | *********************************************************************** |
264 | *********************************************************************** |
282 | */ |
265 | */ |
283 | |
266 | |
284 | /* CSPORT is the port used for the new client/server code. Change |
|
|
285 | * if desired. Only of relevance if ERIC_SERVER is set above |
|
|
286 | */ |
|
|
287 | #define CSPORT 13327 /* old port + 1 */ |
|
|
288 | |
|
|
289 | /* |
267 | /* |
290 | * DMFILE |
268 | * DMFILE |
291 | * A file containing valid names that can be dm, one on each line. See |
269 | * A file containing valid names that can be dm, one on each line. See |
292 | * example dm_file for syntax help. |
270 | * example dm_file for syntax help. |
293 | */ |
271 | */ |
… | |
… | |
297 | |
275 | |
298 | /* LOGFILE specifies which file to log to when playing with the |
276 | /* LOGFILE specifies which file to log to when playing with the |
299 | * -daemon option. |
277 | * -daemon option. |
300 | */ |
278 | */ |
301 | #ifndef LOGFILE |
279 | #ifndef LOGFILE |
302 | #define LOGFILE "/var/log/crossfire/logfile" |
280 | #define LOGFILE "/var/log/deliantra/logfile" |
303 | #endif |
281 | #endif |
304 | |
|
|
305 | /* |
|
|
306 | * If you want to have a Message Of The Day file, define MOTD to be |
|
|
307 | * the file with the message. If the file doesn't exist or if it |
|
|
308 | * is empty, no message will be displayed. |
|
|
309 | * (It resides in the CONFDIR directory) |
|
|
310 | */ |
|
|
311 | #define MOTD "motd" |
|
|
312 | |
282 | |
313 | /* |
283 | /* |
314 | * You can restrict playing in certain times by creating a PERMIT_FILE |
284 | * You can restrict playing in certain times by creating a PERMIT_FILE |
315 | * in CONFDIR. See the sample for usage notes. |
285 | * in CONFDIR. See the sample for usage notes. |
316 | */ |
286 | */ |
… | |
… | |
352 | |
322 | |
353 | /* |
323 | /* |
354 | * These defines tells where, relative to LIBDIR, the maps, the map-index, |
324 | * These defines tells where, relative to LIBDIR, the maps, the map-index, |
355 | * archetypes highscore and treaures files and directories can be found. |
325 | * archetypes highscore and treaures files and directories can be found. |
356 | */ |
326 | */ |
357 | |
|
|
358 | #define MAPDIR "maps" |
327 | #define MAPDIR "maps" |
359 | #define TEMPLATE_DIR "template-maps" |
|
|
360 | #define ARCHETYPES "archetypes" |
|
|
361 | #define REGIONS "regions" |
|
|
362 | #define HIGHSCORE "highscore" |
|
|
363 | #define TREASURES "treasures" |
|
|
364 | |
|
|
365 | #define HIGHSCORE_LENGTH 1000 /* How many entries there are room for */ |
|
|
366 | |
328 | |
367 | #define MAXSTRING 20 |
329 | #define MAXSTRING 20 |
368 | |
330 | |
369 | #define COMMAND_HASH_SIZE 107 /* If you change this, delete all characters :) */ |
331 | #define COMMAND_HASH_SIZE 107 /* If you change this, delete all characters :) */ |
370 | |
332 | |