summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/const.txt1
-rw-r--r--db/pre-re/item_db.txt2
-rw-r--r--db/pre-re/skill_cast_db.txt2
-rw-r--r--db/pre-re/skill_db.txt2
-rw-r--r--db/re/item_db.txt2
-rw-r--r--db/re/skill_cast_db.txt2
-rw-r--r--db/re/skill_db.txt2
-rw-r--r--src/map/skill.c14
-rw-r--r--src/map/status.c4
-rw-r--r--src/map/status.h5
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,