diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-02-09 14:21:41 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-02-09 14:21:41 +0000 |
commit | 173c3195ade5a6cdfe20c49e7f184a6b1336ca19 (patch) | |
tree | f85048abbba257b7418b8f379ed2b858088945d7 /src/map/status.c | |
parent | 71ae3526c038b1aceb0400c6c798f2a69234087b (diff) | |
download | hercules-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.c | 6 |
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;
|