From 2fbedc46150f0b296d165ff58defd3a5e6a7deb9 Mon Sep 17 00:00:00 2001 From: skotlex Date: Wed, 28 Jun 2006 16:42:32 +0000 Subject: - 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. - Updated Soul Change to use inf2 4096 (INF2_ALLOW_ENEMY). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7376 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 3 +++ db/Changelog.txt | 1 + db/skill_db.txt | 5 +++-- src/map/pc.c | 2 +- src/map/skill.c | 17 ++++++----------- 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 -- cgit v1.2.3-70-g09d2