diff options
-rw-r--r-- | Changelog-Trunk.txt | 8 | ||||
-rw-r--r-- | src/map/skill.c | 5 | ||||
-rw-r--r-- | src/map/status.c | 5 |
3 files changed, 11 insertions, 7 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 5f082f840..5842e962f 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,14 @@ 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/06/06
+ * Hopefully fixed for sure mobs getting extra stats when changing-class due
+ to the mobs level up setting. [Skotlex]
+ * Removed a piece of code that should no longer be needed due to the
+ combo-skill setting (inf = self, inf2 = no-target-self) which is blocking
+ self-skills from being used on others (pets/mobs should be allowed to do
+ that) [Skotlex]
+ * Added a status_check_skilluse call in Sightblaster to prevent it from
+ hitting hidden/cloaked/act-dead/etc players. [Skotlex]
* Fixed firewall counter going down by 2 each hit rather than 1. [Skotlex]
* Fixed Soul Burn not zapping away all SP. [Skotlex]
* The monsters can level up setting will not take effect when the mob's
diff --git a/src/map/skill.c b/src/map/skill.c index 7433520bc..6bd7e0d4a 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3155,11 +3155,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in return skill_castend_pos2(src,src->x,src->y,skillid,skilllv,tick,0); } - //Self skill with target changed? We assume these are offensive auto-select-target skills. [Skotlex] - //But only do this on the first call (flag&~1) - if (!(flag&1) && skill_get_inf(skillid)&INF_SELF_SKILL && src != bl && !(skill_get_nk(skillid)&NK_NO_DAMAGE)) - return skill_castend_damage_id (src, bl, skillid, skilllv, tick, flag); - if (skillid > 0 && skillid < MAX_SKILL) type = SkillStatusChangeTable[skillid]; diff --git a/src/map/status.c b/src/map/status.c index 7975f0a58..8a83455f0 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1029,7 +1029,7 @@ int status_calc_mob(struct mob_data* md, int first) if(first) { //Set basic level on respawn. - if (md->spawn && !(flag&2)) + if (md->spawn && !(first&2)) md->level = md->spawn->level; else md->level = md->db->lv; // [Valaris] @@ -6124,7 +6124,8 @@ int status_change_timer_sub(struct block_list *bl, va_list ap ) break; case SC_SIGHTBLASTER: { - if (sc && sc->count && sc->data[type].val2 > 0 && battle_check_target( src, bl, BCT_ENEMY ) > 0) + if (sc && sc->count && sc->data[type].val2 > 0 && battle_check_target( src, bl, BCT_ENEMY ) > 0 && + status_check_skilluse(src, bl, WZ_SIGHTBLASTER, 2)) { //sc_ check prevents a single round of Sight Blaster hitting multiple opponents. [Skotlex] skill_attack(BF_MAGIC,src,src,bl,WZ_SIGHTBLASTER,1,tick,0); sc->data[type].val2 = 0; //This signals it to end. |