From 11414d1e6ba30951ca99071255d479b64858464f Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 21 Nov 2006 19:47:20 +0000 Subject: - Corrected TripleAction's damage. It should do 150%*3 instead of 100*3% damage. - Updated GS_CRACKER's stun chance using Doddler's info as reference. - GS_FLING won't reduce armor defense when used on players. - Added constant MAX_STEAL_DROP to determine up to which slot you can steal. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9286 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/battle.c | 3 +++ src/map/mob.h | 8 ++++++-- src/map/pc.c | 2 +- src/map/skill.c | 5 +++-- src/map/status.c | 5 ++++- 5 files changed, 17 insertions(+), 6 deletions(-) (limited to 'src/map') diff --git a/src/map/battle.c b/src/map/battle.c index 93829cb6e..ab223789d 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1541,6 +1541,9 @@ static struct Damage battle_calc_weapon_attack( if (sc && sc->data[SC_COMBO].timer != -1 && sc->data[SC_COMBO].val1 == skill_num) skillratio += 10*status_get_lv(src)/3; break; + case GS_TRIPLEACTION: + skillratio += 50*skill_lv; + break; case GS_BULLSEYE: if((tstatus->race == RC_BRUTE || tstatus->race == RC_DEMIHUMAN) && !(tstatus->mode&MD_BOSS)) diff --git a/src/map/mob.h b/src/map/mob.h index bb4e1ac57..3156ecf5d 100644 --- a/src/map/mob.h +++ b/src/map/mob.h @@ -9,11 +9,15 @@ #define MAX_RANDOMMONSTER 3 #define MAX_MOB_RACE_DB 6 -#define MAX_MOB_DB 10000 -#define MAX_MOB_DROP 10 /* Change this to increase the table size in your mob_db to accomodate a larger mob database. Be sure to note that IDs 4001 to 4048 are reserved for advanced/baby/expanded classes. */ +#define MAX_MOB_DB 10000 + +//The number of drops all mobs have and the max drop-slot that the steal skill +//will attempt to steal from. +#define MAX_MOB_DROP 10 +#define MAX_STEAL_DROP 7 //Min time before mobs do a check to call nearby friends for help (or for slaves to support their master) #define MIN_MOBLINKTIME 1000 diff --git a/src/map/pc.c b/src/map/pc.c index 0ae9eaae9..a589694d8 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -3215,7 +3215,7 @@ int pc_steal_item(struct map_session_data *sd,struct block_list *bl, int lv) //preliminar statistical data hints at this behaviour: //each steal attempt: try to steal against ONE mob drop, and no more. - i = rand()%(MAX_MOB_DROP-1); //You can't steal from the last slot. + i = rand()%(MAX_STEAL_DROP); //You can't steal from the last slot. if(rand() % 10000 >= md->db->dropitem[i].p*rate/100) return 0; diff --git a/src/map/skill.c b/src/map/skill.c index c4a035f07..53a212465 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -5440,9 +5440,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case GS_CRACKER: if (!dstsd) // according to latest patch, should not work on players [Reddozen] { - int rate=10+(skill_get_range2(src,skillid,skilllv)-distance_bl(src,bl))*20; + i =65 -5*distance_bl(src,bl); //Base rate + if (i < 30) i = 30; clif_skill_nodamage(src,bl,skillid,skilllv,1); - sc_start(bl,SC_STUN,(rate>100)?100:rate,skilllv,skill_get_time2(skillid,skilllv)); //New temp stun rate (by RockmanEXE) + sc_start(bl,SC_STUN, i,skilllv,skill_get_time2(skillid,skilllv)); } else if (sd) clif_skill_fail(sd,skillid,0,0); diff --git a/src/map/status.c b/src/map/status.c index 7cd554b3e..95b63ba92 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -5539,7 +5539,10 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val break; case SC_FLING: - val2 = 5*val1; //Def reduction + if (bl->type == BL_PC) + val2 = 0; //No armor reduction to players. + else + val2 = 5*val1; //Def reduction val3 = 5*val1; //Def2 reduction break; case SC_PROVOKE: -- cgit v1.2.3-60-g2f50