summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-06 14:07:21 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-06 14:07:21 +0000
commitb1b0860d1ca7e0f9ddb57756be9af11d9557d555 (patch)
tree54847788efa9f24a2988e00954371adcbd2235ed
parentef20f0c5e0fc581552ff26c50fd84e44d60465a6 (diff)
downloadhercules-b1b0860d1ca7e0f9ddb57756be9af11d9557d555.tar.gz
hercules-b1b0860d1ca7e0f9ddb57756be9af11d9557d555.tar.bz2
hercules-b1b0860d1ca7e0f9ddb57756be9af11d9557d555.tar.xz
hercules-b1b0860d1ca7e0f9ddb57756be9af11d9557d555.zip
- Fixed the auto-direction code which makes self-skills with ground units become a ground spell using the wrong function for said check. In short: fixed GrandCross and similar skills.
- FogWall will now also affect the caster. - Some cleanup of map.h. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7548 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/map/map.h4
-rw-r--r--src/map/party.c3
-rw-r--r--src/map/skill.c4
4 files changed, 5 insertions, 9 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 060b4c1dd..2a67e5b22 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -3,6 +3,9 @@ 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/07/06
+ * Fixed GrandCross and similar skills. [Skotlex]
+ * FogWall will now also affect the caster. [Skotlex]
2006/07/05
* Updated NJ_KAENSIN by Saycyber21 [Vicious]
* Updated @refine to take account of MAX_REFINE, thanks to Omega... GM
diff --git a/src/map/map.h b/src/map/map.h
index 510c97f88..8745ce1e9 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -474,10 +474,8 @@ struct party_member_data {
struct party_data {
struct party party;
struct party_member_data data[MAX_PARTY];
- unsigned char count; //Online count of members.
unsigned char itemc; //For item distribution.
struct {
- unsigned family : 1; //Is this party a family?
unsigned monk : 1; //There's at least one monk in party?
unsigned sg : 1; //There's at least one Star Gladiator in party?
unsigned snovice :1; //There's a Super Novice
@@ -861,7 +859,7 @@ struct spawn_data {
unsigned int delay1,delay2; //Min delay before respawning after spawn/death
struct {
unsigned size :2; //Holds if mob has to be tiny/large
- unsigned ai :1; //Holds if mob is special ai.
+ unsigned ai :2; //Holds if mob is special ai.
} state;
char name[NAME_LENGTH],eventname[50]; //Name/event
};
diff --git a/src/map/party.c b/src/map/party.c
index 474322966..4afb69411 100644
--- a/src/map/party.c
+++ b/src/map/party.c
@@ -203,7 +203,6 @@ int party_recv_info(struct party *sp)
if (!p->party.party_id) //party just received.
party_check_member(sp);
memcpy(&p->party,sp,sizeof(struct party));
- p->count = 0;
memset(&p->state, 0, sizeof(p->state));
memset(&p->data, 0, sizeof(p->data));
for(i=0;i<MAX_PARTY;i++){
@@ -214,7 +213,6 @@ int party_recv_info(struct party *sp)
&& sd->status.char_id == p->party.member[i].char_id
&& !sd->state.waitingdisconnect)
p->data[i].sd = sd;
- p->count++;
}
party_check_state(p);
for(i=0;i<MAX_PARTY;i++){
@@ -389,7 +387,6 @@ int party_member_leaved(int party_id,int account_id,int char_id)
clif_party_leaved(p,sd,account_id,p->party.member[i].name,0x00);
memset(&p->party.member[i], 0, sizeof(p->party.member[0]));
memset(&p->data[i], 0, sizeof(p->data[0]));
- p->count--;
break;
}
}
diff --git a/src/map/skill.c b/src/map/skill.c
index f15501287..b87575768 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -3173,7 +3173,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
case NJ_BAKUENRYU: //Doesn't works on the default because it is enemy-targetted.
return skill_castend_pos2(src,bl->x,bl->y,skillid,skilllv,tick,0);
default:
- if (src == bl && skill_get_unit_flag(skillid)) //Skill is actually ground placed.
+ if (src == bl && skill_get_unit_id(skillid,0)) //Skill is actually ground placed.
return skill_castend_pos2(src,bl->x,bl->y,skillid,skilllv,tick,0);
}
@@ -6634,8 +6634,6 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, unsigned
}
break;
case UNT_FOGWALL:
- if (sg->src_id==bl->id)
- return 0;
if (sc && sc->data[type].timer==-1)
{
sc_start4(bl, type, 100, sg->skill_lv, sg->val1, sg->val2, sg->group_id, sg->limit);