diff options
author | Lance <Lance@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-03-16 06:48:37 +0000 |
---|---|---|
committer | Lance <Lance@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-03-16 06:48:37 +0000 |
commit | 31e195ae1d7b165be2f2a404ece5d90f1d6a4785 (patch) | |
tree | c4aa7e739f1c76921e19b140e5d2ae456941cee4 /src/map/skill.c | |
parent | 3455651a40c54646a4819e4c20ed39b947a1db80 (diff) | |
download | hercules-31e195ae1d7b165be2f2a404ece5d90f1d6a4785.tar.gz hercules-31e195ae1d7b165be2f2a404ece5d90f1d6a4785.tar.bz2 hercules-31e195ae1d7b165be2f2a404ece5d90f1d6a4785.tar.xz hercules-31e195ae1d7b165be2f2a404ece5d90f1d6a4785.zip |
* Made an adjustment to addspiritball() to allow Gunslingers to summon up to 10 spheres [reddozen]
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5626 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 57 |
1 files changed, 28 insertions, 29 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 98010dd6f..f0e1b4a14 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -1445,7 +1445,7 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list * - rate goes from 0 to 10000 (100.00%)
- flag is a BCT_ flag to indicate which type of adjustment should be used
(BCT_ENEMY/BCT_PARTY/BCT_SELF) are the valid values.
--------------------------------------------------------------------------*/
+--------------------------------------------------------------------------*/
int skill_break_equip(struct block_list *bl, unsigned short where, int rate, int flag) {
static int where_list[4] = {EQP_WEAPON, EQP_ARMOR, EQP_SHIELD, EQP_HELM};
static int scatk[4] = {SC_STRIPWEAPON, SC_STRIPARMOR, SC_STRIPSHIELD, SC_STRIPHELM };
@@ -1531,7 +1531,7 @@ int skill_break_equip(struct block_list *bl, unsigned short where, int rate, int If count&0x10000, the direction is to the back of the target, otherwise is away from the src.
If count&0x20000, position update packets must not be sent.
IF count&0X40000, direction is random.
--------------------------------------------------------------------------*/
+--------------------------------------------------------------------------*/
int skill_blown( struct block_list *src, struct block_list *target,int count)
{
int dx=0,dy=0,nx,ny;
@@ -1913,7 +1913,7 @@ int skill_attack( int attack_type, struct block_list* src, struct block_list *ds if ((!tsd->status.skill[skillid].id || tsd->status.skill[skillid].flag >= 13) &&
can_copy(tsd,skillid)) // Split all the check into their own function [Aru]
{
- //?に?んでいるスキルがあれば該?スキルを消す
+ //?に?んでいるスキルが れば該?スキルを消す
if (tsd->cloneskill_id && tsd->status.skill[tsd->cloneskill_id].flag == 13){
tsd->status.skill[tsd->cloneskill_id].id = 0;
tsd->status.skill[tsd->cloneskill_id].lv = 0;
@@ -2110,7 +2110,7 @@ int skill_check_unit_range(int m,int x,int y,int skillid,int skilllv) return 0;
}
- // とりあえず?ウ方形のユニットレイアウトのみ対応
+ // とり えず?ウ方形のユニットレイアウトのみ対応
range += layout_type;
return map_foreachinarea(skill_check_unit_range_sub,m,
x-range,y-range,x+range,y+range,BL_SKILL,skillid);
@@ -2159,7 +2159,7 @@ int skill_check_unit_range2(struct block_list *bl, int m,int x,int y,int skillid ShowError("skill_check_unit_range2: unsupported layout type %d for skill %d\n",layout_type,skillid);
return 0;
}
- // とりあえず?ウ方形のユニットレイアウトのみ対応
+ // とり えず?ウ方形のユニットレイアウトのみ対応
range = skill_get_unit_range(skillid,skilllv) + layout_type;
}
break;
@@ -5063,7 +5063,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in clif_skill_nodamage(src,bl,skillid,gain_hp,1);
}
break;
- case WE_FEMALE: /* あなたの?に??オになります */
+ case WE_FEMALE: /* なたの?に??オになります */
if(sd && dstsd){
int sp_rate=(skilllv <= 0)? 0:skill_db[skillid].sp_rate[skilllv-1];
int gain_sp=dstsd->status.max_sp*abs(sp_rate)/100;// The earned is the same % of the target SP than it costed the caster. [Skotlex]
@@ -7351,7 +7351,7 @@ int skill_unit_onlimit(struct skill_unit *src,unsigned int tick) case UNT_ICEWALL: /* アイスウォ?ル */
clif_changemapcell(src->bl.m,src->bl.x,src->bl.y,src->val2,1);
break;
- case UNT_CALLFAMILY: /* あなたに?いたい */
+ case UNT_CALLFAMILY: /* なたに?いたい */
{
struct map_session_data *sd = NULL;
if(src->val1 && (sd = map_charid2sd(src->val1))
@@ -8118,15 +8118,14 @@ int skill_check_condition(struct map_session_data *sd,int type) clif_skill_fail(sd,skill,0,0);
return 0;
}
+ zeny = 1;
break;
+
case GS_FLING:
case GS_TRIPLEACTION:
case GS_MAGICALBULLET:
case GS_CRACKER:
- if(sd->spiritball < 1) {
- clif_skill_fail(sd,skill,0,0);
- return 0;
- }
+ spiritball = 1;
if (skill != GS_MAGICALBULLET)
arrow_flag = 1;
if(sd->equip_index[10] < 0) {
@@ -8134,33 +8133,31 @@ int skill_check_condition(struct map_session_data *sd,int type) return 0;
}
break;
+
case GS_BULLSEYE:
- if(sd->spiritball < 5) {
- clif_skill_fail(sd,skill,0,0);
- return 0;
- }
+ spiritball = 5;
if(sd->equip_index[10] < 0) {
clif_arrow_fail(sd,0);
return 0;
}
break;
+
case GS_MADNESSCANCEL:
- if(sd->spiritball < 4 || sd->sc.data[SC_ADJUSTMENT].timer!=-1) {
- clif_skill_fail(sd,skill,0,0);
- return 0;
- }
+ spiritball = 4;
+ if(sd->spiritball >= 4 && sd->sc.data[SC_ADJUSTMENT].timer!=-1)
+ sd->sc.data[SC_ADJUSTMENT].timer = -1;
break;
+
case GS_ADJUSTMENT:
- if(sd->spiritball < 2 || sd->sc.data[SC_MADNESSCANCEL].timer != -1) {
- clif_skill_fail(sd,skill,0,0);
- return 0;
- }
+ spiritball = 2;
+ if(sd->spiritball >= 2 && sd->sc.data[SC_MADNESSCANCEL].timer != -1)
+ sd->sc.data[SC_MADNESSCANCEL].timer = -1;
+ break;
+
case GS_INCREASING:
- if(sd->spiritball < 2) {
- clif_skill_fail(sd,skill,0,0);
- return 0;
- }
+ spiritball = 2;
break;
+
//Bullets 13200~13202
//Nade 13203~13207
//Shuriken 13250~13254
@@ -8592,7 +8589,7 @@ int skill_use_id (struct map_session_data *sd, int target_id, int skill_num, int return 0;
}
- //直前のスキルが何か?える必要のあるスキル
+ //直前のスキルが何か?える必要の るスキル
switch (skill_num) {
case SA_CASTCANCEL:
if (sd->skillid != skill_num){ //キャストキャンセル自?は?えない
@@ -8948,6 +8945,7 @@ int skill_castcancel (struct block_list *bl, int type) return 1;
}
+
/*=========================================
* ブランディッシュスピア ?炎範?決定
*----------------------------------------
@@ -9755,7 +9753,7 @@ int skill_enchant_elemental_end (struct block_list *bl, int type) return 0;
}
-/* ク??キング??ク?i周りに移動不可能地?があるか?j */
+/* ク??キング??ク?i周りに移動不可能地?が るか?j */
int skill_check_cloaking(struct block_list *bl)
{
struct map_session_data *sd = NULL;
@@ -10748,6 +10746,7 @@ int skill_produce_mix( struct map_session_data *sd, int skill_id, case AM_PHARMACY:
case AM_TWILIGHT1:
case AM_TWILIGHT2:
+
case AM_TWILIGHT3:
flag = battle_config.produce_potion_name_input;
break;
|