diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-11-21 19:47:20 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-11-21 19:47:20 +0000 |
commit | 11414d1e6ba30951ca99071255d479b64858464f (patch) | |
tree | 0c97d84fda3076595e6033cf1b6ac71c4c2f1661 /src/map | |
parent | f1f903e398fc76d8286bc0ea8aaee97fb32d8bee (diff) | |
download | hercules-11414d1e6ba30951ca99071255d479b64858464f.tar.gz hercules-11414d1e6ba30951ca99071255d479b64858464f.tar.bz2 hercules-11414d1e6ba30951ca99071255d479b64858464f.tar.xz hercules-11414d1e6ba30951ca99071255d479b64858464f.zip |
- 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
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/battle.c | 3 | ||||
-rw-r--r-- | src/map/mob.h | 8 | ||||
-rw-r--r-- | src/map/pc.c | 2 | ||||
-rw-r--r-- | src/map/skill.c | 5 | ||||
-rw-r--r-- | src/map/status.c | 5 |
5 files changed, 17 insertions, 6 deletions
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:
|