diff options
-rw-r--r-- | Changelog-Trunk.txt | 10 | ||||
-rw-r--r-- | db/skill_unit_db.txt | 2 | ||||
-rw-r--r-- | src/map/battle.c | 5 | ||||
-rw-r--r-- | src/map/map.c | 3 | ||||
-rw-r--r-- | src/map/skill.c | 11 |
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);
|