summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
authorcelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-12-01 16:00:51 +0000
committercelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-12-01 16:00:51 +0000
commit207277be0ac9c73626adc9cf8a6841a3dffe67ef (patch)
treead3f8e167dffc823ff2cd7d7c14489176b78cd88 /src/map/battle.c
parenta37c493390ab0d6b8c834dbff973875aa9fbc607 (diff)
downloadhercules-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.c20
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;