summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-12-13 03:37:29 +0000
committercelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-12-13 03:37:29 +0000
commit11edd9bd6b905e1da203d49f0646cd9502536f1f (patch)
treec11b95ae11ca3286e09b8ed54321d9e5f8abe5f4
parente937166544b81130ba9c4336f69ad4cbd98614da (diff)
downloadhercules-11edd9bd6b905e1da203d49f0646cd9502536f1f.tar.gz
hercules-11edd9bd6b905e1da203d49f0646cd9502536f1f.tar.bz2
hercules-11edd9bd6b905e1da203d49f0646cd9502536f1f.tar.xz
hercules-11edd9bd6b905e1da203d49f0646cd9502536f1f.zip
* Made guild skills to check for skill levels first when casting
* Modified arrow checking in skill.c * Corrected Cart Revolution damage calculation git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@549 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog.txt7
-rw-r--r--Dev/bugs.txt15
-rw-r--r--db/Changelog.txt2
-rw-r--r--db/skill_tree.txt18
-rw-r--r--src/map/battle.c4
-rw-r--r--src/map/skill.c21
6 files changed, 37 insertions, 30 deletions
diff --git a/Changelog.txt b/Changelog.txt
index f8d747ea2..aaf7f889e 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -2,6 +2,13 @@ Date Added
12/13
* Internal MAIL system: moved all strings to msg_athena.conf [Lupus]
+12/12
+ * Made guild skills to check for skill levels first when casting [celest]
+
+12/11
+ * Modified arrow checking in skill.c [celest]
+ * Corrected Cart Revolution damage calculation [celest]
+
12/10
* Fixed players unable to move in AFM maps [celest]
* Added error message if a player's last map couldn't be found [celest]
diff --git a/Dev/bugs.txt b/Dev/bugs.txt
index 637cc6a81..120dc4287 100644
--- a/Dev/bugs.txt
+++ b/Dev/bugs.txt
@@ -54,20 +54,16 @@ Progess: 0%
Problem: Sage's Area Skills (Delu.,Vulcano, etc) if casted on the same area (or overlap each other) instantly reboots server. use @gvgon when test. Don't test it towns
Assigned: N/A
Progess: 0%
+Notes: Never heard of this being reported again... fixed maybe? [Celest]
Problem: Changing email and Broadcast both use the same packets / Packet 0x3000 assigned to changing email instead of broadcasting?
Notes: Refer to char.c line 2272 and line 2416, intif.c line 107, chrif.c line 377
Assigned: N/A
Progress: 0%
-Problem: Sanctuary heal emp during WoE?
-Assigned: N/A
-Progress: 0%
-Note: Isn't sanctuary supposed to be able to heal the emperium? [celest]
-
Problem: AFM Maps not loading coords correctly, players appearing outside boundaries of the maps.
Assigned: N/A
-Progress: 0%
+Progress: 100% (Fixed, i hope. ;p [Celest])
Problem: Wierd login-server bug on sql, it displays that the server is full when map-server crashes, has something to do with anti double login feature?
Assigned: N/A
@@ -78,8 +74,8 @@ Assigned: MC Cameri
Progress: 100%
Problem: Storm Gust doesn't freeze mobs / players
-Assigned: N/A
-Progress: 0%
+Assigned: Celest
+Progress: 100% (Should be working now.)
Problem: MVP cast spells w/o showing "prepare cast line"
Assigned: N/A
@@ -88,7 +84,8 @@ Progress: 0%
Problem: Line 130 in item_db.txt is giving error.
Note: This is the whole line: 658,Tribal_Solidarity,Tribal Solidarity,2,1000,0,500,,,,,10477567,2,,,,,{ guildgetexp rand(1,10000); },{}
Assigned: N/A
-Progress: 0%
+Progress: -
+Notes: It's a new script command, you need to compile with an updated script.c. [celest]
Problem: Item duping bug in storage...
Assigned: N/A
diff --git a/db/Changelog.txt b/db/Changelog.txt
index 55e727848..c684cfeee 100644
--- a/db/Changelog.txt
+++ b/db/Changelog.txt
@@ -5,6 +5,8 @@
Ayathoya items == Added but no effect ( all are "ect" itens)
Skill databases == celest working on them i believe.
+12/12 * Removed unuseable skills from skill_tree.txt [celest]
+
12/11 * Corrected item_db - Wedding rings should give all 3 skills [celest]
12/9 * Removed some unused skills from skill_tree.txt [celest]
diff --git a/db/skill_tree.txt b/db/skill_tree.txt
index 86704eb27..8028e0d4c 100644
--- a/db/skill_tree.txt
+++ b/db/skill_tree.txt
@@ -833,10 +833,10 @@
4011,113,5,111,3,0,0,0,0,0,0,0,0//BS_OVERTHRUST #オーバートラスト#
4011,114,5,112,3,113,2,0,0,0,0,0,0//BS_MAXIMIZE #マキシマイズパワー#
4011,384,10,109,3,105,1,107,5,113,3,0,0//WS_MELTDOWN #基本スキル#
-4011,385,3,109,5,94,5,96,3,97,2,0,0//WS_CREATECOIN #基本スキル#
-4011,386,3,97,3,106,1,107,5,0,0,0,0//WS_CREATENUGGET #基本スキル#
+//4011,385,3,109,5,94,5,96,3,97,2,0,0//WS_CREATECOIN #基本スキル#
+//4011,386,3,97,3,106,1,107,5,0,0,0,0//WS_CREATENUGGET #基本スキル#
4011,387,1,39,5,153,1,154,1,105,1,0,0//WS_CARTBOOST #基本スキル#
-4011,388,1,107,10,112,3,0,0,0,0,0,0//WS_SYSTEMCREATE #基本スキル#
+//4011,388,1,107,10,112,3,0,0,0,0,0,0//WS_SYSTEMCREATE #基本スキル#
4011,477,10,107,10,0,0,0,0,0,0,0,0//WS_WEAPONREFINE
//Sniper
4012,1,9,0,0,0,0,0,0,0,0,0,0//NV_BASIC #基本スキル#
@@ -926,7 +926,7 @@
4014,357,5,4,1,55,5,63,1,0,0,0,0//LK_CONCENTRATE
4014,358,1,4,10,6,5,8,3,0,0,0,0//LK_TENSIONRELAX
4014,359,1,55,7,56,5,57,5,58,2,63,1//LK_BERSERK
-4014,360,1,3,10,4,6,62,6,0,0,0,0//LK_FURY
+//4014,360,1,3,10,4,6,62,6,0,0,0,0//LK_FURY
4014,397,5,0,0,0,0,0,0,0,0,0,0//LK_SPIRALPIERCE
4014,398,5,0,0,0,0,0,0,0,0,0,0//LK_HEADCRUSH
4014,399,10,0,0,0,0,0,0,0,0,0,0//LK_HEADCRUSH
@@ -1109,9 +1109,6 @@
4019,235,5,237,3,0,0,0,0,0,0,0,0//AM_CP_SHIELD #ケミカルシールドチャージ#
4019,236,5,235,3,0,0,0,0,0,0,0,0//AM_CP_ARMOR #ケミカルアーマーチャージ#
4019,237,5,228,2,0,0,0,0,0,0,0,0//AM_CP_HELM #ケミカルヘルムチャージ#
-4019,478,10,231,5,0,0,0,0,0,0,0,0//CR_SLIMPITCHER
-4019,479,5,234,5,235,5,236,5,237,5,0,0//CR_FULLPROTECTION
-
// 韓国でも未実装なので以下のツリーコメントアウト
//4019,238,1,0,0,0,0,0,0,0,0,0,0//AM_BIOETHICS #生命倫理#
//4019,239,10,238,1,0,0,0,0,0,0,0,0//AM_BIOTECHNOLOGY #生命工学研究#
@@ -1123,8 +1120,11 @@
//4019,245,10,246,3,0,0,0,0,0,0,0,0//AM_DRILLMASTER #ドリルマスター#
//4019,246,10,241,5,0,0,0,0,0,0,0,0//AM_HEALHOMUN #ヒールホムンクルス#
//4019,247,10,246,5,0,0,0,0,0,0,0,0//AM_RESURRECTHOMUN #リザレクションホムンクルス#
-4019,392,5,228,5,0,0,0,0,0,0,0,0//CR_ALCHEMY #Alchemy#
-4019,393,5,228,5,390,2,0,0,0,0,0,0//CR_SYNTHESISPOTION #Potion Synthesis#
+//4019,392,5,228,5,0,0,0,0,0,0,0,0//CR_ALCHEMY #Alchemy#
+//4019,393,5,228,5,390,2,0,0,0,0,0,0//CR_SYNTHESISPOTION #Potion Synthesis#
+4019,478,10,231,5,0,0,0,0,0,0,0,0//CR_SLIMPITCHER
+4019,479,5,234,5,235,5,236,5,237,5,0,0//CR_FULLPROTECTION
+
//Clown
4020,1,9,0,0,0,0,0,0,0,0,0,0//NV_BASIC #基本スキル#
4020,142,1,0,0,0,0,0,0,0,0,0,0//NV_FIRSTAID #応急手当#
diff --git a/src/map/battle.c b/src/map/battle.c
index 7ff7e5348..d039ce032 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3226,8 +3226,8 @@ static struct Damage battle_calc_pc_weapon_attack(
break;
case MC_CARTREVOLUTION: // カートレボリューション
if(sd->cart_max_weight > 0 && sd->cart_weight > 0) {
- damage = ( damage*(150 + sd->cart_weight/80) )/100; //fixed CARTREV damage [Lupus]
- damage2 = ( damage2*(150 + sd->cart_weight/80) )/100;
+ damage = ( damage*(150 + sd->cart_weight/800) )/100; //fixed CARTREV damage [Lupus] // should be 800, not 80... weight is *10 ^_- [celest]
+ damage2 = ( damage2*(150 + sd->cart_weight/800) )/100;
//damage = (damage*(150 + pc_checkskill(sd,BS_WEAPONRESEARCH) + (sd->cart_weight*100/sd->cart_max_weight) ) )/100;
//damage2 = (damage2*(150 + pc_checkskill(sd,BS_WEAPONRESEARCH) + (sd->cart_weight*100/sd->cart_max_weight) ) )/100;
}
diff --git a/src/map/skill.c b/src/map/skill.c
index 59f25274f..fbff7e339 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -4410,13 +4410,13 @@ int skill_castend_nodamage_id( struct block_list *src, struct block_list *bl,int
(su->group->unit_id != 0x92)){ //?を取り返す
if(sd){
if(battle_config.skill_removetrap_type == 1){
- for(i=0;i<10;i++) {
- if(skill_db[su->group->skill_id].itemid[i] > 0){
- memset(&item_tmp,0,sizeof(item_tmp));
- item_tmp.nameid = skill_db[su->group->skill_id].itemid[i];
- item_tmp.identify = 1;
- if(item_tmp.nameid && (flag=pc_additem(sd,&item_tmp,skill_db[su->group->skill_id].amount[i]))){
- clif_additem(sd,0,0,flag);
+ for(i=0;i<10;i++) {
+ if(skill_db[su->group->skill_id].itemid[i] > 0){
+ memset(&item_tmp,0,sizeof(item_tmp));
+ item_tmp.nameid = skill_db[su->group->skill_id].itemid[i];
+ item_tmp.identify = 1;
+ if(item_tmp.nameid && (flag=pc_additem(sd,&item_tmp,skill_db[su->group->skill_id].amount[i]))){
+ clif_additem(sd,0,0,flag);
map_addflooritem(&item_tmp,skill_db[su->group->skill_id].amount[i],sd->bl.m,sd->bl.x,sd->bl.y,NULL,NULL,NULL,0);
}
}
@@ -7096,7 +7096,7 @@ int skill_check_condition(struct map_session_data *sd,int type)
case DC_THROWARROW:
case SN_SHARPSHOOTING:
case CG_ARROWVULCAN:
- if(sd->equip_index[10] <= 0) {
+ if(sd->equip_index[10] < 0) {
clif_arrow_fail(sd,0);
return 0;
}
@@ -7493,11 +7493,12 @@ int skill_use_id( struct map_session_data *sd, int target_id,
struct guild *g;
if (!sd->status.guild_id)
return 0;
- if (!(g = guild_search(sd->status.guild_id)))
+ if ((g = guild_search(sd->status.guild_id)) == NULL)
return 0;
if (strcmp(sd->status.name,g->master))
return 0;
- if (skill_lv <= 0) skill_lv = 1;
+ skill_lv = guild_checkskill(g, skill_num);
+ if (skill_lv <= 0) return 0;
}
break;
}