summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-02-09 14:21:41 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-02-09 14:21:41 +0000
commit173c3195ade5a6cdfe20c49e7f184a6b1336ca19 (patch)
treef85048abbba257b7418b8f379ed2b858088945d7 /src/map/status.c
parent71ae3526c038b1aceb0400c6c798f2a69234087b (diff)
downloadhercules-173c3195ade5a6cdfe20c49e7f184a6b1336ca19.tar.gz
hercules-173c3195ade5a6cdfe20c49e7f184a6b1336ca19.tar.bz2
hercules-173c3195ade5a6cdfe20c49e7f184a6b1336ca19.tar.xz
hercules-173c3195ade5a6cdfe20c49e7f184a6b1336ca19.zip
- Code rewrites in mob_damage and party_exp_even_share for correctly handling overflow issues. Now uses UINT_MAX for range comparisons, as it should be.
- Also modified the mob_db reading to use UINT_MAX for exp limits, changed their exp/job exp fields to unsigned int as well. - Modified multi_level_up behaviour to work as specified by Kyoki. - removed functions pc_next[base/job]after as they are no longer needed. - Modified the skill attack display of Meteor Assault and the Warm Skills (I think the caster should no longer do fancy animations now on each hit) - Added back water elemental targets being inmune to SC_FREEZE - Fixed the status_change_start line in charsave.c (I knew I was forgetting something) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5235 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/map/status.c b/src/map/status.c
index f9c79cc8c..c2ed134e1 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -1618,7 +1618,7 @@ int status_calc_pc(struct map_session_data* sd,int first)
// Relative modifiers from passive skills
if((skill=pc_checkskill(sd,SA_ADVANCEDBOOK))>0)
sd->aspd_rate -= (skill/2);
- if((skill = pc_checkskill(sd,SG_DEVIL)) > 0 && !pc_nextjobafter(sd))
+ if((skill = pc_checkskill(sd,SG_DEVIL)) > 0 && !pc_nextjobexp(sd))
sd->aspd_rate -= (skill*3);
if(pc_isriding(sd))
@@ -3740,8 +3740,10 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
//Check for inmunities / sc fails
switch (type) {
- case SC_STONE:
case SC_FREEZE:
+ if (elem == 1 && !(flag&1))
+ return 0; //Can't freeze water elementals.
+ case SC_STONE:
//I've been informed that undead chars are inmune to stone curse too. [Skotlex]
if (undead_flag && !(flag&1))
return 0;