매직스펠 강좌를 작성하게 된 크리라고 합니다.
앞으로 작성되는 매직스펠 강좌는 1.12.2 버전을 기준으로 작성될 예정입니다.
오늘은 지난 강좌에서 예고되었었던, MultiSpell, TargetedMultiSpell 을 알려드리려고 합니다.
MultiSpell, TargetedMultiSpell 은 기본적으로 여러 스펠들을 한 스펠에 묶어 실행시켜주는 스펠입니다.
MultiSpell 과 TargetedMultiSpell 의 기본적인 예문과, 많이 사용되지 않으나 좀 더 다양하게 쓸 수 있는 심화 구문을 알려드리겠습니다.
MultiSpell - 기본
MultiSpell 의 기본 사용 예문입니다. 기본적으로 가장 많이 사용합니다.
example_1: #스펠의 이름
spell-class: ".MultiSpell" #스펠의 클래스
spells: #연계되는 스펠들
- example_1_A
- example_1_B
example_1_A: #연계스펠 1번
spell-class: ".instant.DummySpell"
str-cast-self: "예시 1-A 스펠 발동."
example_1_B: #연계스펠 2번
spell-class: ".instant.DummySpell"
str-cast-self: "예시 1-B 스펠 발동."
MultiSpell - 심화 :
cast-random-spell-instead
cast-random-spell-instead
는 MultiSpell 의 연계되는 스펠 중 하나가 랜덤하게 발동할 것인가에 대한 여부입니다. 많이 쓰이진 않습니다만, 랜덤포션과 같은 스펠을 만들 때 사용할 수 있습니다.
example_2: #스펠의 이름
spell-class: ".MultiSpell" #스펠의 클래스
cast-random-spell-instead: true #연계되는 스펠 중 하나를 랜덤으로 발동하게 할 것인지
spells: #연계되는 스펠들
- example_2_A(mode=hard) #cast-random-spell-instead 에서는 (mode=hard)가 필요합니다.
- example_2_B(mode=hard)
- example_2_C(mode=hard)
example_2_A: #연계스펠 1번
spell-class: ".instant.DummySpell"
str-cast-self: "예시 2-A 스펠 발동."
example_2_B: #연계스펠 2번
spell-class: ".instant.DummySpell"
str-cast-self: "예시 2-B 스펠 발동."
example_2_C: #연계스펠 3번
spell-class: ".instant.DummySpell"
str-cast-self: "예시 2-C 스펠 발동."
MultiSpell - 심화 :
enable-custom-spell-cast-chance
enable-custom-spell-cast-chance
는 MultiSpell 에 연계되는 스펠들이 자신이 지정한 확률로 하나만 발동하도록 합니다.
발동시키기 위해선 cast-random-spell-instead
구문이 기본으로 필요하며, 방금 전과 달리 1/n 확률로 스펠이 발동되는 것이 아닌, 지정한 확률로 스펠이 하나만 발동되도록 합니다.
example_3: #스펠의 이름
spell-class: ".MultiSpell" #스펠의 클래스
cast-random-spell-instead: true #연계되는 스펠 중 하나를 랜덤으로 발동하게 할 것인지
enable-custom-spell-cast-chance: true #연계되는 스펠들이 지정한 확률로 랜덤으로 발동하게 할 것인지
spells: #연계되는 스펠들
- example_3_A(mode=hard):5 #연계된 스펠 중 5% 확률로 발동합니다.
- example_3_B(mode=hard):25 #연계된 스펠 중 25% 확률로 발동합니다.
- example_3_C(mode=hard):50 #연계된 스펠 중 50% 확률로 발동합니다.
example_3_A: #연계스펠 1번
spell-class: ".instant.DummySpell"
str-cast-self: "예시 3-A 스펠 발동."
example_3_B: #연계스펠 2번
spell-class: ".instant.DummySpell"
str-cast-self: "예시 3-B 스펠 발동."
example_3_C: #연계스펠 3번
spell-class: ".instant.DummySpell"
str-cast-self: "예시 3-C 스펠 발동."
MultiSpell - 심화 :
enable-individual-chances
enable-individual-chances
는 MultiSpell 에 연계되는 스펠들이 지정한 확률로 하나만 발동하지 않고 다른 스펠들이 발동되는 것과는 상관없이 확률적으로 발동하게 합니다. enable-custom-spell-cast-chance
과 마찬가지로,cast-random-spell-instead
구문이 기본적으로 필요합니다.
example_4: #스펠의 이름
spell-class: ".MultiSpell" #스펠의 클래스
cast-random-spell-instead: true #연계되는 스펠이 랜덤으로 발동하게 할 것인지
enable-individual-chances: true #연계되는 확률적으로 발동하게 할 것인지
spells: #연계되는 스펠들
- example_4_A(mode=hard):75 #다른 스펠들의 발동 여부와 관계 없이 75% 확률로 발동합니다.
- example_4_B(mode=hard):50 #다른 스펠들의 발동 여부와 관계 없이 50% 확률로 발동합니다.
- example_4_C(mode=hard):25 #다른 스펠들의 발동 여부와 관계 없이 25% 확률로 발동합니다.
example_4_A: #연계스펠 1번
spell-class: ".instant.DummySpell"
str-cast-self: "예시 4-A 스펠 발동."
example_4_B: #연계스펠 2번
spell-class: ".instant.DummySpell"
str-cast-self: "예시 4-B 스펠 발동."
example_4_C: #연계스펠 3번
spell-class: ".instant.DummySpell"
str-cast-self: "예시 4-C 스펠 발동."
TargetedMultiSpell - 기본
TargetedMultiSpell 은 단일로 사용하면 보는 위치에서 발동시킬 수 있고, 이외에도 ParticleProjectileSpell 에 연계하면 끝나는 지점에도 연계되어 사용할 수 있습니다. (Ex : ParticleProjectileSpell -> TargetedMultiSpell) 단 TargetedMultiSpell 에는 일부 스펠의 연계가 불가능합니다.
TargetMulti: #스펠의 이름
spell-class: ".TargetedMultiSpell" #스펠의 클래스
stop-on-fail: false #기본값 : false, 연계되는 스펠이 실패할 시 해당 스펠을 멈출 지 여부
point-blank: false #기본값 : false, 엔티티가 존재 시 엔티티 중심으로 발동하게 할 지 여부(엔티티가 없으면 블럭 중심)
y-offset: 1 #TargetedMultiSpell 이 발동되는 위치 (1=1블럭)
cast-random-spell-instead: false #기본값 : false, 연계되는 스펠이 확률적으로 발동할 지 여부
require-entity-target: false #기본값 : false, 엔티티를 대상으로 할지 여부
spells: #연계되는 스펠들
- ligtning
- DELAY 10
- ligtning
- DELAY 10
- ligtning
ligtning: #연계스펠
spell-class: ".targeted.LightningSpell"
additional-damage: 0
no-damage: false
MultiSpell 과 TargetedMultiSpell 강좌는 여기까지입니다.
다음 번 강좌 때는 매직아이템(MagicItem)에 대한 강좌로 찾아오도록 하겠습니다. 감사합니다.
댓글이 없습니다.
새로운 댓글을 등록해 주세요!