- Warmth will dispel when warping now (or else the effect is left on the ground)

- Fixed reading of the refine_db not working right when MAX_REFINE is increased from 10.
- Some more cleaning to the implementation of Abracadabra


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7456 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-07-03 16:29:17 +00:00
parent f89a7d2069
commit 5144a0c3b9
4 changed files with 14 additions and 6 deletions

View File

@ -4,6 +4,11 @@ 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. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/07/03 2006/07/03
* Warmth will dispel when warping now (or else the effect is left on the
ground) [Skotlex]
* Fixed reading of the refine_db not working right when MAX_REFINE is
increased from 10. [Skotlex]
* Some more cleaning to the implementation of Abracadabra [Skotlex]
* Fixed a compile warning in login sql/txt [Skotlex] * Fixed a compile warning in login sql/txt [Skotlex]
* Fixed pc_makesavestatus not setting your logout position. [Skotlex] * Fixed pc_makesavestatus not setting your logout position. [Skotlex]
* Fixed two dances becoming BA_DISSONANCE instead of DC_UGLYDANCE. * Fixed two dances becoming BA_DISSONANCE instead of DC_UGLYDANCE.

View File

@ -3305,10 +3305,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
} }
do { do {
abra_skillid = rand() % MAX_SKILL_ABRA_DB; abra_skillid = rand() % MAX_SKILL_ABRA_DB;
if (skill_abra_db[abra_skillid].req_lv > skilllv || if (
rand()%10000 >= skill_abra_db[abra_skillid].per || skill_get_inf2(abra_skillid)&(INF2_NPC_SKILL|INF2_SONG_DANCE|INF2_ENSEMBLE_SKILL) || //NPC/Song/Dance skills are out
skill_get_inf2(abra_skillid)&INF2_NPC_SKILL || !skill_get_inf(abra_skillid) || //Passive skills cannot be casted
skill_get_unit_flag(abra_skillid) &(UF_DANCE|UF_ENSEMBLE|UF_SONG) skill_abra_db[abra_skillid].req_lv > skilllv || //Required lv for it to appear
rand()%10000 >= skill_abra_db[abra_skillid].per
) )
abra_skillid = 0; // reset to get a new id abra_skillid = 0; // reset to get a new id
} while (abra_skillid == 0); } while (abra_skillid == 0);

View File

@ -6454,13 +6454,13 @@ int status_readdb(void) {
} }
i=0; i=0;
while(fgets(line, sizeof(line)-1, fp)){ while(fgets(line, sizeof(line)-1, fp)){
char *split[16]; char *split[MAX_REFINE+4];
if(line[0]=='/' && line[1]=='/') if(line[0]=='/' && line[1]=='/')
continue; continue;
if(atoi(line)<=0) if(atoi(line)<=0)
continue; continue;
memset(split,0,sizeof(split)); memset(split,0,sizeof(split));
for(j=0,p=line;j<16 && p;j++){ for(j=0,p=line;j<MAX_REFINE+4 && p;j++){
split[j]=p; split[j]=p;
p=strchr(p,','); p=strchr(p,',');
if(p) *p++=0; if(p) *p++=0;

View File

@ -1473,6 +1473,8 @@ int unit_remove_map(struct block_list *bl, int clrtype) {
status_change_end(bl,SC_RUN,-1); status_change_end(bl,SC_RUN,-1);
if (sc->data[SC_DANCING].timer!=-1) // clear dance effect when warping [Valaris] if (sc->data[SC_DANCING].timer!=-1) // clear dance effect when warping [Valaris]
skill_stop_dancing(bl); skill_stop_dancing(bl);
if (sc->data[SC_WARM].timer!=-1)
status_change_end(bl, SC_WARM, -1);
if (sc->data[SC_DEVOTION].timer!=-1) if (sc->data[SC_DEVOTION].timer!=-1)
status_change_end(bl,SC_DEVOTION,-1); status_change_end(bl,SC_DEVOTION,-1);
if (sc->data[SC_MARIONETTE].timer!=-1) if (sc->data[SC_MARIONETTE].timer!=-1)