summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql-files/logs.sql2
-rw-r--r--sql-files/upgrade_svn15926_log.sql3
-rw-r--r--src/map/pc.c9
3 files changed, 11 insertions, 3 deletions
diff --git a/sql-files/logs.sql b/sql-files/logs.sql
index bd33fbd1f..c787b60ab 100644
--- a/sql-files/logs.sql
+++ b/sql-files/logs.sql
@@ -31,7 +31,7 @@ CREATE TABLE `zenylog` (
`time` datetime NOT NULL default '0000-00-00 00:00:00',
`char_id` int(11) NOT NULL default '0',
`src_id` int(11) NOT NULL default '0',
- `type` enum('M','T','V','S','N','A','E','B','I') NOT NULL default 'S',
+ `type` enum('M','T','V','S','N','A','E','B','I','D') NOT NULL default 'S',
`amount` int(11) NOT NULL default '0',
`map` varchar(11) NOT NULL default '',
PRIMARY KEY (`id`),
diff --git a/sql-files/upgrade_svn15926_log.sql b/sql-files/upgrade_svn15926_log.sql
new file mode 100644
index 000000000..099ee6faa
--- /dev/null
+++ b/sql-files/upgrade_svn15926_log.sql
@@ -0,0 +1,3 @@
+-- Adds 'D' to `type` in `zenylog`
+
+ALTER TABLE `zenylog` MODIFY `type` ENUM('M','T','V','S','N','A','E','B','I','D') NOT NULL DEFAULT 'S';
diff --git a/src/map/pc.c b/src/map/pc.c
index 5a28f63b9..e2bf1b725 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -4368,10 +4368,15 @@ int pc_steal_coin(struct map_session_data *sd,struct block_list *target)
if( (md->class_ >= 1324 && md->class_ < 1364) || (md->class_ >= 1938 && md->class_ < 1946) )
return 0;
+ // FIXME: This formula is either custom or outdated.
skill = pc_checkskill(sd,RG_STEALCOIN)*10;
rate = skill + (sd->status.base_level - md->level)*3 + sd->battle_status.dex*2 + sd->battle_status.luk*2;
- if(rnd()%1000 < rate) {
- pc_getzeny(sd,md->level*10 + rnd()%100);
+ if(rnd()%1000 < rate)
+ {
+ int amount = md->level*10 + rand()%100;
+
+ log_zeny(sd, LOG_TYPE_STEAL, sd, amount);
+ pc_getzeny(sd, amount);
md->state.steal_coin_flag = 1;
return 1;
}