- Added -DMAPREGSQL to Makefile, commented out by default for now.
- Fixed AL_WARP displaying "Unknown Area" selections when you don't have all memo points used up. - Fixed alive_count not being reset on skill unitsetting, which leads to some groups not being cleared once all their units expire. - Optimized Kahii, will now only show the amount of HP healed. Moved to skill_counter additional effect so it may trigger even on miss. - SKA no longer blocks skills. - Modified the AM_TWILIGHT* skills to require 200 medicine bowls. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6435 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
9020476933
commit
41aa178964
@ -4,6 +4,13 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
|
||||
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||
|
||||
2006/05/01
|
||||
* Fixed AL_WARP displaying "Unknown Area" selections when you don't have
|
||||
all memo points used up. [Skotlex]
|
||||
* Fixed alive_count not being reset on skill unitsetting, which leads to
|
||||
some groups not being cleared once all their units expire. [Skotlex]
|
||||
* Optimized Kaahi/Kahai, will now only show the amount of HP healed. Moved
|
||||
to skill_counter additional effect so it may trigger even on miss. [Skotlex]
|
||||
* SKA no longer blocks skills. [Skotlex]
|
||||
* Optimized fake npc system. Added npc_checknear back to npc_buysellsel. [Lance]
|
||||
|
||||
2006/04/30
|
||||
|
1
Makefile
1
Makefile
@ -23,6 +23,7 @@ OPT += -ffast-math
|
||||
# OPT += -fstack-protector
|
||||
# OPT += -fomit-frame-pointer
|
||||
OPT += -Wall -Wno-sign-compare
|
||||
# OPT += -DMAPREGSQL
|
||||
# OPT += -DCHRIF_OLDINFO
|
||||
# OPT += -DPCRE_SUPPORT
|
||||
# OPT += -DGCOLLECT
|
||||
|
@ -27,6 +27,7 @@
|
||||
|
||||
=========================
|
||||
05/01
|
||||
* Modified the AM_TWILIGHT* skills to require 200 medicine bowls. [Skotlex]
|
||||
* Added effect of Speed Potion [Playtester]
|
||||
* Removed Kraben Card drop from G_Kraben [Playtester]
|
||||
* Fixed a typo in the Armeyer Dinze card thanks to theultramage [Playtester]
|
||||
|
@ -385,9 +385,9 @@
|
||||
493,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //TK_MISSION##
|
||||
494,0,0,460:360:260:160:60,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SL_HIGH#一次?繹ハ?E業の?ー#
|
||||
495,0,0,100,0,0,0,2,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //KN_ONEHAND#<23>?ンハンドクィクン#
|
||||
496,0,0,200,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AM_TWILIGHT1#ƒgƒ?ƒCƒ‰ƒCƒgƒtƒ@?[ƒ}ƒV?[1#
|
||||
497,0,0,200,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AM_TWILIGHT2#ƒgƒ?ƒCƒ‰ƒCƒgƒtƒ@?[ƒ}ƒV?[2#
|
||||
498,0,0,200,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0//AM_TWILIGHT3#ƒgƒ?ƒCƒ‰ƒCƒgƒtƒ@?[ƒ}ƒV?[3#
|
||||
496,0,0,200,0,0,0,99,0,0,none,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AM_TWILIGHT1#ƒgƒ?ƒCƒ‰ƒCƒgƒtƒ@?[ƒ}ƒV?[1#
|
||||
497,0,0,200,0,0,0,99,0,0,none,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AM_TWILIGHT2#ƒgƒ?ƒCƒ‰ƒCƒgƒtƒ@?[ƒ}ƒV?[2#
|
||||
498,0,0,200,0,0,0,99,0,0,none,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0//AM_TWILIGHT3#ƒgƒ?ƒCƒ‰ƒCƒgƒtƒ@?[ƒ}ƒV?[3#
|
||||
499,0,0,8,0,0,0,11,1,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //HT_POWER#ビ?[ストストレイピング#
|
||||
//temp plugs
|
||||
500,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_GLITTERING
|
||||
|
@ -1016,14 +1016,6 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
|
||||
sc_start4(bl,SC_POISON,2*tsc->data[SC_SPLASHER].val1+10,
|
||||
tsc->data[SC_SPLASHER].val1,0,0,0,
|
||||
skill_get_time2(tsc->data[SC_SPLASHER].val2,tsc->data[SC_SPLASHER].val1));
|
||||
if(tsc->data[SC_KAAHI].timer != -1) {
|
||||
if (dstsd && dstsd->status.sp < 5*tsc->data[SC_KAAHI].val1)
|
||||
; //Not enough SP to cast
|
||||
else {
|
||||
battle_heal(bl, bl, 200*tsc->data[SC_KAAHI].val1, -5*tsc->data[SC_KAAHI].val1, 1);
|
||||
clif_skill_nodamage(NULL,bl,AL_HEAL,200*tsc->data[SC_KAAHI].val1,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1410,7 +1402,8 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
|
||||
int rate;
|
||||
struct map_session_data *sd=NULL;
|
||||
struct map_session_data *dstsd=NULL;
|
||||
|
||||
struct status_change *tsc;
|
||||
|
||||
nullpo_retr(0, src);
|
||||
nullpo_retr(0, bl);
|
||||
|
||||
@ -1422,11 +1415,28 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
|
||||
}
|
||||
if(skillid > 0 && skilllv <= 0) return 0; // don't forget auto attacks! - celest
|
||||
|
||||
tsc = status_get_sc(bl);
|
||||
if (tsc && !tsc->count)
|
||||
tsc = NULL;
|
||||
|
||||
BL_CAST(BL_PC, src, sd);
|
||||
BL_CAST(BL_PC, bl, dstsd);
|
||||
|
||||
switch(skillid){
|
||||
case 0: //Normal Attack - Nothing here yet.
|
||||
case 0: //Normal Attack
|
||||
if(tsc && tsc->data[SC_KAAHI].timer != -1) {
|
||||
if (dstsd && dstsd->status.sp < tsc->data[SC_KAAHI].val3)
|
||||
; //Not enough SP to cast
|
||||
else {
|
||||
int hp = status_get_max_hp(bl) - status_get_hp(bl);
|
||||
if (hp > tsc->data[SC_KAAHI].val2)
|
||||
hp = tsc->data[SC_KAAHI].val2;
|
||||
if (hp) {
|
||||
battle_heal(bl, bl, hp, -tsc->data[SC_KAAHI].val3, 1);
|
||||
clif_skill_nodamage(NULL,bl,AL_HEAL,hp,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MO_EXTREMITYFIST: /* ˆ¢?C—…”e™€Œ? */
|
||||
//ˆ¢?C—…‚ðŽg‚¤‚Æ5•ªŠÔŽ©‘R‰ñ•œ‚µ‚È‚¢‚悤‚ɂȂé
|
||||
@ -6027,9 +6037,9 @@ int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skil
|
||||
case AL_WARP: /* ƒ??ƒvƒ|?ƒ^ƒ‹ */
|
||||
if(sd) {
|
||||
clif_skill_warppoint(sd,skillid,skilllv,mapindex_id2name(sd->status.save_point.map),
|
||||
(skilllv>1)?mapindex_id2name(sd->status.memo_point[0].map):"",
|
||||
(skilllv>2)?mapindex_id2name(sd->status.memo_point[1].map):"",
|
||||
(skilllv>3)?mapindex_id2name(sd->status.memo_point[2].map):"");
|
||||
(skilllv>1 && sd->status.memo_point[0].map)?mapindex_id2name(sd->status.memo_point[0].map):"",
|
||||
(skilllv>2 && sd->status.memo_point[1].map)?mapindex_id2name(sd->status.memo_point[1].map):"",
|
||||
(skilllv>3 && sd->status.memo_point[2].map)?mapindex_id2name(sd->status.memo_point[2].map):"");
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -437,8 +437,7 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
|
||||
(sc->data[SC_MARIONETTE2].timer != -1 && skill_num == CG_MARIONETTE) ||
|
||||
sc->data[SC_SILENCE].timer != -1 ||
|
||||
sc->data[SC_STEELBODY].timer != -1 ||
|
||||
sc->data[SC_BERSERK].timer != -1 ||
|
||||
sc->data[SC_SKA].timer != -1
|
||||
sc->data[SC_BERSERK].timer != -1
|
||||
))
|
||||
return 0;
|
||||
//Skill blocking.
|
||||
@ -4430,7 +4429,10 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
|
||||
val4 = gettick(); //Store time at which you started running.
|
||||
calc_flag = 1;
|
||||
break;
|
||||
|
||||
case SC_KAAHI:
|
||||
val2 = 200*val1; //HP heal
|
||||
val3 = 5*val1; //SP cost
|
||||
break;
|
||||
case SC_TRICKDEAD: /* Ž€‚ñ‚¾‚Ó‚è */
|
||||
{
|
||||
struct view_data *vd = status_get_viewdata(bl);
|
||||
@ -4561,7 +4563,6 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
|
||||
case SC_CLOSECONFINE:
|
||||
case SC_SKILLRATE_UP:
|
||||
case SC_KAIZEL:
|
||||
case SC_KAAHI:
|
||||
case SC_INTRAVISION:
|
||||
case SC_BASILICA:
|
||||
case SC_MAXOVERTHRUST:
|
||||
|
Loading…
x
Reference in New Issue
Block a user