테섭(흥미.) 대격변 클래식 공개 테스트 서버에 추가된 하우징 관련 데이터.

장미저택
2025-01-25
조회수 3021




출처와 잡설.



출처:


https://www.wowhead.com/news/additional-player-housing-information-possibly-found-on-cataclysm-classic-ptr-366294


아래 내용은 대격변 클래식 공개 테스트 서버에 데이터가 추가된 것이기 때문에, 잘못된 파일이거나 오래된 파일일 수도 있습니다. 



(흥미.) 대격변 클래식 공개 테스트 서버에 추가된 하우징 관련 데이터.


대격변 클래식 공개 테스트 서버에서 한밤에 추가될 예정인 하우징 시스템과 관련되어 있어 보이는 데이터가 발견되었습니다. 이는 PlayerHousingConstantsDocumentation.lua라는 플레이어 하우징 상수 문서라는 파일입니다. 


이 파일 안에는 다음과 같은 선택지가 있습니다. 


하우징 장식 - 

  • 플래그: 내부, 외부.
  • 모델 유형: 없음, M2, Wmo.
  • 테마: 없음, 민속, 거침, 일반, 금은보화.
  • 유형: 없음, 바닥, 벽, 천장, 탁상.


하우징 외부 -

  • 요소 크기: 아무거나, 소형, 중형, 대형.
  • 요소 테마: 인간.


허가 -

  • 장식 추가, 장식 파라미터 변경, 장식 수정 모드 입장, 장식 이동, 장식 삭제, 집 저장, 장식 선택, 레이아웃 편집.


결과 -

  •  Success, DbError, RpcFailure, GenericFailure, LockOperationFailed, UnlockOperationFailed, LockedByOtherPlayer, DecorNotFound, HouseNotFound, PermissionDenied, NotInDecoreditMode, NotInsideHouse, ServiceNotAvailable, RoomNotFound, RoomUpdateFailed, NotInLayoutEditMode, PlotNotFound, MaxDecorReached.


하우징 방 요소 - 

  • 문 유형: 없음, 좁은 문, 큰 문.
  • 선택 유형: 장식, 출입구 벽, 출입구.
  • 유형: 없음, 벽, 바닥, 천장, 계단, 기둥.


하우징 방 플래그 -

  • 없음, 기본 방.


이를 종합해보면 다음과 같은 결론을 낼 수 있습니다. 


  • 하우징은 생각보다 매우 세세한 커스터마이징이 가능해 보입니다.
  • 플레이어들은 집의 장식을 추가, 삭제 또는 옮기거나 수정할 수 있습니다.
  • 플레이어들은 장식을 건물 내부나 외부에 설치할지, 어떤 곳(바닥, 벽, 천장 등)에 설치할지를 설정할 수 있고, 크기도 설정할 수 있습니다.
  • 문과 계단 뿐만 아니라 기둥도 선택할 수 있습니다. 
  • 땅 없음, 방 없음, 집 없음 관련 오류 메세지 및 다른 플레이어가 아이템을 사용 중이라는 등의 오류 메세지가 있습니다. 



전체 코트.


전체 코드는 다음과 같습니다. 


local PlayerHousingConstants =

{

    Tables =

    {

        {

            Name = "HousingDecorFlags",

            Type = "Enumeration",

            NumValues = 2,

            MinValue = 1,

            MaxValue = 2,

            Fields =

            {

                { Name = "Exterior", Type = "HousingDecorFlags", EnumValue = 1 },

                { Name = "Interior", Type = "HousingDecorFlags", EnumValue = 2 },

            },

        },

        {

            Name = "HousingDecorModelType",

            Type = "Enumeration",

            NumValues = 3,

            MinValue = 0,

            MaxValue = 2,

            Fields =

            {

                { Name = "None", Type = "HousingDecorModelType", EnumValue = 0 },

                { Name = "M2", Type = "HousingDecorModelType", EnumValue = 1 },

                { Name = "Wmo", Type = "HousingDecorModelType", EnumValue = 2 },

            },

        },

        {

            Name = "HousingDecorTheme",

            Type = "Enumeration",

            NumValues = 5,

            MinValue = 0,

            MaxValue = 4,

            Fields =

            {

                { Name = "None", Type = "HousingDecorTheme", EnumValue = 0 },

                { Name = "Folk", Type = "HousingDecorTheme", EnumValue = 1 },

                { Name = "Rugged", Type = "HousingDecorTheme", EnumValue = 2 },

                { Name = "Generic", Type = "HousingDecorTheme", EnumValue = 3 },

                { Name = "Opulent", Type = "HousingDecorTheme", EnumValue = 4 },

            },

        },

        {

            Name = "HousingDecorType",

            Type = "Enumeration",

            NumValues = 5,

            MinValue = 0,

            MaxValue = 4,

            Fields =

            {

                { Name = "None", Type = "HousingDecorType", EnumValue = 0 },

                { Name = "Floor", Type = "HousingDecorType", EnumValue = 1 },

                { Name = "Wall", Type = "HousingDecorType", EnumValue = 2 },

                { Name = "Ceiling", Type = "HousingDecorType", EnumValue = 3 },

                { Name = "Tabletop", Type = "HousingDecorType", EnumValue = 4 },

            },

        },

        {

            Name = "HousingExteriorComponentSize",

            Type = "Enumeration",

            NumValues = 4,

            MinValue = 1,

            MaxValue = 4,

            Fields =

            {

                { Name = "Any", Type = "HousingExteriorComponentSize", EnumValue = 1 },

                { Name = "Small", Type = "HousingExteriorComponentSize", EnumValue = 2 },

                { Name = "Medium", Type = "HousingExteriorComponentSize", EnumValue = 3 },

                { Name = "Large", Type = "HousingExteriorComponentSize", EnumValue = 4 },

            },

        },

        {

            Name = "HousingExteriorComponentTheme",

            Type = "Enumeration",

            NumValues = 1,

            MinValue = 1,

            MaxValue = 1,

            Fields =

            {

                { Name = "Human", Type = "HousingExteriorComponentTheme", EnumValue = 1 },

            },

        },

        {

            Name = "HousingPermission",

            Type = "Enumeration",

            NumValues = 8,

            MinValue = 1,

            MaxValue = 128,

            Fields =

            {

                { Name = "AddDecor", Type = "HousingPermission", EnumValue = 1 },

                { Name = "ChangeDecorParam", Type = "HousingPermission", EnumValue = 2 },

                { Name = "EnterDecorEditMode", Type = "HousingPermission", EnumValue = 4 },

                { Name = "MoveDecor", Type = "HousingPermission", EnumValue = 8 },

                { Name = "RemoveDecor", Type = "HousingPermission", EnumValue = 16 },

                { Name = "SaveHouse", Type = "HousingPermission", EnumValue = 32 },

                { Name = "SelectDecor", Type = "HousingPermission", EnumValue = 64 },

                { Name = "EditLayout", Type = "HousingPermission", EnumValue = 128 },

            },

        },

        {

            Name = "HousingResult",

            Type = "Enumeration",

            NumValues = 18,

            MinValue = 0,

            MaxValue = 17,

            Fields =

            {

                { Name = "Success", Type = "HousingResult", EnumValue = 0 },

                { Name = "DbError", Type = "HousingResult", EnumValue = 1 },

                { Name = "RpcFailure", Type = "HousingResult", EnumValue = 2 },

                { Name = "GenericFailure", Type = "HousingResult", EnumValue = 3 },

                { Name = "LockOperationFailed", Type = "HousingResult", EnumValue = 4 },

                { Name = "UnlockOperationFailed", Type = "HousingResult", EnumValue = 5 },

                { Name = "LockedByOtherPlayer", Type = "HousingResult", EnumValue = 6 },

                { Name = "DecorNotFound", Type = "HousingResult", EnumValue = 7 },

                { Name = "HouseNotFound", Type = "HousingResult", EnumValue = 8 },

                { Name = "PermissionDenied", Type = "HousingResult", EnumValue = 9 },

                { Name = "NotInDecorEditMode", Type = "HousingResult", EnumValue = 10 },

                { Name = "NotInsideHouse", Type = "HousingResult", EnumValue = 11 },

                { Name = "ServiceNotAvailable", Type = "HousingResult", EnumValue = 12 },

                { Name = "RoomNotFound", Type = "HousingResult", EnumValue = 13 },

                { Name = "RoomUpdateFailed", Type = "HousingResult", EnumValue = 14 },

                { Name = "NotInLayoutEditMode", Type = "HousingResult", EnumValue = 15 },

                { Name = "PlotNotFound", Type = "HousingResult", EnumValue = 16 },

                { Name = "MaxDecorReached", Type = "HousingResult", EnumValue = 17 },

            },

        },

        {

            Name = "HousingRoomComponentDoorType",

            Type = "Enumeration",

            NumValues = 3,

            MinValue = 0,

            MaxValue = 2,

            Fields =

            {

                { Name = "None", Type = "HousingRoomComponentDoorType", EnumValue = 0 },

                { Name = "NarrowDoor", Type = "HousingRoomComponentDoorType", EnumValue = 1 },

                { Name = "LargeDoor", Type = "HousingRoomComponentDoorType", EnumValue = 2 },

            },

        },

        {

            Name = "HousingRoomComponentOptionType",

            Type = "Enumeration",

            NumValues = 3,

            MinValue = 0,

            MaxValue = 2,

            Fields =

            {

                { Name = "Cosmetic", Type = "HousingRoomComponentOptionType", EnumValue = 0 },

                { Name = "DoorwayWall", Type = "HousingRoomComponentOptionType", EnumValue = 1 },

                { Name = "Doorway", Type = "HousingRoomComponentOptionType", EnumValue = 2 },

            },

        },

        {

            Name = "HousingRoomComponentType",

            Type = "Enumeration",

            NumValues = 6,

            MinValue = 0,

            MaxValue = 5,

            Fields =

            {

                { Name = "None", Type = "HousingRoomComponentType", EnumValue = 0 },

                { Name = "Wall", Type = "HousingRoomComponentType", EnumValue = 1 },

                { Name = "Floor", Type = "HousingRoomComponentType", EnumValue = 2 },

                { Name = "Ceiling", Type = "HousingRoomComponentType", EnumValue = 3 },

                { Name = "Stairs", Type = "HousingRoomComponentType", EnumValue = 4 },

                { Name = "Pillar", Type = "HousingRoomComponentType", EnumValue = 5 },

            },

        },

        {

            Name = "HousingRoomFlags",

            Type = "Enumeration",

            NumValues = 2,

            MinValue = 0,

            MaxValue = 1,

            Fields =

            {

                { Name = "None", Type = "HousingRoomFlags", EnumValue = 0 },

                { Name = "BaseRoom", Type = "HousingRoomFlags", EnumValue = 1 },

            },

        },

    },

};


APIDocumentation:AddDocumentationTable(PlayerHousingConstants);


2 0