h1. EffectEvent -------------------------------------------------- h2. 개요 - 스킬을 시전했을 때 발생하는 스킬 관련 이벤트들을 정의하는 데이터시트다. - 데이터시트 1줄은 특정 스킬의 이벤트 하나를 나타낸다. - 이벤트를 수행할 때, 조건과 실행 부분은 복합 조건이나 복합 실행을 고려하지 않기로 했다. : 하려면 할 수는 있는데, 이러면 스킬 이벤트를 또 다시 조건부와 실행부로 분리를 해야 한다. 개념상으로나, 확장성으로나 이게 더 맞을 수도 있긴 한데, 그런 구조가 필요해질 경우에 확장을 하기로 한다. -------------------------------------------------- h2. [1] Read h3. 형식 - 적용 대상 : 툴 - 자료형 : bool h3. 설명 툴에서 해당 줄의 데이터들을 읽어들일지 아닐지 결정한다. 다음 값들을 사용할 수 있다. *TRUE* : 툴은 그 줄의 데이터를 읽는다. *FALSE* : 툴은 그 줄의 데이터를 읽어들이지 않는다. 툴은 데이터시트에서 읽어들인 줄의 데이터들로만 데이터 스크립트를 제작한다. 따라서, 이 필드를 이용해서 특정한 줄의 데이터들을 선택적으로 게임에 적용하거나, 혹은 적용하지 않게 만드는 데 쓸 수 있다. 예를 들어, 데이터시트에 테스트를 위해 임시로 넣은 데이터가 많은데, 이런 기능이 없는 경우, 게임에 빌드를 하기 위해서는 테스트 데이터를 그대로 사용하든가 아니면 제거해야 한다. 그런데 작업 경과에 따라 이제까지의 작업이 아깝거나, 게임 빌드 이후에 또 실험하던 데이터를 써야하는 등의 갖가지 이유 때문에 게임 빌드에 적용할 동안만 '잠시 툴이 특정 줄들의 데이터를 읽지 못하게' 하고 싶을 수 있다. 이 필드는 그런 경우에 사용할 수 있다. -------------------------------------------------- h2. [2] Comment h3. 형식 - 적용 대상 : 툴 - 자료형 : string h3. 설명 편집하는 사용자에게, 현재 편집하는 줄이 무엇을 위한 데이터인지 알려주는 주석을 적는 공간이다. 따라서 대부분은 순전히 데이터시트를 편집하는 사람의 편의를 위한 필드이기 때문에, 툴에서 데이터 스크립트로 변환할 때 이 필드의 값은 무시한다. 이 필드에 들어가야 하는 값에 대한 규칙도 특별히 존재하지 않는다. 다만, 소스 파일에 데이터 값을 상수로 정의하여 내보내는 경우, Comment 필드의 값은, 소스 코드에서 해당 상수의 역할을 설명하는 주석문으로 사용한다. -------------------------------------------------- h2. [3] Effect_Code h3. 형식 - 적용 대상 : 클라이언트 - 자료형 : EodGTC[Unit] : key_reference : Effect h3. 설명 대상이 되는 이펙트의 데이터를 식별하는 코드. 이 값은 [[Datascript_Effect|Effect]] 데이터시트의 필드에 정의한 값이어야 한다. 이 값은 다중 열 데이터(Multi-Line Data)로 구성한다. 따라서, 이 열의 위치에 있는 각 줄의 값들은 [] 기호 안에 인덱스 번호를 넣어서 순번을 구분한다. 인덱스는 0부터 순차적으로 숫자를 1씩 증가시키면서 매겨야 한다. 각 열에 인덱스를 부여하지 않을 수는 있지만, 그럴 경우에는 데이터 스크립트에 실제로 데이터가 적재되는 순서는 변환기 프로그램이 자동으로 결정한다. 인덱스의 값은 프로그램 내부적으로 int로 취급하기 때문에, int의 한계값(약 21.47억)을 벗어나지 말아야 한다. 자료형에 선언한 [] 기호 내부의 문자열 값은, 다중 열 데이터를 소스 코드에서 표현할 때 사용할 객체 선언 이름이다. -------------------------------------------------- h2. [4] Condition_Type h3. 형식 - 적용 대상 : 클라이언트 - 자료형 : enum : short : Eod.Define.Skill.eEventConditionType h3. 설명 이벤트의 실행 조건을 설정하는 함수의 타입을 설정한다. 여기에 설정한 함수를 실행하여 그 조건이 맞아야(즉, 반환 값이 true가 되어야) 필드에 설정한 이벤트 수행 함수가 실행된다. 이 조건 검사는 검사 결과가 true가 될 때까지 매번 수행한다. 한 번이라도 조건이 true가 되어 의 이벤트 함수가 실행되면, 그 때부터는 이펙트가 재생성되거나 초기화되어, 모든 이벤트가 새로 시작해야 하는 상황이 아닌 한, 다시 조건 검사를 하지 않는다. 다음과 같은 값을 사용할 수 있다. (아직 작성 중...) -------------------------------------------------- h2. [5] Condition_Paramters h3. 형식 - 적용 대상 : 클라이언트 - 자료형 : list h3. 설명 필드에 정의한 이벤트 조건 검사 함수에 전달할 매개변수들의 목록. 전달하는 매개변수들의 순서와 값의 해석 방식은 필드에 정의한 값에 따라 다르다. (아직 작성 중...) -------------------------------------------------- h2. [6] Process_Type h3. 형식 - 적용 대상 : 클라이언트 - 자료형 : enum : short : Eod.Define.Skill.eEventProcessType h3. 설명 이벤트를 수행하는 함수의 타입을 설정한다. 필드에 설정한 함수의 조건이 true여야 실행한다. (물론, 필드에 아무 값도 없다면, 무조건 실행한다.) 이 필드에 적용하는 진행 이벤트는 한 번만 실행한다. 한 번이라도 이벤트 함수가 실행되면, 그 때부터는 이펙트가 재생성되거나 초기화되어, 모든 이벤트가 새로 시작해야 하는 상황이 아닌 한, 다시 조건 검사를 하지 않는다. 다음과 같은 값을 사용할 수 있다. (아직 작성 중...) -------------------------------------------------- h2. [7] Process_Parameters h3. 형식 - 적용 대상 : 클라이언트 - 자료형 : list h3. 설명 필드에 정의한 이벤트 조건 검사 함수에 전달할 매개변수들의 목록. 전달하는 매개변수들의 순서와 값의 해석 방식은 필드에 정의한 값에 따라 다르다. (아직 작성 중...)