divisioncosts - adjust divisions so they abide by normal quotas rule, and
authornveid <nveid@comcast.net>
Sat, 7 Oct 2006 05:48:29 +0000 (05:48 +0000)
committernveid <nveid@comcast.net>
Sat, 7 Oct 2006 05:48:29 +0000 (05:48 +0000)
added the division_cost configuration variable.  Default cost for creating a
division is now 1.

game/txt/changes/0.72p2
hdrs/conf.h
src/conf.c
src/division.c

index ad02b50d0fbe89d9935dc37a1533661508d3ee71..d816af598f1a0c9699fa6a4b1c65a33ff70d71f9 100644 (file)
@@ -14,3 +14,6 @@ CobraMUSH Version 0.72p2
       script. Removed as to acknowledge its non-existance. [RLB]
     * Program environment code was partially dropped in darcs
       conversion.  Rewrote supported missing code needed. [RLB]
+    * @div/create didn't abide by quotas.  Added can_pay_fees()
+      check to div creatin and added new configuration option
+      division_cost.
index fe986848588b21bd38e421af31210c3a9f664607..2bbd23c49130b368572afd5f51bd07dec6667744 100644 (file)
@@ -235,6 +235,7 @@ struct options_table {
   char names_file[256];        /**< Name of file of forbidden player names */
   int object_cost;     /**< Cost to create an object */
   int exit_cost;       /**< Cost to create an exit */
+  int division_cost;   /**< Cost to create a division */
   int link_cost;       /**< Cost to link an exit */
   int room_cost;       /**< Cost to dig a room */
   int queue_cost;      /**< Deposit to queue a command */
@@ -384,6 +385,7 @@ int cf_time(const char *opt, const char *val, void *loc, int maxval,
 #define ROOM_COST (options.room_cost)
 #define LINK_COST (options.link_cost)
 #define EXIT_COST (options.exit_cost)
+#define DIVISION_COST (options.division_cost)
 #define OBJECT_COST (options.object_cost)
 #define GOD ((dbref) 1)
 #define ANNOUNCE_CONNECTS (options.announce_connects)
index 8004144d20ce53a7680b77f28cc92dd8eb731b28..76e47711e5bf60d007c92532edda7c2332fe936e 100644 (file)
@@ -449,6 +449,8 @@ COBRA_CONF conftable[] = {
   ,
   {"exit_cost", cf_int, &options.exit_cost, 10000, 0, "costs"}
   ,
+  {"division_cost", cf_int, &options.division_cost, 10000, 0, "costs"}
+  ,
   {"link_cost", cf_int, &options.link_cost, 10000, 0, "costs"}
   ,
   {"room_cost", cf_int, &options.room_cost, 10000, 0, "costs"}
@@ -1175,6 +1177,7 @@ conf_default_set(void)
   strcpy(options.names_file, "names.cnf");
   options.object_cost = 10;
   options.exit_cost = 1;
+  options.division_cost = 1;
   options.link_cost = 1;
   options.room_cost = 10;
   options.queue_cost = 10;
index f73f44656e6fe6bad26b3ace20f0142d1a96338a..baddd953685be37eb8f1cd7630d0f0ad30513ff7 100644 (file)
@@ -1546,6 +1546,9 @@ create_div(dbref owner, const char *name)
   char buf[BUFFER_LEN];
   dbref obj, loc;
 
+  if(!can_pay_fees(owner, DIVISION_COST))
+    return;
+
   if (!div_powover(owner, owner, "Division")) {
     notify(owner, T(e_perm));
     return NOTHING;