Jeraden_n 4c8ff9825f8342f2bb0fd7c96f78d7e6
강좌 자바 에디션(JE) 플러그인 개발
[제라든의 매직스펠 강좌] [기본] 2강. 스펠을 연결시키는 콤보 스펠 (Multi Spell, Targeted Multi Spell)
분야 | 매직스펠 |
---|---|
장르 | 재미, RPG |
게임버전 | 모든버전 |
API | 페이퍼 |
자료글 | https://github.com/TheComputerGeek2/MagicSpells |
안녕하세요, 제라든입니다.
기본 2강에서 배울 스펠은
스펠 하나로 다른 스펠 여러 개를 동시에 발동시킬 수 있는 Multi Spell입니다.
또한 스펠 발동에 시간 간격을 둘 수 있어, 멋진 콤보 스킬을 제작할 수 있습니다.
바로 강의로 들어가시죠.
1. Multi Spell
leap_multi: spell-class: ".MultiSpell" spells: - leap1 - DELAY 10 - leap2 - speed can-cast-with-item: true can-cast-by-command: true check-individual-cooldowns: false cast-random-spell-instead: false enable-custom-spell-cast-chance: false enable-individual-chances: false
Multi Spell은 많은 스펠들을 정해놓은 순서에 맞추어 발동시키는 기능을 수행합니다.
해당 스펠은 스펠 클래스가 없는 Utility Spells입니다.
spells
Multi Spell을 시전할 때 해당 구문 속 나열된 스펠들을
최상단에서부터 순차적으로 발동시킵니다.
spells 목록 사이사이에 들어가 있는 DELAY 구문은 다음 스펠이 발동을 지연시키는 기능을 수행합니다.
DELAY 뒤에 숫자를 입력하시면, 그 값만큼 스펠 발동에 딜레이가 발생합니다.
(DELAY 구문의 시간 단위는 tick이며, 20 ticks당 1초입니다)
spells 목록에서 스펠 사이에 DELAY 구문이 없다면, 다음 스펠과 같이 동시에 발동됩니다.
이를 이용하여 피해를 입힌 후 1초 뒤에 밀쳐내는 콤보 형태의 스킬을 제작할 수 있습니다.
cast-random-spell-instead
true로 설정하면, 리스트의 스펠 중 무작위 하나의 스펠만을 발동시킵니다.
enable-custom-spell-cast-chance
cast-radom-spell-instead 구문이 true였을 때만 기능합니다.
발동할 무작위 하나의 스펠을 선택할 때
spells 목록 스펠들의 선택될 확률을 조정할 수 있습니다.
(false일 경우, 선택될 확률이 모두 같습니다)
- spell_a:2
- spell_b:3
이렇게 설정하면
spell_a는 2/5 (40%) 확률로,
spell_b는 3/5 (60%) 확률로 둘 중 하나의 스펠이 발동됩니다.
enable-individual-chances
cast-radom-spell-instead 구문이 true였을 때만 기능합니다.
위의 구문과는 다르게 '무작위로 하나의 스펠만 발동'하지 않고,
각 스펠들이 독립적으로 확률에 따라 발동합니다.
- spell_a:30
- spell_b:70
즉 spell_a는 spell_b가 발동되었건 말건 30% 확률에 따라 발동되고,
spell_b 또한 다른 스펠의 발동 여부와는 상관없이 70% 확률에 따라 발동됩니다.
2. Targeted Multi Spell
pain_multi: spell-class: ".TargetedMultiSpell" spells: - pain - DELAY 10 - pain - DELAY 10 - pain check-individual-cooldowns: false cast-random-spell-instead: false required-entity-target: false point-blank: false y-offset: 0 stop-on-fail: true
Targeted Multi Spell은 많은 Multi Spell과 같은 기능을 수행하지만,
지정한 대상이나 위치를 타겟팅합니다.
해당 스펠은 스펠 클래스가 없는 Utility Spells입니다.
spells
Multi Spell과 동일합니다.
단, Targeted Multi Spell에는
Targeted Spells나 Targeted Location Spells에 해당하는 스펠만 넣을 수 있습니다.
cast-random-spell-instead
true로 설정하면, 리스트의 스펠 중 무작위 하나의 스펠만을 발동시킵니다.
required-entity-target
true로 설정하면, 해당 스펠은 반드시 엔티티를 대상으로만 작동합니다.
본래 Targeted Multi Spell은 엔티티 뿐만 아니라 위치를 대상으로도 작동합니다.
point-blank
true로 설정하면 해당 스펠의 중심이 플레이어가 기준이 되고,
false로 설정하면 스펠의 중심이 타겟팅한 엔티티, 위치가 기준이 됩니다.
y-offset
위치를 타겟으로 지정했을 때, 지정 위치의 높이(y 좌표)를 설정 값만큼 증가시킵니다.
stop-on-fail
리스트의 스펠들 중 하나라도 실패하면, 해당 스펠을 즉시 중단시킵니다.
아래 다운로드 링크를 통해 멀티 스펠 참고 예제를 다운 받으실 수 있습니다.
매직스펠 공부하시는데 참고하시길 바랍니다.
Multi Spell 예제 파일 다운로드
|
다음 강의에서는
[기초] 5강. 스펠의 사용과 방법을 진행하겠습니다.
이번주 수요일 날 올라갑니다.
끝까지 읽어주신 분들께 감사의 말씀을 전합니다.
제라든
2019.12.15예제 스펠을 발동하실 때는 "/c 스펠이름"을 채팅으로 입력하시면 됩니다.
DDang_
2020.01.14spell_b 또한 다른 스펠의 발동 여부와는 상관없이 50% 확률에 따라 발동됩니다.
-> 70%아닐까요
제라든
2020.01.14수정했습니다.
제보 감사합니다.
DDang_
2020.01.20좋은 글 기대하겠습니다
용한4393
2021.07.28저는 왜 타켓티드 멀티 스펠이 한번만 발동하는걸까요..?