… | |
… | |
1237 | } |
1237 | } |
1238 | |
1238 | |
1239 | op->change_skill (skill); /* needed for proper exp credit */ |
1239 | op->change_skill (skill); /* needed for proper exp credit */ |
1240 | } |
1240 | } |
1241 | |
1241 | |
|
|
1242 | if (INVOKE_OBJECT (CAST_SPELL, spell_ob, ARG_OBJECT (op), ARG_OBJECT (caster), ARG_INT (dir), ARG_STRING (stringarg))) |
|
|
1243 | return RESULT_INT (0); |
|
|
1244 | |
1242 | switch (spell_ob->subtype) |
1245 | switch (spell_ob->subtype) |
1243 | { |
1246 | { |
1244 | /* The order of case statements is same as the order they show up |
1247 | /* The order of case statements is same as the order they show up |
1245 | * in in spells.h. |
1248 | * in in spells.h. |
1246 | */ |
1249 | */ |
… | |
… | |
1448 | |
1451 | |
1449 | case SP_AURA: |
1452 | case SP_AURA: |
1450 | success = create_aura (op, caster, spell_ob); |
1453 | success = create_aura (op, caster, spell_ob); |
1451 | break; |
1454 | break; |
1452 | |
1455 | |
1453 | case SP_TOWN_PORTAL: |
|
|
1454 | success = cast_create_town_portal (op, caster, spell_ob, dir); |
|
|
1455 | break; |
|
|
1456 | |
|
|
1457 | case SP_PARTY_SPELL: |
1456 | case SP_PARTY_SPELL: |
1458 | success = cast_party_spell (op, caster, dir, spell_ob, stringarg); |
1457 | success = cast_party_spell (op, caster, dir, spell_ob, stringarg); |
1459 | break; |
1458 | break; |
1460 | |
1459 | |
1461 | default: |
1460 | default: |
1462 | if (!INVOKE_OBJECT (CAST_SPELL, spell_ob, ARG_OBJECT (op), ARG_OBJECT (caster), ARG_INT (dir), ARG_STRING (stringarg))) |
|
|
1463 | LOG (llevError, "cast_spell: Unhandled spell subtype %d\n", spell_ob->subtype); |
1461 | LOG (llevError, "cast_spell: Unhandled spell subtype %d\n", spell_ob->subtype); |
1464 | } |
1462 | } |
1465 | |
1463 | |
1466 | /* FIXME - we need some better sound suppport */ |
1464 | /* FIXME - we need some better sound suppport */ |
1467 | // yes, for example, augment map info with the spell effect |
1465 | // yes, for example, augment map info with the spell effect |
1468 | // so clients can calculate the sounds themselves |
1466 | // so clients can calculate the sounds themselves |