summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
authorshennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-12-13 22:29:09 +0000
committershennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-12-13 22:29:09 +0000
commite18a93f9c0c34d680ff98d713ee91a0e7754a025 (patch)
tree23e16db4c54ebe265897cb27a07c1bc63321e191 /src/map/battle.c
parent92e99626bb4cb15ecd336a1e1ddb97d0305b5e1d (diff)
downloadhercules-e18a93f9c0c34d680ff98d713ee91a0e7754a025.tar.gz
hercules-e18a93f9c0c34d680ff98d713ee91a0e7754a025.tar.bz2
hercules-e18a93f9c0c34d680ff98d713ee91a0e7754a025.tar.xz
hercules-e18a93f9c0c34d680ff98d713ee91a0e7754a025.zip
HARRO WORLD. GUESS WHO.
- Follow up r16981 -- battle.c --- Moved damage check up, so it doesn't waste time allocating all that stuff. --- Moved t_race2 inside BF_WEAPON block (the only case that uses it) -- status.h --- Changed (struct) weapon_atk wlv from unsigned short to unsigned char, wlv is capped to REFINE_TYPE_MAX which doesn't get anywhere near UCHAR_MAX - mempool.c -- Temporarily disabled (yes, disabled in a very silly way) Sirius_Black's memory pool implementation, not only because its not currently being used, but because it spawns a new thread (and since its not being used, it wastes a thread and the memory it consumes). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@17021 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/battle.c')
-rw-r--r--src/map/battle.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index f79de79f4..3dd2c847e 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -420,6 +420,9 @@ int battle_calc_cardfix(int attack_type, struct block_list *src, struct block_li
struct status_data *sstatus, *tstatus;
int i;
+ if( !damage )
+ return 0;
+
sd = BL_CAST(BL_PC, src);
tsd = BL_CAST(BL_PC, target);
t_class = status_get_class(target);
@@ -427,10 +430,7 @@ int battle_calc_cardfix(int attack_type, struct block_list *src, struct block_li
sstatus = status_get_status_data(src);
tstatus = status_get_status_data(target);
s_race2 = status_get_race2(src);
- t_race2 = status_get_race2(target);
- if( !damage )
- return 0;
#define bccDAMAGE_RATE(a){ damage = (int64)damage * (a)/1000;}
switch(attack_type){
case BF_MAGIC:
@@ -495,6 +495,7 @@ int battle_calc_cardfix(int attack_type, struct block_list *src, struct block_li
}
break;
case BF_WEAPON:
+ t_race2 = status_get_race2(target);
if( sd && !(nk&NK_NO_CARDFIX_ATK) && (left&2) )
{
short cardfix_ = 1000;