diff options
author | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-01 16:00:51 +0000 |
---|---|---|
committer | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-01 16:00:51 +0000 |
commit | 207277be0ac9c73626adc9cf8a6841a3dffe67ef (patch) | |
tree | ad3f8e167dffc823ff2cd7d7c14489176b78cd88 /src/map/battle.c | |
parent | a37c493390ab0d6b8c834dbff973875aa9fbc607 (diff) | |
download | hercules-207277be0ac9c73626adc9cf8a6841a3dffe67ef.tar.gz hercules-207277be0ac9c73626adc9cf8a6841a3dffe67ef.tar.bz2 hercules-207277be0ac9c73626adc9cf8a6841a3dffe67ef.tar.xz hercules-207277be0ac9c73626adc9cf8a6841a3dffe67ef.zip |
- Updated Poison React
- Added Soul Change, Soul Burn
- Added a somewhat crude timer for Venom splasher
- Added a fix for Guild Skills causing crashes
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@431 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 8309bce78..6ff2697b4 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -4008,6 +4008,7 @@ struct Damage battle_calc_magic_attack( struct Damage md; int aflag; int normalmagic_flag=1; + int matk_flag = 1; int ele=0,race=7,t_ele=0,t_race=7,t_mode = 0,cardfix,t_class,i; struct map_session_data *sd=NULL,*tsd=NULL; struct mob_data *tmd = NULL; @@ -4165,15 +4166,26 @@ struct Damage battle_calc_magic_attack( printf("battle_calc_magic_attack(): napalmvulcan enemy count=0 !\n"); } break; + case PF_SOULBURN: // Celest + if (target->type != BL_PC || skill_lv < 5) { + memset(&md,0,sizeof(md)); + return md; + } else if (target->type == BL_PC) { + damage = ((struct map_session_data *)target)->status.sp * 2; + matk_flag = 0; // don't consider matk and matk2 + } + break; } } if(normalmagic_flag){ // 一般魔法ダメージ計算 int imdef_flag=0; - if(matk1>matk2) - damage= matk2+rand()%(matk1-matk2+1); - else - damage= matk2; + if (matk_flag) { + if(matk1>matk2) + damage= matk2+rand()%(matk1-matk2+1); + else + damage= matk2; + } if(sd) { if(sd->ignore_mdef_ele & (1<<t_ele) || sd->ignore_mdef_race & (1<<t_race)) imdef_flag = 1; |