You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.5 KiB

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include "character.h"
  5. #include "spell.h"
  6. SpellEffect spellFireball(Character *character) {
  7. SpellEffect fireball;
  8. fireball.damage = 10 + (getCharacterIntelligence(character) / 2);
  9. fireball.healing = 0;
  10. fireball.manaCost = 10;
  11. fireball.effect = SPELL_EFFECT_NONE;
  12. fireball.effectDuration = 0;
  13. return fireball;
  14. }
  15. SpellEffect spellHeal(Character *character) {
  16. SpellEffect heal;
  17. heal.damage = 0;
  18. heal.healing = 10 + (getCharacterIntelligence(character) / 3);
  19. heal.manaCost = 10;
  20. heal.effect = SPELL_EFFECT_NONE;
  21. heal.effectDuration = 0;
  22. return heal;
  23. }
  24. SpellEffect spellLightning(Character *character) {
  25. SpellEffect lightning;
  26. lightning.damage = 10 + (getCharacterIntelligence(character) / 2);
  27. lightning.healing = 0;
  28. lightning.manaCost = 10;
  29. lightning.effect = SPELL_EFFECT_STUN;
  30. lightning.effectDuration = 1;
  31. return lightning;
  32. }
  33. SpellEffect spellRegeneration (Character *character) {
  34. SpellEffect regeneration;
  35. regeneration.damage = 0;
  36. regeneration.healing = 5 + (getCharacterIntelligence(character) / 4);
  37. regeneration.manaCost = 10;
  38. regeneration.effect = SPELL_EFFECT_REGENERATION;
  39. regeneration.effectDuration = 2;
  40. return regeneration;
  41. }
  42. SpellEffect spellFreeze(Character *character) {
  43. SpellEffect freeze;
  44. freeze.damage = 0;
  45. freeze.healing = 0;
  46. freeze.manaCost = 10;
  47. freeze.effect = SPELL_EFFECT_FREEZE;
  48. freeze.effectDuration = 2;
  49. return freeze;
  50. }