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

Comparing deliantra/server/server/spell_effect.C (file contents):
Revision 1.131 by root, Fri Apr 23 04:32:47 2010 UTC vs.
Revision 1.133 by root, Sun May 2 19:51:50 2010 UTC

1089 force->speed_left = -1.0; 1089 force->speed_left = -1.0;
1090 force->set_flag (FLAG_APPLIED); 1090 force->set_flag (FLAG_APPLIED);
1091 1091
1092 /* Now start processing the effects. First, protections */ 1092 /* Now start processing the effects. First, protections */
1093 for (i = 0; i < NROFATTACKS; i++) 1093 for (i = 0; i < NROFATTACKS; i++)
1094 {
1095 if (spell_ob->resist[i]) 1094 if (spell_ob->resist[i])
1096 {
1097 force->resist[i] = spell_ob->resist[i] + SP_level_dam_adjust (caster, spell_ob); 1095 force->resist[i] = min (100, spell_ob->resist[i] + SP_level_dam_adjust (caster, spell_ob));
1098 if (force->resist[i] > 100)
1099 force->resist[i] = 100;
1100 }
1101 }
1102 1096
1103 if (spell_ob->stats.hp) 1097 if (spell_ob->stats.hp)
1104 force->stats.hp = spell_ob->stats.hp + SP_level_dam_adjust (caster, spell_ob); 1098 force->stats.hp = spell_ob->stats.hp + SP_level_dam_adjust (caster, spell_ob);
1105 1099
1106 if (tmp->type == PLAYER) 1100 if (tmp->type == PLAYER)
1217 { 1211 {
1218 new_draw_info (NDI_UNIQUE, 0, op, "Recasting the spell had no effect."); 1212 new_draw_info (NDI_UNIQUE, 0, op, "Recasting the spell had no effect.");
1219 } 1213 }
1220 return 0; 1214 return 0;
1221 } 1215 }
1216
1222 force->duration = spell_ob->duration + SP_level_duration_adjust (caster, spell_ob) * 50; 1217 force->duration = spell_ob->duration + SP_level_duration_adjust (caster, spell_ob) * 50;
1223 force->speed = 1.0; 1218 force->speed = 1.0;
1224 force->speed_left = -1.0; 1219 force->speed_left = -1.0;
1225 force->set_flag (FLAG_APPLIED); 1220 force->set_flag (FLAG_APPLIED);
1226 1221
1374 } 1369 }
1375 1370
1376 value -= rndm (value >> 4); 1371 value -= rndm (value >> 4);
1377 value = min (value, value_max); 1372 value = min (value, value_max);
1378 1373
1379 for (int i = 0; i < sizeof (nugget) / sizeof (nugget [0]); ++i) 1374 for (int i = 0; i < array_length (nugget); ++i)
1380 if (int nrof = value / nugget [i]->value) 1375 if (int nrof = value / nugget [i]->value)
1381 { 1376 {
1382 value -= nrof * nugget[i]->value; 1377 value -= nrof * nugget[i]->value;
1383 1378
1384 object *tmp = nugget[i]->instance (); 1379 object *tmp = nugget[i]->instance ();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines