섀도어( Shadower) - oleneyl/maplestory_dpm_calc GitHub Wiki

  • Commit version : 70095fa

  • 기본설정

    •     self.buffrem = False
          self.vEnhanceNum = 10
          self.jobtype = "luk"
          self.ability_list = Ability_tool.get_ability_set('boss_pdamage', 'crit', 'buff_rem')
          self.preEmptiveSkills = 2
      
    • 주스텟 : luk
    • 버프 지속시간을 유니온으로 수급하지 않음
    • 어빌리티 우선순위 : 보공, 크확, 벞지
    • 쓸스킬에 코어칸을 둘 투자
    • 강화 코어가 10종류 존재
  • 최적화 힌트

    • return core.CharacterModifier(pdamage = 70, armor_ignore = 20)
      
    • 뎀퍼70, 방무20 있다고 가정하면 보다 최적화 성능이 좋음
  • 패시브 스킬

    •     NimbleBody = core.InformedCharacterModifier("님블 바디",stat_main = 20)
          Karma = core.InformedCharacterModifier("카르마",att = 30)
          PhisicalTraining = core.InformedCharacterModifier("피지컬 트레이닝",stat_main = 30, stat_sub = 30)
          SheildMastery = core.InformedCharacterModifier("실드 마스터리",att = 15)
          Grid = core.InformedCharacterModifier("그리드",att = 5)
          
          PrimaCriticalPassive = core.InformedCharacterModifier("프리마 크리티컬(패시브)",stat_main = 10, crit_damage = 20)
          PrimaCritical = core.InformedCharacterModifier("프리마 크리티컬",crit = 53.8 / 4, crit_damage = 8.8) #스택식으로도 계산 가능.
          
          BoomerangStepPassive = core.InformedCharacterModifier("부메랑 스텝(패시브)",pdamage_indep = 25)
          
          ShadowerInstinctPassive = core.InformedCharacterModifier("섀도어 인스팅트(패시브)",armor_ignore = 20)
          ReadyToDiePassive = thieves.ReadyToDiePassiveWrapper(self.vEhc, 2, 2)
      
          DaggerExpert = core.InformedCharacterModifier("대거 엑스퍼트",att = 40, crit_damage = 15)
      
    • 님블 바디 : 주스텟 20

    • 카르마 : 공격력 30

    • 피지컬 트레이닝 : 주스텟 30, 부스텟 30

    • 실드 마스터리 : 공격력 15

    • 그리드 : 공격력 5

    • 프리마 크리티컬(패시브) : 주스텟 10, 크뎀 20

    • 프리마 크리티컬(발동) : 크확 53.8 / 4, 크뎀 8.8

    • 부메랑 스텝 : 최종뎀 25

    • 섀도어 인스팅트 : 방무 20

    • 레디투다이(패시브)

    • 대거 엑스퍼트 : 공격력 40, 크뎀 15

  • 패시브(2종)

    •     def get_not_implied_skill_list(self):
          WeaponConstant = core.InformedCharacterModifier("무기상수",pdamage_indep = 30)
          Mastery = core.InformedCharacterModifier("숙련도",pdamage_indep = -5)
           ```
      
    • 무기상수 1.3
    • 숙련도 90%
  • 스킬 정보

    •     ######   Skill   ######
          # http://m.inven.co.kr/board/powerbbs.php?come_idx=2297&stype=subject&svalue=%EC%8A%A4%ED%83%9D&l=52201
          STACK1RATE = 19
          STACK2RATE = 80
      
          #Buff skills
          Booster = core.BuffSkill("부스터", 0, 200*1000).wrap(core.BuffSkillWrapper)
          FlipTheCoin = core.BuffSkill("플립 더 코인", 0, 24000, pdamage = 5*5, crit = 10*5).wrap(core.BuffSkillWrapper)
          ShadowerInstinct = core.BuffSkill("섀도어 인스팅트", 0, 200*1000, rem = True, att = 40+30).wrap(core.BuffSkillWrapper)
          ShadowPartner = core.BuffSkill("섀도우 파트너", 1000, 2000*1000, rem = True).wrap(core.BuffSkillWrapper)
          
          Assasinate1 = core.DamageSkill("암살(1타)", 630, 275, 6 * 1.7, modifier = core.CharacterModifier(pdamage=20, boss_pdamage = 20, armor_ignore = 10, pdamage_indep = STACK1RATE)).setV(vEhc, 0, 2, False).wrap(core.DamageSkillWrapper, name = "암살 1타")   #쉐파
          Assasinate2 = core.DamageSkill("암살(2타)", 630+30, 350, 6 * 1.7, modifier = core.CharacterModifier(pdamage=20, boss_pdamage = 20, armor_ignore = 10, pdamage_indep = STACK2RATE)).setV(vEhc, 0, 2, False).wrap(core.DamageSkillWrapper, name = "암살 2타")   #쉐파
          
          Assasinate1_D = core.DamageSkill("암살(1타)(다크사이트)", 630, 275, 6 * 1.7, modifier = core.CharacterModifier(pdamage=20+150, boss_pdamage = 20, armor_ignore = 10, pdamage_indep = STACK1RATE)).setV(vEhc, 0, 2, False).wrap(core.DamageSkillWrapper, name = "암살 1타(닼사)")   #쉐파
          Assasinate2_D = core.DamageSkill("암살(2타)(다크사이트)", 630+30, 350, 6 * 1.7, modifier = core.CharacterModifier(pdamage=20+150, boss_pdamage = 20, armor_ignore = 10, pdamage_indep = STACK2RATE)).setV(vEhc, 0, 2, False).wrap(core.DamageSkillWrapper, name = "암살 2타(닼사)")   #쉐파
          
          BailOfShadow = core.DamageSkill("베일 오브 섀도우", 810, 800, 15, cooltime = 60000).setV(vEhc, 3, 2, False).wrap(core.DamageSkillWrapper)
          #킬포3개 사용시 최종뎀 100% 증가.
      
          Smoke = core.BuffSkill("연막탄", 1080, 30000, cooltime = 150000, crit_damage = 20).wrap(core.BuffSkillWrapper)
          Venom = core.DotSkill("페이탈 베놈", 480, 89999 * 1000).wrap(core.SummonSkillWrapper)
          
          AdvancedDarkSight = core.BuffSkill("다크 사이트", 0, 10000, cooltime = -1, pdamage_indep = 5).wrap(core.BuffSkillWrapper)
          EpicAdventure = core.BuffSkill("에픽 어드벤처", 0, 60*1000, cooltime = 120 * 1000, pdamage = 10).wrap(core.BuffSkillWrapper)
          
          #_VenomBurst = core.DamageSkill("베놈 버스트", ??) ## 패시브 50%확률로 10초간 160+6*vlevel dot. 사용시 도트뎀 모두 피해 + (500+20*vlevel) * 5. 어차피 안쓰는 스킬이므로 작성X
          
          UltimateDarksight = thieves.UltimateDarkSightWrapper(vEhc, 3, 3, 5)
          #UltimateDarksight = core.BuffSkill("얼티밋 다크사이트", 750, 30000, cooltime = (220-vEhc.getV(3,3))*1000, pdamage_indep = (10 + int(0.2*vEhc.getV(3,3))/1.05 )).isV(vEhc,3,3).wrap(core.BuffSkillWrapper)
          ReadyToDie = thieves.ReadyToDieWrapper(vEhc, 2, 2)
          
          Eviscerate = core.DamageSkill("절개", 570, 1900+76*vEhc.getV(0,0), 7*1.7, modifier = core.CharacterModifier(crit=100, armor_ignore=100), cooltime = 14000).isV(vEhc,0,0).wrap(core.DamageSkillWrapper)
      	
      	# 1.2.324 패치 적용
          SonicBlow = core.DamageSkill("소닉 블로우", 900, 0, 0, cooltime = 80 * 1000).isV(vEhc,1,1).wrap(core.DamageSkillWrapper)
          SonicBlowTick = core.DamageSkill("소닉 블로우(틱)", 125, 500+20*vEhc.getV(1,1), 7*1.7, modifier = core.CharacterModifier(armor_ignore = 100)).isV(vEhc,1,1).wrap(core.DamageSkillWrapper, name = "소닉 블로우(사용)")#20타
      
      
    • 암살 1타는 최종뎀 19, 2타는 최종뎀 80을 적용함
    • 다크사이트 하에서는 뎀퍼 150을 추가로 받음
    • 소닉블로우는 7* 1.7(쉐파) 로 20회 / 2.5초간 발동
  • 연산 로직

    •     ### build graph relationships
          def isNotDarkSight():
              return (not AdvancedDarkSight.is_active())
          
          AdvancedDarkSight.set_disabled_and_time_left(-1)    
          DarkSightTurnedOn = core.ConstraintElement("다크사이트 여부 확인", AdvancedDarkSight, isNotDarkSight)
          
          MesoExplosion = MesoStack(vEhc)
          
          Assasinate2.onAfters([SonicBlow.controller(1500 * STACK2RATE, "reduce_cooltime"), MesoExplosion.stackController(6*0.4, name = "메소 생성")])
          Assasinate1.onAfter(MesoExplosion.stackController(6*0.4, name = "메소 생성"))
          Assasinate1.onAfter(MesoExplosion)
          Assasinate1.onAfter(Assasinate2)
          
          Assasinate2_D.onAfters([SonicBlow.controller(1500 * STACK2RATE, "reduce_cooltime"), MesoExplosion.stackController(6*0.4, name = "메소 생성")])
          Assasinate1_D.onAfter(MesoExplosion.stackController(6*0.4, name = "메소 생성"))
          Assasinate1_D.onAfter(MesoExplosion)
          Assasinate1_D.onAfter(Assasinate2_D)
          
          BailOfShadow.onConstraint(DarkSightTurnedOn)
          BailOfShadow.onAfter(MesoExplosion.stackController(15*0.4, name = "메소 생성"))
          BailOfShadow.onAfter(AdvancedDarkSight.controller(12000, "set_enabled_and_time_left"))
          
          Smoke.onConstraint(DarkSightTurnedOn)
          Smoke.onAfter(AdvancedDarkSight.controller(30000, "set_enabled_and_time_left"))
          
          UltimateDarksight.onConstraint(DarkSightTurnedOn)
          UltimateDarksight.onAfter(AdvancedDarkSight.controller(30000,"set_enabled_and_time_left" ))
          
          SonicBlowTick.onAfter(MesoExplosion.stackController(14*0.4, name = "메소 생성"))
          SonicBlow.onAfter(core.RepeatElement(SonicBlowTick, 20))
          
          Eviscerate.onAfter(MesoExplosion.stackController(14*0.4, name = "메소 생성"))
          
          Assasinate = core.OptionalElement(AdvancedDarkSight.is_active, Assasinate1_D, Assasinate1, name = "닼사 여부")
          BasicAttackWrapper = core.DamageSkill('기본 공격',0,0,0).wrap(core.DamageSkillWrapper)
          BasicAttackWrapper.onAfter(Assasinate)
      
    • (수정예정) 암살 사용시 소닉블로우의 쿨타임 1.5초*인팅확률 만큼 감소

    • 암살은 2.4개의 메익 메소를 생성

    • 베일 오브 섀도우 는 6개의 메소를 생성

    • 베일 오브 섀도우 는 다크사이트 최종뎀버프를 12초간 지속시킴

    • 연막탄은 닼사버프를 30초간 지속시킴

    • 소닉 블로우는 매 타격당 5.6개의 메소를 생성

    • 절개는 5.6개의 메소를 생성

  • 시전 순서

return(BasicAttackWrapper, [globalSkill.maple_heros(chtr.level), globalSkill.useful_sharp_eyes(), Booster, FlipTheCoin, ShadowerInstinct, ShadowPartner, Smoke, AdvancedDarkSight, EpicAdventure, UltimateDarksight, ReadyToDie, globalSkill.soul_contract()] +
[Eviscerate, SonicBlow, BailOfShadow]+
[Venom]+
[]+
[BasicAttackWrapper]) ```

  • 앞에 있는 스킬이 사용가능하면 먼저 사용함

  • 쓸샾 사용

  • 기타 설정사항

    •     '''
          일반 다크사이트는 깡으로 사용하지 않음.
          
          프리마 크리티컬 : 6/12/18/24/30/36/42/48/... / 96/100 -> 53.8
          크뎀 : 8.8
          쉐도우 파트너는 절개와 암살에만 적용.
          
          하이퍼 : 메익 인핸스, 암살 리인포스 / 보킬 / 이그노어 가드.
          
          암살 1타 3스택 19% / 2타 80%
          암살-부스-익플-배오섀