듀얼블레이드( DualBlade) - oleneyl/maplestory_dpm_calc GitHub Wiki
-
직업병은 듀얼블레이더 이지만 듀얼블레이드 로 사용.
-
Commit version : 671ac19
-
기본설정
-
self.buffrem = False self.jobtype = "luk" self.ability_list = Ability_tool.get_ability_set('boss_pdamage', 'crit', 'buff_rem') self.preEmptiveSkills = 1
- 버프 지속시간을 유니온으로 활용하지 않음
- 주스텟 : luk
- 어빌리티 우선순위 : 보공, 크확, 벞지
- 쓸스킬에 코어칸을 하나 투자
-
-
기타 설정
- 없음
-
최적화 힌트
-
def get_modifier_optimization_hint(self): return core.CharacterModifier(armor_ignore = 86)
- 기본 방무가 86% 추가인 것으로 계산하면 보다 잘 최적화됨
-
-
패시브 스킬
-
Karma = core.InformedCharacterModifier("카르마", att = 30) PhisicalTraining = core.InformedCharacterModifier("피지컬 트레이닝", stat_main = 30, stat_sub = 30) SornsEffect = core.InformedCharacterModifier("쏜즈 이펙트", att = 30) DualBladeExpert = core.InformedCharacterModifier("이도류 엑스퍼트", att = 30, pdamage_indep = 20) Sharpness = core.InformedCharacterModifier("샤프니스", crit = 35, crit_damage = 13) ReadyToDiePassive = thieves.ReadyToDiePassiveWrapper(self.vEhc, 2, 2)
-
카르마 : 공격력 30
-
피지컬 트레이닝 : 주스텟 30, 부스텟 30
-
쏜즈 이펙트 : 공격력 30
-
이도류 엑스퍼트 : 공격력 30, 최종뎀 20
-
샤프니스 : 크확 35, 크뎀 13
-
레디투 다이(패시브)
-
-
패시브(2종)
-
def get_not_implied_skill_list(self): WeaponConstant = core.InformedCharacterModifier("무기상수",pdamage_indep = 30) Mastery = core.InformedCharacterModifier("숙련도",pdamage_indep = -5) ```
- 무기상수 1.3
- 숙련도 90%
-
-
스킬 정보
-
Booster = core.BuffSkill("부스터", 0, 180000, rem = True).wrap(core.BuffSkillWrapper) MirrorImaging = core.BuffSkill("미러 이미징", 0, 200000, rem = True, pdamage_indep = 70).wrap(core.BuffSkillWrapper) DarkSight = core.BuffSkill("다크 사이트", 0, 1, cooltime = -1).wrap(core.BuffSkillWrapper)#, pdamage_indep = 20 + 10 + int(0.2*vEhc.getV(3,3))).wrap(core.BuffSkillWrapper) PhantomBlow = core.DamageSkill("팬텀 블로우", 540, 315, 6+1, modifier = core.CharacterModifier(armor_ignore = 30+20, pdamage = 20)).setV(vEhc, 0, 2, False).wrap(core.DamageSkillWrapper) SuddenRaid = core.DamageSkill("써든 레이드", 900, 1150, 3, cooltime = 30000).setV(vEhc, 2, 2, False).wrap(core.DamageSkillWrapper) #파컷의 남은 쿨타임 20% 감소 SuddenRaidDOT = core.DotSkill("써든 레이드(도트)", 210/1.7, 10000).wrap(core.SummonSkillWrapper) FinalCut = core.DamageSkill("파이널 컷", 870, 2000, 1, cooltime = 90000).wrap(core.DamageSkillWrapper) FinalCutBuff = core.BuffSkill("파이널 컷(버프)", 0, 60000, rem = True, pdamage_indep = 40).wrap(core.BuffSkillWrapper) EpicAdventure = core.BuffSkill("에픽 어드벤처", 0, 60*1000, cooltime = 120 * 1000, pdamage = 10).wrap(core.BuffSkillWrapper) FlashBang = core.DamageSkill("플래시 뱅", 600, 250, 1, cooltime = 60000).wrap(core.DamageSkillWrapper) #임의 딜레이. FlashBangDebuff = core.BuffSkill("플래시 뱅(디버프)", 0, 50000/2, cooltime = -1, pdamage = 10 * 0.9).wrap(core.BuffSkillWrapper) Venom = core.DotSkill("페이탈 베놈", 160*3/1.7, 8000).wrap(core.SummonSkillWrapper) # TODO: 버프 시전 딜레이 적용 HiddenBladeBuff = core.BuffSkill("히든 블레이드(버프)", 0, 60000, cooltime = 90000, pdamage = 10).wrap(core.BuffSkillWrapper) HiddenBlade = core.DamageSkill("히든 블레이드", 0, 140 / 1.7, 2).setV(vEhc, 5, 2, True).wrap(core.DamageSkillWrapper) #미러 이미징에 의해 추가타 2개, 최종뎀 1.7배 무시 Asura = core.DamageSkill("아수라", 0, 0, 0, cooltime = 60000).wrap(core.DamageSkillWrapper) AsuraTick = core.DamageSkill("아수라(틱)", 300, 420, 4, modifier =core.CharacterModifier(armor_ignore = 100)).setV(vEhc, 1, 2, False).wrap(core.DamageSkillWrapper) #41타 UltimateDarksight = thieves.UltimateDarkSightWrapper(vEhc, 3, 3, 20) #UltimateDarksight = core.BuffSkill("얼티밋 다크사이트", 750, 30000, red = True, cooltime = (220-vEhc.getV(3,3))*1000).isV(vEhc,3,3).wrap(core.BuffSkillWrapper) ReadyToDie = thieves.ReadyToDieWrapper(vEhc,1,1) BladeStorm = core.DamageSkill("블레이드 스톰", 660, 580+23*vEhc.getV(0,0), 7, red = True, cooltime = 90000, modifier = core.CharacterModifier(armor_ignore = 100)).isV(vEhc,0,0).wrap(core.DamageSkillWrapper) BladeStormTick = core.DamageSkill("블레이드 스톰(틱)", 210, 350+10*vEhc.getV(0,0), 5, modifier = core.CharacterModifier(armor_ignore = 100)).isV(vEhc,0,0).wrap(core.DamageSkillWrapper) #10000/210 타 KarmaFury = core.DamageSkill("카르마 퓨리", 990, 750+30*vEhc.getV(6,6), 7 * 3, red = True, cooltime = 10000, modifier = core.CharacterModifier(armor_ignore = 30)).isV(vEhc,6,6).wrap(core.DamageSkillWrapper) BladeTornado = core.DamageSkill("블레이드 토네이도", 720, 600+24*vEhc.getV(2,2), 7, cooltime = 12000, modifier = core.CharacterModifier(armor_ignore = 100)).isV(vEhc,2,2).wrap(core.DamageSkillWrapper) #BladeTornadoFront = core.DamageSkill("블레이드 토네이도(전방)", 0, 600+24*vEhc.getV(2,2), 6, modifier = core.CharacterModifier(armor_ignore = 100)).isV(vEhc,2,2).wrap(core.DamageSkillWrapper) #보통 1타 BladeTornadoSummon = core.SummonSkill("블레이드 토네이도(소환)", 0, 540, 450+18*vEhc.getV(2,2), 6 * 3, 2000, cooltime=-1, modifier = core.CharacterModifier(armor_ignore = 100)).isV(vEhc,2,2).wrap(core.SummonSkillWrapper) #임의 딜레이, 미사용
-
-
연산 로직
-
SuddenRaid.onAfter(SuddenRaidDOT) FinalCut.onAfter(FinalCutBuff) HiddenBladeOpt = core.OptionalElement(HiddenBladeBuff.is_active, HiddenBlade) FlashBang.onAfter(FlashBangDebuff) for sk in [FinalCut, PhantomBlow, SuddenRaid, FlashBang, AsuraTick, BladeStorm, BladeStormTick, BladeTornado, BladeTornadoSummon]: sk.onAfter(HiddenBladeOpt) for sk in [PhantomBlow, AsuraTick, BladeStormTick]: sk.onAfter(Venom) Asura.onAfter(core.RepeatElement(AsuraTick, int((10+3)*1000/300))) BladeStorm.onAfter(core.RepeatElement(BladeStormTick, int((10000+3000)/210))) #BladeTornado.onAfter(BladeTornadoFront) BladeTornado.onAfter(BladeTornadoSummon)
-
FinalCut, PhantomBlow, SuddenRaid, FlashBang, AsuraTick, BladeStorm, BladeStormTick, BladeTornado, BladeTornadoSummon 에는 히든블레이드가 발동함
-
PhantomBlow, AsuraTick, BladeStormTick 에는 베놈이 발동함
-
아수라는 AsuraTick이 13000/300 회 사용됨(소숫점 이하 버림)
-
블레이드 토네이도는 시전된 이후(61) 전방으로 나가면서 3회타격(63)
-
카르마 퓨리는 7*3회 타격
-
블레이드 스톰은 10000/210 회를 매 타격당 5회 타격
-
-
시전 순서
-
return(PhantomBlow, [globalSkill.maple_heros(chtr.level), globalSkill.useful_sharp_eyes(), Booster, MirrorImaging, DarkSight, FinalCutBuff, EpicAdventure, FlashBangDebuff, HiddenBladeBuff, UltimateDarksight, ReadyToDie, globalSkill.soul_contract()] +\ [FinalCut, FlashBang, Asura, BladeStorm, BladeTornado, SuddenRaid, KarmaFury] +\ [SuddenRaidDOT, Venom, BladeTornadoSummon] +\ [] +\ [PhantomBlow])
- 앞에 있는 스킬이 사용가능하면 먼저 사용함
- 쓸샾 사용
-
-
기타 설정사항
-
''' 하이퍼 : 팬텀 블로우 - 리인포스, 이그노어 가드, 보너스 어택 블레이드 퓨리 - 리인포스, 엑스트라 타겟 미러이미징을 뎀뻥으로 계산.(:= 맥뎀 누수계산에 오류가 있을 수 있음) 아수라 41타 블레이드 토네이도 3타 카르마 퓨리 사용 코어 16개 유효 : 팬블 / 아수라 / 퓨리 -- 써든레이드 / 어센션 / 히든블레이드 '''
-