mybitch 9 Posted April 30, 2013 It shows the multiple hits of claymore trap. I've tried to edit the skill_db to 123,3,6,2,3,2,2,5,9,no,0,0x80,0,misc,0, HT_CLAYMORETRAP,Claymore Trap Where list_num is 9 to do 9 hits but the damage only increases. It doesn't show how many times it hits the monster.. Quote Share this post Link to post Share on other sites
0 malufett 247 Posted May 3, 2013 for easy trick map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);if (sg->unit_id != UNT_FIREPILLAR_ACTIVE) clif->changetraplook(&src->bl, sg->unit_id==UNT_LANDMINE?UNT_FIREPILLAR_ACTIVE:UNT_USED_TRAPS);sg->limit=DIFF_TICK(tick,sg->tick)+1500 + (sg->unit_id== UNT_CLUSTERBOMB || sg->unit_id== UNT_ICEBOUNDTRAP?1000:0);// Cluster Bomb/Icebound has 1s to disappear once activated.if( sg->unit_id != UNT_CLAYMORETRAP ) sg->unit_id = UNT_USED_TRAPS; //Changed ID so it does not invoke a for each in area again. break; then change your skill_cast_db.txt //-- HT_CLAYMORETRAP123,0,0,0,20000:40000:60000:80000:100000,0,0,-1 so the total hit will be (duration1 left/1000) 1 Ind reacted to this Quote Share this post Link to post Share on other sites
0 mybitch 9 Posted April 30, 2013 Additional Info.. Claymore Trap and Blast Mine do 1 Hit per mob that runs over it at the same time. If 20 mobs run over it it does his base damage * 20 Hits. Quote Share this post Link to post Share on other sites
0 Ind 945 Posted May 2, 2013 // 09 Number of hits (when positive, damage is increased by hits, // negative values just show number of hits without increasing total damage)your damage increases because you're using a positive 9 not a negative 9. Quote Share this post Link to post Share on other sites
0 mybitch 9 Posted May 3, 2013 (edited) // 09 Number of hits (when positive, damage is increased by hits, // negative values just show number of hits without increasing total damage)your damage increases because you're using a positive 9 not a negative 9. Thanks about this but the video, the claymore trap works as.. if x mobs steps on the claymore trap.. the damage is dependent on the x mobs who steps on it.. for example.. 2 mobs steps on the claymore trap.. the damage will be twice the normal for all mobs.. as if.. if 1 mob steps on it.. isn't it splashes the damage? therefore the damage stacks on how many mobs steps on it.. Mmmm.. 1 mob = 1 splash = damage all.. 2 mob = 1 splash = damage all.. should be.. 1 mob = 1 splash = damage all 2 mob = 2 splash = damage of 2 splash all like this.. how to do it? Also, after the mobs steps on the claymore there is that yellow count on the screen.. Edited May 3, 2013 by mybitch Quote Share this post Link to post Share on other sites
0 Ind 945 Posted May 3, 2013 aah uhm i feel sort of lazy todo that one xdd well to sum it up it'd take one to edit skill_castend_damage_id to set AC_SHOWER flag as SD_LEVEL (with it var skill_area_temp[0] will have the number of people that will be affected)...well i'll do it in a very ugly way because im lazy xdd.. find // recursive invocation of skill->castend_damage_id() with flag|1 map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), ( skill_id == WM_REVERBERATION_MELEE || skill_id == WM_REVERBERATION_MAGIC )?BL_CHAR:splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill->castend_damage_id);change to if( skill_id == AC_SHOWER ) { int spa = 0, spl = map_foreachinrange(skill->area_sub, bl, (skill_id == AS_SPLASHER)?1:skill->get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, tick, BCT_ENEMY, skill->area_sub_count); if( spl <= 0 ) spl = 1; for( spa = 0; spa < spl; spa++ ) map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), ( skill_id == WM_REVERBERATION_MELEE || skill_id == WM_REVERBERATION_MAGIC )?BL_CHAR:splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill->castend_damage_id); } else // recursive invocation of skill->castend_damage_id() with flag|1 map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), ( skill_id == WM_REVERBERATION_MELEE || skill_id == WM_REVERBERATION_MAGIC )?BL_CHAR:splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill->castend_damage_id); Quote Share this post Link to post Share on other sites
0 mybitch 9 Posted May 3, 2013 (edited) aah uhm i feel sort of lazy todo that one xdd well to sum it up it'd take one to edit skill_castend_damage_id to set AC_SHOWER flag as SD_LEVEL (with it var skill_area_temp[0] will have the number of people that will be affected)...well i'll do it in a very ugly way because im lazy xdd.. find // recursive invocation of skill->castend_damage_id() with flag|1 map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), ( skill_id == WM_REVERBERATION_MELEE || skill_id == WM_REVERBERATION_MAGIC )?BL_CHAR:splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill->castend_damage_id);change to if( skill_id == AC_SHOWER ) { int spa = 0, spl = map_foreachinrange(skill->area_sub, bl, (skill_id == AS_SPLASHER)?1:skill->get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, tick, BCT_ENEMY, skill->area_sub_count); if( spl <= 0 ) spl = 1; for( spa = 0; spa < spl; spa++ ) map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), ( skill_id == WM_REVERBERATION_MELEE || skill_id == WM_REVERBERATION_MAGIC )?BL_CHAR:splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill->castend_damage_id); } else // recursive invocation of skill->castend_damage_id() with flag|1 map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), ( skill_id == WM_REVERBERATION_MELEE || skill_id == WM_REVERBERATION_MAGIC )?BL_CHAR:splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill->castend_damage_id); not AC_SHOWER but HT_CLAYMORETRAP .. I'll just change AC_SHOWER to HT_CLAYMORE TRAP? Also where should I replace this? skill.c? Edited May 3, 2013 by mybitch Quote Share this post Link to post Share on other sites
0 Ind 945 Posted May 3, 2013 aaah. i was thinking about your other request xdd that code wont work them ehm hmm Quote Share this post Link to post Share on other sites
0 mybitch 9 Posted May 3, 2013 aaah. i was thinking about your other request xdd that code wont work them ehm hmm The other request was solved. The monster now is moving backwards instead of moving sidewards hehe! Isn't this code applicable to episode 8? hehe. Quote Share this post Link to post Share on other sites
0 Ind 945 Posted May 3, 2013 find case UNT_FIREPILLAR_ACTIVE: map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);change to case UNT_FIREPILLAR_ACTIVE: if( sg->unit_id == UNT_CLAYMORETRAP ) { int spa = 0, spl = map_foreachinrange(skill->area_sub, &src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), BL_CHAR, &src->bl, sg->skill_id, sg->skill_lv, tick, BCT_ENEMY, skill->area_sub_count); if( spl <= 0 ) spl = 1; for( spa = 0; spa < spl; spa++ ) map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick); } else map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);again untested, and poorly written because im lazy #__# XD 1 mybitch reacted to this Quote Share this post Link to post Share on other sites
0 mybitch 9 Posted May 3, 2013 (edited) find case UNT_FIREPILLAR_ACTIVE: map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);change to case UNT_FIREPILLAR_ACTIVE: if( sg->unit_id == UNT_CLAYMORETRAP ) { int spa = 0, spl = map_foreachinrange(skill->area_sub, &src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), BL_CHAR, &src->bl, sg->skill_id, sg->skill_lv, tick, BCT_ENEMY, skill->area_sub_count); if( spl <= 0 ) spl = 1; for( spa = 0; spa < spl; spa++ ) map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick); } else map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);again untested, and poorly written because im lazy #__# XD It works but the damage doesn't show. For example the maximum damage showing doesn't stack only shows 900 where 900 is the damage per mobs.. but the total damage dealt by the mob is more than it.. How to show stacked damage on the claymore trap? IND, is it possible to reproduce the same damage shown in the video at 2:14 seconds onwards? Edited May 3, 2013 by mybitch Quote Share this post Link to post Share on other sites
0 Ind 945 Posted May 3, 2013 ah change that code to the following case UNT_FIREPILLAR_ACTIVE: if( sg->unit_id == UNT_CLAYMORETRAP ) { int spa = 0, spl = map_foreachinrange(skill->area_sub, &src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), BL_CHAR, &src->bl, sg->skill_id, sg->skill_lv, tick, BCT_ENEMY, skill->area_sub_count); if( spl <= 0 ) spl = 1; for( spa = 0; spa < spl; spa++ ) map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick+(50*spa)); } else map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick); Quote Share this post Link to post Share on other sites
0 Ind 945 Posted May 3, 2013 for easy trick map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);if (sg->unit_id != UNT_FIREPILLAR_ACTIVE) clif->changetraplook(&src->bl, sg->unit_id==UNT_LANDMINE?UNT_FIREPILLAR_ACTIVE:UNT_USED_TRAPS);sg->limit=DIFF_TICK(tick,sg->tick)+1500 + (sg->unit_id== UNT_CLUSTERBOMB || sg->unit_id== UNT_ICEBOUNDTRAP?1000:0);// Cluster Bomb/Icebound has 1s to disappear once activated.if( sg->unit_id != UNT_CLAYMORETRAP ) sg->unit_id = UNT_USED_TRAPS; //Changed ID so it does not invoke a for each in area again. break;then change your skill_cast_db.txt //-- HT_CLAYMORETRAP 123,0,0,0,20000:40000:60000:80000:100000,0,0,-1 so the total hit will be (duration1 left/1000) and thats why malufett is our skill mechanics genius <333 Quote Share this post Link to post Share on other sites
0 mybitch 9 Posted May 3, 2013 (edited) for easy trick map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);if (sg->unit_id != UNT_FIREPILLAR_ACTIVE) clif->changetraplook(&src->bl, sg->unit_id==UNT_LANDMINE?UNT_FIREPILLAR_ACTIVE:UNT_USED_TRAPS);sg->limit=DIFF_TICK(tick,sg->tick)+1500 + (sg->unit_id== UNT_CLUSTERBOMB || sg->unit_id== UNT_ICEBOUNDTRAP?1000:0);// Cluster Bomb/Icebound has 1s to disappear once activated.if( sg->unit_id != UNT_CLAYMORETRAP ) sg->unit_id = UNT_USED_TRAPS; //Changed ID so it does not invoke a for each in area again. break; then change your skill_cast_db.txt //-- HT_CLAYMORETRAP123,0,0,0,20000:40000:60000:80000:100000,0,0,-1 so the total hit will be (duration1 left/1000) Oh it worked. Just get rid of -1 after 2 zeroes on the skill_cast_db but the problem is the yellow damage doesn't shows up hehehe. Only the damage dealt per monster.. Edited May 4, 2013 by mybitch Quote Share this post Link to post Share on other sites
0 mybitch 9 Posted June 16, 2013 (edited) Fixed! My fault! Edited June 16, 2013 by mybitch Quote Share this post Link to post Share on other sites
It shows the multiple hits of claymore trap. I've tried to edit the skill_db
to
Where list_num is 9 to do 9 hits but the damage only increases. It doesn't show how many times it hits the monster..
Share this post
Link to post
Share on other sites