From a52fadeed054305bf477534143b303c48f40f681 Mon Sep 17 00:00:00 2001 From: skotlex Date: Fri, 24 Nov 2006 17:18:56 +0000 Subject: - Cleaned the opt3 values to use hex instead of decimals in status.c, removed theconstants in status.h since each opt3 value can mean many different things. - Homunc's min matk is now always equal to max matk git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9315 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/status.c | 49 +++++++++++++++++++++++++++---------------------- src/map/status.h | 15 --------------- 2 files changed, 27 insertions(+), 37 deletions(-) (limited to 'src/map') diff --git a/src/map/status.c b/src/map/status.c index 4d68e9527..61a86f697 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -2842,6 +2842,9 @@ void status_calc_bl_sub_hom(struct homun_data *hd, unsigned long flag) //[orn] if(flag|SCB_WATK && status->rhw.atk2 < status->rhw.atk) status->rhw.atk2 = status->rhw.atk; + if(flag&SCB_MATK) //Hom Min Matk is always the same as Max Matk + status->matk_min = status->matk_max; + if(flag&(SCB_ASPD|SCB_AGI|SCB_DEX)) { flag|=SCB_ASPD; @@ -5740,18 +5743,18 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val case SC_TWOHANDQUICKEN: case SC_SPEARQUICKEN: case SC_CONCENTRATION: - sc->opt3 |= 1; + sc->opt3 |= 0x1; opt_flag = 0; break; case SC_MAXOVERTHRUST: case SC_OVERTHRUST: case SC_SWOO: //Why does it shares the same opt as Overthrust? Perhaps we'll never know... - sc->opt3 |= 2; + sc->opt3 |= 0x2; opt_flag = 0; break; case SC_ENERGYCOAT: case SC_SKE: - sc->opt3 |= 4; + sc->opt3 |= 0x4; opt_flag = 0; break; case SC_INCATKRATE: @@ -5761,37 +5764,39 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val break; } case SC_EXPLOSIONSPIRITS: - sc->opt3 |= 8; + sc->opt3 |= 0x8; opt_flag = 0; break; case SC_STEELBODY: case SC_SKA: - sc->opt3 |= 16; + sc->opt3 |= 0x10; opt_flag = 0; break; case SC_BLADESTOP: - sc->opt3 |= 32; + sc->opt3 |= 0x20; opt_flag = 0; break; + //0x40 missing? case SC_BERSERK: - sc->opt3 |= 128; + sc->opt3 |= 0x80; opt_flag = 0; break; + //0x100, 0x200 missing? case SC_MARIONETTE: case SC_MARIONETTE2: - sc->opt3 |= 1024; + sc->opt3 |= 0x400; opt_flag = 0; break; case SC_ASSUMPTIO: - sc->opt3 |= 2048; + sc->opt3 |= 0x800; opt_flag = 0; break; case SC_WARM: //SG skills [Komurka] - sc->opt3 |= 4096; + sc->opt3 |= 0x1000; opt_flag = 0; break; case SC_KAITE: - sc->opt3 |= 8192; + sc->opt3 |= 0x2000; opt_flag = 0; break; //OPTION @@ -6282,55 +6287,55 @@ int status_change_end( struct block_list* bl , int type,int tid ) case SC_ONEHAND: case SC_SPEARQUICKEN: case SC_CONCENTRATION: - sc->opt3 &= ~1; + sc->opt3 &= ~0x1; opt_flag = 0; break; case SC_OVERTHRUST: case SC_MAXOVERTHRUST: case SC_SWOO: - sc->opt3 &= ~2; + sc->opt3 &= ~0x2; opt_flag = 0; break; case SC_ENERGYCOAT: case SC_SKE: - sc->opt3 &= ~4; + sc->opt3 &= ~0x4; opt_flag = 0; break; case SC_INCATKRATE: //Simulated Explosion spirits effect. if (bl->type != BL_MOB) break; case SC_EXPLOSIONSPIRITS: - sc->opt3 &= ~8; + sc->opt3 &= ~0x8; opt_flag = 0; break; case SC_STEELBODY: case SC_SKA: - sc->opt3 &= ~16; + sc->opt3 &= ~0x10; opt_flag = 0; break; case SC_BLADESTOP: - sc->opt3 &= ~32; + sc->opt3 &= ~0x20; opt_flag = 0; break; case SC_BERSERK: - sc->opt3 &= ~128; + sc->opt3 &= ~0x80; opt_flag = 0; break; case SC_MARIONETTE: case SC_MARIONETTE2: - sc->opt3 &= ~1024; + sc->opt3 &= ~0x400; opt_flag = 0; break; case SC_ASSUMPTIO: - sc->opt3 &= ~2048; + sc->opt3 &= ~0x800; opt_flag = 0; break; case SC_WARM: //SG skills [Komurka] - sc->opt3 &= ~4096; + sc->opt3 &= ~0x1000; opt_flag = 0; break; case SC_KAITE: - sc->opt3 &= ~8192; + sc->opt3 &= ~0x2000; opt_flag = 0; break; default: diff --git a/src/map/status.h b/src/map/status.h index 5723a5cde..5227edc68 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -446,21 +446,6 @@ enum { #define OPT2_DPOISON 0x080 //0x100 -//Opt3: Skill state changes, stackable. -#define OPT3_SPEEDUP 0x001 //Quicken skills -#define OPT3_POWERUP 0x002 //Power Thrust -#define OPT3_SHIELD 0x004 //Energy Coat -#define OPT3_FURY 0x008 //Explosion spirits -#define OPT3_ELECTRIC 0x010 //Steel Body -#define OPT3_STOP 0x020 //Blade Stop -//64 Unknown -#define OPT3_BERSERK 0x080 //Berserk -//256 Unknown -//512 Unknown -#define OPT3_PINKAURA 0x400 //Marionette -#define OPT3_AURASHIELD 0x800 //Assumptio -#define OPT3_HEAT 0x1000 //Warmth Skills - #define OPTION_SIGHT 0x00000001 #define OPTION_HIDE 0x00000002 #define OPTION_CLOAK 0x00000004 -- cgit v1.2.3-70-g09d2