summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt1
-rw-r--r--db/skill_cast_db.txt4
-rw-r--r--db/skill_castnodex_db.txt2
-rw-r--r--db/skill_db.txt8
-rw-r--r--db/skill_require_db.txt6
-rw-r--r--src/map/battle.c4
-rw-r--r--src/map/skill.c2
-rw-r--r--src/map/status.c4
8 files changed, 19 insertions, 12 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 2ecfbcae4..a0ea6075e 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,7 @@ 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/07/30
+ * GS skill updates/fixes [Vicious]
* Force all users offline in sql when char-server starts [Toms]
2006/07/29
* Removed ugly struct cast in login.c [Toms]
diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt
index 31fc89f06..2f1bdbb66 100644
--- a/db/skill_cast_db.txt
+++ b/db/skill_cast_db.txt
@@ -870,9 +870,9 @@
//-- GS_GATLINGFEVER
517,0,1000,0,30000:45000:60000:75000:90000:105000:120000:135000:150000:160000,0
//-- GS_DUST
-518,0,1000,0,0,0
+518,1000,1000,0,0,0
//-- GS_FULLBUSTER
-519,0,1200:1400:1600:1800:2000:2200:2400:2600:2800:3000,0,0,0
+519,1000,1200:1400:1600:1800:2000:2200:2400:2600:2800:3000,0,0,0
//-- GS_SPREADATTACK
520,0,1000,0,0,0
//-- GS_GROUNDDRIFT
diff --git a/db/skill_castnodex_db.txt b/db/skill_castnodex_db.txt
index 147e1bed5..f80859840 100644
--- a/db/skill_castnodex_db.txt
+++ b/db/skill_castnodex_db.txt
@@ -18,6 +18,8 @@
410,1 //WE_CALLBABY
482,1 //PF_DOUBLECASTING
462,1 //SL_KAIZEL
+512,1 //GS_TRACKING
+518,1 //GS_DUST
1014,1 //PR_REDEMPTIO
10010,3 //GD_BATTLEORDER
10011,3 //GD_REGENERATION
diff --git a/db/skill_db.txt b/db/skill_db.txt
index d55892347..1c1e49c31 100644
--- a/db/skill_db.txt
+++ b/db/skill_db.txt
@@ -534,13 +534,13 @@
510,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //GS_SNAKEEYE#Snake Eye#
511,-3,8,0,0,0,0,10,2,no,0,0,0,weapon,0 //GS_CHAINACTION#Chain Action#
512,3,6,1,0,0,0,10,1,no,0,0,0,weapon,0 //GS_TRACKING#Tracking#
-513,-3,6,1,0,0,0,5,1,no,0,0,0,weapon,0 //GS_DISARM#Disarm#
+513,7,6,1,0,0,0,5,1,no,0,0,0,weapon,0 //GS_DISARM#Disarm#
514,3,6,1,0,0,0,5,1,no,0,0,0,weapon,0 //GS_PIERCINGSHOT#Piercing Shot#
515,3,8,1,0,0,0,10,5,no,0,0,0,weapon,0 //GS_RAPIDSHOWER#Rapid Shower#
-516,-5,8,4,0,2,2,10,1,no,0,0,0,weapon,0 //GS_DESPERADO#Desperado#
+516,0,8,4,0,2,2,10,1,no,0,0,0,weapon,0 //GS_DESPERADO#Desperado#
517,0,6,4,0,1,0,10,1,no,0,0,0,weapon,0 //GS_GATLINGFEVER#Gatling Fever#
-518,-3,6,1,0,0,0,10,1,no,0,0,0,weapon,0 //GS_DUST#Dust#
-519,3,6,1,0,0,0,10,1,no,0,0,0,weapon,0 //GS_FULLBUSTER#Full Buster#
+518,3,6,1,0,0,0,10,1,no,0,0,0,weapon,5 //GS_DUST#Dust#
+519,3,6,1,0,0,0,10,1,yes,0,0,0,weapon,0 //GS_FULLBUSTER#Full Buster#
520,3,6,1,0,2,1:1:1:2:2:2:3:3:3:4,10,1,no,0,0,0,weapon,0 //GS_SPREADATTACK#Spread Attack#
521,3,6,1,0,0,0,10,1,no,0,0,0,weapon,0 //GS_GROUNDDRIFT#Ground Drift#
522,0,0,0,0,0,0,10,1,no,0,0,0,weapon,0 //NJ_TOBIDOUGU#NJ_TOBIDOUGU#
diff --git a/db/skill_require_db.txt b/db/skill_require_db.txt
index bff383e54..e0303c94b 100644
--- a/db/skill_require_db.txt
+++ b/db/skill_require_db.txt
@@ -394,10 +394,10 @@
498,0,0,200,0,0,0,99,0,0,none,0,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0//AM_TWILIGHT3##
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,1,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
+500,0,0,2,0,0,1,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
501,0,0,10,0,0,0,17:18:19:20:21,0,0,none,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_FLING
502,0,0,10,0,0,0,17:18:19:20:21,3:4:5,1,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_TRIPLEACTION
-503,0,0,10,0,0,0,17:18:19:20:21,3:4:5,1,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_BULLSEYE
+503,0,0,30,0,0,0,17:18:19:20:21,3:4:5,1,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_BULLSEYE
504,0,0,10,0,0,0,17:18:19:20:21,0,0,none,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_MADNESSCANCEL
505,0,0,15,0,0,0,17:18:19:20:21,0,0,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_ADJUSTMENT
506,0,0,10,0,0,0,17:18:19:20:21,0,0,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_INCREASING
@@ -410,7 +410,7 @@
516,0,0,32:34:36:38:40:42:44:46:48:50,0,0,0,17,3,10,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_DESPERADO
517,0,0,30:32:34:36:38:40:42:44:46:48,0,0,0,20,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_GATLINGFEVER
518,0,0,3:6:9:12:15:18:21:24:27:30,0,0,0,19,4,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_DUST
-519,0,0,20:25:30:35:40:45:50:55:60:65,0,0,0,19,4,1:2:3:4:5:6:7:8:9:10,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_FULLBUSTER
+519,0,0,20:25:30:35:40:45:50:55:60:65,0,0,0,19,4,2:2:4:4:6:6:8:8:10:10,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_FULLBUSTER
520,0,0,15:20:25:30:35:40:45:50:55:60,0,0,0,19,4,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_SPREADATTACK
521,0,0,4:8:12:16:20:24:28:32:36:40,0,0,0,21,5,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_GROUNDDRIFT
523,0,0,2,0,0,0,99,6,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NJ_SYURIKEN
diff --git a/src/map/battle.c b/src/map/battle.c
index 4c3edf5c1..27f926c33 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -350,6 +350,10 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i
(flag&(BF_LONG|BF_WEAPON)) == (BF_LONG|BF_WEAPON))
damage=damage*(100-sc->data[SC_DEFENDER].val2)/100;
+ if(sc->data[SC_ADJUSTMENT].timer != -1 &&
+ (flag&(BF_LONG|BF_WEAPON)) == (BF_LONG|BF_WEAPON))
+ damage=damage*80/100;
+
if(sc->data[SC_FOGWALL].timer != -1) {
if(flag&BF_SKILL) //25% reduction
damage -= 25*damage/100;
diff --git a/src/map/skill.c b/src/map/skill.c
index 6ad70db0f..9c396eb1d 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1358,7 +1358,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
sc_start(bl,SC_BLEEDING,(skilllv*3),skilllv,skill_get_time2(skillid,skilllv));
break;
case GS_FULLBUSTER:
- sc_start(bl,SC_BLIND,(2*skilllv),skilllv,skill_get_time2(skillid,1));
+ sc_start(src,SC_BLIND,(2*skilllv),skilllv,skill_get_time2(skillid,1));
break;
case NJ_HYOUSYOURAKU:
sc_start(bl,SC_FREEZE,(10+10*skilllv),skilllv,skill_get_time2(skillid,skilllv));
diff --git a/src/map/status.c b/src/map/status.c
index ada20d59e..5d5c0c6a4 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -1992,7 +1992,7 @@ int status_calc_pc(struct map_session_data* sd,int first)
status->aspd_rate -= 30*skill;
if((skill=pc_checkskill(sd,GS_SINGLEACTION))>0 &&
(sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE))
- status->aspd_rate -= 5*skill;
+ status->aspd_rate -= (int)((skill+1)/2) * 10;
if(pc_isriding(sd))
status->aspd_rate += 500-100*pc_checkskill(sd,KN_CAVALIERMASTERY);
@@ -3242,7 +3242,7 @@ static signed short status_calc_hit(struct block_list *bl, struct status_change
if(sc->data[SC_BLIND].timer != -1)
hit -= hit * 25/100;
if(sc->data[SC_ADJUSTMENT].timer!=-1)
- hit += 30;
+ hit -= 30;
if(sc->data[SC_INCREASING].timer!=-1)
hit += 20; // RockmanEXE; changed based on updated [Reddozen]