diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-05-02 15:02:29 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-05-02 15:02:29 +0000 |
commit | 99e419e146eeb6edb0ab70a4a12d5e980c6975fd (patch) | |
tree | a653a0416b3ba8b1f2650228dab7584948fc1974 /src/map/pc.c | |
parent | 47e8b6a2d20408a5ca8a19c33e6554713a45675f (diff) | |
download | hercules-99e419e146eeb6edb0ab70a4a12d5e980c6975fd.tar.gz hercules-99e419e146eeb6edb0ab70a4a12d5e980c6975fd.tar.bz2 hercules-99e419e146eeb6edb0ab70a4a12d5e980c6975fd.tar.xz hercules-99e419e146eeb6edb0ab70a4a12d5e980c6975fd.zip |
- Modified how Rogue's treasure works so that you get +1% to your steal rate rather than +0.01% to the final rate.
- Rewrote Warmth to use ground-skill-units, it should behave now like in officials (implementation is not quite the same, but it should yield the same effects while consuming less bandwidth). "Stacking", as it's called, is possible now, but limited to eA's minimum timer skill interval (100ms).
- Modified NPC_POWERUP so that it gives +10 dex * skill level rather than +5+lv to all stats (as explained by Playtester and Tharis on how the skill behaves).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6446 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index b58c7d624..770b857a1 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -2939,6 +2939,8 @@ int pc_steal_item(struct map_session_data *sd,struct block_list *bl) ? (sd->paramc[4] - md->db->dex)/2 + pc_checkskill(sd,TF_STEAL)*6 + 10
: sd->paramc[4] - md->db->dex + pc_checkskill(sd,TF_STEAL)*3 + 10;
+ skill+= sd->add_steal_rate; //Better make the steal_Rate addition affect % rather than an absolute on top of the total drop rate. [Skotlex]
+
if (skill < 1)
return 0;
@@ -2950,7 +2952,7 @@ int pc_steal_item(struct map_session_data *sd,struct block_list *bl) itemid = md->db->dropitem[i].nameid;
if(itemid <= 0 || (itemid>4000 && itemid<5000 && pc_checkskill(sd,TF_STEAL) <= 5))
continue;
- if(rand() % 10000 <= ((md->db->dropitem[i].p * skill) / 100 + sd->add_steal_rate))
+ if(rand() % 10000 <= md->db->dropitem[i].p*skill/100)
break;
}
if (i == MAX_MOB_DROP)
@@ -2977,7 +2979,7 @@ int pc_steal_item(struct map_session_data *sd,struct block_list *bl) }
if(log_config.steal) { //this drop log contains ALL stolen items [Lupus]
- int log_item[10]; //for stolen items logging Lupus
+ int log_item[MAX_MOB_DROP]; //for stolen items logging Lupus
memset(&log_item,0,sizeof(log_item));
log_item[i] = itemid; //i == monster's drop slot
log_drop(sd, md->class_, log_item);
|