summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--db/Changelog.txt1
-rw-r--r--db/skill_db.txt5
-rw-r--r--src/map/pc.c2
-rw-r--r--src/map/skill.c17
-rw-r--r--src/map/skill.h2
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