From 045c123351a3ed8596799d57ae79165e76ed771a Mon Sep 17 00:00:00 2001 From: skotlex Date: Fri, 10 Mar 2006 19:26:56 +0000 Subject: - Added a few dummy times in skill_cast_db for some GS skills. - Autoskills now won't trigger on maps where said skill are not allowed. - Some compilation warning fixes git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5565 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/common/cbasetypes.h | 8 ++++++-- src/map/npc.c | 2 +- src/map/skill.c | 13 +++++++------ 3 files changed, 14 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/common/cbasetypes.h b/src/common/cbasetypes.h index 505eb6752..b84a0c88e 100644 --- a/src/common/cbasetypes.h +++ b/src/common/cbasetypes.h @@ -91,9 +91,14 @@ typedef int* pint; ////////////////////////////// #ifdef WIN32 ////////////////////////////// +//These three are already redefined on my_global.h on Windows systems. +#ifdef TXT_ONLY typedef __int8 int8; -typedef __int16 int16; typedef __int32 int32; +typedef unsigned __int32 uint32; +#endif + +typedef __int16 int16; typedef signed __int8 sint8; typedef signed __int16 sint16; @@ -101,7 +106,6 @@ typedef signed __int32 sint32; typedef unsigned __int8 uint8; typedef unsigned __int16 uint16; -typedef unsigned __int32 uint32; ////////////////////////////// #else // GNU ////////////////////////////// diff --git a/src/map/npc.c b/src/map/npc.c index 7ba8be5d5..276d615be 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -441,7 +441,7 @@ int npc_addeventtimer(struct npc_data *nd,int tick,const char *name) if( nd->eventtimer[i]==-1 ) break; if(ibl, bl)),skilllv,skill_get_time(skillid,skilllv)); //Temp stun rate + sc_start(bl,SC_STUN,(100 - 10*distance_bl(src, bl)),skilllv,skill_get_time2(skillid,skilllv)); //Temp stun rate break; case GS_PIERCINGSHOT: - sc_start(bl,SC_BLEEDING,(skilllv*3),skilllv,skill_get_time(skillid,skilllv)); + sc_start(bl,SC_BLEEDING,(skilllv*3),skilllv,skill_get_time2(skillid,skilllv)); break; case NJ_HYOUSYOURAKU: sc_start(bl,SC_FREEZE,(10+10*skilllv),skilllv,skill_get_time2(skillid,skilllv)); @@ -1285,7 +1284,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int skill = (sd->autospell[i].id > 0) ? sd->autospell[i].id : -sd->autospell[i].id; //Prevents skill from retriggering themselves. [Skotlex] - if (skill == skillid) + if (skill == skillid || skillnotok(skill, sd)) continue; //skill2 reused to store skilllv. @@ -1413,6 +1412,8 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list * rate = ((sd && !sd->state.arrow_atk) || (status_get_range(src)<=2)) ? dstsd->autospell2[i].rate : dstsd->autospell2[i].rate / 2; + if (skillnotok(skillid, dstsd)) + continue; if (rand()%1000 > rate) continue; if (dstsd->autospell2[i].id < 0) -- cgit v1.2.3-70-g09d2