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.101 by root, Sun Nov 29 17:26:28 2009 UTC vs.
Revision 1.105 by root, Fri Mar 26 01:04:45 2010 UTC

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.
50 } 50 }
51 } 51 }
52 52
53 if (op->other_arch) 53 if (op->other_arch)
54 { 54 {
55 object *tmp = arch_to_object (op->other_arch); 55 object *tmp = op->other_arch->instance ();
56 tmp->x = op->x; 56 tmp->x = op->x;
57 tmp->y = op->y; 57 tmp->y = op->y;
58 tmp->map = op->map; 58 tmp->map = op->map;
59 tmp->level = op->level; 59 tmp->level = op->level;
60 insert_ob_in_map (tmp, op->map, op, 0); 60 insert_ob_in_map (tmp, op->map, op, 0);
79 } 79 }
80 } 80 }
81 81
82 if (op->other_arch) 82 if (op->other_arch)
83 { 83 {
84 tmp = arch_to_object (op->other_arch); 84 tmp = op->other_arch->instance ();
85 tmp->x = op->x; 85 tmp->x = op->x;
86 tmp->y = op->y; 86 tmp->y = op->y;
87 tmp->map = op->map; 87 tmp->map = op->map;
88 tmp->level = op->level; 88 tmp->level = op->level;
89 insert_ob_in_map (tmp, op->map, op, 0); 89 insert_ob_in_map (tmp, op->map, op, 0);
135 // ...or use other_arch 135 // ...or use other_arch
136 dir = find_free_spot (gen->other_arch, gen->map, gen->x, gen->y, 1, SIZEOFFREE1 + 1); 136 dir = find_free_spot (gen->other_arch, gen->map, gen->x, gen->y, 1, SIZEOFFREE1 + 1);
137 if (dir < 0) 137 if (dir < 0)
138 return; 138 return;
139 139
140 op = arch_to_object (gen->other_arch); 140 op = gen->other_arch->instance ();
141 } 141 }
142 else 142 else
143 return; 143 return;
144 144
145 op->expand_tail (); 145 op->expand_tail ();
1078 } 1078 }
1079 else 1079 else
1080 return; 1080 return;
1081 } 1081 }
1082 else 1082 else
1083 move_object (victim, dir); 1083 victim->move (dir);
1084 1084
1085 if (!op->stats.maxsp && op->attacktype) 1085 if (!op->stats.maxsp && op->attacktype)
1086 op->stats.maxsp = 2; 1086 op->stats.maxsp = 2;
1087 1087
1088 if (op->attacktype) 1088 if (op->attacktype)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines