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

Comparing deliantra/server/random_maps/monster.C (file contents):
Revision 1.6 by root, Mon Dec 25 14:43:23 2006 UTC vs.
Revision 1.9 by root, Sun Dec 31 19:02:24 2006 UTC

1
1/* 2/*
2 CrossFire, A Multiplayer game for X-windows 3 CrossFire, A Multiplayer game for X-windows
3 4
4 Copyright (C) 2002 Mark Wedel & Crossfire Development Team 5 Copyright (C) 2002 Mark Wedel & Crossfire Development Team
5 Copyright (C) 1992 Frank Tore Johansen 6 Copyright (C) 1992 Frank Tore Johansen
41 42
42 x = new_obj->x; 43 x = new_obj->x;
43 y = new_obj->y; 44 y = new_obj->y;
44 old_seg = new_obj; 45 old_seg = new_obj;
45 head = new_obj; 46 head = new_obj;
47
46 for (at = new_obj->arch->more; at != NULL; at = at->more) 48 for (at = new_obj->arch->more; at != NULL; at = at->more)
47 { 49 {
48 object *new_seg; 50 object *new_seg;
49 51
50 new_seg = arch_to_object (at); 52 new_seg = arch_to_object (at);
54 insert_ob_in_map (new_seg, new_seg->map, new_seg, INS_NO_MERGE | INS_NO_WALK_ON); 56 insert_ob_in_map (new_seg, new_seg->map, new_seg, INS_NO_MERGE | INS_NO_WALK_ON);
55 new_seg->head = head; 57 new_seg->head = head;
56 old_seg->more = new_seg; 58 old_seg->more = new_seg;
57 old_seg = new_seg; 59 old_seg = new_seg;
58 } 60 }
61
59 old_seg->more = NULL; 62 old_seg->more = NULL;
60
61
62} 63}
63
64 64
65/* place some monsters into the map. */ 65/* place some monsters into the map. */
66void 66void
67place_monsters (maptile *map, char *monsterstyle, int difficulty, RMParms * RP) 67place_monsters (maptile *map, char *monsterstyle, int difficulty, random_map_params *RP)
68{ 68{
69 char styledirname[256]; 69 char styledirname[256];
70 maptile *style_map = 0; 70 maptile *style_map = 0;
71 int failed_placements; 71 int failed_placements;
72 sint64 exp_per_sq, total_experience; 72 sint64 exp_per_sq, total_experience;
107 for (at = new_monster->arch; at != NULL; at = at->more) 107 for (at = new_monster->arch; at != NULL; at = at->more)
108 number_monsters++; 108 number_monsters++;
109 RP->total_map_hp += new_monster->stats.hp; /* a global count */ 109 RP->total_map_hp += new_monster->stats.hp; /* a global count */
110 } 110 }
111 else 111 else
112 {
113 failed_placements++; 112 failed_placements++;
114 } 113
115 exp_per_sq = (sint64) (((double) 1000 * total_experience) / (map->width * map->height + 1)); 114 exp_per_sq = (sint64) (((double) 1000 * total_experience) / (map->width * map->height + 1));
116 } 115 }
117} 116}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines