diff options
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | db/Changelog.txt | 1 | ||||
-rw-r--r-- | db/skill_db.txt | 5 | ||||
-rw-r--r-- | src/map/pc.c | 2 | ||||
-rw-r--r-- | src/map/skill.c | 17 | ||||
-rw-r--r-- | src/map/skill.h | 2 |
6 files changed, 16 insertions, 14 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 532210a4d..0b4f96c90 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,9 @@ 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/05/28
+ * Added inf2 4096 (INF2_ALLOW_ENEMY) which is to be used in conjunction
+ with INF2_PARTY_ONLY/INF2_GUILD_ONLY when said skill should ALSO be allowed
+ to be used on enemies. [Skotlex]
* Cleaned up a bit the code for @item [Skotlex]
* Fixed character/storage being sent to be saved TWICE when you logged out
while the storage is opened. [Skotlex]
diff --git a/db/Changelog.txt b/db/Changelog.txt index 1b21c8efc..4b2c0bc90 100644 --- a/db/Changelog.txt +++ b/db/Changelog.txt @@ -25,6 +25,7 @@ =========================
06/28
+ * Updated Soul Change to use inf2 4096 (INF2_ALLOW_ENEMY). [Skotlex]
* Updated Morpheus's Hood and Freyr's Shoes [Playtester]
* Fixed the SP usage of AS_SPLASHER. Thanks to Belle. [MasterOfMuppets]
06/27
diff --git a/db/skill_db.txt b/db/skill_db.txt index 67ba4fb33..0cf5a65ad 100644 --- a/db/skill_db.txt +++ b/db/skill_db.txt @@ -15,7 +15,8 @@ // 8- spirit skill, 16- guild skill, 32- song/dance, 64- ensemble skill
// 128- trap (can be targetted), 256- skill that damages/targets yourself
// 512- cannot be casted on self (if inf = 4, auto-select target skill)
-// 1024- usable only on party-members, 2048- usable only on guild-mates)
+// 1024- usable only on party-members, 2048- usable only on guild-mates
+// 4096- allow usage on enemies too (use with 1024/2048))
// 13 maxcount: max amount of skill instances to place on the ground when
// player_land_skill_limit/monster_land_skill_limit is enabled.
// 14 attack type (none, weapon, magic, misc)
@@ -393,7 +394,7 @@ 371,-2,8,4,-1,0,0,5,1,no,0,512,0,weapon,0 //CH_TIGERFIST#Glacier Fist#
372,-2,8,4,-1,0,0,10,-1:-1:-2:-2:-3:-3:-4:-4:-5:-5,no,0,512,0,weapon,0 //CH_CHAINCRUSH#Chain Crush Combo#
373,0,6,4,0,1,0,5,1,no,0,0,0,magic,0 //PF_HPCONVERSION#Health Conversion#
-374,9,6,16,0,1,0,1,1,yes,0,3072,0,none,0 //PF_SOULCHANGE#Soul Exhale#
+374,9,6,16,0,1,0,1,1,yes,0,7168,0,none,0 //PF_SOULCHANGE#Soul Exhale#
375,9,6,1,0,0,0,5,1,yes,0,0,0,magic,0 //PF_SOULBURN#Soul Siphon#
376,0,0,0,0,1,0,5,1,no,0,0,0,weapon,0 //ASC_KATAR#Advanced Katar Mastery#
//377,0,0,4,0,1,0,10,1,no,0,0,0,misc,0 //ASC_HALLUCINATION#Hallucination Walk#
diff --git a/src/map/pc.c b/src/map/pc.c index 63d097b14..fc7e5c7a8 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -6358,7 +6358,7 @@ int pc_checkitem(struct map_session_data *sd) continue;
if( battle_config.item_check && !itemdb_available(id) ){
if(battle_config.error_log)
- ShowWarning("illeagal item id %d in %d[%s] cart.\n",id,sd->bl.id,sd->status.name);
+ ShowWarning("illegal item id %d in %d[%s] cart.\n",id,sd->bl.id,sd->status.name);
pc_cart_delitem(sd,i,sd->status.cart[i].amount,1);
continue;
}
diff --git a/src/map/skill.c b/src/map/skill.c index 7f460e507..b43112109 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -5545,17 +5545,12 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data) inf2 = skill_get_inf2(ud->skillid); if(inf2 & (INF2_PARTY_ONLY|INF2_GUILD_ONLY) && src != target) { - int fail_flag = 1; - if(inf2 & INF2_PARTY_ONLY && battle_check_target(src, target, BCT_PARTY) > 0) - fail_flag = 0; - else if(inf2 & INF2_GUILD_ONLY && battle_check_target(src, target, BCT_GUILD) > 0) - fail_flag = 0; - - if (ud->skillid == PF_SOULCHANGE && map_flag_vs(target->m)) - //Soul Change overrides this restriction during pvp/gvg [Skotlex] - fail_flag = 0; - - if(fail_flag) + inf2 = + (inf2&INF2_PARTY_ONLY?BCT_PARTY:0)| + (inf2&INF2_GUILD_ONLY?BCT_GUILD:0)| + (inf2&INF2_ALLOW_ENEMY?BCT_ENEMY:0); + + if(battle_check_target(src, target, inf2) <= 0) break; } diff --git a/src/map/skill.h b/src/map/skill.h index a5b1e25cf..650fb6ae7 100644 --- a/src/map/skill.h +++ b/src/map/skill.h @@ -40,6 +40,8 @@ #define INF2_NO_TARGET_SELF 512
#define INF2_PARTY_ONLY 1024
#define INF2_GUILD_ONLY 2048
+//For Party/Guild only skills that can ALSO be used on enemies.
+#define INF2_ALLOW_ENEMY 4096
//Walk intervals at which chase-skills are attempted to be triggered.
#define WALK_SKILL_INTERVAL 5
|