summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-05-16 14:42:54 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-05-16 14:42:54 +0000
commited800c53cea74042b2666c9588f8e92787013d14 (patch)
tree0684746027dbc96ab956628887ac403f706d9807
parent4575744180e62e1ae1d90bf628ace2839aeb15a4 (diff)
downloadhercules-ed800c53cea74042b2666c9588f8e92787013d14.tar.gz
hercules-ed800c53cea74042b2666c9588f8e92787013d14.tar.bz2
hercules-ed800c53cea74042b2666c9588f8e92787013d14.tar.xz
hercules-ed800c53cea74042b2666c9588f8e92787013d14.zip
- Fire Pillar will now do 200%MATK damage per hit when level is >10.
- Blood Drain always hits now. - Fixed Mob Area Skills not updating their use-time (rendering their skill delay useless) - Search free cell will now skip picking the center-tile as target location. Will prevent slaves from walking on top of their master, or mobs placing stuff right under themselves with the "around" target conditions. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6621 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt10
-rw-r--r--db/skill_unit_db.txt2
-rw-r--r--src/map/battle.c5
-rw-r--r--src/map/map.c3
-rw-r--r--src/map/skill.c11
5 files changed, 28 insertions, 3 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index e66a1a1da..a76d9bfb3 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -3,6 +3,16 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
+2006/05/16
+ * Fire Pillar will now do 200%MATK damage per hit when level is >10.
+ [Skotlex]
+ * Blood Drain always hits now. [Skotlex]
+ * Fixed Mob Area Skills not updating their use-time (rendering their skill
+ delay useless) [Skotlex]
+ * Search free cell will now skip picking the center-tile as target
+ location. Will prevent slaves from walking on top of their master, or mobs
+ placing stuff right under themselves with the "around" target conditions
+ among other things. [Skotlex]
2006/05/15
* Small changes to the skill.conf
- Monsters now can place ground skills on top of each other by default
diff --git a/db/skill_unit_db.txt b/db/skill_unit_db.txt
index dd0ac6ad5..c94b1c3e2 100644
--- a/db/skill_unit_db.txt
+++ b/db/skill_unit_db.txt
@@ -30,7 +30,7 @@
70,0x83, , -1, 1,1000,all, 0x008 //PR_SANCTUARY#サンクチュアリ
79,0x84, , -1, 1,3000,enemy, 0x008 //PR_MAGNUS#マグヌスエクソシズム
80,0x87,0x88, 0, 1,2000,enemy, 0x002 //WZ_FIREPILLAR#ファイアーピラー
- 83,0x86, , 0,3:3:3:3:3:3:3:3:3:3:3,1000,enemy, 0x000 //WZ_METEOR#メテオストーム
+ 83,0x86, , 0, 3,1000,enemy, 0x000 //WZ_METEOR#メテオストーム
85,0x86, , 0,6:6:6:6:6:6:6:6:6:6:25,1250,enemy, 0x008 //WZ_VERMILION#ロードオブヴァーミリオン
87,0x8d, , -1, 0, -1,all, 0x000 //WZ_ICEWALL#アイスウォール
88,0x86, , 0, 2,1000,enemy, 0x000 //WZ_FROSTNOVA#フロストノヴァ
diff --git a/src/map/battle.c b/src/map/battle.c
index 5df3bdc0b..39ded0982 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -1267,6 +1267,7 @@ static struct Damage battle_calc_weapon_attack(
case SG_SUN_WARM:
case SG_MOON_WARM:
case SG_STAR_WARM:
+ case NPC_BLOODDRAIN:
flag.hit = 1;
break;
case CR_SHIELDBOOMERANG:
@@ -2530,7 +2531,9 @@ struct Damage battle_calc_magic_attack(
skillratio += (100+skill_lv*10)*2/3-100;
break;
case WZ_FIREPILLAR:
- if (skill_lv <= 10)
+ if (skill_lv > 10)
+ skillratio += 100;
+ else
skillratio -= 80;
break;
case WZ_SIGHTRASHER:
diff --git a/src/map/map.c b/src/map/map.c
index 41aa35d7e..9e962a5d5 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -1484,6 +1484,9 @@ int map_search_freecell(struct block_list *src, int m, short *x,short *y, int rx
*x = (rx >= 0)?(rand()%rx2-rx+bx):(rand()%(map[m].xs-2)+1);
*y = (ry >= 0)?(rand()%ry2-ry+by):(rand()%(map[m].ys-2)+1);
+ if (*x == bx && *y == by)
+ continue; //Avoid picking the same target tile.
+
if (map_getcell(m,*x,*y,CELL_CHKREACH))
{
if(flag&2 && !unit_can_reach_pos(src, *x, *y, 1))
diff --git a/src/map/skill.c b/src/map/skill.c
index 02194d081..6b36c631d 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -825,7 +825,7 @@ int skillnotok(int skillid, struct map_session_data *sd)
if(!battle_config.pk_mode && skill_get_nocast (skillid) & 2)
return 1;
if(battle_config.pk_mode && skill_get_nocast (skillid) & 16)
- return 1;
+ return 1;
}
if(map_flag_gvg(sd->bl.m) && skill_get_nocast (skillid) & 4)
return 1;
@@ -5793,6 +5793,15 @@ int skill_castend_pos( int tid, unsigned int tick, int id,int data )
if(sd && !skill_check_condition(sd,ud->skillid, ud->skilllv, 1)) /* 使用条件チェック */
break;
+ if(md) {
+ md->last_thinktime=tick + (tid==-1?status_get_adelay(src):status_get_amotion(src));
+ if(md->skillidx >= 0) {
+ md->skilldelay[md->skillidx]=tick;
+ if (md->db->skill[md->skillidx].emotion >= 0)
+ clif_emotion(src, md->db->skill[md->skillidx].emotion);
+ }
+ }
+
if(battle_config.skill_log && battle_config.skill_log&src->type)
ShowInfo("Type %d, ID %d skill castend pos [id =%d, lv=%d, (%d,%d)]\n",
src->type, src->id, ud->skillid, ud->skilllv, ud->skillx, ud->skilly);