사용자 도구

사이트 도구


ko:damage_formula

대미지 공식

아이템의 포션 종류를 선택하거나
스킬을 선택하면, 데미지 공식을 입력할 수 있습니다.

하지만, 대미지 공식 대신 다른 것을 입력한다면? (예를들어 아이템 지급, 스킬 지급, 골드 지급)
작동됩니다!

a는 공격자, b는 방어자를 의미하는데요.
a에서 사용가능한 변수와 함수는 다음과 같습니다.

* 참고로 a와 b는 모두 ScriptUnit 객체 입니다.
* 아이템의 경우 b 는 없습니다. level 로 아이템의 레벨값을 가져올수 있습니다.
* 상태의 경우 a,b만 존재합니다.
* 스킬의 경우 level 은 해당스킬의 레벨입니다.

변수들

a.id : a의 고유한 숫자 아이디
a.type : a의 타입(0=플레이어, 1=이벤트, 2=몬스터)
a.name : a의 이름
a.x : a의 좌표 X
a.y : a의 좌표 Y
a.atk : a의 공격력
a.def : a의 방어력
a.magicAtk : a의 마법 공격력
a.magicDef : a의 마법 방어력
a.agi : a의 민첩
a.luk : a의 운
a.maxHP : a의 최대체력
a.maxMP : a의 최대마력
a.hp : a의 현재 체력
a.mp : a의 현재 마력

함수들

a.SpawnAt(x, y) : a를 x,y 좌표로 이동시킨다.
a.SpawnAtField(mapID, x, y) : a 를 mapID 의 맵에 x,y 좌표로 이동시킨다.
a.RespawnAt(x, y) : a를 x, y 좌표에 부활시킨다.
a.SetVar(id, value) : a의 id 변수를 value로 바꾼다.
a.GetVar(id) : a의 id 변수를 가져온다.
a.AddSkill(id, level) : a에게 id 스킬 레벨 level을 추가한다.
a.AddItem(id, count) : a에게 id 아이템 count 개수를 추가한다.
a.AddGameMoney(amount) : a에게 골드를 추가한다.

b.RemoveSkill(id) : b로부터 id 스킬을 없애버린다.
b.RemoveItem(id, count) : b로부터 아이템 id를 count 개수만큼 소모시킨다.
b.UseGameMoney(amount) : b로부터 골드 amount를 소모시킨다.
b.StartGlobalEvent(id) : 공용이벤트 id를 호출한다.
b.AddBuff(id,a) : b로부터 id 상태를 부여한다.
b.RemoveBuff(id) : b로부터 id 상태를 없애버린다.

예시) 스킬 공식 1 데미지 = 공격자의 공격력 - 방어자의 방어력

a.atk - b.def

예시) 스킬 공식2 데미지 = 10과 50사이의 랜덤 데미지

rand(10, 50)

예시) 스킬 데미지 공식 - 내 스킬을 맞는 사람의 골드를 10씩 소모시키기

b.UseGameMoney(10)

예시) 아이템도 뺏고, 골드도 뺏고 싶다!

a.RemoveItem(1, 10) or a.UseGameMoney(10)

예시) 크리티컬에 따른 스킬 데미지 설정 - 크리티컬이 발생하면 (a.attack *2) 적용 아니면 (a.attack)적용

critical and (a.attack * 2) or (a.attack)

예) 해당 스킬의 레벨에 따른 데미지 - a의 마법공격력 10, b의 마법방어력 5, 해당 스킬의 레벨이 10 이라면 데미지 16 데미지 출력

a.magicAtk - b.magicDef + level +1

예시) 아이템 데미지 공식 - a가 어떤 아이템을 사용헀을때, 데미지 공식에 아래와 같이 넣는다면, 아이템 사용시 스킬을 배우게 할 수 있습니다.

a.AddSkill(0,1) \-\- A에게 0번째 스킬 Lv. 1을 추가한다.

예시) 상태 지속데미지 주기

종류 HP 데미지설정후 공식란에 10입력 하면 시간에 따른 데미지를 입힘 최소 2초
ko/damage_formula.txt · 마지막으로 수정됨: 2019/05/09 02:25 저자 리크