캐릭터 - hyunsang-shim/Project-M GitHub Wiki
목차
캐릭터 능력치
-
이름
-
캐릭터
-
최대체력
-
현재체력
-
체력회복
-
공격력
-
이동속도
-
장탄수
-
발사속도
-
총알 타입
-
총알 속도
캐릭터 기능
캐릭터 능력치
1. ID
- 변수명 : Player_ID
- 데이터 타입 : WORD (?)
- 캐릭터가 서버 접속 시 획득하는 고유한 Session ID
2. 이름
- 변수명 : Player_Name
- 데이터 타입 : char[16]
- 화면에 표시 될 플레이어의 이름. 서버 접속 시 입력하게 된다.
3. 캐릭터
- 변수명 : Character_No
- 데이터 타입 : WORD
- 플레이어가 선택 한 캐릭터의 고유 ID
4. 공격력
- 변수명 : Attack
- 데이터 타입 : WORD
- 값의 범위 : 0 ~ 255
- 총알 한 발 당 데미지
5. 최대체력
- 변수명 : MaxHP
- 데이터 타입 : DWORD
- 값의 범위 : 최소 100 / 최대 600
- 캐릭터의 최대 HP값.
6. 현재체력
- 변수명 : CurHP
- 데이터 타입 : DWORD
- 값의 범위 : 최소 0 / 최대 600
- 캐릭터의 현재 HP 값.
- 0이 되면 사망한다.
7. 체력 회복 속도
- 변수명 : HP_Regen
- 데이터 타입 : WORD
- 값의 범위 : 최소 0 ~ 127
- 캐릭터의 현재 HP가 1분당 회복 되는 양.
8. 이동속도
- 변수명 : MoveSpeed
- 데이터 타입 : DWORD
- 값의 범위 : 기본값 : 1,500, 최소값 = 0, 최대값 = 3,000
- 캐릭터의 이동 속도. 1,000 = 1,000ms동안 1.0f를 갈 수 있다.
9. 장탄수
- 변수명 : Mag_Size
- 데이터 타입 : WORD
- 값의 범위 : 기본값 : 20, 최소값 : 10, 최대값 : 100
- 한번 장전으로 연속 발사 가능한 총알 수.
- 재장전 동작이 끝나면 최대값으로 갱신된다.
10. 최대 장탄수
- 변수명 : MaxMag
- 데이터 타입 : WORD
- 값의 범위 : 기본값 : 20, 최소값 : 10, 최대값 : 100
- 한번의 장전 동작으로 채울 수 있는 탄창의 최대 크기.
- 재장전 동작이 끝나면 최대값으로 갱신된다.
11. 발사속도
- 변수명 : Shoot_Speed
- 데이터 타입 : DWORD
- 기본값 2,000. 최소 1,000, 최대 5,000
- 총알을 발사 한 후, 다음 총알을 발사할 때까지 걸리는 시간.(값이 클 수록 다음 총알이 빨리 나간다)
- 표시 수치는 ms단위의 정수.
- 공식 = 발사 간격(ms 단위) / 1,000ms 예1> 발사간격 1,000 / 1,000ms = 1초 당 1발. 예2> 발사간격 2,000 / 1,000ms = 1초당 2발.
12. 총알 타입
- 변수명 : Bullet_Type
- 데이터 타입 : WORD(?)
- 총알이 날아가는 방식.
- 1 = 즉시 타격, 2 = 발사체 충돌, 3 = 포물선
13. 총알 속도
- 변수명 : Bullet_Speed
- 데이터 타입 : WORD
- 총알이 1초당 날아가는 거리.
- 1,000 = 1초에 10.0f수준.
- 기본 값 1,500, 최소값 500, 최대값 10,000.
- 단, 총알 타입이 즉시 타격 이외의 경우에만 유효.
14. 위치
- 변수명 : CurPos
- 데이터 타입 : D3DXVECTOR3
- 캐릭터의 현재 위치
15. 방향
- 변수명 : Dir
- 데이터 타입 : D3DXVECTOR3
- 캐릭터가 바라보는 방향
16. 상태
- 변수명 : Status
- 데이터 타입 : enum
- 캐릭터의 현재 상태
-
Stand
제자리에 서 있는 상태
-
Stand_Shoot
제자리에 서 있는 상태 + 총 쏘기
-
Run_Front
앞으로 달리는 상태
-
Run_Front_Shoot
앞으로 달리는 상태 + 총 쏘기
-
Run_Left
앞으로 달리는 상태 + 총 쏘기
-
Run_Left_Shoot
앞으로 달리는 상태 + 총 쏘기
-
Run_Right_Shoot
앞으로 달리는 상태 + 총 쏘기
-
Run_Back
앞으로 달리는 상태 + 총 쏘기
-
Run_Back_Shot
앞으로 달리는 상태 + 총 쏘기
-
Dash
앞으로 질주 상태 (솔져: 76 전용)
-
Hit
- 피격 상태. 큰 공격에 맞아서 일시적으로 공격 및 행동 불가 상태가 된다.
- 사격 불가, 이동 불가
-
Down
- 캐릭터가 넘어지는 동작
- 곧바로 Sleep으로 이어진다.
-
Sleep
- 캐릭터가 다운되어 누워있는 상태
-
Stand_Up
- 캐릭터가 일어서는 동작
- 동작이 진행되는 동안 이동불가, 사격 불가, 피해를 입지 않음.
- 곧바로 Idle로 이어진다.
-
Dead
- 캐릭터가 사망 상태.
- 사망 후 일정 시간이 지나면 부활한다.
-
17. 대상
캐릭터 기능
1. 이동
-
캐릭터 이동은 키보드 WASD로 한다.
-
W = 전진, S = 후진, A = 좌 이동, D = 우 이동
-
캐릭터가 바라보는 방향은 마우스 회전으로 조정할 수 있다.
-
예를 들어, S를 누르면 앞을 바라본 채 후진하지만, 마우스를 왼쪽 또는 오른쪽으로 밀면 그만큼 캐릭터가 바라보는 방향도 따라서 회전한다.
-
앉기 기능을 사용하지 않는다.
-
점프 기능을 사용한다. 기본 키 조작은 Space Bar로 한다.
-
이동 애니메이션은 달리기(4방향)와 질주(전방)만 사용한다
1.1 방향 전환
- 캐릭터의 방향 전환은 마우스의 이동으로 한다.
- 방향의 전환은 현재 바라보는 방향을 기준으로 한다.
- 마우스를 왼쪽 방향으로 이동하면 캐릭터가 왼쪽으로 회전하며, 오른쪽을 이동하면 캐릭터가 오른쪽으로 회전한다.
- 마우스의 상하 움직임에 따른 캐릭터의 회전은 없으다.
1.2 조준점 이동
- 마우스의 움직임에 따라 캐릭터의 조준점이 변경된다.
- 마우스의 상하/좌우 움직임에 맞추어 조준점이 이동된다.
공격
-
기본 공격 키는 마우스 왼쪽 버튼으로 한다.
-
캐릭터에게 할당된 공격 방법에 따라 1회 공격한다.
-
마우스 왼쪽 버튼이 계속 눌려있는 상태라면, 공격 간격(공격 속도)에 따라 연속으로 공격할 수 있다.
이동 중 공격
- 캐릭터가 이동중 공격을 할 때는, 이동 애니메이션을 그대로 유지한다.
제자리 공격
- 제자리 공격 시에는 제자리 공격 애니메이션을 사용한다.
재장전
- 재장전 시 제자리에 멈춰서 재장전 한다.
- 재장전 시간은 캐릭터 스탯에 지정한 값에 따른다. (기본값 = 2초)