* Updated Bleeding effect
* Removed some unused code for Graffiti git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@1147 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
3b4e925885
commit
1d89c23b3c
@ -1,5 +1,9 @@
|
|||||||
Date Added
|
Date Added
|
||||||
|
|
||||||
|
02/21
|
||||||
|
* Updated Bleeding effect [celest]
|
||||||
|
* Removed some unused code for Graffiti [celest]
|
||||||
|
|
||||||
02/20
|
02/20
|
||||||
* Char SQL: Rewrote/Fixed the castle save function, now the sql version saves castles! [Sirius]
|
* Char SQL: Rewrote/Fixed the castle save function, now the sql version saves castles! [Sirius]
|
||||||
* Fixed the /mm /mapmove command access bug [Sirius]
|
* Fixed the /mm /mapmove command access bug [Sirius]
|
||||||
|
@ -271,7 +271,7 @@ SC_Curse 133
|
|||||||
SC_Silence 134
|
SC_Silence 134
|
||||||
SC_Confusion 135
|
SC_Confusion 135
|
||||||
SC_Blind 136
|
SC_Blind 136
|
||||||
SC_Bleeding 137
|
SC_Bleeding 124
|
||||||
SC_SpeedPot0 37
|
SC_SpeedPot0 37
|
||||||
SC_SpeedPot1 38
|
SC_SpeedPot1 38
|
||||||
SC_SpeedPot2 39
|
SC_SpeedPot2 39
|
||||||
|
@ -229,7 +229,7 @@
|
|||||||
|
|
||||||
365,300,300,0,0 //HW_MAGICCRASHER
|
365,300,300,0,0 //HW_MAGICCRASHER
|
||||||
366,700,0,30000,0 //HW_MAGICPOWER#魔法力増幅#
|
366,700,0,30000,0 //HW_MAGICPOWER#魔法力増幅#
|
||||||
367,2000:2500:3000:3500:4000,2000:3000:4000:5000:6000,0,0 //PA_PRESSURE
|
367,2000:2500:3000:3500:4000,2000:3000:4000:5000:6000,0,2000:3000:4000:5000:6000 //PA_PRESSURE
|
||||||
369,0,0,100000,0 //PA_GOSPEL#ゴスペル#
|
369,0,0,100000,0 //PA_GOSPEL#ゴスペル#
|
||||||
370,0,300,0,0 //CH_PALMSTRIKE
|
370,0,300,0,0 //CH_PALMSTRIKE
|
||||||
371,0,0,0,2000:4000:6000:8000:10000 //CH_TIGERFIST#伏虎拳#
|
371,0,0,0,2000:4000:6000:8000:10000 //CH_TIGERFIST#伏虎拳#
|
||||||
|
@ -2811,9 +2811,10 @@ int mob_class_change(struct mob_data *md,int *value)
|
|||||||
*/
|
*/
|
||||||
int mob_heal(struct mob_data *md,int heal)
|
int mob_heal(struct mob_data *md,int heal)
|
||||||
{
|
{
|
||||||
int max_hp = status_get_max_hp(&md->bl);
|
int max_hp;
|
||||||
|
|
||||||
nullpo_retr(0, md);
|
nullpo_retr(0, md);
|
||||||
|
max_hp = status_get_max_hp(&md->bl);
|
||||||
|
|
||||||
md->hp += heal;
|
md->hp += heal;
|
||||||
if( max_hp < md->hp )
|
if( max_hp < md->hp )
|
||||||
|
@ -6538,7 +6538,8 @@ static int pc_natural_heal_sp(struct map_session_data *sd)
|
|||||||
nullpo_retr(0, sd);
|
nullpo_retr(0, sd);
|
||||||
|
|
||||||
if (sd->sc_count && (sd->sc_data[SC_TRICKDEAD].timer != -1 || // Modified by RoVeRT
|
if (sd->sc_count && (sd->sc_data[SC_TRICKDEAD].timer != -1 || // Modified by RoVeRT
|
||||||
sd->sc_data[SC_BERSERK].timer != -1))
|
sd->sc_data[SC_BERSERK].timer != -1 ||
|
||||||
|
sd->sc_data[SC_BLEEDING].timer != -1))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (sd->no_regen & 2)
|
if (sd->no_regen & 2)
|
||||||
|
@ -1019,7 +1019,7 @@ int skill_additional_effect( struct block_list* src, struct block_list *bl,int s
|
|||||||
{//?件が良く分からないので適?に
|
{//?件が良く分からないので適?に
|
||||||
int race=status_get_race(bl);
|
int race=status_get_race(bl);
|
||||||
if( !(battle_check_undead(race,status_get_elem_type(bl)) || race == 6) && rand()%100 < (2*skilllv+10)*sc_def_vit/100 )
|
if( !(battle_check_undead(race,status_get_elem_type(bl)) || race == 6) && rand()%100 < (2*skilllv+10)*sc_def_vit/100 )
|
||||||
status_change_start(bl,SC_HEADCRUSH,skilllv,0,0,0,skill_get_time2(skillid,skilllv),0);
|
status_change_start(bl,SkillStatusChangeTable[skillid],skilllv,0,0,0,skill_get_time2(skillid,skilllv),0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case LK_JOINTBEAT: /* ジョイントビ?ト */
|
case LK_JOINTBEAT: /* ジョイントビ?ト */
|
||||||
|
@ -241,7 +241,7 @@ int SkillStatusChangeTable[]={ /* status.h
|
|||||||
SC_MOONLIT,
|
SC_MOONLIT,
|
||||||
SC_MARIONETTE,
|
SC_MARIONETTE,
|
||||||
-1,
|
-1,
|
||||||
SC_HEADCRUSH,
|
SC_BLEEDING,
|
||||||
SC_JOINTBEAT,
|
SC_JOINTBEAT,
|
||||||
/* 400 */
|
/* 400 */
|
||||||
-1,-1,
|
-1,-1,
|
||||||
@ -3072,13 +3072,9 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val
|
|||||||
return 0;
|
return 0;
|
||||||
if ((type >=SC_STAN && type <= SC_BLIND) || type == SC_DPOISON)
|
if ((type >=SC_STAN && type <= SC_BLIND) || type == SC_DPOISON)
|
||||||
return 0;/* ?ぎ足しができない?態異常である時は?態異常を行わない */
|
return 0;/* ?ぎ足しができない?態異常である時は?態異常を行わない */
|
||||||
if(type == SC_GRAFFITI){ //異常中にもう一度?態異常になった時に解除してから再度かかる
|
(*sc_count)--;
|
||||||
status_change_end(bl,type,-1);
|
delete_timer(sc_data[type].timer, status_change_timer);
|
||||||
} else {
|
sc_data[type].timer = -1;
|
||||||
(*sc_count)--;
|
|
||||||
delete_timer(sc_data[type].timer, status_change_timer);
|
|
||||||
sc_data[type].timer = -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(type){ /* 異常の種類ごとの?理 */
|
switch(type){ /* 異常の種類ごとの?理 */
|
||||||
@ -3648,7 +3644,7 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val
|
|||||||
case SC_AURABLADE: /* オ?ラブレ?ド */
|
case SC_AURABLADE: /* オ?ラブレ?ド */
|
||||||
case SC_PARRYING: /* パリイング */
|
case SC_PARRYING: /* パリイング */
|
||||||
// case SC_ASSUMPTIO: /* */
|
// case SC_ASSUMPTIO: /* */
|
||||||
case SC_HEADCRUSH: /* ヘッドクラッシュ */
|
// case SC_HEADCRUSH: /* 僿僢僪僋儔僢僔儏 */
|
||||||
// case SC_JOINTBEAT: /* ジョイントビ?ト */
|
// case SC_JOINTBEAT: /* ジョイントビ?ト */
|
||||||
// case SC_MARIONETTE: /* マリオネットコントロ?ル */
|
// case SC_MARIONETTE: /* マリオネットコントロ?ル */
|
||||||
|
|
||||||
@ -3764,14 +3760,6 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val
|
|||||||
val2 = 3; //3回詠唱を1/3にする
|
val2 = 3; //3回詠唱を1/3にする
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SC_GRAFFITI: /* グラフィティ */
|
|
||||||
{
|
|
||||||
struct skill_unit_group *sg = skill_unitsetting(bl,RG_GRAFFITI,val1,val2,val3,0);
|
|
||||||
if(sg)
|
|
||||||
val4 = (int)sg;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SC_SPLASHER: /* ベナムスプラッシャ? */
|
case SC_SPLASHER: /* ベナムスプラッシャ? */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -3783,6 +3771,18 @@ int status_change_start(struct block_list *bl,int type,int val1,int val2,int val
|
|||||||
case SC_PRESERVE:
|
case SC_PRESERVE:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SC_BLEEDING:
|
||||||
|
{
|
||||||
|
// every 1 vit deducts 1 second
|
||||||
|
val3 = tick - status_get_vit(bl) * 1000;
|
||||||
|
// minimum 50 seconds
|
||||||
|
if (val3 < 50000)
|
||||||
|
val3 = 50000;
|
||||||
|
val4 = 10000;
|
||||||
|
tick = 1000;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case SC_SLOWDOWN:
|
case SC_SLOWDOWN:
|
||||||
case SC_SPEEDUP0:
|
case SC_SPEEDUP0:
|
||||||
calc_flag = 1;
|
calc_flag = 1;
|
||||||
@ -4073,13 +4073,6 @@ int status_change_end( struct block_list* bl , int type,int tid )
|
|||||||
}
|
}
|
||||||
calc_flag = 1;
|
calc_flag = 1;
|
||||||
break;
|
break;
|
||||||
case SC_GRAFFITI:
|
|
||||||
{
|
|
||||||
struct skill_unit_group *sg=(struct skill_unit_group *)sc_data[type].val4; //val4がグラフィティのgroup_id
|
|
||||||
if(sg)
|
|
||||||
skill_delunitgroup(sg);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case SC_NOCHAT: //チャット禁止?態
|
case SC_NOCHAT: //チャット禁止?態
|
||||||
{
|
{
|
||||||
struct map_session_data *sd=NULL;
|
struct map_session_data *sd=NULL;
|
||||||
@ -4470,9 +4463,9 @@ int status_change_timer(int tid, unsigned int tick, int id, int data)
|
|||||||
if( (--sc_data[type].val3) > 0) {
|
if( (--sc_data[type].val3) > 0) {
|
||||||
int hp = status_get_max_hp(bl);
|
int hp = status_get_max_hp(bl);
|
||||||
if(status_get_hp(bl) > hp>>2) {
|
if(status_get_hp(bl) > hp>>2) {
|
||||||
if(bl->type == BL_PC) {
|
if(sd) {
|
||||||
hp = 3 + hp*3/200;
|
hp = 3 + hp*3/200;
|
||||||
pc_heal((struct map_session_data *)bl,-hp,0);
|
pc_heal(sd,-hp,0);
|
||||||
}
|
}
|
||||||
else if(bl->type == BL_MOB) {
|
else if(bl->type == BL_MOB) {
|
||||||
struct mob_data *md;
|
struct mob_data *md;
|
||||||
@ -4526,22 +4519,28 @@ int status_change_timer(int tid, unsigned int tick, int id, int data)
|
|||||||
status_change_end(&sd->bl,SC_TENSIONRELAX,-1);
|
status_change_end(&sd->bl,SC_TENSIONRELAX,-1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SC_HEADCRUSH: // temporary damage [celest]
|
case SC_BLEEDING: // [celest]
|
||||||
// case SC_BLEEDING:
|
// i hope i haven't interpreted it wrong.. which i might ^^;
|
||||||
if((--sc_data[type].val3) > 0) {
|
// Source:
|
||||||
int hp = status_get_max_hp(bl);
|
// - 10酴<30><E985B4><EFBFBD>HP<48>术岽
|
||||||
if(sd) {
|
// - 躞<><E8BA9E><EFBFBD><EFBFBD><EFBFBD>?<3F>旃匝<E69783><E58C9D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?妄<>峒<EFBFBD><E5B392><EFBFBD>
|
||||||
hp = 3 + hp*3/200;
|
if((sc_data[type].val3 -= 1000) > 0) {
|
||||||
pc_heal(sd,-hp,0);
|
if((sc_data[type].val4 -= 1000) > 0) {
|
||||||
|
int hp = rand()%300+400;
|
||||||
|
if(sd) {
|
||||||
|
pc_heal(sd,-hp,0);
|
||||||
|
sd->canmove_tick = tick+1000;
|
||||||
|
}
|
||||||
|
else if(bl->type == BL_MOB) {
|
||||||
|
struct mob_data *md;
|
||||||
|
nullpo_retr(0, md=(struct mob_data *)bl);
|
||||||
|
md->hp -= hp;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(bl->type == BL_MOB) {
|
if (sd) {
|
||||||
struct mob_data *md;
|
sd->canact_tick = tick+1000;
|
||||||
nullpo_retr(0, md=(struct mob_data *)bl);
|
|
||||||
/*if((md=((struct mob_data *)bl)) == NULL)
|
|
||||||
break;*/
|
|
||||||
hp = 3 + hp/200;
|
|
||||||
md->hp -= hp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sc_data[type].timer=add_timer(1000+tick,status_change_timer, bl->id, data );
|
sc_data[type].timer=add_timer(1000+tick,status_change_timer, bl->id, data );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -37,6 +37,8 @@ enum { // struct map_session_data
|
|||||||
SC_TRICKDEAD = 29,
|
SC_TRICKDEAD = 29,
|
||||||
SC_LOUD = 30,
|
SC_LOUD = 30,
|
||||||
SC_ENERGYCOAT = 31,
|
SC_ENERGYCOAT = 31,
|
||||||
|
SC_BROKNARMOR = 32,
|
||||||
|
SC_BROKNWEAPON = 33,
|
||||||
SC_HALLUCINATION = 34,
|
SC_HALLUCINATION = 34,
|
||||||
SC_WEIGHT50 = 35,
|
SC_WEIGHT50 = 35,
|
||||||
SC_WEIGHT90 = 36,
|
SC_WEIGHT90 = 36,
|
||||||
@ -44,7 +46,9 @@ enum { // struct map_session_data
|
|||||||
SC_SPEEDPOTION1 = 38,
|
SC_SPEEDPOTION1 = 38,
|
||||||
SC_SPEEDPOTION2 = 39,
|
SC_SPEEDPOTION2 = 39,
|
||||||
SC_SPEEDPOTION3 = 40,
|
SC_SPEEDPOTION3 = 40,
|
||||||
//-- 40-50
|
SC_SPEEDUP0 = 41, // for skill speedup
|
||||||
|
SC_SPEEDUP1 = 42, // for skill speedup
|
||||||
|
//-- 43-50
|
||||||
SC_STRIPWEAPON = 50,
|
SC_STRIPWEAPON = 50,
|
||||||
SC_STRIPSHIELD = 51,
|
SC_STRIPSHIELD = 51,
|
||||||
SC_STRIPARMOR = 52,
|
SC_STRIPARMOR = 52,
|
||||||
@ -78,7 +82,7 @@ enum { // struct map_session_data
|
|||||||
SC_ASSUMPTIO = 110, /* アシャンプティオ */
|
SC_ASSUMPTIO = 110, /* アシャンプティオ */
|
||||||
//-- 111, 112
|
//-- 111, 112
|
||||||
SC_MAGICPOWER = 113, /* 魔法力?幅 */
|
SC_MAGICPOWER = 113, /* 魔法力?幅 */
|
||||||
//-- 114
|
SC_EDP = 114, /* エフェクトが判明したら移動 */
|
||||||
SC_TRUESIGHT = 115, /* トゥル?サイト */
|
SC_TRUESIGHT = 115, /* トゥル?サイト */
|
||||||
SC_WINDWALK = 116, /* ウインドウォ?ク */
|
SC_WINDWALK = 116, /* ウインドウォ?ク */
|
||||||
SC_MELTDOWN = 117, /* メルトダウン */
|
SC_MELTDOWN = 117, /* メルトダウン */
|
||||||
@ -86,8 +90,9 @@ enum { // struct map_session_data
|
|||||||
//-- 119
|
//-- 119
|
||||||
SC_REJECTSWORD = 120, /* リジェクトソ?ド */
|
SC_REJECTSWORD = 120, /* リジェクトソ?ド */
|
||||||
SC_MARIONETTE = 121, /* マリオネットコントロ?ル */
|
SC_MARIONETTE = 121, /* マリオネットコントロ?ル */
|
||||||
//-- 122, 123
|
SC_MARIONETTE2 = 122, // Marionette target
|
||||||
SC_HEADCRUSH = 124, /* ヘッドクラッシュ */
|
//-- 123
|
||||||
|
SC_BLEEDING = 124, /* ヘッドクラッシュ */
|
||||||
SC_JOINTBEAT = 125, /* ジョイントビ?ト */
|
SC_JOINTBEAT = 125, /* ジョイントビ?ト */
|
||||||
//-- 126, 127
|
//-- 126, 127
|
||||||
|
|
||||||
@ -103,7 +108,7 @@ enum { // struct map_session_data
|
|||||||
SC_CONFUSION = 135,
|
SC_CONFUSION = 135,
|
||||||
SC_BLIND = 136,
|
SC_BLIND = 136,
|
||||||
SC_DIVINA = SC_SILENCE,
|
SC_DIVINA = SC_SILENCE,
|
||||||
|
//-- 137-139
|
||||||
SC_SAFETYWALL = 140,
|
SC_SAFETYWALL = 140,
|
||||||
SC_PNEUMA = 141,
|
SC_PNEUMA = 141,
|
||||||
SC_WATERBALL = 142,
|
SC_WATERBALL = 142,
|
||||||
@ -111,7 +116,7 @@ enum { // struct map_session_data
|
|||||||
SC_DANCING = 144,
|
SC_DANCING = 144,
|
||||||
SC_KEEPING = 145,
|
SC_KEEPING = 145,
|
||||||
SC_BARRIER = 146,
|
SC_BARRIER = 146,
|
||||||
|
//-- 147,148
|
||||||
SC_MAGICROD = 149,
|
SC_MAGICROD = 149,
|
||||||
SC_SIGHT = 150,
|
SC_SIGHT = 150,
|
||||||
SC_RUWACH = 151,
|
SC_RUWACH = 151,
|
||||||
@ -122,8 +127,7 @@ enum { // struct map_session_data
|
|||||||
SC_BLADESTOP_WAIT = 156,
|
SC_BLADESTOP_WAIT = 156,
|
||||||
SC_BLADESTOP = 157,
|
SC_BLADESTOP = 157,
|
||||||
SC_EXTREMITYFIST = 158,
|
SC_EXTREMITYFIST = 158,
|
||||||
SC_GRAFFITI = 159,
|
//-- 159
|
||||||
|
|
||||||
SC_LULLABY =160,
|
SC_LULLABY =160,
|
||||||
SC_RICHMANKIM =161,
|
SC_RICHMANKIM =161,
|
||||||
SC_ETERNALCHAOS =162,
|
SC_ETERNALCHAOS =162,
|
||||||
@ -143,7 +147,6 @@ enum { // struct map_session_data
|
|||||||
SC_FORTUNE =176,
|
SC_FORTUNE =176,
|
||||||
SC_SERVICE4U =177,
|
SC_SERVICE4U =177,
|
||||||
SC_SPIDERWEB =180, /* スパイダ?ウェッブ */
|
SC_SPIDERWEB =180, /* スパイダ?ウェッブ */
|
||||||
// SC_EDP // moved
|
|
||||||
SC_SACRIFICE =184, /* サクリファイス */
|
SC_SACRIFICE =184, /* サクリファイス */
|
||||||
SC_WEDDING =187, //結婚用(結婚衣裳になって?くのが?いとか)
|
SC_WEDDING =187, //結婚用(結婚衣裳になって?くのが?いとか)
|
||||||
SC_NOCHAT =188, //赤エモ?態
|
SC_NOCHAT =188, //赤エモ?態
|
||||||
@ -153,16 +156,11 @@ enum { // struct map_session_data
|
|||||||
SC_DPOISON =198, /* 猛毒 */
|
SC_DPOISON =198, /* 猛毒 */
|
||||||
|
|
||||||
// Used by English Team
|
// Used by English Team
|
||||||
SC_BROKNARMOR =32,
|
|
||||||
SC_BROKNWEAPON =33,
|
|
||||||
SC_SPEEDUP0 =41, // for skill speedup
|
|
||||||
SC_SPEEDUP1 =42, // for skill speedup
|
|
||||||
SC_SLOWDOWN =45, // for skill slowdown
|
SC_SLOWDOWN =45, // for skill slowdown
|
||||||
SC_AUTOBERSERK =46,
|
SC_AUTOBERSERK =46,
|
||||||
SC_SIGHTTRASHER =73,
|
SC_SIGHTTRASHER =73,
|
||||||
SC_BASILICA =102, // temporarily use this before an actual id is found [celest]
|
SC_BASILICA =102, // temporarily use this before an actual id is found [celest]
|
||||||
SC_EDP =114, /* エフェクトが判明したら移動 */
|
|
||||||
SC_MARIONETTE2 =122, // Marionette target
|
|
||||||
SC_ENSEMBLE =159,
|
SC_ENSEMBLE =159,
|
||||||
SC_FOGWALL =178,
|
SC_FOGWALL =178,
|
||||||
SC_GOSPEL =179,
|
SC_GOSPEL =179,
|
||||||
@ -177,28 +175,6 @@ enum { // struct map_session_data
|
|||||||
SC_ADAPTATION =194,
|
SC_ADAPTATION =194,
|
||||||
SC_CHASEWALK =195,
|
SC_CHASEWALK =195,
|
||||||
SC_REGENERATION =196,
|
SC_REGENERATION =196,
|
||||||
|
|
||||||
|
|
||||||
// [Celest]
|
|
||||||
SC_BLEEDING = 124, // Temporarily same id as headcrush
|
|
||||||
|
|
||||||
// -- testing various SC effects
|
|
||||||
// SC_AURABLADE =81,
|
|
||||||
// SC_CONCENTRATION =83,
|
|
||||||
// SC_TENSIONRELAX =84,
|
|
||||||
// SC_BERSERK =85,
|
|
||||||
// SC_CALLSPIRITS =100,
|
|
||||||
// SC_PARRYING =100,
|
|
||||||
// SC_FREECAST =101,
|
|
||||||
// SC_ABSORBSPIRIT =102,
|
|
||||||
// SC_ASSUMPTIO =114,
|
|
||||||
// SC_SHARPSHOOT =127,
|
|
||||||
// SC_GANGSTER =184,
|
|
||||||
// SC_CANNIBALIZE =186,
|
|
||||||
// SC_SPHEREMINE =187,
|
|
||||||
// SC_METEOSTORM =189,
|
|
||||||
// SC_CASTCANCEL =190,
|
|
||||||
// SC_SPIDERWEB =191,
|
|
||||||
};
|
};
|
||||||
extern int SkillStatusChangeTable[];
|
extern int SkillStatusChangeTable[];
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user