diff options
author | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2005-04-02 14:28:14 +0000 |
---|---|---|
committer | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2005-04-02 14:28:14 +0000 |
commit | 737d5d29aaad7a7605f0988d28c92a7763d141be (patch) | |
tree | 8a7d7ec72d157640f36caa12e214bad6108b8d61 /src/map/status.c | |
parent | 1d7c34c953d340d7ea65d6c78e27ccd5de3a1711 (diff) | |
download | hercules-737d5d29aaad7a7605f0988d28c92a7763d141be.tar.gz hercules-737d5d29aaad7a7605f0988d28c92a7763d141be.tar.bz2 hercules-737d5d29aaad7a7605f0988d28c92a7763d141be.tar.xz hercules-737d5d29aaad7a7605f0988d28c92a7763d141be.zip |
* Added the 3 baby skills WE_BABY, CALLBABY and CALLPARENT
* Some tidying up in skill.c
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1379 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/src/map/status.c b/src/map/status.c index f5098bd20..68212e6e7 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -252,7 +252,9 @@ int SkillStatusChangeTable[]={ /* status.hのenumのSC_***とあわせること */ SC_MEMORIZE, SC_FOGWALL, SC_SPIDERWEB, - -1,-1,-1,-1, + -1,-1, + SC_BABY, + -1, /* 410- */ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1, }; @@ -3003,7 +3005,8 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val struct status_change* sc_data; short *sc_count, *option, *opt1, *opt2, *opt3; int opt_flag = 0, calc_flag = 0,updateflag = 0, save_flag = 0, race, mode, elem, undead_flag; - int scdef=0; + int scdef = 0; + int type2 = type; nullpo_retr(0, bl); if(bl->type == BL_SKILL) @@ -3213,7 +3216,7 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val case SC_ENCPOISON: /* エンチャントポイズン */ calc_flag = 1; val2=(((val1 - 1) / 2) + 3)*100; /* 毒付?確率 */ - skill_encchant_eremental_end(bl,SC_ENCPOISON); + skill_enchant_elemental_end(bl,SC_ENCPOISON); break; case SC_EDP: // [Celest] val2 = val1 + 2; /* 猛毒付?確率(%) */ @@ -3226,7 +3229,7 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val calc_flag = 1; break; case SC_ASPERSIO: /* アスペルシオ */ - skill_encchant_eremental_end(bl,SC_ASPERSIO); + skill_enchant_elemental_end(bl,SC_ASPERSIO); break; case SC_SUFFRAGIUM: /* サフラギム */ case SC_BENEDICTIO: /* 聖? */ @@ -3289,16 +3292,16 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val val2 = 5; break; case SC_FLAMELAUNCHER: /* フレ?ムランチャ? */ - skill_encchant_eremental_end(bl,SC_FLAMELAUNCHER); + skill_enchant_elemental_end(bl,SC_FLAMELAUNCHER); break; case SC_FROSTWEAPON: /* フロストウェポン */ - skill_encchant_eremental_end(bl,SC_FROSTWEAPON); + skill_enchant_elemental_end(bl,SC_FROSTWEAPON); break; case SC_LIGHTNINGLOADER: /* ライトニングロ?ダ? */ - skill_encchant_eremental_end(bl,SC_LIGHTNINGLOADER); + skill_enchant_elemental_end(bl,SC_LIGHTNINGLOADER); break; case SC_SEISMICWEAPON: /* サイズミックウェポン */ - skill_encchant_eremental_end(bl,SC_SEISMICWEAPON); + skill_enchant_elemental_end(bl,SC_SEISMICWEAPON); break; case SC_DEVOTION: /* ディボ?ション */ calc_flag = 1; @@ -3835,6 +3838,10 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val tick = 1000; break; + case SC_BABY: + type2 = _SC_BABY; + break; + default: if(battle_config.error_log) printf("UnknownStatusChange [%d]\n", type); @@ -3842,8 +3849,8 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val } if(bl->type==BL_PC && - (type<SC_SENDMAX || type==SC_PRESERVE || type==SC_BATTLEORDERS)) - clif_status_change(bl,type,1); /* アイコン表示 */ + (type<SC_SENDMAX || type==SC_PRESERVE || type==SC_BATTLEORDERS || type==SC_BABY)) + clif_status_change(bl,type2,1); /* アイコン表示 */ /* optionの?更 */ switch(type){ @@ -3982,6 +3989,7 @@ int status_change_end( struct block_list* bl , int type,int tid ) struct status_change* sc_data; int opt_flag=0, calc_flag = 0; short *sc_count, *option, *opt1, *opt2, *opt3; + int type2 = type; nullpo_retr(0, bl); if(bl->type!=BL_PC && bl->type!=BL_MOB) { @@ -4173,11 +4181,15 @@ int status_change_end( struct block_list* bl , int type,int tid ) calc_flag = 1; } break; + + case SC_BABY: + type2 = _SC_BABY; + break; } if(bl->type==BL_PC && - (type<SC_SENDMAX || type==SC_PRESERVE || type==SC_BATTLEORDERS)) - clif_status_change(bl,type,0); /* アイコン消去 */ + (type<SC_SENDMAX || type==SC_PRESERVE || type==SC_BATTLEORDERS || type==SC_BABY)) + clif_status_change(bl,type2,0); /* アイコン消去 */ switch(type){ /* 正常に?るときなにか?理が必要 */ case SC_STONE: |