summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt5
-rw-r--r--db/Changelog.txt2
-rw-r--r--db/skill_cast_db.txt4
-rw-r--r--src/map/pc.c1
-rw-r--r--src/map/skill.c10
-rw-r--r--src/map/status.c4
6 files changed, 20 insertions, 6 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 44a613c79..ae6c35102 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,11 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/10/25
+ * MG_STONECURSE and NPC_PETRIFYATTACK now use time1 to specify the
+ "petrifying time". This value has been set to 5 seconds. [Skotlex]
+ * Now when SC_STONE is triggered from status-change cards, it's petrifying
+ duration will be passed as 0, causing the minimum (1 sec) to be used.
+ [Skotlex]
* Got rid of clones in src: old Novice Grounds map -> new_zone0? [Lupus]
2006/10/24
* Removed again your mdef reducing "petrifying" time as apparently it can't
diff --git a/db/Changelog.txt b/db/Changelog.txt
index e2d0787c1..66dde4750 100644
--- a/db/Changelog.txt
+++ b/db/Changelog.txt
@@ -20,6 +20,8 @@
========================
10/25
+ * MG_STONECURSE and NPC_PETRIFYATTACK now use time1 to specify the
+ "petrifying time". This value has been set to 5 seconds. [Skotlex]
* Fixed view ids of some headgears [Playtester]
10/24
* Kiel Mob updates [Playtester]
diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt
index a037f1a35..58f50c1b7 100644
--- a/db/skill_cast_db.txt
+++ b/db/skill_cast_db.txt
@@ -54,7 +54,7 @@
//-- MG_FROSTDRIVER
15,800,1500,0,0,3000:6000:9000:12000:15000:18000:21000:24000:27000:30000
//-- MG_STONECURSE
-16,1000,0,0,0,11000:12000:13000:14000:15000:16000:17000:18000:19000:20000
+16,1000,0,0,5000,11000:12000:13000:14000:15000:16000:17000:18000:19000:20000
//-- MG_FIREBALL
17,1500:1500:1500:1500:1500:1000:1000:1000:1000:1000,1500:1500:1500:1500:1500:1000:1000:1000:1000:1000,0,0,0
//-- MG_FIREWALL
@@ -317,7 +317,7 @@
//-- NPC_STUNATTACK
179,0,0,0,0,3000
//-- NPC_PETRIFYATTACK
-180,0,0,0,0,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000
+180,0,0,0,5000,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000
//-- NPC_CURSEATTACK
181,0,0,0,0,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000
//-- NPC_SLEEPATTACK
diff --git a/src/map/pc.c b/src/map/pc.c
index 98d581980..4a90929ea 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -3149,7 +3149,6 @@ int pc_show_steal(struct block_list *bl,va_list ap)
{
struct map_session_data *sd;
int itemid;
- int type;
struct item_data *item=NULL;
char output[100];
diff --git a/src/map/skill.c b/src/map/skill.c
index fb5dd2042..2f337492b 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1214,13 +1214,17 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
break;
case NPC_PETRIFYATTACK:
+ sc_start4(bl,SkillStatusChangeTable(skillid),50+10*skilllv,
+ skilllv,0,0,skill_get_time(skillid,skilllv),
+ skill_get_time2(skillid,skilllv));
+ break;
case NPC_CURSEATTACK:
case NPC_SLEEPATTACK:
case NPC_BLINDATTACK:
case NPC_POISON:
case NPC_SILENCEATTACK:
case NPC_STUNATTACK:
- sc_start(bl,SkillStatusChangeTable(skillid),50+10*skilllv,skilllv,src->type==BL_PET?skilllv*1000:skill_get_time2(skillid,skilllv));
+ sc_start(bl,SkillStatusChangeTable(skillid),50+10*skilllv,skilllv,skill_get_time2(skillid,skilllv));
break;
case NPC_MENTALBREAKER:
@@ -4227,7 +4231,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
if (sd) clif_skill_fail(sd,skillid,0,0);
break;
}
- if (sc_start(bl,SC_STONE,(skilllv*4+20),skilllv,skill_get_time2(skillid,skilllv)))
+ if (sc_start4(bl,SC_STONE,(skilllv*4+20),
+ skilllv, 0, 0, skill_get_time(skillid, skilllv),
+ skill_get_time2(skillid,skilllv)))
clif_skill_nodamage(src,bl,skillid,skilllv,1);
else if(sd) {
clif_skill_fail(sd,skillid,0,0);
diff --git a/src/map/status.c b/src/map/status.c
index 26e13b401..126ee5ae1 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -4993,7 +4993,9 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
if (!val2) val2 = 1;
val3 = tick/1000; //Petrified HP-damage iterations.
if(val3 < 1) val3 = 1;
- tick = 5000; //Petrifying time.
+ tick = val4; //Petrifying time.
+ if (tick < 1000)
+ tick = 1000; //Min time
calc_flag = 0; //Actual status changes take effect on petrified state.
break;