ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/server/time.C
(Generate patch)

Comparing deliantra/server/server/time.C (file contents):
Revision 1.42 by root, Sat Mar 17 20:36:05 2007 UTC vs.
Revision 1.43 by root, Sat Apr 21 16:56:32 2007 UTC

107 if (gen->map == NULL) 107 if (gen->map == NULL)
108 { 108 {
109 //LOG(llevError,"Generator (%s) not on a map?\n", gen->name); 109 //LOG(llevError,"Generator (%s) not on a map?\n", gen->name);
110 return; 110 return;
111 } 111 }
112
112 /*First count numer of objects in inv */ 113 /*First count numer of objects in inv */
113 for (op = gen->inv; op; op = op->below) 114 for (op = gen->inv; op; op = op->below)
114 qty++; 115 qty++;
116
115 if (!qty) 117 if (!qty)
116 { 118 {
117 LOG (llevError, "Generator (%s) has no inventory in generate_monster_inv?\n", &gen->name); 119 LOG (llevError, "Generator (%s) has no inventory in generate_monster_inv?\n", &gen->name);
118 return; /*No inventory */ 120 return; /*No inventory */
119 } 121 }
120 qty = rndm (0, qty - 1); 122 qty = rndm (0, qty - 1);
121 for (op = gen->inv; qty; qty--) 123 for (op = gen->inv; qty; qty--)
122 op = op->below; 124 op = op->below;
125
123 i = find_free_spot (op, gen->map, gen->x, gen->y, 1, 9); 126 i = find_free_spot (op, gen->map, gen->x, gen->y, 1, 9);
124 if (i == -1) 127 if (i == -1)
125 return; 128 return;
129
126 head = object_create_clone (op); 130 head = object_create_clone (op);
127 CLEAR_FLAG (head, FLAG_IS_A_TEMPLATE); 131 CLEAR_FLAG (head, FLAG_IS_A_TEMPLATE);
128 unflag_inv (head, FLAG_IS_A_TEMPLATE); 132 unflag_inv (head, FLAG_IS_A_TEMPLATE);
129 if (rndm (0, 9)) 133 if (rndm (0, 9))
130 generate_artifact (head, gen->map->difficulty); 134 generate_artifact (head, gen->map->difficulty);
135
131 insert_ob_in_map_at (head, gen->map, gen, 0, gen->x + freearr_x[i], gen->y + freearr_y[i]); 136 insert_ob_in_map_at (head, gen->map, gen, 0, gen->x + freearr_x[i], gen->y + freearr_y[i]);
132 if (QUERY_FLAG (head, FLAG_FREED)) 137 if (QUERY_FLAG (head, FLAG_FREED))
133 return; 138 return;
139
134 if (head->has_random_items ()) 140 if (head->has_random_items ())
135 create_treasure (head->randomitems, head, GT_APPLY, gen->map->difficulty, 0); 141 create_treasure (head->randomitems, head, GT_APPLY, gen->map->difficulty, 0);
136} 142}
137 143
138void 144void

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines