Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void spell_rasengan (int sn, int level, CHAR_DATA * ch, void *vo,
- int target)
- {
- CHAR_DATA *victim = (CHAR_DATA *) vo;
- static const sh_int dam_each[] = {
- 0,
- 0, 0, 0, 0, 14, 17, 20, 23, 26, 29,
- 29, 29, 30, 30, 31, 31, 32, 35, 39, 42,
- 45, 48, 52, 55, 58, 59, 60, 61, 62, 64,
- 65, 66, 68, 70, 72, 75, 78, 82, 85, 88,
- 92, 96, 100, 105, 110, 114, 118, 122, 126, 130,
- 135, 140, 144, 148, 152, 156, 160, 165, 170, 175,
- 180, 185, 190, 195, 200, 205, 210, 215, 220, 225,
- 230, 235, 240, 245, 250, 255, 260, 265, 270, 275,
- 280, 285, 290, 295, 300, 305, 310, 315, 320, 325,
- 330, 335, 340, 345, 350, 355, 360, 365, 370, 375,
- 381, 387, 193, 399, 405, 411, 417, 423, 429, 435,
- 441, 447, 453, 459, 465, 471, 477, 483, 489, 495,
- 501, 506, 512, 518, 524, 530, 536, 542, 548, 554,
- 561, 568, 575, 592, 599, 606, 613, 620, 627, 634,
- 641, 648, 655, 662, 669, 676, 683, 690, 697, 704,
- 711, 718, 725, 732, 739, 746, 753, 760, 767, 774,
- 782, 790, 798, 806, 814, 822, 830, 838, 844, 852,
- 860, 868, 876, 894, 902, 910, 918, 926, 934, 942,
- 950, 958, 966, 974, 982, 990, 998, 1006, 1014, 1022,
- 1032, 1043, 1054, 1065, 1076, 1087, 1098, 1209, 1220, 1232,
- 1244, 1256, 1268, 1280, 1292, 1304, 1316, 1328, 1340, 1352
- };
- int dam;
- int chakra_cost = 0;
- level = UMIN (level, sizeof (dam_each) / sizeof (dam_each[0]) - 1);
- level = UMAX (0, level);
- dam = number_range (dam_each[level] / 2, dam_each[level] * 2);
- if (saves_spell (level, victim, DAM_ENERGY))
- dam /= 2;
- act ("{WYou yell 'Rasengan!'{x and gather {Ca ball of chakra{x in your hands.\n\r You run towards $N and touch them with your {CRasengan{x", ch, NULL, victim, TO_CHAR);
- act ("{W$n yells, 'Rasengan!'{x and gathers {Ca ball of chakra{x in their hands.\n\r They run towards you and touch you with their {CRasengan{x", ch, NULL, victim, TO_VICT);
- act ("{W$n yells, 'Rasengan!'{x and gathers {Ca ball of chakra{x in their hands.\n\r They run towards $N and touch them with their {CRasengan{x", ch, NULL, victim, TO_NOTVICT);
- if (is_affected (ch, skill_lookup ("nature earth")))
- {
- act ("{WYour earth nature mixes itself with your jutsu. {CNature change: {GR{ya{Gs{ye{Gn{D-{GA{yv{Ga{yl{Ga{yn{Gc{yh{Ge{W.{x", ch, NULL, victim, TO_CHAR);
- act ("{W$n's earth nature mixes with thier jutsu. {CNature change: {GR{ya{Gs{ye{Gn{D-{GA{yv{Ga{yl{Ga{yn{Gc{yh{Ge{W.{x", ch, NULL, victim, TO_VICT);
- act ("{W$n's earth nature mixes with thier jutsu. {CNature change: {GR{ya{Gs{ye{Gn{D-{GA{yv{Ga{yl{Ga{yn{Gc{yh{Ge{W.{x", ch, NULL, victim, TO_NOTVICT);
- chakra_cost += ch->level
- dam += (((ch->level) + (get_curr_stat (ch, STAT_CON)) * 2)
- dam += dam * 3
- if (dam > max_dam)
- dam = max_dam;
- if (chakra_cost > ch->mana)
- chakra_cost = (ch->mana);
- if (IS_NPC (victim))
- else
- if (hasearth (victim))
- dam -= dam /3;
- }
- if (is_affected (ch, skill_lookup ("nature fire")))
- {
- act ("{WYour fire nature mixes itself with your jutsu. {CNature change: {YR{Ra{ys{Re{Yn{D-{YF{Ri{yr{re{yb{ra{Rl{Yl{W.{x", ch, NULL, victim, TO_CHAR);
- act ("{W$n's fire nature mixes with thier jutsu. {CNature change: {YR{Ra{ys{Re{Yn{D-{YF{Ri{yr{re{yb{ra{Rl{Yl{W.{x", ch, NULL, victim, TO_VICT);
- act ("{W$n's fire nature mixes with thier jutsu. {CNature change: {YR{Ra{ys{Re{Yn{D-{YF{Ri{yr{re{yb{ra{Rl{Yl{W.{x", ch, NULL, victim, TO_NOTVICT);
- chakra_cost += ch->level
- dam += (((ch->level) + (get_curr_stat (ch, STAT_STR)) * 2)
- dam += dam * 3
- if (dam > max_dam)
- dam = max_dam;
- if (IS_SET (victim->imm_flags, IMM_FIRE))
- dam = 0;
- if (IS_SET (victim->res_flags, RES_FIRE))
- dam -= dam / 3;
- if (IS_SET (victim->vuln_flags, VULN_FIRE))
- dam += dam / 2;
- if (chakra_cost > ch->mana)
- chakra_cost = (ch->mana);
- if (IS_NPC (victim))
- else
- if (hasfire (victim))
- dam -= dam /3;
- }
- if (is_affected (ch, skill_lookup ("nature lightning")))
- {
- act ("{WYour lightning nature mixes itself with your jutsu. {CNature change: {CR{Ya{cs{Ye{Cn{D-{CV{Yo{cl{Yt{ca{Yg{Ce{W.{x", ch, NULL, victim, TO_CHAR);
- act ("{W$n's lightning nature mixes with thier jutsu. {CNature change: {CR{Ya{cs{Ye{Cn{D-{CV{Yo{cl{Yt{ca{Yg{Ce{W.{x", ch, NULL, victim, TO_VICT);
- act ("{W$n's lightning nature mixes with thier jutsu. {CNature change: {CR{Ya{cs{Ye{Cn{D-{CV{Yo{cl{Yt{ca{Yg{Ce{W.{x", ch, NULL, victim, TO_NOTVICT);
- chakra_cost += ch->level
- dam += (((ch->level) + (get_curr_stat (ch, STAT_DEX)) * 2)
- dam += dam * 3
- if (dam > max_dam)
- dam = max_dam;
- if (IS_SET (victim->imm_flags, IMM_LIGHTNING))
- dam = 0;
- if (IS_SET (victim->res_flags, RES_LIGHTNING))
- dam -= dam / 3;
- if (IS_SET (victim->vuln_flags, VULN_LIGHTNING))
- dam += dam / 2;
- if (chakra_cost > ch->mana)
- chakra_cost = (ch->mana);
- if (IS_NPC (victim))
- else
- if (haslightning (victim))
- dam -= dam /3;
- }
- if (is_affected (ch, skill_lookup ("nature water")))
- {
- act ("{WYour water nature mixes itself with your jutsu. {CNature change: {CR{wa{cs{we{Cn{D-{CT{ws{cu{Wn{ca{wm{Ce{W.{x", ch, NULL, victim, TO_CHAR);
- act ("{W$n's water nature mixes with thier jutsu. {CNature change: {CR{wa{cs{we{Cn{D-{CT{ws{cu{Wn{ca{wm{Ce{W.{x", ch, NULL, victim, TO_VICT);
- act ("{W$n's water nature mixes with thier jutsu. {CNature change: {CR{wa{cs{we{Cn{D-{CT{ws{cu{Wn{ca{wm{Ce{W.{x", ch, NULL, victim, TO_NOTVICT);
- chakra_cost += ch->level
- dam += (((ch->level) + (get_curr_stat (ch, STAT_WIS)) * 2)
- dam += dam * 3
- if (dam > max_dam)
- dam = max_dam;
- if (chakra_cost > ch->mana)
- chakra_cost = (ch->mana);
- if (IS_NPC (victim))
- else
- if (haswater (victim))
- dam -= dam /3;
- }
- if (is_affected (ch, skill_lookup ("nature air")))
- {
- act ("{WYour air nature mixes itself with your jutsu. {CNature change: {DR{Ca{Ms{Ce{Dn{w-{DS{Ch{Mi{mr{cu{Mk{Ce{Dn{W.{x", ch, NULL, victim, TO_CHAR);
- act ("{W$n's air nature mixes with thier jutsu. {CNature change: {DR{Ca{Ms{Ce{Dn{w-{DS{Ch{Mi{mr{cu{Mk{Ce{Dn{W.{x", ch, NULL, victim, TO_VICT);
- act ("{W$n's air nature mixes with thier jutsu. {CNature change: {DR{Ca{Ms{Ce{Dn{w-{DS{Ch{Mi{mr{cu{Mk{Ce{Dn{W.{x", ch, NULL, victim, TO_NOTVICT);
- chakra_cost += ch->level
- dam += (((ch->level) + (get_curr_stat (ch, STAT_INT)) * 2)
- dam += dam * 3
- if (dam > max_dam)
- dam = max_dam;
- if (chakra_cost > ch->mana)
- chakra_cost = (ch->mana);
- if (IS_NPC (victim))
- else
- if (hasair (victim))
- dam -= dam /3;
- }
- if (is_protected (ch, victim, FALSE))
- return;
- if (IS_SET (victim->imm_flags, IMM_NINJUTSU))
- dam = 0;
- if (IS_SET (victim->res_flags, RES_NINJUTSU))
- dam -= dam / 3;
- if (IS_SET (victim->vuln_flags, VULN_NINJUTSU))
- dam += dam / 2;
- damage (ch, victim, dam, sn, DAM_ENERGY, TRUE);
- if (clone_ninjutsu (ch))
- {
- int number_shadows = num_shadows (ch);
- int shadow_copied = 0;
- while ((number_shadows > 0) && (shadow_copied < 5))
- {
- shadow_copied ++;
- CHAR_DATA * shadow_clone = shadow (ch, number_shadows);
- deduct_clone_cost (shadow_clone, 15);
- if (check_shadow_clone (shadow_clone))
- destroy_shadow_clone (ch, shadow_clone, FALSE);
- else
- spell_oodama_rasengan (sn, level, shadow_clone, vo, target);
- number_shadows --;
- }
- }
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement