diff options
-rw-r--r-- | db/const.txt | 1 | ||||
-rw-r--r-- | db/pre-re/item_db.txt | 2 | ||||
-rw-r--r-- | db/pre-re/skill_cast_db.txt | 2 | ||||
-rw-r--r-- | db/pre-re/skill_db.txt | 2 | ||||
-rw-r--r-- | db/re/item_db.txt | 2 | ||||
-rw-r--r-- | db/re/skill_cast_db.txt | 2 | ||||
-rw-r--r-- | db/re/skill_db.txt | 2 | ||||
-rw-r--r-- | src/map/skill.c | 14 | ||||
-rw-r--r-- | src/map/status.c | 4 | ||||
-rw-r--r-- | src/map/status.h | 5 |
10 files changed, 29 insertions, 7 deletions
diff --git a/db/const.txt b/db/const.txt index b1f16d275..def019213 100644 --- a/db/const.txt +++ b/db/const.txt @@ -1216,6 +1216,7 @@ SC_ROCK_CRUSHER 506 SC_ROCK_CRUSHER_ATK 507 SC_INCMHP 529 SC_INCMSP 530 +SC_PARTYFLEE 531 e_gasp 0 e_what 1 diff --git a/db/pre-re/item_db.txt b/db/pre-re/item_db.txt index 7e9378fec..970d44a18 100644 --- a/db/pre-re/item_db.txt +++ b/db/pre-re/item_db.txt @@ -4853,7 +4853,7 @@ 12308,Magic_Castle,Magic Magic Powder,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ setfont 8; },{},{} 12309,Bulging_Head,JJangu Magic Powder,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ setfont 9; },{},{} 12310,Spray_Of_Flowers,Spray Of Flowers,2,0,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCFLEE,600000,10; },{},{} -12311,Large_Spray_Of_Flowers,Huge Spray Of Flowers,11,0,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{} +12311,Large_Spray_Of_Flowers,Huge Spray Of Flowers,11,0,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "ALL_PARTYFLEE",1; },{},{} 12312,Thick_Manual50,Thick Battle Manual,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_EXPBOOST,3600000,50; },{},{} 12313,Protection_Of_Angel,Guardian Angel,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{} 12314,Noive_Box,Noive Box,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{} diff --git a/db/pre-re/skill_cast_db.txt b/db/pre-re/skill_cast_db.txt index 8fd503a03..3d79c5bae 100644 --- a/db/pre-re/skill_cast_db.txt +++ b/db/pre-re/skill_cast_db.txt @@ -1023,6 +1023,8 @@ 691,0,0,0,20000:40000:60000:80000:100000,0,0 //-- ALL_CATCRY 692,0,5000,0,0,0,0 +//-- ALL_PARTYFLEE +693,0,0,0,0,0,300000,0 //-- ALL_DREAM_SUMMERNIGHT 695,0,12000,0,0,0,0 diff --git a/db/pre-re/skill_db.txt b/db/pre-re/skill_db.txt index a98a01837..a8e2547ce 100644 --- a/db/pre-re/skill_db.txt +++ b/db/pre-re/skill_db.txt @@ -636,7 +636,7 @@ 690,0,6,4,0,0x3,-1,10,1,yes,0,0x2,0,magic,0, CASH_INCAGI,Party Increase AGI 691,0,6,4,0,0x3,-1,5,1,yes,0,0x2,0,magic,0, CASH_ASSUMPTIO,Party Assumptio //692,0,0,0,0,0,0,9,0,no,0,0x2,0,none,0, ALL_CATCRY,Cat Cry -//693,0,0,0,0,0,0,9,0,no,0,0x2,0,none,0, ALL_PARTYFLEE,Party Flee +693,0,6,4,0,0x3,-1,1,1,yes,0,0x2,0,magic,0, ALL_PARTYFLEE,Party Flee //694,0,0,0,0,0,0,9,0,no,0,0x2,0,none,0, ALL_ANGEL_PROTECT,Angel's Protection //695,0,0,0,0,0,0,9,0,no,0,0x2,0,none,0, ALL_DREAM_SUMMERNIGHT,Summer Night Dream //696,0,0,0,0,0,0,9,0,no,0,0x2,0,none,0, NPC_CHANGEUNDEAD2,Change Undead diff --git a/db/re/item_db.txt b/db/re/item_db.txt index f6255779e..468c38f5c 100644 --- a/db/re/item_db.txt +++ b/db/re/item_db.txt @@ -5354,7 +5354,7 @@ 12308,Magic_Castle,Magic Magic Powder,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ setfont 8; },{},{} 12309,Bulging_Head,JJangu Magic Powder,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ setfont 9; },{},{} 12310,Spray_Of_Flowers,Spray Of Flowers,2,0,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCFLEE,600000,10; },{},{} -12311,Large_Spray_Of_Flowers,Huge Spray Of Flowers,11,0,,100,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{} +12311,Large_Spray_Of_Flowers,Huge Spray Of Flowers,11,0,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "ALL_PARTYFLEE",1; },{},{} 12312,Thick_Manual50,Thick Battle Manual,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_EXPBOOST,3600000,50; },{},{} 12313,Protection_Of_Angel,Guardian Angel,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{} 12314,Noive_Box,Noive Box,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{} diff --git a/db/re/skill_cast_db.txt b/db/re/skill_cast_db.txt index 9a6c092f2..a8bb7a74a 100644 --- a/db/re/skill_cast_db.txt +++ b/db/re/skill_cast_db.txt @@ -1024,6 +1024,8 @@ 691,0,0,0,20000:40000:60000:80000:100000,0,0,0 //-- ALL_CATCRY 692,0,5000,0,0,0,0,0 +//-- ALL_PARTYFLEE +693,0,0,0,0,0,300000,0 //-- ALL_DREAM_SUMMERNIGHT 695,0,12000,0,0,0,0,0 diff --git a/db/re/skill_db.txt b/db/re/skill_db.txt index b2ea60a7c..fbb8945b3 100644 --- a/db/re/skill_db.txt +++ b/db/re/skill_db.txt @@ -636,7 +636,7 @@ 690,0,6,4,0,0x3,-1,10,1,yes,0,0x2,0,magic,0, CASH_INCAGI,Party Increase AGI 691,0,6,4,0,0x3,-1,5,1,yes,0,0x2,0,magic,0, CASH_ASSUMPTIO,Party Assumptio //692,0,0,0,0,0,0,9,0,no,0,0x2,0,none,0, ALL_CATCRY,Cat Cry -//693,0,0,0,0,0,0,9,0,no,0,0x2,0,none,0, ALL_PARTYFLEE,Party Flee +693,0,6,4,0,0x3,-1,1,1,yes,0,0x2,0,magic,0, ALL_PARTYFLEE,Party Flee //694,0,0,0,0,0,0,9,0,no,0,0x2,0,none,0, ALL_ANGEL_PROTECT,Angel's Protection //695,0,0,0,0,0,0,9,0,no,0,0x2,0,none,0, ALL_DREAM_SUMMERNIGHT,Summer Night Dream //696,0,0,0,0,0,0,9,0,no,0,0x2,0,none,0, NPC_CHANGEUNDEAD2,Change Undead diff --git a/src/map/skill.c b/src/map/skill.c index f5aa37b6b..5891aa7a3 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -7245,6 +7245,19 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in skill_castend_nodamage_id); } break; + case ALL_PARTYFLEE: + if( sd && !(flag&1) ) + { + if( !sd->status.party_id ) + { + clif_skill_fail(sd,skillid,USESKILL_FAIL_LEVEL,0); + break; + } + party_foreachsamemap(skill_area_sub, sd, skill_get_splash(skillid, skilllv), src, skillid, skilllv, tick, flag|BCT_PARTY|1, skill_castend_nodamage_id); + } + else + clif_skill_nodamage(src,bl,skillid,skilllv,sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); + break; case NPC_TALK: case ALL_WEWISH: clif_skill_nodamage(src,bl,skillid,skilllv,1); @@ -7577,6 +7590,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case SC_STEALTHFIELD_MASTER: case SC_STEALTHFIELD: case SC_LEADERSHIP: case SC_GLORYWOUNDS: case SC_SOULCOLD: case SC_HAWKEYES: case SC_GUILDAURA: case SC_PUSH_CART: + case SC_PARTYFLEE: continue; case SC_ASSUMPTIO: if( bl->type == BL_MOB ) diff --git a/src/map/status.c b/src/map/status.c index 541123050..a5bc25d91 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -464,7 +464,7 @@ void initChangeTables(void) { set_sc( CASH_INCAGI , SC_INCREASEAGI , SI_INCREASEAGI , SCB_AGI|SCB_SPEED ); set_sc( CASH_ASSUMPTIO , SC_ASSUMPTIO , SI_ASSUMPTIO , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2 ); - //set_sc( ALL_PARTYFLEE , SC_INCFLEE , SI_PARTYFLEE , SCB_NONE ); + set_sc( ALL_PARTYFLEE , SC_PARTYFLEE , SI_PARTYFLEE , SCB_NONE ); set_sc( ALL_ODINS_POWER , SC_ODINS_POWER , SI_ODINS_POWER , SCB_MATK|SCB_BATK|SCB_MDEF|SCB_DEF ); set_sc( CR_SHRINK , SC_SHRINK , SI_SHRINK , SCB_NONE ); @@ -4577,6 +4577,8 @@ static signed short status_calc_flee(struct block_list *bl, struct status_change flee -= sc->data[SC_GATLINGFEVER]->val4; if(sc->data[SC_SPEED]) flee += 10 + sc->data[SC_SPEED]->val1 * 10; + if(sc->data[SC_PARTYFLEE]) + flee += sc->data[SC_PARTYFLEE]->val1 * 10; if(sc->data[SC_MERC_FLEEUP]) flee += sc->data[SC_MERC_FLEEUP]->val2; if(sc->data[SC_FEAR]) diff --git a/src/map/status.h b/src/map/status.h index efa2a84a1..41010a34b 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -619,7 +619,8 @@ typedef enum sc_type { SC_ERASER_CUTTER, /* Max HP & SP */ SC_INCMHP, - SC_INCMSP, + SC_INCMSP, + SC_PARTYFLEE, // 531 SC_MAX, //Automatically updated max, used in for's to check we are within bounds. } sc_type; @@ -939,7 +940,7 @@ enum si_type { // SI_REUSE_LIMIT_F = 310, SI_INVINCIBLE = 311, SI_CASH_PLUSONLYJOBEXP = 312, -// SI_PARTYFLEE = 313, + SI_PARTYFLEE = 313, // SI_ANGEL_PROTECT = 314, SI_ENDURE_MDEF = 315, SI_ENCHANTBLADE = 316, |