Giter Club home page Giter Club logo

maplestory_dpm's People

Contributors

cjh980402 avatar parkkyuseon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

maplestory_dpm's Issues

쌍권총 크루의 퍼뎀 문의

info <- c(200, 3 * 2, 900, 3030, 120, 45, T, T, T, F)

서먼 크루
120초 동안 적을 150%로 3번 공격하는 탄환을 2개 발사하는 노틸러스 선원 소환

어셈블 크루
쌍권총 크루: 탄환의 데미지 200% 증가

탄환의 데미지가 200% 증가가 아닌 200% 증가인 것으로 보아 150 + 200으로 적용될 것으로 보이는데, 확인 부탁드립니다.

덧붙여 150 + 200으로 적용되는게 맞다면 언위어링 넥타 쌍권총의 285%는 350%보다 낮으므로, 이 경우에도 285 + 200으로 적용되고 있을 것이라고 생각합니다.

DPM Issues 20200917 #1 (Marksman Lastman Standing / Weakness Finding / Distancing Sense / Motal Blow Issue)

Maple_200917_013331

  1. 모탈 블로우 프리져/이볼브/파이널 어택/스파이더 인 미러(다리) 미발동 (-> 패시브형태 적용에서 스킬별 적용으로 변경 필요)

  2. 라스트맨 스탠딩 가이디드 애로우/프리져/이볼브/파이널 어택 미발동 (-> 패시브형태 적용에서 스킬별 적용으로 변경 필요)

  3. 위크니스 파인딩 가이디드 애로우 미발동 (-> 패시브형태 적용에서 스킬별 적용으로 변경 필요)

  4. 프리져와 이볼브, 스파이더 인 미러(다리)는 거리 0을 기준으로 디스턴싱 센스와 위크니스 파인딩이 적용되는 것으로 추정
    i) 방무 59.60125% 상태에서 가이디드 애로우는 데미지 1 들어감, 프리져, 이볼브, 스파이더 인 미러는 데미지 적용됨 ; 17.x% 이상의 방무가 최소한 적용됨
    ii) 다음과 같은 case는 불가능 : 위크니스 파인딩이 현재 거리에 따라 적용, 디스턴싱 센스가 거리 0에 준하여 적용
    MarksmanWeakness
    iii) 방무 20 / 라스트맨 스탠딩 적용 case, 거리 0 기준 적용 case는 윌에서 방무 59.60125% 상태 실험을 진행한 결과 모두 불가능
    MarksmanWeakness2
    iv) 거리 0 기준 위크니스 파인딩 방무가 14%라고 가정하면 해당 두 경우 모두 충족
    MarksmanWeakness3

  • 관련 추가 실험 필요

common.R error

일리움 유니온 공격대원 효과가 럭으로 되어있습니다
ps. 이슈 삭제 부탁드릴게요

천공의 노래의 데미지%가 코강 타겟수+1을 받지 않습니다.

안녕하세요. 윈브 천공의 노래 적용에 관해 질문이 있어 이슈를 남깁니다.

value <- c(ifelse(WindBreakerCore[[1]][1, 2]>=40, 20, 0), ((1.2 + 0.01 * floor(WindBreakerSpec$SkillLv/2))^ifelse(WindBreakerCore[[1]][1, 2]>=20, 4, 3)) * 100 - 100 + 50, 2 * WindBreakerCore[[1]][1, 2])

ifelse(WindBreakerCore[[1]][1, 2]>=20, 4, 3) 부분이 코어 강화로 인한 타겟수 증가를 반영하신 것으로 생각됩니다.

최근 실험들에 따르면, 천공의 노래를 포함한 타겟수 감소당 데미지, 최종뎀 증가 효과가 코강 혹은 어빌리티의 타겟수 +1이 적용되지 않는 것으로 추정됩니다.

DPM Issues 20200916 #1 (SeedRing)

  1. 시드링 숨돌 시간 측정 필요

  2. 시드링 숨돌 시간에 서버렉 등의 변동 수치가 작용하는지 검토 필요

  3. 숨돌 시간이 측정된다면 시드링 스위칭을 고려할 수 있고, 일부 직업의 경우 쓸스킬 스위칭 또한 고려대상이 될 수 있음

관련된 도움을 주실 수 있는 분들은 해당 Issues에 코멘트를 남겨 주시거나 블로그 덧글, 메모게시판을 이용해 글을 남겨주시면 감사하겠습니다.

불독 포이즌 체인 정의에 관한 질문

안녕하세요. 불독 포이즌 체인 적용에 관해 질문이 있어 이슈를 남깁니다.

Maplestory_DPM/ArchmageFP.R

Lines 646 to 693 in 15d80e7

option <- factor("FDR", levels=ASkill)
value <- c(floor(ArchmageFPCore[[2]][5, 2] / 10) + 8)
info <- c(300 + 12 * ArchmageFPCore[[2]][4, 2], 4, 0, NA, 30, T, F, F)
info <- data.frame(AInfo, info)
colnames(info) <- c("option", "value")
PoisonChainPre <- rbind(data.frame(option, value), info)
option <- factor("FDR", levels=ASkill)
value <- c(floor(ArchmageFPCore[[2]][5, 2] / 10) + 8)
info <- c(300 + 12 * ArchmageFPCore[[2]][4, 2], 6, 780, 1800, NA, NA, NA, F)
info <- data.frame(AInfo, info)
colnames(info) <- c("option", "value")
PoisonChain1 <- rbind(data.frame(option, value), info)
option <- factor("FDR", levels=ASkill)
value <- c(floor(ArchmageFPCore[[2]][5, 2] / 10) + 8)
info <- c(300 + 1 * (30 + ArchmageFPCore[[2]][4, 2]) + 12 * ArchmageFPCore[[2]][4, 2], 6, 0, NA, NA, NA, NA, F)
info <- data.frame(AInfo, info)
colnames(info) <- c("option", "value")
PoisonChain2 <- rbind(data.frame(option, value), info)
option <- factor("FDR", levels=ASkill)
value <- c(floor(ArchmageFPCore[[2]][5, 2] / 10) + 8)
info <- c(300 + 2 * (30 + ArchmageFPCore[[2]][4, 2]) + 12 * ArchmageFPCore[[2]][4, 2], 6, 0, NA, NA, NA, NA, F)
info <- data.frame(AInfo, info)
colnames(info) <- c("option", "value")
PoisonChain3 <- rbind(data.frame(option, value), info)
option <- factor("FDR", levels=ASkill)
value <- c(floor(ArchmageFPCore[[2]][5, 2] / 10) + 8)
info <- c(300 + 3 * (30 + ArchmageFPCore[[2]][4, 2]) + 12 * ArchmageFPCore[[2]][4, 2], 6, 0, NA, NA, NA, NA, F)
info <- data.frame(AInfo, info)
colnames(info) <- c("option", "value")
PoisonChain4 <- rbind(data.frame(option, value), info)
option <- factor("FDR", levels=ASkill)
value <- c(floor(ArchmageFPCore[[2]][5, 2] / 10) + 8)
info <- c(300 + 4 * (30 + ArchmageFPCore[[2]][4, 2]) + 12 * ArchmageFPCore[[2]][4, 2], 6, 0, NA, NA, NA, NA, F)
info <- data.frame(AInfo, info)
colnames(info) <- c("option", "value")
PoisonChain5 <- rbind(data.frame(option, value), info)
option <- factor("FDR", levels=ASkill)
value <- c(floor(ArchmageFPCore[[2]][5, 2] / 10) + 8)
info <- c(300 + 5 * (30 + ArchmageFPCore[[2]][4, 2]) + 12 * ArchmageFPCore[[2]][4, 2], 6, 0, NA, NA, NA, NA, F)
info <- data.frame(AInfo, info)
colnames(info) <- c("option", "value")
PoisonChainMax <- rbind(data.frame(option, value), info)

해당 정의를 살펴보면 PoisonChainPre는 중독을 일으키는 공격으로 보이고, 나머지 1~Max는 매 중독 폭발때마다 들어가는 딜을 정의하는 것으로 보입니다. 그렇게 의도하신게 맞다면, 폭발의 데미지는 300+12*level이 아닌 150+6*level로 알고 있습니다. 확인 부탁드립니다.

한가지 건의사항이 있습니다.

PoisonChainCycle <- function(DealCycle, ATKSkillList) {
DealCycle <- RepATKCycle(DealCycle, c("PoisonChain1"), 9, 0, ATKSkillList)
p <- 1
for(i in 1:nrow(DealCycle)) {
if(DealCycle$Skills[i]=="PoisonChain1") {
if(p==1) {
p <- p + 1
} else if(p==2) {
DealCycle$Skills[i] <- "PoisonChain2"
p <- p + 1
} else if(p==3) {
DealCycle$Skills[i] <- "PoisonChain3"
p <- p + 1
} else if(p==4) {
DealCycle$Skills[i] <- "PoisonChain4"
p <- p + 1
} else if(p==5) {
DealCycle$Skills[i] <- "PoisonChain5"
p <- p + 1
} else {
DealCycle$Skills[i] <- "PoisonChainMax"
p <- ifelse(p==9, 1, p + 1)
}
}
}
return(DealCycle)
}

불독 부분의 소스코드만 보고는 포이즌 체인이 어떻게 1부터 2,3,4,5,Max까지 이어지는지 파악하기 힘들었습니다. JobFunctions의 특정 직업만을 위한 코드들을 ArchmageFP_Helper.R 과 같은 별개 파일로 분리하면 트리 뷰에서 같은 직업에 관련된 코드끼리 붙어서 나와 처음 프로젝트를 살펴볼때 접근성이 좋아질 것 같습니다.

퀵 드로우 로직 문의

if(sum(DealCycle$Skills[i]==c("RapidFire", "BulletParty", "HeadShot", "NautilusAssaultPre", "NautilusAssualtLast", "DeathTrigger", "CaptainDignity")) >= 1 &
DealCycle$QuickDrawStack[i-1] < 1) {
DealCycle$QuickDrawStack[i] <- min(1, DealCycle$QuickDrawStack[i-1] + QuickDrawProb)
} else if(sum(DealCycle$Skills[i]==c("HeadShot", "DeadEye")) >= 1) {
DealCycle$QuickDrawFDR[i] <- QuickDrawFD * DealCycle$QuickDrawStack[i-1]
DealCycle$QuickDrawStack[i] <- 0
} else {
DealCycle$QuickDrawStack[i] <- DealCycle$QuickDrawStack[i-1]
}

  1. 인게임에서 확인한 결과 헤드샷으로도 퀵 드로우가 발동할 수 있습니다. 현재 코드상에서는 "퀵 드로우의 확률 스택 증가" 로직과 "퀵 드로우 버프 소모" 로직이 else-if로 묶여있는데, "HeadShot"이 두번째 분기로 진입하고 있는지 확인이 필요해 보입니다.

  2. 퀵 드로우 확률을 쌓는 스킬에 캡틴 디그니티가 포함되어 있는데, 리마스터 이후 검증이 된 부분인가요?

  3. QuickDrawFDR의 계산 방식이 min(퀵 드로우 스택 횟수 * 스택당 확률, 1) * (발동시 최종뎀)으로 된 것으로 보이는데, (1 - pow(1 - 스택당 확률, 스택 횟수)) * (발동시 최종뎀)이 정확할 것으로 보입니다. 9%를 12번 이상 시도했다고 해서 반드시 100%가 된다고 볼 수 없기 때문입니다.

Monster Life

스크린샷_2020-09-12_오전_5 24 25

몬스터 라이프 관련 의견을 받습니다.

DPM Issue 20200921 (adele deal cycle)

혹시 트레드 - 임페일 + 레조넌스 + (디바이드) - 트레드 - 샤드+디바이드 - 트레드 -> 디바이드 2회 사이클로 변경하여 측정해주실 수 있나요? 해당 사이클이 디바이드만 사용했을 경우보다 포텐셜이 높은 것으로 알고 있습니다.

어빌리티 재사용 옵션을 고려하지 않는다면 트레드와 크리에이션 쿨타임이 동일하여 트레드 때마다 크리에이션 쿨이 돌고, 자체 퍼뎀도 디바이드 375 * 6타, 트레드 550 * 6타로 트레드가 더 높습니다. 따라서 필요 점프 높이(추가 자료 필요)와 시전시간(추가 자료 필요)을 계산한 후, 트레드를 이용한 사이클을 추가하는 것도 좋을 것 같습니다.

캡틴 딜사이클 주기 문의

Period=c(180), CycleTime=c(360)) {

캡틴의 스킬들을 살펴볼 때 하이퍼 스킬의 주기가 180초보다 짧고, 5차 스킬도 모두 180초 이내의 쿨타임을 가지고 있어 1주기를 171초로 잡는것이 일반적이라고 생각합니다.

얼티밋 다크 사이트(190초)를 기준으로 하는 나이트로드의 경우 180.5초로 설정된 것으로 보아 쿨감%를 별도로 처리하는 것 같지는 않은데, 180초로 설정된 이유가 있는지 문의드립니다.

Aran DPM CheckList

  1. 아드레날린 타겟 수 증가가 비욘더, 펜릴 크래시 타겟 수 감소에 따른 데미지 증가에 적용되는지 여부
    코어 강화의 타겟 수 증가 효과는 타겟 수 감소에 따른 데미지 증가 효과 적용되지 않음
    뎀퍼 변화에 따라 헌터즈-리인포스와 비욘더-이그노어 가드 중 무엇이 나은지 재확인할 필요
    (+비욘더 파동, 펜릴 크래시 빙산에 타겟 수 감소에 따른 데미지 증가 적용 여부)

  2. 다이어 울프의 저주가 파택, 잔상, 파동 등 추가 공격에 의해서도 중첩

배틀쉽 봄버의 캡틴 디그니티 트리거 여부

if(sum(DealCycle$Skills[i]==c("RapidFire", "HeadShot", "BulletParty", "DeadEye")) >= 1) {

클라이언트 상에서 5221028.finalAttack에 5220020이 할당되어 있는 것으로 보아, 사인 오브 봄바드로 발생하는 폭격에도 캡틴 디그니티 추가타가 발동할 것으로 보이는데, 인게임에서 확인이 필요해 보입니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.