From c05daebdebcc8e2aa0279e7d96d4bca67d76d94e Mon Sep 17 00:00:00 2001 From: Ino Date: Wed, 18 Dec 2024 12:48:42 +0900 Subject: [PATCH] =?UTF-8?q?=ED=85=8C=EC=9D=B4=EB=B8=94=20=EC=95=88?= =?UTF-8?q?=ED=8B=B0=20=EB=A9=94=EB=AA=A8=EB=A6=AC=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Ino_nerdnavis.txt | 53 ++++++++++++++++ Assets/Ino_nerdnavis.txt.meta | 7 +++ .../Table/Collection/table_collectionlist.cs | 60 +++++++++++++++---- .../Script/Table/Collection/table_essence.cs | 56 ++++++++++++++--- .../Table/Collection/table_reliclist.cs | 32 ++++++++-- .../Collection/table_relicupgradecost.cs | 47 +++++++++++++-- Assets/Script/Table/Common/table_randombag.cs | 40 +++++++++++-- 7 files changed, 263 insertions(+), 32 deletions(-) create mode 100644 Assets/Ino_nerdnavis.txt create mode 100644 Assets/Ino_nerdnavis.txt.meta diff --git a/Assets/Ino_nerdnavis.txt b/Assets/Ino_nerdnavis.txt new file mode 100644 index 000000000..be8ef7b4f --- /dev/null +++ b/Assets/Ino_nerdnavis.txt @@ -0,0 +1,53 @@ +서버 필요 기능 + - 유저 데이터 저장 + - 앱 버전 체크 + - 라이브, 데브 서버 등 여러 개의 서버 + - 우편, 핫타임, 채팅, 랭킹, 쿠폰, ... + - 영수증 검증, 푸시알림 + +어드레서블 적용 + - textmesh 핑크 + +노티(알림) + +맵 생성 후 대략적으로 플레이 가능한 버전 + - 챕터 보스 (처치 시 리젠? 있다면 시간은?) + - 필드 보스 (리젠 시간은?) + - 포탈 + - 부활의 성소 + +캐틱터 전투 시스템 (애니메이션 이벤트) + //- 해당 테스트 씬 + //- 공격 모션 중 고정 이동값 + //- 공격 모션 중 이동 금지 + - 투사체 (투사체 정보 필요) + //- 인디케이터 재생 + //- 무적 프레임 (회피에서 사용할 듯?) + //- 공격 모션 중 특정 프레임에 이동하면 이동 방향으로 회피 발동 + //- 회피 모션 추가 + //- 툴에 시작 프레임 ~ 끝 프레임까지 프레임 마다 이동값 자동 적용 + +챕터 - 난이도 + - 클리어 처리 + +패시브 스킬 + +맵 오브젝트 컨피그 + +서버 데이터 + +스킬 레벨0인데 착용됨 (테스트 후 수정) +classconfig 에 의해 정해짐 + - 기본 공속 + - 기본 이속 + - PC 장비 (현재 2종만 적용) + +코스튬 + - 코스튬 나오고 난 뒤 세팅 + + +장비 스탯 추가 구현 + - 일꾼 이속, RND_SKILL + +테이블 int -> obsint (obsint _ID, obsint ID { get; set;}) + diff --git a/Assets/Ino_nerdnavis.txt.meta b/Assets/Ino_nerdnavis.txt.meta new file mode 100644 index 000000000..d44609810 --- /dev/null +++ b/Assets/Ino_nerdnavis.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: af44f2d5d93e5b84f9715900bdc5cbd3 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/Table/Collection/table_collectionlist.cs b/Assets/Script/Table/Collection/table_collectionlist.cs index 34d63927e..8f7d6798b 100644 --- a/Assets/Script/Table/Collection/table_collectionlist.cs +++ b/Assets/Script/Table/Collection/table_collectionlist.cs @@ -1,3 +1,4 @@ +using CodeStage.AntiCheat.ObscuredTypes; using Newtonsoft.Json; using System; using System.Collections.Generic; @@ -8,16 +9,55 @@ public enum eCollectionReward { STATS, GOODS, } [Serializable] public class CollectionListTableData : TableDataBase { - public int e_MenuCategory; // UI 분류 기준 - public eTargetCondition e_TargetCondition; // 목표 달성 조건 - public int n_TargetValue; // 목표 대상의 고유 ID - public int n_ConditionCount; // 목표 달성 횟수 (기본 값) - public eCollectionReward e_FirstRewardType; // 최초 지급 보상 종류 - public eAwakenUpgradeOptionType n_FirstRewardValue; // 최초 지급 보상 값 - public int n_FirstRewardCount; // 최초 지급 보상 수량 - public eCollectionReward e_RepeatRewardType; // 반복 보상 종류 - public string n_RepeatRewardValue; // 반복 보상 값 - public int n_RepeatRewardCount; // 반복 보상 수량 + ObscuredInt _MenuCategory; + public int e_MenuCategory + { + get { return _MenuCategory; } + set { _MenuCategory = value; _MenuCategory.RandomizeCryptoKey(); } + } // UI 분류 기준 + + public eTargetCondition e_TargetCondition { get; set; } // 목표 달성 조건 (enum 값) + + ObscuredInt _TargetValue; + public int n_TargetValue + { + get { return _TargetValue; } + set { _TargetValue = value; _TargetValue.RandomizeCryptoKey(); } + } // 목표 대상의 고유 ID + + ObscuredInt _ConditionCount; + public int n_ConditionCount + { + get { return _ConditionCount; } + set { _ConditionCount = value; _ConditionCount.RandomizeCryptoKey(); } + } // 목표 달성 횟수 (기본 값) + + public eCollectionReward e_FirstRewardType { get; set; } // 최초 지급 보상 종류 (enum 값) + + public eAwakenUpgradeOptionType n_FirstRewardValue { get; set; } // 최초 지급 보상 값 (enum 값) + + ObscuredInt _FirstRewardCount; + public int n_FirstRewardCount + { + get { return _FirstRewardCount; } + set { _FirstRewardCount = value; _FirstRewardCount.RandomizeCryptoKey(); } + } // 최초 지급 보상 수량 + + public eCollectionReward e_RepeatRewardType { get; set; } // 반복 보상 종류 (enum 값) + + ObscuredString _RepeatRewardValue; + public string n_RepeatRewardValue + { + get { return _RepeatRewardValue; } + set { _RepeatRewardValue = value; _RepeatRewardValue.RandomizeCryptoKey(); } + } // 반복 보상 값 + + ObscuredInt _RepeatRewardCount; + public int n_RepeatRewardCount + { + get { return _RepeatRewardCount; } + set { _RepeatRewardCount = value; _RepeatRewardCount.RandomizeCryptoKey(); } + } // 반복 보상 수량 public eStat Get_FirstStat() { diff --git a/Assets/Script/Table/Collection/table_essence.cs b/Assets/Script/Table/Collection/table_essence.cs index eb90a3c91..7e2f9ccf9 100644 --- a/Assets/Script/Table/Collection/table_essence.cs +++ b/Assets/Script/Table/Collection/table_essence.cs @@ -1,3 +1,4 @@ +using CodeStage.AntiCheat.ObscuredTypes; using Newtonsoft.Json; using System; using System.Collections.Generic; @@ -7,13 +8,54 @@ using UnityEngine; [Serializable] public class EssenceTableData : TableDataBase { - public int n_EssenceID; - public float f_Rate1; - public float f_Rate2; - public float f_Rate3; - public float f_Rate4; - public float f_Rate5; - public float f_Rate6; + ObscuredInt _EssenceID; + public int n_EssenceID + { + get { return _EssenceID; } + set { _EssenceID = value; _EssenceID.RandomizeCryptoKey(); } + } // 본질 ID + + ObscuredFloat _Rate1; + public float f_Rate1 + { + get { return _Rate1; } + set { _Rate1 = value; _Rate1.RandomizeCryptoKey(); } + } // 비율 1 + + ObscuredFloat _Rate2; + public float f_Rate2 + { + get { return _Rate2; } + set { _Rate2 = value; _Rate2.RandomizeCryptoKey(); } + } // 비율 2 + + ObscuredFloat _Rate3; + public float f_Rate3 + { + get { return _Rate3; } + set { _Rate3 = value; _Rate3.RandomizeCryptoKey(); } + } // 비율 3 + + ObscuredFloat _Rate4; + public float f_Rate4 + { + get { return _Rate4; } + set { _Rate4 = value; _Rate4.RandomizeCryptoKey(); } + } // 비율 4 + + ObscuredFloat _Rate5; + public float f_Rate5 + { + get { return _Rate5; } + set { _Rate5 = value; _Rate5.RandomizeCryptoKey(); } + } // 비율 5 + + ObscuredFloat _Rate6; + public float f_Rate6 + { + get { return _Rate6; } + set { _Rate6 = value; _Rate6.RandomizeCryptoKey(); } + } // 비율 6 public List list_rate = new List(); diff --git a/Assets/Script/Table/Collection/table_reliclist.cs b/Assets/Script/Table/Collection/table_reliclist.cs index 832759208..2c80f8f7c 100644 --- a/Assets/Script/Table/Collection/table_reliclist.cs +++ b/Assets/Script/Table/Collection/table_reliclist.cs @@ -1,3 +1,4 @@ +using CodeStage.AntiCheat.ObscuredTypes; using Newtonsoft.Json; using System; using System.Collections.Generic; @@ -5,10 +6,33 @@ using System.Collections.Generic; [Serializable] public class RelicListTableData : TableDataBase { - public int n_RelicID; - public int n_FirstOpenCost; - public int n_DefaultOptionID; - public int n_StarOptionID; + ObscuredInt _RelicID; + public int n_RelicID + { + get { return _RelicID; } + set { _RelicID = value; _RelicID.RandomizeCryptoKey(); } + } // ID + + ObscuredInt _FirstOpenCost; + public int n_FirstOpenCost + { + get { return _FirstOpenCost; } + set { _FirstOpenCost = value; _FirstOpenCost.RandomizeCryptoKey(); } + } // ر + + ObscuredInt _DefaultOptionID; + public int n_DefaultOptionID + { + get { return _DefaultOptionID; } + set { _DefaultOptionID = value; _DefaultOptionID.RandomizeCryptoKey(); } + } // ⺻ ɼ ID + + ObscuredInt _StarOptionID; + public int n_StarOptionID + { + get { return _StarOptionID; } + set { _StarOptionID = value; _StarOptionID.RandomizeCryptoKey(); } + } // ɼ ID public override string Get_Name() { return table_itemlist.Ins.Get_Data(n_RelicID).Get_Name(); } public string Get_Desc() { return table_itemlist.Ins.Get_Data(n_RelicID).Get_Desc(); } diff --git a/Assets/Script/Table/Collection/table_relicupgradecost.cs b/Assets/Script/Table/Collection/table_relicupgradecost.cs index d23a40952..16bff677f 100644 --- a/Assets/Script/Table/Collection/table_relicupgradecost.cs +++ b/Assets/Script/Table/Collection/table_relicupgradecost.cs @@ -6,12 +6,47 @@ using System.Collections.Generic; [Serializable] public class RelicUpgradeCostTableData : TableDataBase { - public int n_RelicLv; - public int n_RequirePiece; - public int n_RequireGrade1; - public int n_RequireGrade2; - public int n_RequireGrade3; - public int n_RequireGrade4; + ObscuredInt _RelicLv; + public int n_RelicLv + { + get { return _RelicLv; } + set { _RelicLv = value; _RelicLv.RandomizeCryptoKey(); } + } // + + ObscuredInt _RequirePiece; + public int n_RequirePiece + { + get { return _RequirePiece; } + set { _RequirePiece = value; _RequirePiece.RandomizeCryptoKey(); } + } // 䱸 + + ObscuredInt _RequireGrade1; + public int n_RequireGrade1 + { + get { return _RequireGrade1; } + set { _RequireGrade1 = value; _RequireGrade1.RandomizeCryptoKey(); } + } // 䱸 1 + + ObscuredInt _RequireGrade2; + public int n_RequireGrade2 + { + get { return _RequireGrade2; } + set { _RequireGrade2 = value; _RequireGrade2.RandomizeCryptoKey(); } + } // 䱸 2 + + ObscuredInt _RequireGrade3; + public int n_RequireGrade3 + { + get { return _RequireGrade3; } + set { _RequireGrade3 = value; _RequireGrade3.RandomizeCryptoKey(); } + } // 䱸 3 + + ObscuredInt _RequireGrade4; + public int n_RequireGrade4 + { + get { return _RequireGrade4; } + set { _RequireGrade4 = value; _RequireGrade4.RandomizeCryptoKey(); } + } // 䱸 4 public Dictionary dic_cost = new Dictionary(); } diff --git a/Assets/Script/Table/Common/table_randombag.cs b/Assets/Script/Table/Common/table_randombag.cs index 370144449..1fa5c40b6 100644 --- a/Assets/Script/Table/Common/table_randombag.cs +++ b/Assets/Script/Table/Common/table_randombag.cs @@ -1,3 +1,4 @@ +using CodeStage.AntiCheat.ObscuredTypes; using Newtonsoft.Json; using System; using System.Collections.Generic; @@ -5,11 +6,40 @@ using System.Collections.Generic; [Serializable] public class RandomBagTableData : TableDataBase { - public int n_DropIndex; // 랜덤백 고유 ID - public int n_ItemGrade; // 아이템 등급 - public int n_ItemId; // 드랍 타입 별 ID - public float f_DropRate; // 드랍 확률 - public int n_DropCount; // 드랍 수량 + ObscuredInt _DropIndex; + public int n_DropIndex + { + get { return _DropIndex; } + set { _DropIndex = value; _DropIndex.RandomizeCryptoKey(); } + } // 랜덤백 고유 ID + + ObscuredInt _ItemGrade; + public int n_ItemGrade + { + get { return _ItemGrade; } + set { _ItemGrade = value; _ItemGrade.RandomizeCryptoKey(); } + } // 아이템 등급 + + ObscuredInt _ItemId; + public int n_ItemId + { + get { return _ItemId; } + set { _ItemId = value; _ItemId.RandomizeCryptoKey(); } + } // 드랍 타입 별 ID + + ObscuredFloat _DropRate; + public float f_DropRate + { + get { return _DropRate; } + set { _DropRate = value; _DropRate.RandomizeCryptoKey(); } + } // 드랍 확률 + + ObscuredInt _DropCount; + public int n_DropCount + { + get { return _DropCount; } + set { _DropCount = value; _DropCount.RandomizeCryptoKey(); } + } // 드랍 수량 } public class table_randombag : table_missionbase