From 94187967cbc10f74fc15a501ad65b60d5efac0ce Mon Sep 17 00:00:00 2001 From: wserver/wangdisen <1065498738@qq.com> Date: Thu, 18 Aug 2022 10:07:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=A7=8D=E6=A4=8D=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Config/LaborConfigCategory.bytes | 110 +++++++++ Config/LifeExpConfigCategory.bytes | 125 +++++++++++ Config/PhysiqueConfigCategory.bytes | 19 ++ Config/SeasonConfigCategory.bytes | Bin 115 -> 485 bytes Config/StartSceneConfigCategory.bytes | 4 +- Config/WeatherConfigCategory.bytes | Bin 0 -> 422 bytes Excel/Json/c/AaPhysiqueConfig.txt | 17 ++ Excel/Json/c/LaborConfig.txt | 210 +++++++++--------- Excel/Json/c/LifeExpConfig.txt | 122 ++++++++++ Excel/Json/c/PhysiqueConfig.txt | 17 ++ Excel/Json/c/SeasonConfig.txt | 18 +- Excel/Json/c/WeatherConfig.txt | 13 ++ Excel/Json/s/LaborConfig.txt | 102 +++++++++ Excel/Json/s/LifeExpConfig.txt | 122 ++++++++++ Excel/Json/s/PhysiqueConfig.txt | 17 ++ Excel/Json/s/SeasonConfig.txt | 18 +- Excel/Json/s/WeatherConfig.txt | 13 ++ Excel/LaborConfig.xlsx | Bin 0 -> 14701 bytes Excel/LifeExpConfig.xlsx | Bin 0 -> 12921 bytes Excel/PhysiqueConfig.xlsx | Bin 0 -> 12672 bytes Excel/SeasonConfig.xlsx | Bin 11657 -> 14468 bytes Excel/WeatherConfig.xlsx | Bin 0 -> 11837 bytes Proto/OuterMessage.proto | 33 ++- .../Handler/C2M_GoFarmlandHarvestHandler.cs | 44 ++++ .../Handler/C2M_GoFarmlandPlantHandler.cs | 45 ++++ Server/Model/Generate/Config/LaborConfig.cs | 97 ++++++++ Server/Model/Generate/Config/LifeExpConfig.cs | 94 ++++++++ .../Model/Generate/Config/PhysiqueConfig.cs | 115 ++++++++++ Server/Model/Generate/Config/SeasonConfig.cs | 21 +- Server/Model/Generate/Config/WeatherConfig.cs | 121 ++++++++++ Server/Model/Generate/ConfigEnum.cs | 35 +++ Server/Model/Generate/Message/OuterMessage.cs | 67 +++++- Server/Model/Generate/Message/OuterOpcode.cs | 4 + Tools/App/Apps/ExcelExporter/ExcelExporter.cs | 2 +- .../Bundles/Config/LaborConfigCategory.bytes | 110 +++++++++ .../Config/LaborConfigCategory.bytes.meta | 7 + .../Config/LifeExpConfigCategory.bytes | 125 +++++++++++ .../Config/LifeExpConfigCategory.bytes.meta | 7 + .../Config/PhysiqueConfigCategory.bytes | 19 ++ .../Config/PhysiqueConfigCategory.bytes.meta | 7 + .../Bundles/Config/SeasonConfigCategory.bytes | Bin 115 -> 485 bytes .../Config/WeatherConfigCategory.bytes | Bin 0 -> 422 bytes .../Config/WeatherConfigCategory.bytes.meta | 7 + .../Hotfix/Demo/Farmland/FarmlandSystem.cs | 9 +- .../Hotfix/Demo/Helper/FarmlandHelper.cs | 26 ++- .../Hotfix/Demo/Operate/FarmlandOperate.cs | 30 ++- .../Codes/Hotfix/Demo/People/PeopleSystem.cs | 209 ++++++++++++++--- Unity/Codes/Hotfix/Demo/Unit/UnitSystem.cs | 8 +- Unity/Codes/Model/Demo/ConstValue.cs | 12 +- Unity/Codes/Model/Demo/Farmland/Farmland.cs | 1 + Unity/Codes/Model/Demo/People/People.cs | 4 +- Unity/Codes/Model/Demo/Unit/Unit.cs | 1 + .../Model/Generate/Config/LaborConfig.cs | 97 ++++++++ .../Model/Generate/Config/LifeExpConfig.cs | 94 ++++++++ .../Model/Generate/Config/PhysiqueConfig.cs | 115 ++++++++++ .../Model/Generate/Config/SeasonConfig.cs | 21 +- .../Model/Generate/Config/WeatherConfig.cs | 121 ++++++++++ Unity/Codes/Model/Generate/ConfigEnum.cs | 35 +++ .../Model/Generate/Message/OuterMessage.cs | 67 +++++- .../Model/Generate/Message/OuterOpcode.cs | 4 + 60 files changed, 2547 insertions(+), 194 deletions(-) create mode 100644 Config/LaborConfigCategory.bytes create mode 100644 Config/LifeExpConfigCategory.bytes create mode 100644 Config/PhysiqueConfigCategory.bytes create mode 100644 Config/WeatherConfigCategory.bytes create mode 100644 Excel/Json/c/AaPhysiqueConfig.txt create mode 100644 Excel/Json/c/LifeExpConfig.txt create mode 100644 Excel/Json/c/PhysiqueConfig.txt create mode 100644 Excel/Json/c/WeatherConfig.txt create mode 100644 Excel/Json/s/LaborConfig.txt create mode 100644 Excel/Json/s/LifeExpConfig.txt create mode 100644 Excel/Json/s/PhysiqueConfig.txt create mode 100644 Excel/Json/s/WeatherConfig.txt create mode 100644 Excel/LaborConfig.xlsx create mode 100644 Excel/LifeExpConfig.xlsx create mode 100644 Excel/PhysiqueConfig.xlsx create mode 100644 Excel/WeatherConfig.xlsx create mode 100644 Server/Hotfix/Demo/Farmland/Handler/C2M_GoFarmlandHarvestHandler.cs create mode 100644 Server/Hotfix/Demo/Farmland/Handler/C2M_GoFarmlandPlantHandler.cs create mode 100644 Server/Model/Generate/Config/LaborConfig.cs create mode 100644 Server/Model/Generate/Config/LifeExpConfig.cs create mode 100644 Server/Model/Generate/Config/PhysiqueConfig.cs create mode 100644 Server/Model/Generate/Config/WeatherConfig.cs create mode 100644 Unity/Assets/Bundles/Config/LaborConfigCategory.bytes create mode 100644 Unity/Assets/Bundles/Config/LaborConfigCategory.bytes.meta create mode 100644 Unity/Assets/Bundles/Config/LifeExpConfigCategory.bytes create mode 100644 Unity/Assets/Bundles/Config/LifeExpConfigCategory.bytes.meta create mode 100644 Unity/Assets/Bundles/Config/PhysiqueConfigCategory.bytes create mode 100644 Unity/Assets/Bundles/Config/PhysiqueConfigCategory.bytes.meta create mode 100644 Unity/Assets/Bundles/Config/WeatherConfigCategory.bytes create mode 100644 Unity/Assets/Bundles/Config/WeatherConfigCategory.bytes.meta create mode 100644 Unity/Codes/Model/Generate/Config/LaborConfig.cs create mode 100644 Unity/Codes/Model/Generate/Config/LifeExpConfig.cs create mode 100644 Unity/Codes/Model/Generate/Config/PhysiqueConfig.cs create mode 100644 Unity/Codes/Model/Generate/Config/WeatherConfig.cs diff --git a/Config/LaborConfigCategory.bytes b/Config/LaborConfigCategory.bytes new file mode 100644 index 0000000..1b61458 --- /dev/null +++ b/Config/LaborConfigCategory.bytes @@ -0,0 +1,110 @@ + +P  +   +   +   +   +   +  +  + +    +  + + +    +     +     +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +  + +  + ! +    + " + !! + # + "" + $ + ## + % + $$ & + %% ' + && ( + '' ) + (( * + )) + + ** , + ++ - + ,, . + -- / + .. 0 + // 1 + 00 2 + 11 3 + 22 4 + 33 5 + 44 6 + 55 7 + 66 8 + 77 9 + 88 : + 99 ; + :: < + ;; = + << > + == ? + >> @ + ?? A + @@ B + AA C + BB D + CC E + DD F + EE G + FF H + GG I + HH J + II K + JJ L + KK M + LL N + MM O + NN P + OO Q + PP R + QQ S + RR T + SS U + TT V + UU W + VV X + WW Y + XX Z + YY [ + ZZ \ + [[ ] + \\ ^ + ]] _ + ^^ ` + __ a + `` b + aa c + bb d + cc e + dd f \ No newline at end of file diff --git a/Config/LifeExpConfigCategory.bytes b/Config/LifeExpConfigCategory.bytes new file mode 100644 index 0000000..420cf81 --- /dev/null +++ b/Config/LifeExpConfigCategory.bytes @@ -0,0 +1,125 @@ + +d + + + + + + + +   + + + +   +   +   + + + + + + + + + + + + + + + + + + + + +   +!! +"" +## +$$ +%% +&& +'' +(( +)) +** +++! +,," +--# +..# +//$ +00% +11& +22' +33' +44( +55) +66* +77* +88+ +99, +::- +;;. +<<. +==/ +>>0 +??1 +@@2 +AA2 +BB3 +CC4 +DD5 +EE5 +FF6 +GG7 +HH8 +II9 +JJ9 +KK: +LL; +MM< +NN< +OO= +PP> +QQ? +RR@ +SS@ +TTA +UUB +VVC +WWC +XXD +YYE +ZZF +[[G +\\G +]]H +^^I +__J +``K +aaK +bbL +ccM +ddN +eeN +ffO +ggP +hhQ +iiR +jjR +kkS +llT +mmU +nnU +ooV +ppW +qqX +rrY +ssY +ttZ +uu[ +vv\ +ww\ +xx] \ No newline at end of file diff --git a/Config/PhysiqueConfigCategory.bytes b/Config/PhysiqueConfigCategory.bytes new file mode 100644 index 0000000..d0a24b6 --- /dev/null +++ b/Config/PhysiqueConfigCategory.bytes @@ -0,0 +1,19 @@ + +< (028 @.H0P + (028 @4H.P + (028 @:H,P + (30<8@@H*P +: (30<8@FH(P +e (30<8@LH&P + (=0K8@RH$P + (=0K8@XH"P +   (=0K8@^H P + + + (L0Y8@dHP +   (L0Y8@jHP +   (L0Y8@pHP +   (Z0x8@vHP + + (Z0x8@|HP! + (Z0x8@HP# \ No newline at end of file diff --git a/Config/SeasonConfigCategory.bytes b/Config/SeasonConfigCategory.bytes index cf65c186913a40f9334a47ae3439ff66547939b2..5c1f1001d8edcee5b1dd509d3baabaf58b95fde5 100644 GIT binary patch literal 485 zcmajbEe--P5Qbse>Fy5YM{HKC0usa`D@Rr%ITRs5kf1mK1j7+foPrAg2FU^F>}CoG zAhmD4c~Uz>mBV$jE7eF%(5;O-^+=KS)~ji2*0Mv?66hFcO1+K&0dC6+ z@D`XHZu?~kb#OLr(XUUu7Lu?qKa{2pj)}YXNmCXVDon)y(GZZ7QO6H_5wJ;(tuPY{ zhm8fuP)f;1I7So`htWhftQB#sEiR54m!ft!i^0aP`J)Q0_{<+)M|>Rq@^!_>;WuAT Jd>noCJpnvETIm1) literal 115 zcmd-Qb5mt;XSMxZ@|I;bd4Ba diff --git a/Config/StartSceneConfigCategory.bytes b/Config/StartSceneConfigCategory.bytes index 039b5e4..ab81ae0 100644 --- a/Config/StartSceneConfigCategory.bytes +++ b/Config/StartSceneConfigCategory.bytes @@ -3,8 +3,8 @@ "Gate*Gate10N "Gate*Gate20N "Location*Location -"Map*Game_1 -"Map*Game_2 +"Map*Game_1 +"Map*Game_2 "Account*Account0N " LoginCenter* LoginCenter  " UnitCache* UnitCache diff --git a/Config/WeatherConfigCategory.bytes b/Config/WeatherConfigCategory.bytes new file mode 100644 index 0000000000000000000000000000000000000000..a92554065467ad1142324cd31bb0c00ed16a4a6f GIT binary patch literal 422 zcmZXQF-ycS7>1kVQezwrN)IxXJ8;Mt)FI=|PMICWKXM?74%SmRq^$^gpq_#qJkAq; zfWN}6f$UCBeyv4HZ_bnVeZH3u7z+GidhhPe#3zziQ_Y8XNOnELO?S`R_xONeK=Rn7 z58?+&q>v7ER6|~kkifUeYl%E#Nfg#xhb^QN_%2D$|j>wbdi2@E69hSrz`vRD9#B0Tl%179I>^4xO4{ZRne*ot957Mn@Fzcipw@z2bY%%J0F!T zodysZ2}cJmiEZ|7ug5kYyW6QfoxoBYK4rPfj{7h}qn}1@^;Dq literal 0 HcmV?d00001 diff --git a/Excel/Json/c/AaPhysiqueConfig.txt b/Excel/Json/c/AaPhysiqueConfig.txt new file mode 100644 index 0000000..c4f2a85 --- /dev/null +++ b/Excel/Json/c/AaPhysiqueConfig.txt @@ -0,0 +1,17 @@ +{"list":[ +{"_t":"AaPhysiqueConfig","_id":1,"Lv":1,"Exp":60,"Section":1,"LifeMin":30,"LifeMax":50,"LaborExpCoefficient":11,"DiseaseRecovery":46,"DiseaseWorsen":48,"DiseaseRelief":7,"LaborExpCoefficient":1.1,"DiseaseWorsen":4.8}, +{"_t":"AaPhysiqueConfig","_id":2,"Lv":2,"Exp":480,"Section":1,"LifeMin":30,"LifeMax":50,"LaborExpCoefficient":12,"DiseaseRecovery":52,"DiseaseWorsen":46,"DiseaseRelief":9,"LaborExpCoefficient":1.2,"DiseaseWorsen":4.6}, +{"_t":"AaPhysiqueConfig","_id":3,"Lv":3,"Exp":1620,"Section":1,"LifeMin":30,"LifeMax":50,"LaborExpCoefficient":13,"DiseaseRecovery":58,"DiseaseWorsen":44,"DiseaseRelief":11,"LaborExpCoefficient":1.3,"DiseaseWorsen":4.4}, +{"_t":"AaPhysiqueConfig","_id":4,"Lv":4,"Exp":3840,"Section":2,"LifeMin":51,"LifeMax":60,"LaborExpCoefficient":14,"DiseaseRecovery":64,"DiseaseWorsen":42,"DiseaseRelief":13,"LaborExpCoefficient":1.4,"DiseaseWorsen":4.2}, +{"_t":"AaPhysiqueConfig","_id":5,"Lv":5,"Exp":7500,"Section":2,"LifeMin":51,"LifeMax":60,"LaborExpCoefficient":15,"DiseaseRecovery":70,"DiseaseWorsen":40,"DiseaseRelief":15,"LaborExpCoefficient":1.5,"DiseaseWorsen":4}, +{"_t":"AaPhysiqueConfig","_id":6,"Lv":6,"Exp":12960,"Section":2,"LifeMin":51,"LifeMax":60,"LaborExpCoefficient":16,"DiseaseRecovery":76,"DiseaseWorsen":38,"DiseaseRelief":17,"LaborExpCoefficient":1.6,"DiseaseWorsen":3.8}, +{"_t":"AaPhysiqueConfig","_id":7,"Lv":7,"Exp":20580,"Section":3,"LifeMin":61,"LifeMax":75,"LaborExpCoefficient":17,"DiseaseRecovery":82,"DiseaseWorsen":36,"DiseaseRelief":19,"LaborExpCoefficient":1.7,"DiseaseWorsen":3.6}, +{"_t":"AaPhysiqueConfig","_id":8,"Lv":8,"Exp":30720,"Section":3,"LifeMin":61,"LifeMax":75,"LaborExpCoefficient":18,"DiseaseRecovery":88,"DiseaseWorsen":34,"DiseaseRelief":21,"LaborExpCoefficient":1.8,"DiseaseWorsen":3.4}, +{"_t":"AaPhysiqueConfig","_id":9,"Lv":9,"Exp":43740,"Section":3,"LifeMin":61,"LifeMax":75,"LaborExpCoefficient":19,"DiseaseRecovery":94,"DiseaseWorsen":32,"DiseaseRelief":23,"LaborExpCoefficient":1.9,"DiseaseWorsen":3.2}, +{"_t":"AaPhysiqueConfig","_id":10,"Lv":10,"Exp":60000,"Section":4,"LifeMin":76,"LifeMax":89,"LaborExpCoefficient":20,"DiseaseRecovery":100,"DiseaseWorsen":30,"DiseaseRelief":25,"LaborExpCoefficient":2,"DiseaseWorsen":3}, +{"_t":"AaPhysiqueConfig","_id":11,"Lv":11,"Exp":79860,"Section":4,"LifeMin":76,"LifeMax":89,"LaborExpCoefficient":21,"DiseaseRecovery":106,"DiseaseWorsen":28,"DiseaseRelief":27,"LaborExpCoefficient":2.1,"DiseaseWorsen":2.8}, +{"_t":"AaPhysiqueConfig","_id":12,"Lv":12,"Exp":103680,"Section":4,"LifeMin":76,"LifeMax":89,"LaborExpCoefficient":22,"DiseaseRecovery":112,"DiseaseWorsen":26,"DiseaseRelief":29,"LaborExpCoefficient":2.2,"DiseaseWorsen":2.6}, +{"_t":"AaPhysiqueConfig","_id":13,"Lv":13,"Exp":131820,"Section":5,"LifeMin":90,"LifeMax":120,"LaborExpCoefficient":23,"DiseaseRecovery":118,"DiseaseWorsen":24,"DiseaseRelief":31,"LaborExpCoefficient":2.3,"DiseaseWorsen":2.4}, +{"_t":"AaPhysiqueConfig","_id":14,"Lv":14,"Exp":164640,"Section":5,"LifeMin":90,"LifeMax":120,"LaborExpCoefficient":24,"DiseaseRecovery":124,"DiseaseWorsen":22,"DiseaseRelief":33,"LaborExpCoefficient":2.4,"DiseaseWorsen":2.2}, +{"_t":"AaPhysiqueConfig","_id":15,"Lv":15,"Exp":202500,"Section":5,"LifeMin":90,"LifeMax":120,"LaborExpCoefficient":25,"DiseaseRecovery":130,"DiseaseWorsen":20,"DiseaseRelief":35,"LaborExpCoefficient":2.5,"DiseaseWorsen":2}, +]} diff --git a/Excel/Json/c/LaborConfig.txt b/Excel/Json/c/LaborConfig.txt index 6e03585..18ec350 100644 --- a/Excel/Json/c/LaborConfig.txt +++ b/Excel/Json/c/LaborConfig.txt @@ -1,112 +1,102 @@ {"list":[ -{"_t":"LaborConfig","_id":1,"Labor":1,"LaborExp":50,"Income":0,"CarryAmount":1}, -{"_t":"LaborConfig","_id":2,"Labor":2,"LaborExp":100,"Income":0,"CarryAmount":2}, -{"_t":"LaborConfig","_id":3,"Labor":3,"LaborExp":140,"Income":0,"CarryAmount":3}, -{"_t":"LaborConfig","_id":4,"Labor":4,"LaborExp":190,"Income":0,"CarryAmount":4}, -{"_t":"LaborConfig","_id":5,"Labor":5,"LaborExp":230,"Income":0,"CarryAmount":5}, -{"_t":"LaborConfig","_id":6,"Labor":6,"LaborExp":270,"Income":0,"CarryAmount":6}, -{"_t":"LaborConfig","_id":7,"Labor":7,"LaborExp":300,"Income":0,"CarryAmount":6}, -{"_t":"LaborConfig","_id":8,"Labor":8,"LaborExp":340,"Income":1.1,"CarryAmount":7}, -{"_t":"LaborConfig","_id":9,"Labor":9,"LaborExp":370,"Income":1.2,"CarryAmount":7}, -{"_t":"LaborConfig","_id":10,"Labor":10,"LaborExp":400,"Income":1.3,"CarryAmount":7}, -{"_t":"LaborConfig","_id":11,"Labor":11,"LaborExp":440,"Income":1.4,"CarryAmount":8}, -{"_t":"LaborConfig","_id":12,"Labor":12,"LaborExp":470,"Income":1.5,"CarryAmount":8}, -{"_t":"LaborConfig","_id":13,"Labor":13,"LaborExp":500,"Income":1.6,"CarryAmount":9}, -{"_t":"LaborConfig","_id":14,"Labor":14,"LaborExp":520,"Income":1.7,"CarryAmount":9}, -{"_t":"LaborConfig","_id":15,"Labor":15,"LaborExp":550,"Income":1.8,"CarryAmount":9}, -{"_t":"LaborConfig","_id":16,"Labor":16,"LaborExp":580,"Income":1.9,"CarryAmount":10}, -{"_t":"LaborConfig","_id":17,"Labor":17,"LaborExp":600,"Income":2,"CarryAmount":10}, -{"_t":"LaborConfig","_id":18,"Labor":18,"LaborExp":630,"Income":2.1,"CarryAmount":11}, -{"_t":"LaborConfig","_id":19,"Labor":19,"LaborExp":650,"Income":2.2,"CarryAmount":11}, -{"_t":"LaborConfig","_id":20,"Labor":20,"LaborExp":670,"Income":2.3,"CarryAmount":11}, -{"_t":"LaborConfig","_id":21,"Labor":21,"LaborExp":690,"Income":2.4,"CarryAmount":12}, -{"_t":"LaborConfig","_id":22,"Labor":22,"LaborExp":710,"Income":2.5,"CarryAmount":12}, -{"_t":"LaborConfig","_id":23,"Labor":23,"LaborExp":740,"Income":2.6,"CarryAmount":13}, -{"_t":"LaborConfig","_id":24,"Labor":24,"LaborExp":750,"Income":2.7,"CarryAmount":13}, -{"_t":"LaborConfig","_id":25,"Labor":25,"LaborExp":770,"Income":2.8,"CarryAmount":13}, -{"_t":"LaborConfig","_id":26,"Labor":26,"LaborExp":790,"Income":2.9,"CarryAmount":14}, -{"_t":"LaborConfig","_id":27,"Labor":27,"LaborExp":810,"Income":3,"CarryAmount":14}, -{"_t":"LaborConfig","_id":28,"Labor":28,"LaborExp":830,"Income":3.1,"CarryAmount":15}, -{"_t":"LaborConfig","_id":29,"Labor":29,"LaborExp":850,"Income":3.2,"CarryAmount":15}, -{"_t":"LaborConfig","_id":30,"Labor":30,"LaborExp":860,"Income":3.3,"CarryAmount":15}, -{"_t":"LaborConfig","_id":31,"Labor":31,"LaborExp":880,"Income":3.4,"CarryAmount":16}, -{"_t":"LaborConfig","_id":32,"Labor":32,"LaborExp":890,"Income":3.5,"CarryAmount":16}, -{"_t":"LaborConfig","_id":33,"Labor":33,"LaborExp":910,"Income":3.6,"CarryAmount":17}, -{"_t":"LaborConfig","_id":34,"Labor":34,"LaborExp":920,"Income":3.7,"CarryAmount":17}, -{"_t":"LaborConfig","_id":35,"Labor":35,"LaborExp":940,"Income":3.8,"CarryAmount":17}, -{"_t":"LaborConfig","_id":36,"Labor":36,"LaborExp":950,"Income":3.9,"CarryAmount":18}, -{"_t":"LaborConfig","_id":37,"Labor":37,"LaborExp":970,"Income":4,"CarryAmount":18}, -{"_t":"LaborConfig","_id":38,"Labor":38,"LaborExp":980,"Income":4.1,"CarryAmount":19}, -{"_t":"LaborConfig","_id":39,"Labor":39,"LaborExp":990,"Income":4.2,"CarryAmount":19}, -{"_t":"LaborConfig","_id":40,"Labor":40,"LaborExp":1000,"Income":4.3,"CarryAmount":19}, -{"_t":"LaborConfig","_id":41,"Labor":41,"LaborExp":1020,"Income":4.4,"CarryAmount":20}, -{"_t":"LaborConfig","_id":42,"Labor":42,"LaborExp":1030,"Income":4.5,"CarryAmount":20}, -{"_t":"LaborConfig","_id":43,"Labor":43,"LaborExp":1040,"Income":4.6,"CarryAmount":21}, -{"_t":"LaborConfig","_id":44,"Labor":44,"LaborExp":1050,"Income":4.7,"CarryAmount":21}, -{"_t":"LaborConfig","_id":45,"Labor":45,"LaborExp":1060,"Income":4.8,"CarryAmount":21}, -{"_t":"LaborConfig","_id":46,"Labor":46,"LaborExp":1070,"Income":4.9,"CarryAmount":22}, -{"_t":"LaborConfig","_id":47,"Labor":47,"LaborExp":1090,"Income":5,"CarryAmount":22}, -{"_t":"LaborConfig","_id":48,"Labor":48,"LaborExp":1100,"Income":5.1,"CarryAmount":23}, -{"_t":"LaborConfig","_id":49,"Labor":49,"LaborExp":1110,"Income":5.2,"CarryAmount":23}, -{"_t":"LaborConfig","_id":50,"Labor":50,"LaborExp":1120,"Income":5.3,"CarryAmount":23}, -{"_t":"LaborConfig","_id":51,"Labor":51,"LaborExp":1130,"Income":5.4,"CarryAmount":24}, -{"_t":"LaborConfig","_id":52,"Labor":52,"LaborExp":1140,"Income":5.5,"CarryAmount":24}, -{"_t":"LaborConfig","_id":53,"Labor":53,"LaborExp":1140,"Income":5.6,"CarryAmount":25}, -{"_t":"LaborConfig","_id":54,"Labor":54,"LaborExp":1150,"Income":5.7,"CarryAmount":25}, -{"_t":"LaborConfig","_id":55,"Labor":55,"LaborExp":1160,"Income":5.8,"CarryAmount":25}, -{"_t":"LaborConfig","_id":56,"Labor":56,"LaborExp":1170,"Income":5.9,"CarryAmount":26}, -{"_t":"LaborConfig","_id":57,"Labor":57,"LaborExp":1180,"Income":6,"CarryAmount":26}, -{"_t":"LaborConfig","_id":58,"Labor":58,"LaborExp":1190,"Income":6.1,"CarryAmount":27}, -{"_t":"LaborConfig","_id":59,"Labor":59,"LaborExp":1200,"Income":6.2,"CarryAmount":27}, -{"_t":"LaborConfig","_id":60,"Labor":60,"LaborExp":1200,"Income":6.3,"CarryAmount":27}, -{"_t":"LaborConfig","_id":61,"Labor":61,"LaborExp":1210,"Income":6.4,"CarryAmount":28}, -{"_t":"LaborConfig","_id":62,"Labor":62,"LaborExp":1220,"Income":6.5,"CarryAmount":28}, -{"_t":"LaborConfig","_id":63,"Labor":63,"LaborExp":1230,"Income":6.6,"CarryAmount":29}, -{"_t":"LaborConfig","_id":64,"Labor":64,"LaborExp":1240,"Income":6.7,"CarryAmount":29}, -{"_t":"LaborConfig","_id":65,"Labor":65,"LaborExp":1240,"Income":6.8,"CarryAmount":29}, -{"_t":"LaborConfig","_id":66,"Labor":66,"LaborExp":1250,"Income":6.9,"CarryAmount":30}, -{"_t":"LaborConfig","_id":67,"Labor":67,"LaborExp":1260,"Income":7,"CarryAmount":30}, -{"_t":"LaborConfig","_id":68,"Labor":68,"LaborExp":1260,"Income":7.1,"CarryAmount":31}, -{"_t":"LaborConfig","_id":69,"Labor":69,"LaborExp":1270,"Income":7.2,"CarryAmount":31}, -{"_t":"LaborConfig","_id":70,"Labor":70,"LaborExp":1280,"Income":7.3,"CarryAmount":31}, -{"_t":"LaborConfig","_id":71,"Labor":71,"LaborExp":1280,"Income":7.4,"CarryAmount":32}, -{"_t":"LaborConfig","_id":72,"Labor":72,"LaborExp":1290,"Income":7.5,"CarryAmount":32}, -{"_t":"LaborConfig","_id":73,"Labor":73,"LaborExp":1300,"Income":7.6,"CarryAmount":33}, -{"_t":"LaborConfig","_id":74,"Labor":74,"LaborExp":1300,"Income":7.7,"CarryAmount":33}, -{"_t":"LaborConfig","_id":75,"Labor":75,"LaborExp":1310,"Income":7.8,"CarryAmount":33}, -{"_t":"LaborConfig","_id":76,"Labor":76,"LaborExp":1320,"Income":7.9,"CarryAmount":34}, -{"_t":"LaborConfig","_id":77,"Labor":77,"LaborExp":1320,"Income":8,"CarryAmount":34}, -{"_t":"LaborConfig","_id":78,"Labor":78,"LaborExp":1330,"Income":8.1,"CarryAmount":35}, -{"_t":"LaborConfig","_id":79,"Labor":79,"LaborExp":1330,"Income":8.2,"CarryAmount":35}, -{"_t":"LaborConfig","_id":80,"Labor":80,"LaborExp":1340,"Income":8.3,"CarryAmount":35}, -{"_t":"LaborConfig","_id":81,"Labor":81,"LaborExp":1340,"Income":8.4,"CarryAmount":36}, -{"_t":"LaborConfig","_id":82,"Labor":82,"LaborExp":1350,"Income":8.5,"CarryAmount":36}, -{"_t":"LaborConfig","_id":83,"Labor":83,"LaborExp":1350,"Income":8.6,"CarryAmount":37}, -{"_t":"LaborConfig","_id":84,"Labor":84,"LaborExp":1360,"Income":8.7,"CarryAmount":37}, -{"_t":"LaborConfig","_id":85,"Labor":85,"LaborExp":1360,"Income":8.8,"CarryAmount":37}, -{"_t":"LaborConfig","_id":86,"Labor":86,"LaborExp":1370,"Income":8.9,"CarryAmount":38}, -{"_t":"LaborConfig","_id":87,"Labor":87,"LaborExp":1380,"Income":9,"CarryAmount":38}, -{"_t":"LaborConfig","_id":88,"Labor":88,"LaborExp":1380,"Income":9.1,"CarryAmount":39}, -{"_t":"LaborConfig","_id":89,"Labor":89,"LaborExp":1380,"Income":9.2,"CarryAmount":39}, -{"_t":"LaborConfig","_id":90,"Labor":90,"LaborExp":1390,"Income":9.3,"CarryAmount":39}, -{"_t":"LaborConfig","_id":91,"Labor":91,"LaborExp":1390,"Income":9.4,"CarryAmount":40}, -{"_t":"LaborConfig","_id":92,"Labor":92,"LaborExp":1400,"Income":9.5,"CarryAmount":40}, -{"_t":"LaborConfig","_id":93,"Labor":93,"LaborExp":1400,"Income":9.6,"CarryAmount":41}, -{"_t":"LaborConfig","_id":94,"Labor":94,"LaborExp":1410,"Income":9.7,"CarryAmount":41}, -{"_t":"LaborConfig","_id":95,"Labor":95,"LaborExp":1410,"Income":9.8,"CarryAmount":41}, -{"_t":"LaborConfig","_id":96,"Labor":96,"LaborExp":1420,"Income":9.9,"CarryAmount":42}, -{"_t":"LaborConfig","_id":97,"Labor":97,"LaborExp":1420,"Income":10,"CarryAmount":42}, -{"_t":"LaborConfig","_id":98,"Labor":98,"LaborExp":1430,"Income":10.1,"CarryAmount":43}, -{"_t":"LaborConfig","_id":99,"Labor":99,"LaborExp":1430,"Income":10.2,"CarryAmount":43}, -{"_t":"LaborConfig","_id":100,"Labor":100,"LaborExp":1430,"Income":10.3,"CarryAmount":43}, -{"_t":"LaborConfig","_id":101,"Labor":101,"LaborExp":1440,"Income":10.4,"CarryAmount":44}, -{"_t":"LaborConfig","_id":102,"Labor":102,"LaborExp":1440,"Income":10.5,"CarryAmount":44}, -{"_t":"LaborConfig","_id":103,"Labor":103,"LaborExp":1450,"Income":10.6,"CarryAmount":45}, -{"_t":"LaborConfig","_id":104,"Labor":104,"LaborExp":1450,"Income":10.7,"CarryAmount":45}, -{"_t":"LaborConfig","_id":105,"Labor":105,"LaborExp":1450,"Income":10.8,"CarryAmount":45}, -{"_t":"LaborConfig","_id":106,"Labor":106,"LaborExp":1460,"Income":10.9,"CarryAmount":46}, -{"_t":"LaborConfig","_id":107,"Labor":107,"LaborExp":1460,"Income":11,"CarryAmount":46}, -{"_t":"LaborConfig","_id":108,"Labor":108,"LaborExp":1460,"Income":11.1,"CarryAmount":47}, -{"_t":"LaborConfig","_id":109,"Labor":109,"LaborExp":1470,"Income":11.2,"CarryAmount":47}, -{"_t":"LaborConfig","_id":110,"Labor":110,"LaborExp":1470,"Income":11.3,"CarryAmount":47}, +{"_t":"LaborConfig","_id":1,"Labor":1,"LaborExp":80,"IncomeCoefficient":3}, +{"_t":"LaborConfig","_id":2,"Labor":2,"LaborExp":150,"IncomeCoefficient":4}, +{"_t":"LaborConfig","_id":3,"Labor":3,"LaborExp":210,"IncomeCoefficient":5}, +{"_t":"LaborConfig","_id":4,"Labor":4,"LaborExp":280,"IncomeCoefficient":6}, +{"_t":"LaborConfig","_id":5,"Labor":5,"LaborExp":340,"IncomeCoefficient":7}, +{"_t":"LaborConfig","_id":6,"Labor":6,"LaborExp":400,"IncomeCoefficient":8}, +{"_t":"LaborConfig","_id":7,"Labor":7,"LaborExp":450,"IncomeCoefficient":9}, +{"_t":"LaborConfig","_id":8,"Labor":8,"LaborExp":500,"IncomeCoefficient":10}, +{"_t":"LaborConfig","_id":9,"Labor":9,"LaborExp":560,"IncomeCoefficient":11}, +{"_t":"LaborConfig","_id":10,"Labor":10,"LaborExp":600,"IncomeCoefficient":12}, +{"_t":"LaborConfig","_id":11,"Labor":11,"LaborExp":650,"IncomeCoefficient":13}, +{"_t":"LaborConfig","_id":12,"Labor":12,"LaborExp":700,"IncomeCoefficient":14}, +{"_t":"LaborConfig","_id":13,"Labor":13,"LaborExp":740,"IncomeCoefficient":15}, +{"_t":"LaborConfig","_id":14,"Labor":14,"LaborExp":780,"IncomeCoefficient":16}, +{"_t":"LaborConfig","_id":15,"Labor":15,"LaborExp":820,"IncomeCoefficient":17}, +{"_t":"LaborConfig","_id":16,"Labor":16,"LaborExp":860,"IncomeCoefficient":18}, +{"_t":"LaborConfig","_id":17,"Labor":17,"LaborExp":900,"IncomeCoefficient":19}, +{"_t":"LaborConfig","_id":18,"Labor":18,"LaborExp":940,"IncomeCoefficient":20}, +{"_t":"LaborConfig","_id":19,"Labor":19,"LaborExp":970,"IncomeCoefficient":21}, +{"_t":"LaborConfig","_id":20,"Labor":20,"LaborExp":1000,"IncomeCoefficient":22}, +{"_t":"LaborConfig","_id":21,"Labor":21,"LaborExp":1040,"IncomeCoefficient":23}, +{"_t":"LaborConfig","_id":22,"Labor":22,"LaborExp":1070,"IncomeCoefficient":24}, +{"_t":"LaborConfig","_id":23,"Labor":23,"LaborExp":1100,"IncomeCoefficient":25}, +{"_t":"LaborConfig","_id":24,"Labor":24,"LaborExp":1130,"IncomeCoefficient":26}, +{"_t":"LaborConfig","_id":25,"Labor":25,"LaborExp":1160,"IncomeCoefficient":27}, +{"_t":"LaborConfig","_id":26,"Labor":26,"LaborExp":1190,"IncomeCoefficient":28}, +{"_t":"LaborConfig","_id":27,"Labor":27,"LaborExp":1210,"IncomeCoefficient":29}, +{"_t":"LaborConfig","_id":28,"Labor":28,"LaborExp":1240,"IncomeCoefficient":30}, +{"_t":"LaborConfig","_id":29,"Labor":29,"LaborExp":1270,"IncomeCoefficient":31}, +{"_t":"LaborConfig","_id":30,"Labor":30,"LaborExp":1290,"IncomeCoefficient":32}, +{"_t":"LaborConfig","_id":31,"Labor":31,"LaborExp":1310,"IncomeCoefficient":33}, +{"_t":"LaborConfig","_id":32,"Labor":32,"LaborExp":1340,"IncomeCoefficient":34}, +{"_t":"LaborConfig","_id":33,"Labor":33,"LaborExp":1360,"IncomeCoefficient":35}, +{"_t":"LaborConfig","_id":34,"Labor":34,"LaborExp":1380,"IncomeCoefficient":36}, +{"_t":"LaborConfig","_id":35,"Labor":35,"LaborExp":1400,"IncomeCoefficient":37}, +{"_t":"LaborConfig","_id":36,"Labor":36,"LaborExp":1430,"IncomeCoefficient":38}, +{"_t":"LaborConfig","_id":37,"Labor":37,"LaborExp":1450,"IncomeCoefficient":39}, +{"_t":"LaborConfig","_id":38,"Labor":38,"LaborExp":1470,"IncomeCoefficient":40}, +{"_t":"LaborConfig","_id":39,"Labor":39,"LaborExp":1490,"IncomeCoefficient":41}, +{"_t":"LaborConfig","_id":40,"Labor":40,"LaborExp":1500,"IncomeCoefficient":42}, +{"_t":"LaborConfig","_id":41,"Labor":41,"LaborExp":1520,"IncomeCoefficient":43}, +{"_t":"LaborConfig","_id":42,"Labor":42,"LaborExp":1540,"IncomeCoefficient":44}, +{"_t":"LaborConfig","_id":43,"Labor":43,"LaborExp":1560,"IncomeCoefficient":45}, +{"_t":"LaborConfig","_id":44,"Labor":44,"LaborExp":1580,"IncomeCoefficient":46}, +{"_t":"LaborConfig","_id":45,"Labor":45,"LaborExp":1590,"IncomeCoefficient":47}, +{"_t":"LaborConfig","_id":46,"Labor":46,"LaborExp":1610,"IncomeCoefficient":48}, +{"_t":"LaborConfig","_id":47,"Labor":47,"LaborExp":1630,"IncomeCoefficient":49}, +{"_t":"LaborConfig","_id":48,"Labor":48,"LaborExp":1640,"IncomeCoefficient":50}, +{"_t":"LaborConfig","_id":49,"Labor":49,"LaborExp":1660,"IncomeCoefficient":51}, +{"_t":"LaborConfig","_id":50,"Labor":50,"LaborExp":1670,"IncomeCoefficient":52}, +{"_t":"LaborConfig","_id":51,"Labor":51,"LaborExp":1690,"IncomeCoefficient":53}, +{"_t":"LaborConfig","_id":52,"Labor":52,"LaborExp":1700,"IncomeCoefficient":54}, +{"_t":"LaborConfig","_id":53,"Labor":53,"LaborExp":1710,"IncomeCoefficient":55}, +{"_t":"LaborConfig","_id":54,"Labor":54,"LaborExp":1730,"IncomeCoefficient":56}, +{"_t":"LaborConfig","_id":55,"Labor":55,"LaborExp":1740,"IncomeCoefficient":57}, +{"_t":"LaborConfig","_id":56,"Labor":56,"LaborExp":1750,"IncomeCoefficient":58}, +{"_t":"LaborConfig","_id":57,"Labor":57,"LaborExp":1770,"IncomeCoefficient":59}, +{"_t":"LaborConfig","_id":58,"Labor":58,"LaborExp":1780,"IncomeCoefficient":60}, +{"_t":"LaborConfig","_id":59,"Labor":59,"LaborExp":1790,"IncomeCoefficient":61}, +{"_t":"LaborConfig","_id":60,"Labor":60,"LaborExp":1800,"IncomeCoefficient":62}, +{"_t":"LaborConfig","_id":61,"Labor":61,"LaborExp":1820,"IncomeCoefficient":63}, +{"_t":"LaborConfig","_id":62,"Labor":62,"LaborExp":1830,"IncomeCoefficient":64}, +{"_t":"LaborConfig","_id":63,"Labor":63,"LaborExp":1840,"IncomeCoefficient":65}, +{"_t":"LaborConfig","_id":64,"Labor":64,"LaborExp":1850,"IncomeCoefficient":66}, +{"_t":"LaborConfig","_id":65,"Labor":65,"LaborExp":1860,"IncomeCoefficient":67}, +{"_t":"LaborConfig","_id":66,"Labor":66,"LaborExp":1870,"IncomeCoefficient":68}, +{"_t":"LaborConfig","_id":67,"Labor":67,"LaborExp":1880,"IncomeCoefficient":69}, +{"_t":"LaborConfig","_id":68,"Labor":68,"LaborExp":1890,"IncomeCoefficient":70}, +{"_t":"LaborConfig","_id":69,"Labor":69,"LaborExp":1900,"IncomeCoefficient":71}, +{"_t":"LaborConfig","_id":70,"Labor":70,"LaborExp":1910,"IncomeCoefficient":72}, +{"_t":"LaborConfig","_id":71,"Labor":71,"LaborExp":1920,"IncomeCoefficient":73}, +{"_t":"LaborConfig","_id":72,"Labor":72,"LaborExp":1930,"IncomeCoefficient":74}, +{"_t":"LaborConfig","_id":73,"Labor":73,"LaborExp":1940,"IncomeCoefficient":75}, +{"_t":"LaborConfig","_id":74,"Labor":74,"LaborExp":1950,"IncomeCoefficient":76}, +{"_t":"LaborConfig","_id":75,"Labor":75,"LaborExp":1960,"IncomeCoefficient":77}, +{"_t":"LaborConfig","_id":76,"Labor":76,"LaborExp":1970,"IncomeCoefficient":78}, +{"_t":"LaborConfig","_id":77,"Labor":77,"LaborExp":1980,"IncomeCoefficient":79}, +{"_t":"LaborConfig","_id":78,"Labor":78,"LaborExp":1990,"IncomeCoefficient":80}, +{"_t":"LaborConfig","_id":79,"Labor":79,"LaborExp":2000,"IncomeCoefficient":81}, +{"_t":"LaborConfig","_id":80,"Labor":80,"LaborExp":2000,"IncomeCoefficient":82}, +{"_t":"LaborConfig","_id":81,"Labor":81,"LaborExp":2010,"IncomeCoefficient":83}, +{"_t":"LaborConfig","_id":82,"Labor":82,"LaborExp":2020,"IncomeCoefficient":84}, +{"_t":"LaborConfig","_id":83,"Labor":83,"LaborExp":2030,"IncomeCoefficient":85}, +{"_t":"LaborConfig","_id":84,"Labor":84,"LaborExp":2040,"IncomeCoefficient":86}, +{"_t":"LaborConfig","_id":85,"Labor":85,"LaborExp":2040,"IncomeCoefficient":87}, +{"_t":"LaborConfig","_id":86,"Labor":86,"LaborExp":2050,"IncomeCoefficient":88}, +{"_t":"LaborConfig","_id":87,"Labor":87,"LaborExp":2060,"IncomeCoefficient":89}, +{"_t":"LaborConfig","_id":88,"Labor":88,"LaborExp":2070,"IncomeCoefficient":90}, +{"_t":"LaborConfig","_id":89,"Labor":89,"LaborExp":2070,"IncomeCoefficient":91}, +{"_t":"LaborConfig","_id":90,"Labor":90,"LaborExp":2080,"IncomeCoefficient":92}, +{"_t":"LaborConfig","_id":91,"Labor":91,"LaborExp":2090,"IncomeCoefficient":93}, +{"_t":"LaborConfig","_id":92,"Labor":92,"LaborExp":2100,"IncomeCoefficient":94}, +{"_t":"LaborConfig","_id":93,"Labor":93,"LaborExp":2100,"IncomeCoefficient":95}, +{"_t":"LaborConfig","_id":94,"Labor":94,"LaborExp":2110,"IncomeCoefficient":96}, +{"_t":"LaborConfig","_id":95,"Labor":95,"LaborExp":2120,"IncomeCoefficient":97}, +{"_t":"LaborConfig","_id":96,"Labor":96,"LaborExp":2120,"IncomeCoefficient":98}, +{"_t":"LaborConfig","_id":97,"Labor":97,"LaborExp":2130,"IncomeCoefficient":99}, +{"_t":"LaborConfig","_id":98,"Labor":98,"LaborExp":2140,"IncomeCoefficient":100}, +{"_t":"LaborConfig","_id":99,"Labor":99,"LaborExp":2140,"IncomeCoefficient":101}, +{"_t":"LaborConfig","_id":100,"Labor":100,"LaborExp":2150,"IncomeCoefficient":102}, ]} diff --git a/Excel/Json/c/LifeExpConfig.txt b/Excel/Json/c/LifeExpConfig.txt new file mode 100644 index 0000000..8fcd668 --- /dev/null +++ b/Excel/Json/c/LifeExpConfig.txt @@ -0,0 +1,122 @@ +{"list":[ +{"_t":"LifeExpConfig","_id":1,"Life":1,"LifeExp":100}, +{"_t":"LifeExpConfig","_id":2,"Life":2,"LifeExp":200}, +{"_t":"LifeExpConfig","_id":3,"Life":3,"LifeExp":300}, +{"_t":"LifeExpConfig","_id":4,"Life":4,"LifeExp":400}, +{"_t":"LifeExpConfig","_id":5,"Life":5,"LifeExp":500}, +{"_t":"LifeExpConfig","_id":6,"Life":6,"LifeExp":600}, +{"_t":"LifeExpConfig","_id":7,"Life":7,"LifeExp":700}, +{"_t":"LifeExpConfig","_id":8,"Life":8,"LifeExp":800}, +{"_t":"LifeExpConfig","_id":9,"Life":9,"LifeExp":900}, +{"_t":"LifeExpConfig","_id":10,"Life":10,"LifeExp":1000}, +{"_t":"LifeExpConfig","_id":11,"Life":11,"LifeExp":1100}, +{"_t":"LifeExpConfig","_id":12,"Life":12,"LifeExp":1200}, +{"_t":"LifeExpConfig","_id":13,"Life":13,"LifeExp":1300}, +{"_t":"LifeExpConfig","_id":14,"Life":14,"LifeExp":1400}, +{"_t":"LifeExpConfig","_id":15,"Life":15,"LifeExp":1500}, +{"_t":"LifeExpConfig","_id":16,"Life":16,"LifeExp":1600}, +{"_t":"LifeExpConfig","_id":17,"Life":17,"LifeExp":1700}, +{"_t":"LifeExpConfig","_id":18,"Life":18,"LifeExp":1800}, +{"_t":"LifeExpConfig","_id":19,"Life":19,"LifeExp":1900}, +{"_t":"LifeExpConfig","_id":20,"Life":20,"LifeExp":2000}, +{"_t":"LifeExpConfig","_id":21,"Life":21,"LifeExp":2100}, +{"_t":"LifeExpConfig","_id":22,"Life":22,"LifeExp":2200}, +{"_t":"LifeExpConfig","_id":23,"Life":23,"LifeExp":2300}, +{"_t":"LifeExpConfig","_id":24,"Life":24,"LifeExp":2400}, +{"_t":"LifeExpConfig","_id":25,"Life":25,"LifeExp":2500}, +{"_t":"LifeExpConfig","_id":26,"Life":26,"LifeExp":2600}, +{"_t":"LifeExpConfig","_id":27,"Life":27,"LifeExp":2700}, +{"_t":"LifeExpConfig","_id":28,"Life":28,"LifeExp":2800}, +{"_t":"LifeExpConfig","_id":29,"Life":29,"LifeExp":2900}, +{"_t":"LifeExpConfig","_id":30,"Life":30,"LifeExp":3000}, +{"_t":"LifeExpConfig","_id":31,"Life":31,"LifeExp":3100}, +{"_t":"LifeExpConfig","_id":32,"Life":32,"LifeExp":3200}, +{"_t":"LifeExpConfig","_id":33,"Life":33,"LifeExp":3300}, +{"_t":"LifeExpConfig","_id":34,"Life":34,"LifeExp":3400}, +{"_t":"LifeExpConfig","_id":35,"Life":35,"LifeExp":3500}, +{"_t":"LifeExpConfig","_id":36,"Life":36,"LifeExp":3600}, +{"_t":"LifeExpConfig","_id":37,"Life":37,"LifeExp":3700}, +{"_t":"LifeExpConfig","_id":38,"Life":38,"LifeExp":3800}, +{"_t":"LifeExpConfig","_id":39,"Life":39,"LifeExp":3900}, +{"_t":"LifeExpConfig","_id":40,"Life":40,"LifeExp":4000}, +{"_t":"LifeExpConfig","_id":41,"Life":41,"LifeExp":4100}, +{"_t":"LifeExpConfig","_id":42,"Life":42,"LifeExp":4200}, +{"_t":"LifeExpConfig","_id":43,"Life":43,"LifeExp":4300}, +{"_t":"LifeExpConfig","_id":44,"Life":44,"LifeExp":4400}, +{"_t":"LifeExpConfig","_id":45,"Life":45,"LifeExp":4500}, +{"_t":"LifeExpConfig","_id":46,"Life":46,"LifeExp":4600}, +{"_t":"LifeExpConfig","_id":47,"Life":47,"LifeExp":4700}, +{"_t":"LifeExpConfig","_id":48,"Life":48,"LifeExp":4800}, +{"_t":"LifeExpConfig","_id":49,"Life":49,"LifeExp":4900}, +{"_t":"LifeExpConfig","_id":50,"Life":50,"LifeExp":5000}, +{"_t":"LifeExpConfig","_id":51,"Life":51,"LifeExp":5100}, +{"_t":"LifeExpConfig","_id":52,"Life":52,"LifeExp":5200}, +{"_t":"LifeExpConfig","_id":53,"Life":53,"LifeExp":5300}, +{"_t":"LifeExpConfig","_id":54,"Life":54,"LifeExp":5400}, +{"_t":"LifeExpConfig","_id":55,"Life":55,"LifeExp":5500}, +{"_t":"LifeExpConfig","_id":56,"Life":56,"LifeExp":5600}, +{"_t":"LifeExpConfig","_id":57,"Life":57,"LifeExp":5700}, +{"_t":"LifeExpConfig","_id":58,"Life":58,"LifeExp":5800}, +{"_t":"LifeExpConfig","_id":59,"Life":59,"LifeExp":5900}, +{"_t":"LifeExpConfig","_id":60,"Life":60,"LifeExp":6000}, +{"_t":"LifeExpConfig","_id":61,"Life":61,"LifeExp":6100}, +{"_t":"LifeExpConfig","_id":62,"Life":62,"LifeExp":6200}, +{"_t":"LifeExpConfig","_id":63,"Life":63,"LifeExp":6300}, +{"_t":"LifeExpConfig","_id":64,"Life":64,"LifeExp":6400}, +{"_t":"LifeExpConfig","_id":65,"Life":65,"LifeExp":6500}, +{"_t":"LifeExpConfig","_id":66,"Life":66,"LifeExp":6600}, +{"_t":"LifeExpConfig","_id":67,"Life":67,"LifeExp":6700}, +{"_t":"LifeExpConfig","_id":68,"Life":68,"LifeExp":6800}, +{"_t":"LifeExpConfig","_id":69,"Life":69,"LifeExp":6900}, +{"_t":"LifeExpConfig","_id":70,"Life":70,"LifeExp":7000}, +{"_t":"LifeExpConfig","_id":71,"Life":71,"LifeExp":7100}, +{"_t":"LifeExpConfig","_id":72,"Life":72,"LifeExp":7200}, +{"_t":"LifeExpConfig","_id":73,"Life":73,"LifeExp":7300}, +{"_t":"LifeExpConfig","_id":74,"Life":74,"LifeExp":7400}, +{"_t":"LifeExpConfig","_id":75,"Life":75,"LifeExp":7500}, +{"_t":"LifeExpConfig","_id":76,"Life":76,"LifeExp":7600}, +{"_t":"LifeExpConfig","_id":77,"Life":77,"LifeExp":7700}, +{"_t":"LifeExpConfig","_id":78,"Life":78,"LifeExp":7800}, +{"_t":"LifeExpConfig","_id":79,"Life":79,"LifeExp":7900}, +{"_t":"LifeExpConfig","_id":80,"Life":80,"LifeExp":8000}, +{"_t":"LifeExpConfig","_id":81,"Life":81,"LifeExp":8100}, +{"_t":"LifeExpConfig","_id":82,"Life":82,"LifeExp":8200}, +{"_t":"LifeExpConfig","_id":83,"Life":83,"LifeExp":8300}, +{"_t":"LifeExpConfig","_id":84,"Life":84,"LifeExp":8400}, +{"_t":"LifeExpConfig","_id":85,"Life":85,"LifeExp":8500}, +{"_t":"LifeExpConfig","_id":86,"Life":86,"LifeExp":8600}, +{"_t":"LifeExpConfig","_id":87,"Life":87,"LifeExp":8700}, +{"_t":"LifeExpConfig","_id":88,"Life":88,"LifeExp":8800}, +{"_t":"LifeExpConfig","_id":89,"Life":89,"LifeExp":8900}, +{"_t":"LifeExpConfig","_id":90,"Life":90,"LifeExp":9000}, +{"_t":"LifeExpConfig","_id":91,"Life":91,"LifeExp":9100}, +{"_t":"LifeExpConfig","_id":92,"Life":92,"LifeExp":9200}, +{"_t":"LifeExpConfig","_id":93,"Life":93,"LifeExp":9300}, +{"_t":"LifeExpConfig","_id":94,"Life":94,"LifeExp":9400}, +{"_t":"LifeExpConfig","_id":95,"Life":95,"LifeExp":9500}, +{"_t":"LifeExpConfig","_id":96,"Life":96,"LifeExp":9600}, +{"_t":"LifeExpConfig","_id":97,"Life":97,"LifeExp":9700}, +{"_t":"LifeExpConfig","_id":98,"Life":98,"LifeExp":9800}, +{"_t":"LifeExpConfig","_id":99,"Life":99,"LifeExp":9900}, +{"_t":"LifeExpConfig","_id":100,"Life":100,"LifeExp":10000}, +{"_t":"LifeExpConfig","_id":101,"Life":101,"LifeExp":10100}, +{"_t":"LifeExpConfig","_id":102,"Life":102,"LifeExp":10200}, +{"_t":"LifeExpConfig","_id":103,"Life":103,"LifeExp":10300}, +{"_t":"LifeExpConfig","_id":104,"Life":104,"LifeExp":10400}, +{"_t":"LifeExpConfig","_id":105,"Life":105,"LifeExp":10500}, +{"_t":"LifeExpConfig","_id":106,"Life":106,"LifeExp":10600}, +{"_t":"LifeExpConfig","_id":107,"Life":107,"LifeExp":10700}, +{"_t":"LifeExpConfig","_id":108,"Life":108,"LifeExp":10800}, +{"_t":"LifeExpConfig","_id":109,"Life":109,"LifeExp":10900}, +{"_t":"LifeExpConfig","_id":110,"Life":110,"LifeExp":11000}, +{"_t":"LifeExpConfig","_id":111,"Life":111,"LifeExp":11100}, +{"_t":"LifeExpConfig","_id":112,"Life":112,"LifeExp":11200}, +{"_t":"LifeExpConfig","_id":113,"Life":113,"LifeExp":11300}, +{"_t":"LifeExpConfig","_id":114,"Life":114,"LifeExp":11400}, +{"_t":"LifeExpConfig","_id":115,"Life":115,"LifeExp":11500}, +{"_t":"LifeExpConfig","_id":116,"Life":116,"LifeExp":11600}, +{"_t":"LifeExpConfig","_id":117,"Life":117,"LifeExp":11700}, +{"_t":"LifeExpConfig","_id":118,"Life":118,"LifeExp":11800}, +{"_t":"LifeExpConfig","_id":119,"Life":119,"LifeExp":11900}, +{"_t":"LifeExpConfig","_id":120,"Life":120,"LifeExp":12000}, +]} diff --git a/Excel/Json/c/PhysiqueConfig.txt b/Excel/Json/c/PhysiqueConfig.txt new file mode 100644 index 0000000..cd8f2f4 --- /dev/null +++ b/Excel/Json/c/PhysiqueConfig.txt @@ -0,0 +1,17 @@ +{"list":[ +{"_t":"PhysiqueConfig","_id":1,"Lv":1,"Exp":60,"Section":1,"LifeMin":30,"LifeMax":50,"LaborExpCoefficient":11,"DiseaseRecovery":46,"DiseaseWorsen":48,"DiseaseRelief":7}, +{"_t":"PhysiqueConfig","_id":2,"Lv":2,"Exp":480,"Section":1,"LifeMin":30,"LifeMax":50,"LaborExpCoefficient":12,"DiseaseRecovery":52,"DiseaseWorsen":46,"DiseaseRelief":9}, +{"_t":"PhysiqueConfig","_id":3,"Lv":3,"Exp":1620,"Section":1,"LifeMin":30,"LifeMax":50,"LaborExpCoefficient":13,"DiseaseRecovery":58,"DiseaseWorsen":44,"DiseaseRelief":11}, +{"_t":"PhysiqueConfig","_id":4,"Lv":4,"Exp":3840,"Section":2,"LifeMin":51,"LifeMax":60,"LaborExpCoefficient":14,"DiseaseRecovery":64,"DiseaseWorsen":42,"DiseaseRelief":13}, +{"_t":"PhysiqueConfig","_id":5,"Lv":5,"Exp":7500,"Section":2,"LifeMin":51,"LifeMax":60,"LaborExpCoefficient":15,"DiseaseRecovery":70,"DiseaseWorsen":40,"DiseaseRelief":15}, +{"_t":"PhysiqueConfig","_id":6,"Lv":6,"Exp":12960,"Section":2,"LifeMin":51,"LifeMax":60,"LaborExpCoefficient":16,"DiseaseRecovery":76,"DiseaseWorsen":38,"DiseaseRelief":17}, +{"_t":"PhysiqueConfig","_id":7,"Lv":7,"Exp":20580,"Section":3,"LifeMin":61,"LifeMax":75,"LaborExpCoefficient":17,"DiseaseRecovery":82,"DiseaseWorsen":36,"DiseaseRelief":19}, +{"_t":"PhysiqueConfig","_id":8,"Lv":8,"Exp":30720,"Section":3,"LifeMin":61,"LifeMax":75,"LaborExpCoefficient":18,"DiseaseRecovery":88,"DiseaseWorsen":34,"DiseaseRelief":21}, +{"_t":"PhysiqueConfig","_id":9,"Lv":9,"Exp":43740,"Section":3,"LifeMin":61,"LifeMax":75,"LaborExpCoefficient":19,"DiseaseRecovery":94,"DiseaseWorsen":32,"DiseaseRelief":23}, +{"_t":"PhysiqueConfig","_id":10,"Lv":10,"Exp":60000,"Section":4,"LifeMin":76,"LifeMax":89,"LaborExpCoefficient":20,"DiseaseRecovery":100,"DiseaseWorsen":30,"DiseaseRelief":25}, +{"_t":"PhysiqueConfig","_id":11,"Lv":11,"Exp":79860,"Section":4,"LifeMin":76,"LifeMax":89,"LaborExpCoefficient":21,"DiseaseRecovery":106,"DiseaseWorsen":28,"DiseaseRelief":27}, +{"_t":"PhysiqueConfig","_id":12,"Lv":12,"Exp":103680,"Section":4,"LifeMin":76,"LifeMax":89,"LaborExpCoefficient":22,"DiseaseRecovery":112,"DiseaseWorsen":26,"DiseaseRelief":29}, +{"_t":"PhysiqueConfig","_id":13,"Lv":13,"Exp":131820,"Section":5,"LifeMin":90,"LifeMax":120,"LaborExpCoefficient":23,"DiseaseRecovery":118,"DiseaseWorsen":24,"DiseaseRelief":31}, +{"_t":"PhysiqueConfig","_id":14,"Lv":14,"Exp":164640,"Section":5,"LifeMin":90,"LifeMax":120,"LaborExpCoefficient":24,"DiseaseRecovery":124,"DiseaseWorsen":22,"DiseaseRelief":33}, +{"_t":"PhysiqueConfig","_id":15,"Lv":15,"Exp":202500,"Section":5,"LifeMin":90,"LifeMax":120,"LaborExpCoefficient":25,"DiseaseRecovery":130,"DiseaseWorsen":20,"DiseaseRelief":35}, +]} diff --git a/Excel/Json/c/SeasonConfig.txt b/Excel/Json/c/SeasonConfig.txt index 2b920fb..6e43842 100644 --- a/Excel/Json/c/SeasonConfig.txt +++ b/Excel/Json/c/SeasonConfig.txt @@ -1,7 +1,15 @@ {"list":[ -{"_t":"SeasonConfig","_id":1,"Name":"新","Type":2,"Duration":3,"DayTime":[530,1730],"Description":"","Picture":""}, -{"_t":"SeasonConfig","_id":2,"Name":"春","Type":1,"Duration":8,"DayTime":[530,1730],"Description":"","Picture":""}, -{"_t":"SeasonConfig","_id":3,"Name":"夏","Type":1,"Duration":8,"DayTime":[500,1700],"Description":"","Picture":""}, -{"_t":"SeasonConfig","_id":4,"Name":"秋","Type":1,"Duration":8,"DayTime":[600,1800],"Description":"","Picture":""}, -{"_t":"SeasonConfig","_id":5,"Name":"冬","Type":1,"Duration":8,"DayTime":[700,1900],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":1,"Name":"春","Tapy":1,"Stage":1,"Duration":8,"DayTime":[530,1730],"WeatherGroup":[1,2],"Weights":[10,1],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":2,"Name":"春","Tapy":1,"Stage":2,"Duration":8,"DayTime":[530,1730],"WeatherGroup":[2,6],"Weights":[2,1],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":3,"Name":"夏","Tapy":2,"Stage":2,"Duration":8,"DayTime":[500,1700],"WeatherGroup":[1,3],"Weights":[2,1],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":4,"Name":"秋","Tapy":3,"Stage":2,"Duration":8,"DayTime":[600,1800],"WeatherGroup":[1,2],"Weights":[2,1],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":5,"Name":"冬","Tapy":4,"Stage":2,"Duration":8,"DayTime":[700,1900],"WeatherGroup":[2,7],"Weights":[2,1],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":6,"Name":"春","Tapy":1,"Stage":3,"Duration":8,"DayTime":[530,1730],"WeatherGroup":[1,2,7,11],"Weights":[30,20,10,5],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":7,"Name":"夏","Tapy":2,"Stage":3,"Duration":8,"DayTime":[500,1700],"WeatherGroup":[3,4,6,5],"Weights":[30,20,10,5],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":8,"Name":"秋","Tapy":3,"Stage":3,"Duration":8,"DayTime":[600,1800],"WeatherGroup":[1,2,10],"Weights":[20,20,5],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":9,"Name":"冬","Tapy":4,"Stage":3,"Duration":8,"DayTime":[700,1900],"WeatherGroup":[1,9,7,8],"Weights":[2,2,2,1],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":10,"Name":"春","Tapy":1,"Stage":4,"Duration":8,"DayTime":[530,1730],"WeatherGroup":[1,2,7,11],"Weights":[30,20,10,5],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":11,"Name":"夏","Tapy":2,"Stage":4,"Duration":8,"DayTime":[500,1700],"WeatherGroup":[3,4,6,5],"Weights":[30,20,10,5],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":12,"Name":"秋","Tapy":3,"Stage":4,"Duration":8,"DayTime":[600,1800],"WeatherGroup":[1,2,10],"Weights":[20,20,5],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":13,"Name":"冬","Tapy":4,"Stage":4,"Duration":8,"DayTime":[700,1900],"WeatherGroup":[1,9,7,8],"Weights":[2,2,2,1],"Description":"","Picture":""}, ]} diff --git a/Excel/Json/c/WeatherConfig.txt b/Excel/Json/c/WeatherConfig.txt new file mode 100644 index 0000000..a0e8ec4 --- /dev/null +++ b/Excel/Json/c/WeatherConfig.txt @@ -0,0 +1,13 @@ +{"list":[ +{"_t":"WeatherConfig","_id":1,"Name":"大风","Disease":200,"Injury":0,"DurableDestroy":2,"LaborVariety":0,"Duration":[5,10],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[10,15],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":2,"Name":"小雨","Disease":250,"Injury":0,"DurableDestroy":1,"LaborVariety":1,"Duration":[20,30],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[0],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":3,"Name":"暴雨","Disease":300,"Injury":0,"DurableDestroy":3,"LaborVariety":2,"Duration":[10,20],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[0],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":4,"Name":"雷雨","Disease":350,"Injury":0,"DurableDestroy":5,"LaborVariety":3,"Duration":[5,10],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[0],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":5,"Name":"冰雹","Disease":300,"Injury":200,"DurableDestroy":15,"LaborVariety":3,"Duration":[3,5],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[0],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":6,"Name":"高温","Disease":400,"Injury":0,"DurableDestroy":0,"LaborVariety":3,"Duration":[50,100],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[10,15],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":7,"Name":"雪","Disease":400,"Injury":0,"DurableDestroy":5,"LaborVariety":3,"Duration":[10,20],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[0],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":8,"Name":"暴雪","Disease":500,"Injury":0,"DurableDestroy":10,"LaborVariety":5,"Duration":[5,10],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[0],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":9,"Name":"寒流","Disease":400,"Injury":0,"DurableDestroy":0,"LaborVariety":4,"Duration":[5,10],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[20,40],"ICON":"","Describe":"随机村民颤抖"}, +{"_t":"WeatherConfig","_id":10,"Name":"地震","Disease":0,"Injury":300,"DurableDestroy":30,"LaborVariety":10,"Duration":[3,5],"CD":[30],"WeaterEffect":"","SpecialEfficacyCD":[5,10],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":11,"Name":"流感","Disease":700,"Injury":0,"DurableDestroy":0,"LaborVariety":0,"Duration":[10,20],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[10,20],"ICON":"","Describe":"随机村民打喷嚏"}, +]} diff --git a/Excel/Json/s/LaborConfig.txt b/Excel/Json/s/LaborConfig.txt new file mode 100644 index 0000000..18ec350 --- /dev/null +++ b/Excel/Json/s/LaborConfig.txt @@ -0,0 +1,102 @@ +{"list":[ +{"_t":"LaborConfig","_id":1,"Labor":1,"LaborExp":80,"IncomeCoefficient":3}, +{"_t":"LaborConfig","_id":2,"Labor":2,"LaborExp":150,"IncomeCoefficient":4}, +{"_t":"LaborConfig","_id":3,"Labor":3,"LaborExp":210,"IncomeCoefficient":5}, +{"_t":"LaborConfig","_id":4,"Labor":4,"LaborExp":280,"IncomeCoefficient":6}, +{"_t":"LaborConfig","_id":5,"Labor":5,"LaborExp":340,"IncomeCoefficient":7}, +{"_t":"LaborConfig","_id":6,"Labor":6,"LaborExp":400,"IncomeCoefficient":8}, +{"_t":"LaborConfig","_id":7,"Labor":7,"LaborExp":450,"IncomeCoefficient":9}, +{"_t":"LaborConfig","_id":8,"Labor":8,"LaborExp":500,"IncomeCoefficient":10}, +{"_t":"LaborConfig","_id":9,"Labor":9,"LaborExp":560,"IncomeCoefficient":11}, +{"_t":"LaborConfig","_id":10,"Labor":10,"LaborExp":600,"IncomeCoefficient":12}, +{"_t":"LaborConfig","_id":11,"Labor":11,"LaborExp":650,"IncomeCoefficient":13}, +{"_t":"LaborConfig","_id":12,"Labor":12,"LaborExp":700,"IncomeCoefficient":14}, +{"_t":"LaborConfig","_id":13,"Labor":13,"LaborExp":740,"IncomeCoefficient":15}, +{"_t":"LaborConfig","_id":14,"Labor":14,"LaborExp":780,"IncomeCoefficient":16}, +{"_t":"LaborConfig","_id":15,"Labor":15,"LaborExp":820,"IncomeCoefficient":17}, +{"_t":"LaborConfig","_id":16,"Labor":16,"LaborExp":860,"IncomeCoefficient":18}, +{"_t":"LaborConfig","_id":17,"Labor":17,"LaborExp":900,"IncomeCoefficient":19}, +{"_t":"LaborConfig","_id":18,"Labor":18,"LaborExp":940,"IncomeCoefficient":20}, +{"_t":"LaborConfig","_id":19,"Labor":19,"LaborExp":970,"IncomeCoefficient":21}, +{"_t":"LaborConfig","_id":20,"Labor":20,"LaborExp":1000,"IncomeCoefficient":22}, +{"_t":"LaborConfig","_id":21,"Labor":21,"LaborExp":1040,"IncomeCoefficient":23}, +{"_t":"LaborConfig","_id":22,"Labor":22,"LaborExp":1070,"IncomeCoefficient":24}, +{"_t":"LaborConfig","_id":23,"Labor":23,"LaborExp":1100,"IncomeCoefficient":25}, +{"_t":"LaborConfig","_id":24,"Labor":24,"LaborExp":1130,"IncomeCoefficient":26}, +{"_t":"LaborConfig","_id":25,"Labor":25,"LaborExp":1160,"IncomeCoefficient":27}, +{"_t":"LaborConfig","_id":26,"Labor":26,"LaborExp":1190,"IncomeCoefficient":28}, +{"_t":"LaborConfig","_id":27,"Labor":27,"LaborExp":1210,"IncomeCoefficient":29}, +{"_t":"LaborConfig","_id":28,"Labor":28,"LaborExp":1240,"IncomeCoefficient":30}, +{"_t":"LaborConfig","_id":29,"Labor":29,"LaborExp":1270,"IncomeCoefficient":31}, +{"_t":"LaborConfig","_id":30,"Labor":30,"LaborExp":1290,"IncomeCoefficient":32}, +{"_t":"LaborConfig","_id":31,"Labor":31,"LaborExp":1310,"IncomeCoefficient":33}, +{"_t":"LaborConfig","_id":32,"Labor":32,"LaborExp":1340,"IncomeCoefficient":34}, +{"_t":"LaborConfig","_id":33,"Labor":33,"LaborExp":1360,"IncomeCoefficient":35}, +{"_t":"LaborConfig","_id":34,"Labor":34,"LaborExp":1380,"IncomeCoefficient":36}, +{"_t":"LaborConfig","_id":35,"Labor":35,"LaborExp":1400,"IncomeCoefficient":37}, +{"_t":"LaborConfig","_id":36,"Labor":36,"LaborExp":1430,"IncomeCoefficient":38}, +{"_t":"LaborConfig","_id":37,"Labor":37,"LaborExp":1450,"IncomeCoefficient":39}, +{"_t":"LaborConfig","_id":38,"Labor":38,"LaborExp":1470,"IncomeCoefficient":40}, +{"_t":"LaborConfig","_id":39,"Labor":39,"LaborExp":1490,"IncomeCoefficient":41}, +{"_t":"LaborConfig","_id":40,"Labor":40,"LaborExp":1500,"IncomeCoefficient":42}, +{"_t":"LaborConfig","_id":41,"Labor":41,"LaborExp":1520,"IncomeCoefficient":43}, +{"_t":"LaborConfig","_id":42,"Labor":42,"LaborExp":1540,"IncomeCoefficient":44}, +{"_t":"LaborConfig","_id":43,"Labor":43,"LaborExp":1560,"IncomeCoefficient":45}, +{"_t":"LaborConfig","_id":44,"Labor":44,"LaborExp":1580,"IncomeCoefficient":46}, +{"_t":"LaborConfig","_id":45,"Labor":45,"LaborExp":1590,"IncomeCoefficient":47}, +{"_t":"LaborConfig","_id":46,"Labor":46,"LaborExp":1610,"IncomeCoefficient":48}, +{"_t":"LaborConfig","_id":47,"Labor":47,"LaborExp":1630,"IncomeCoefficient":49}, +{"_t":"LaborConfig","_id":48,"Labor":48,"LaborExp":1640,"IncomeCoefficient":50}, +{"_t":"LaborConfig","_id":49,"Labor":49,"LaborExp":1660,"IncomeCoefficient":51}, +{"_t":"LaborConfig","_id":50,"Labor":50,"LaborExp":1670,"IncomeCoefficient":52}, +{"_t":"LaborConfig","_id":51,"Labor":51,"LaborExp":1690,"IncomeCoefficient":53}, +{"_t":"LaborConfig","_id":52,"Labor":52,"LaborExp":1700,"IncomeCoefficient":54}, +{"_t":"LaborConfig","_id":53,"Labor":53,"LaborExp":1710,"IncomeCoefficient":55}, +{"_t":"LaborConfig","_id":54,"Labor":54,"LaborExp":1730,"IncomeCoefficient":56}, +{"_t":"LaborConfig","_id":55,"Labor":55,"LaborExp":1740,"IncomeCoefficient":57}, +{"_t":"LaborConfig","_id":56,"Labor":56,"LaborExp":1750,"IncomeCoefficient":58}, +{"_t":"LaborConfig","_id":57,"Labor":57,"LaborExp":1770,"IncomeCoefficient":59}, +{"_t":"LaborConfig","_id":58,"Labor":58,"LaborExp":1780,"IncomeCoefficient":60}, +{"_t":"LaborConfig","_id":59,"Labor":59,"LaborExp":1790,"IncomeCoefficient":61}, +{"_t":"LaborConfig","_id":60,"Labor":60,"LaborExp":1800,"IncomeCoefficient":62}, +{"_t":"LaborConfig","_id":61,"Labor":61,"LaborExp":1820,"IncomeCoefficient":63}, +{"_t":"LaborConfig","_id":62,"Labor":62,"LaborExp":1830,"IncomeCoefficient":64}, +{"_t":"LaborConfig","_id":63,"Labor":63,"LaborExp":1840,"IncomeCoefficient":65}, +{"_t":"LaborConfig","_id":64,"Labor":64,"LaborExp":1850,"IncomeCoefficient":66}, +{"_t":"LaborConfig","_id":65,"Labor":65,"LaborExp":1860,"IncomeCoefficient":67}, +{"_t":"LaborConfig","_id":66,"Labor":66,"LaborExp":1870,"IncomeCoefficient":68}, +{"_t":"LaborConfig","_id":67,"Labor":67,"LaborExp":1880,"IncomeCoefficient":69}, +{"_t":"LaborConfig","_id":68,"Labor":68,"LaborExp":1890,"IncomeCoefficient":70}, +{"_t":"LaborConfig","_id":69,"Labor":69,"LaborExp":1900,"IncomeCoefficient":71}, +{"_t":"LaborConfig","_id":70,"Labor":70,"LaborExp":1910,"IncomeCoefficient":72}, +{"_t":"LaborConfig","_id":71,"Labor":71,"LaborExp":1920,"IncomeCoefficient":73}, +{"_t":"LaborConfig","_id":72,"Labor":72,"LaborExp":1930,"IncomeCoefficient":74}, +{"_t":"LaborConfig","_id":73,"Labor":73,"LaborExp":1940,"IncomeCoefficient":75}, +{"_t":"LaborConfig","_id":74,"Labor":74,"LaborExp":1950,"IncomeCoefficient":76}, +{"_t":"LaborConfig","_id":75,"Labor":75,"LaborExp":1960,"IncomeCoefficient":77}, +{"_t":"LaborConfig","_id":76,"Labor":76,"LaborExp":1970,"IncomeCoefficient":78}, +{"_t":"LaborConfig","_id":77,"Labor":77,"LaborExp":1980,"IncomeCoefficient":79}, +{"_t":"LaborConfig","_id":78,"Labor":78,"LaborExp":1990,"IncomeCoefficient":80}, +{"_t":"LaborConfig","_id":79,"Labor":79,"LaborExp":2000,"IncomeCoefficient":81}, +{"_t":"LaborConfig","_id":80,"Labor":80,"LaborExp":2000,"IncomeCoefficient":82}, +{"_t":"LaborConfig","_id":81,"Labor":81,"LaborExp":2010,"IncomeCoefficient":83}, +{"_t":"LaborConfig","_id":82,"Labor":82,"LaborExp":2020,"IncomeCoefficient":84}, +{"_t":"LaborConfig","_id":83,"Labor":83,"LaborExp":2030,"IncomeCoefficient":85}, +{"_t":"LaborConfig","_id":84,"Labor":84,"LaborExp":2040,"IncomeCoefficient":86}, +{"_t":"LaborConfig","_id":85,"Labor":85,"LaborExp":2040,"IncomeCoefficient":87}, +{"_t":"LaborConfig","_id":86,"Labor":86,"LaborExp":2050,"IncomeCoefficient":88}, +{"_t":"LaborConfig","_id":87,"Labor":87,"LaborExp":2060,"IncomeCoefficient":89}, +{"_t":"LaborConfig","_id":88,"Labor":88,"LaborExp":2070,"IncomeCoefficient":90}, +{"_t":"LaborConfig","_id":89,"Labor":89,"LaborExp":2070,"IncomeCoefficient":91}, +{"_t":"LaborConfig","_id":90,"Labor":90,"LaborExp":2080,"IncomeCoefficient":92}, +{"_t":"LaborConfig","_id":91,"Labor":91,"LaborExp":2090,"IncomeCoefficient":93}, +{"_t":"LaborConfig","_id":92,"Labor":92,"LaborExp":2100,"IncomeCoefficient":94}, +{"_t":"LaborConfig","_id":93,"Labor":93,"LaborExp":2100,"IncomeCoefficient":95}, +{"_t":"LaborConfig","_id":94,"Labor":94,"LaborExp":2110,"IncomeCoefficient":96}, +{"_t":"LaborConfig","_id":95,"Labor":95,"LaborExp":2120,"IncomeCoefficient":97}, +{"_t":"LaborConfig","_id":96,"Labor":96,"LaborExp":2120,"IncomeCoefficient":98}, +{"_t":"LaborConfig","_id":97,"Labor":97,"LaborExp":2130,"IncomeCoefficient":99}, +{"_t":"LaborConfig","_id":98,"Labor":98,"LaborExp":2140,"IncomeCoefficient":100}, +{"_t":"LaborConfig","_id":99,"Labor":99,"LaborExp":2140,"IncomeCoefficient":101}, +{"_t":"LaborConfig","_id":100,"Labor":100,"LaborExp":2150,"IncomeCoefficient":102}, +]} diff --git a/Excel/Json/s/LifeExpConfig.txt b/Excel/Json/s/LifeExpConfig.txt new file mode 100644 index 0000000..8fcd668 --- /dev/null +++ b/Excel/Json/s/LifeExpConfig.txt @@ -0,0 +1,122 @@ +{"list":[ +{"_t":"LifeExpConfig","_id":1,"Life":1,"LifeExp":100}, +{"_t":"LifeExpConfig","_id":2,"Life":2,"LifeExp":200}, +{"_t":"LifeExpConfig","_id":3,"Life":3,"LifeExp":300}, +{"_t":"LifeExpConfig","_id":4,"Life":4,"LifeExp":400}, +{"_t":"LifeExpConfig","_id":5,"Life":5,"LifeExp":500}, +{"_t":"LifeExpConfig","_id":6,"Life":6,"LifeExp":600}, +{"_t":"LifeExpConfig","_id":7,"Life":7,"LifeExp":700}, +{"_t":"LifeExpConfig","_id":8,"Life":8,"LifeExp":800}, +{"_t":"LifeExpConfig","_id":9,"Life":9,"LifeExp":900}, +{"_t":"LifeExpConfig","_id":10,"Life":10,"LifeExp":1000}, +{"_t":"LifeExpConfig","_id":11,"Life":11,"LifeExp":1100}, +{"_t":"LifeExpConfig","_id":12,"Life":12,"LifeExp":1200}, +{"_t":"LifeExpConfig","_id":13,"Life":13,"LifeExp":1300}, +{"_t":"LifeExpConfig","_id":14,"Life":14,"LifeExp":1400}, +{"_t":"LifeExpConfig","_id":15,"Life":15,"LifeExp":1500}, +{"_t":"LifeExpConfig","_id":16,"Life":16,"LifeExp":1600}, +{"_t":"LifeExpConfig","_id":17,"Life":17,"LifeExp":1700}, +{"_t":"LifeExpConfig","_id":18,"Life":18,"LifeExp":1800}, +{"_t":"LifeExpConfig","_id":19,"Life":19,"LifeExp":1900}, +{"_t":"LifeExpConfig","_id":20,"Life":20,"LifeExp":2000}, +{"_t":"LifeExpConfig","_id":21,"Life":21,"LifeExp":2100}, +{"_t":"LifeExpConfig","_id":22,"Life":22,"LifeExp":2200}, +{"_t":"LifeExpConfig","_id":23,"Life":23,"LifeExp":2300}, +{"_t":"LifeExpConfig","_id":24,"Life":24,"LifeExp":2400}, +{"_t":"LifeExpConfig","_id":25,"Life":25,"LifeExp":2500}, +{"_t":"LifeExpConfig","_id":26,"Life":26,"LifeExp":2600}, +{"_t":"LifeExpConfig","_id":27,"Life":27,"LifeExp":2700}, +{"_t":"LifeExpConfig","_id":28,"Life":28,"LifeExp":2800}, +{"_t":"LifeExpConfig","_id":29,"Life":29,"LifeExp":2900}, +{"_t":"LifeExpConfig","_id":30,"Life":30,"LifeExp":3000}, +{"_t":"LifeExpConfig","_id":31,"Life":31,"LifeExp":3100}, +{"_t":"LifeExpConfig","_id":32,"Life":32,"LifeExp":3200}, +{"_t":"LifeExpConfig","_id":33,"Life":33,"LifeExp":3300}, +{"_t":"LifeExpConfig","_id":34,"Life":34,"LifeExp":3400}, +{"_t":"LifeExpConfig","_id":35,"Life":35,"LifeExp":3500}, +{"_t":"LifeExpConfig","_id":36,"Life":36,"LifeExp":3600}, +{"_t":"LifeExpConfig","_id":37,"Life":37,"LifeExp":3700}, +{"_t":"LifeExpConfig","_id":38,"Life":38,"LifeExp":3800}, +{"_t":"LifeExpConfig","_id":39,"Life":39,"LifeExp":3900}, +{"_t":"LifeExpConfig","_id":40,"Life":40,"LifeExp":4000}, +{"_t":"LifeExpConfig","_id":41,"Life":41,"LifeExp":4100}, +{"_t":"LifeExpConfig","_id":42,"Life":42,"LifeExp":4200}, +{"_t":"LifeExpConfig","_id":43,"Life":43,"LifeExp":4300}, +{"_t":"LifeExpConfig","_id":44,"Life":44,"LifeExp":4400}, +{"_t":"LifeExpConfig","_id":45,"Life":45,"LifeExp":4500}, +{"_t":"LifeExpConfig","_id":46,"Life":46,"LifeExp":4600}, +{"_t":"LifeExpConfig","_id":47,"Life":47,"LifeExp":4700}, +{"_t":"LifeExpConfig","_id":48,"Life":48,"LifeExp":4800}, +{"_t":"LifeExpConfig","_id":49,"Life":49,"LifeExp":4900}, +{"_t":"LifeExpConfig","_id":50,"Life":50,"LifeExp":5000}, +{"_t":"LifeExpConfig","_id":51,"Life":51,"LifeExp":5100}, +{"_t":"LifeExpConfig","_id":52,"Life":52,"LifeExp":5200}, +{"_t":"LifeExpConfig","_id":53,"Life":53,"LifeExp":5300}, +{"_t":"LifeExpConfig","_id":54,"Life":54,"LifeExp":5400}, +{"_t":"LifeExpConfig","_id":55,"Life":55,"LifeExp":5500}, +{"_t":"LifeExpConfig","_id":56,"Life":56,"LifeExp":5600}, +{"_t":"LifeExpConfig","_id":57,"Life":57,"LifeExp":5700}, +{"_t":"LifeExpConfig","_id":58,"Life":58,"LifeExp":5800}, +{"_t":"LifeExpConfig","_id":59,"Life":59,"LifeExp":5900}, +{"_t":"LifeExpConfig","_id":60,"Life":60,"LifeExp":6000}, +{"_t":"LifeExpConfig","_id":61,"Life":61,"LifeExp":6100}, +{"_t":"LifeExpConfig","_id":62,"Life":62,"LifeExp":6200}, +{"_t":"LifeExpConfig","_id":63,"Life":63,"LifeExp":6300}, +{"_t":"LifeExpConfig","_id":64,"Life":64,"LifeExp":6400}, +{"_t":"LifeExpConfig","_id":65,"Life":65,"LifeExp":6500}, +{"_t":"LifeExpConfig","_id":66,"Life":66,"LifeExp":6600}, +{"_t":"LifeExpConfig","_id":67,"Life":67,"LifeExp":6700}, +{"_t":"LifeExpConfig","_id":68,"Life":68,"LifeExp":6800}, +{"_t":"LifeExpConfig","_id":69,"Life":69,"LifeExp":6900}, +{"_t":"LifeExpConfig","_id":70,"Life":70,"LifeExp":7000}, +{"_t":"LifeExpConfig","_id":71,"Life":71,"LifeExp":7100}, +{"_t":"LifeExpConfig","_id":72,"Life":72,"LifeExp":7200}, +{"_t":"LifeExpConfig","_id":73,"Life":73,"LifeExp":7300}, +{"_t":"LifeExpConfig","_id":74,"Life":74,"LifeExp":7400}, +{"_t":"LifeExpConfig","_id":75,"Life":75,"LifeExp":7500}, +{"_t":"LifeExpConfig","_id":76,"Life":76,"LifeExp":7600}, +{"_t":"LifeExpConfig","_id":77,"Life":77,"LifeExp":7700}, +{"_t":"LifeExpConfig","_id":78,"Life":78,"LifeExp":7800}, +{"_t":"LifeExpConfig","_id":79,"Life":79,"LifeExp":7900}, +{"_t":"LifeExpConfig","_id":80,"Life":80,"LifeExp":8000}, +{"_t":"LifeExpConfig","_id":81,"Life":81,"LifeExp":8100}, +{"_t":"LifeExpConfig","_id":82,"Life":82,"LifeExp":8200}, +{"_t":"LifeExpConfig","_id":83,"Life":83,"LifeExp":8300}, +{"_t":"LifeExpConfig","_id":84,"Life":84,"LifeExp":8400}, +{"_t":"LifeExpConfig","_id":85,"Life":85,"LifeExp":8500}, +{"_t":"LifeExpConfig","_id":86,"Life":86,"LifeExp":8600}, +{"_t":"LifeExpConfig","_id":87,"Life":87,"LifeExp":8700}, +{"_t":"LifeExpConfig","_id":88,"Life":88,"LifeExp":8800}, +{"_t":"LifeExpConfig","_id":89,"Life":89,"LifeExp":8900}, +{"_t":"LifeExpConfig","_id":90,"Life":90,"LifeExp":9000}, +{"_t":"LifeExpConfig","_id":91,"Life":91,"LifeExp":9100}, +{"_t":"LifeExpConfig","_id":92,"Life":92,"LifeExp":9200}, +{"_t":"LifeExpConfig","_id":93,"Life":93,"LifeExp":9300}, +{"_t":"LifeExpConfig","_id":94,"Life":94,"LifeExp":9400}, +{"_t":"LifeExpConfig","_id":95,"Life":95,"LifeExp":9500}, +{"_t":"LifeExpConfig","_id":96,"Life":96,"LifeExp":9600}, +{"_t":"LifeExpConfig","_id":97,"Life":97,"LifeExp":9700}, +{"_t":"LifeExpConfig","_id":98,"Life":98,"LifeExp":9800}, +{"_t":"LifeExpConfig","_id":99,"Life":99,"LifeExp":9900}, +{"_t":"LifeExpConfig","_id":100,"Life":100,"LifeExp":10000}, +{"_t":"LifeExpConfig","_id":101,"Life":101,"LifeExp":10100}, +{"_t":"LifeExpConfig","_id":102,"Life":102,"LifeExp":10200}, +{"_t":"LifeExpConfig","_id":103,"Life":103,"LifeExp":10300}, +{"_t":"LifeExpConfig","_id":104,"Life":104,"LifeExp":10400}, +{"_t":"LifeExpConfig","_id":105,"Life":105,"LifeExp":10500}, +{"_t":"LifeExpConfig","_id":106,"Life":106,"LifeExp":10600}, +{"_t":"LifeExpConfig","_id":107,"Life":107,"LifeExp":10700}, +{"_t":"LifeExpConfig","_id":108,"Life":108,"LifeExp":10800}, +{"_t":"LifeExpConfig","_id":109,"Life":109,"LifeExp":10900}, +{"_t":"LifeExpConfig","_id":110,"Life":110,"LifeExp":11000}, +{"_t":"LifeExpConfig","_id":111,"Life":111,"LifeExp":11100}, +{"_t":"LifeExpConfig","_id":112,"Life":112,"LifeExp":11200}, +{"_t":"LifeExpConfig","_id":113,"Life":113,"LifeExp":11300}, +{"_t":"LifeExpConfig","_id":114,"Life":114,"LifeExp":11400}, +{"_t":"LifeExpConfig","_id":115,"Life":115,"LifeExp":11500}, +{"_t":"LifeExpConfig","_id":116,"Life":116,"LifeExp":11600}, +{"_t":"LifeExpConfig","_id":117,"Life":117,"LifeExp":11700}, +{"_t":"LifeExpConfig","_id":118,"Life":118,"LifeExp":11800}, +{"_t":"LifeExpConfig","_id":119,"Life":119,"LifeExp":11900}, +{"_t":"LifeExpConfig","_id":120,"Life":120,"LifeExp":12000}, +]} diff --git a/Excel/Json/s/PhysiqueConfig.txt b/Excel/Json/s/PhysiqueConfig.txt new file mode 100644 index 0000000..cd8f2f4 --- /dev/null +++ b/Excel/Json/s/PhysiqueConfig.txt @@ -0,0 +1,17 @@ +{"list":[ +{"_t":"PhysiqueConfig","_id":1,"Lv":1,"Exp":60,"Section":1,"LifeMin":30,"LifeMax":50,"LaborExpCoefficient":11,"DiseaseRecovery":46,"DiseaseWorsen":48,"DiseaseRelief":7}, +{"_t":"PhysiqueConfig","_id":2,"Lv":2,"Exp":480,"Section":1,"LifeMin":30,"LifeMax":50,"LaborExpCoefficient":12,"DiseaseRecovery":52,"DiseaseWorsen":46,"DiseaseRelief":9}, +{"_t":"PhysiqueConfig","_id":3,"Lv":3,"Exp":1620,"Section":1,"LifeMin":30,"LifeMax":50,"LaborExpCoefficient":13,"DiseaseRecovery":58,"DiseaseWorsen":44,"DiseaseRelief":11}, +{"_t":"PhysiqueConfig","_id":4,"Lv":4,"Exp":3840,"Section":2,"LifeMin":51,"LifeMax":60,"LaborExpCoefficient":14,"DiseaseRecovery":64,"DiseaseWorsen":42,"DiseaseRelief":13}, +{"_t":"PhysiqueConfig","_id":5,"Lv":5,"Exp":7500,"Section":2,"LifeMin":51,"LifeMax":60,"LaborExpCoefficient":15,"DiseaseRecovery":70,"DiseaseWorsen":40,"DiseaseRelief":15}, +{"_t":"PhysiqueConfig","_id":6,"Lv":6,"Exp":12960,"Section":2,"LifeMin":51,"LifeMax":60,"LaborExpCoefficient":16,"DiseaseRecovery":76,"DiseaseWorsen":38,"DiseaseRelief":17}, +{"_t":"PhysiqueConfig","_id":7,"Lv":7,"Exp":20580,"Section":3,"LifeMin":61,"LifeMax":75,"LaborExpCoefficient":17,"DiseaseRecovery":82,"DiseaseWorsen":36,"DiseaseRelief":19}, +{"_t":"PhysiqueConfig","_id":8,"Lv":8,"Exp":30720,"Section":3,"LifeMin":61,"LifeMax":75,"LaborExpCoefficient":18,"DiseaseRecovery":88,"DiseaseWorsen":34,"DiseaseRelief":21}, +{"_t":"PhysiqueConfig","_id":9,"Lv":9,"Exp":43740,"Section":3,"LifeMin":61,"LifeMax":75,"LaborExpCoefficient":19,"DiseaseRecovery":94,"DiseaseWorsen":32,"DiseaseRelief":23}, +{"_t":"PhysiqueConfig","_id":10,"Lv":10,"Exp":60000,"Section":4,"LifeMin":76,"LifeMax":89,"LaborExpCoefficient":20,"DiseaseRecovery":100,"DiseaseWorsen":30,"DiseaseRelief":25}, +{"_t":"PhysiqueConfig","_id":11,"Lv":11,"Exp":79860,"Section":4,"LifeMin":76,"LifeMax":89,"LaborExpCoefficient":21,"DiseaseRecovery":106,"DiseaseWorsen":28,"DiseaseRelief":27}, +{"_t":"PhysiqueConfig","_id":12,"Lv":12,"Exp":103680,"Section":4,"LifeMin":76,"LifeMax":89,"LaborExpCoefficient":22,"DiseaseRecovery":112,"DiseaseWorsen":26,"DiseaseRelief":29}, +{"_t":"PhysiqueConfig","_id":13,"Lv":13,"Exp":131820,"Section":5,"LifeMin":90,"LifeMax":120,"LaborExpCoefficient":23,"DiseaseRecovery":118,"DiseaseWorsen":24,"DiseaseRelief":31}, +{"_t":"PhysiqueConfig","_id":14,"Lv":14,"Exp":164640,"Section":5,"LifeMin":90,"LifeMax":120,"LaborExpCoefficient":24,"DiseaseRecovery":124,"DiseaseWorsen":22,"DiseaseRelief":33}, +{"_t":"PhysiqueConfig","_id":15,"Lv":15,"Exp":202500,"Section":5,"LifeMin":90,"LifeMax":120,"LaborExpCoefficient":25,"DiseaseRecovery":130,"DiseaseWorsen":20,"DiseaseRelief":35}, +]} diff --git a/Excel/Json/s/SeasonConfig.txt b/Excel/Json/s/SeasonConfig.txt index 2b920fb..6e43842 100644 --- a/Excel/Json/s/SeasonConfig.txt +++ b/Excel/Json/s/SeasonConfig.txt @@ -1,7 +1,15 @@ {"list":[ -{"_t":"SeasonConfig","_id":1,"Name":"新","Type":2,"Duration":3,"DayTime":[530,1730],"Description":"","Picture":""}, -{"_t":"SeasonConfig","_id":2,"Name":"春","Type":1,"Duration":8,"DayTime":[530,1730],"Description":"","Picture":""}, -{"_t":"SeasonConfig","_id":3,"Name":"夏","Type":1,"Duration":8,"DayTime":[500,1700],"Description":"","Picture":""}, -{"_t":"SeasonConfig","_id":4,"Name":"秋","Type":1,"Duration":8,"DayTime":[600,1800],"Description":"","Picture":""}, -{"_t":"SeasonConfig","_id":5,"Name":"冬","Type":1,"Duration":8,"DayTime":[700,1900],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":1,"Name":"春","Tapy":1,"Stage":1,"Duration":8,"DayTime":[530,1730],"WeatherGroup":[1,2],"Weights":[10,1],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":2,"Name":"春","Tapy":1,"Stage":2,"Duration":8,"DayTime":[530,1730],"WeatherGroup":[2,6],"Weights":[2,1],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":3,"Name":"夏","Tapy":2,"Stage":2,"Duration":8,"DayTime":[500,1700],"WeatherGroup":[1,3],"Weights":[2,1],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":4,"Name":"秋","Tapy":3,"Stage":2,"Duration":8,"DayTime":[600,1800],"WeatherGroup":[1,2],"Weights":[2,1],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":5,"Name":"冬","Tapy":4,"Stage":2,"Duration":8,"DayTime":[700,1900],"WeatherGroup":[2,7],"Weights":[2,1],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":6,"Name":"春","Tapy":1,"Stage":3,"Duration":8,"DayTime":[530,1730],"WeatherGroup":[1,2,7,11],"Weights":[30,20,10,5],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":7,"Name":"夏","Tapy":2,"Stage":3,"Duration":8,"DayTime":[500,1700],"WeatherGroup":[3,4,6,5],"Weights":[30,20,10,5],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":8,"Name":"秋","Tapy":3,"Stage":3,"Duration":8,"DayTime":[600,1800],"WeatherGroup":[1,2,10],"Weights":[20,20,5],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":9,"Name":"冬","Tapy":4,"Stage":3,"Duration":8,"DayTime":[700,1900],"WeatherGroup":[1,9,7,8],"Weights":[2,2,2,1],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":10,"Name":"春","Tapy":1,"Stage":4,"Duration":8,"DayTime":[530,1730],"WeatherGroup":[1,2,7,11],"Weights":[30,20,10,5],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":11,"Name":"夏","Tapy":2,"Stage":4,"Duration":8,"DayTime":[500,1700],"WeatherGroup":[3,4,6,5],"Weights":[30,20,10,5],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":12,"Name":"秋","Tapy":3,"Stage":4,"Duration":8,"DayTime":[600,1800],"WeatherGroup":[1,2,10],"Weights":[20,20,5],"Description":"","Picture":""}, +{"_t":"SeasonConfig","_id":13,"Name":"冬","Tapy":4,"Stage":4,"Duration":8,"DayTime":[700,1900],"WeatherGroup":[1,9,7,8],"Weights":[2,2,2,1],"Description":"","Picture":""}, ]} diff --git a/Excel/Json/s/WeatherConfig.txt b/Excel/Json/s/WeatherConfig.txt new file mode 100644 index 0000000..a0e8ec4 --- /dev/null +++ b/Excel/Json/s/WeatherConfig.txt @@ -0,0 +1,13 @@ +{"list":[ +{"_t":"WeatherConfig","_id":1,"Name":"大风","Disease":200,"Injury":0,"DurableDestroy":2,"LaborVariety":0,"Duration":[5,10],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[10,15],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":2,"Name":"小雨","Disease":250,"Injury":0,"DurableDestroy":1,"LaborVariety":1,"Duration":[20,30],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[0],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":3,"Name":"暴雨","Disease":300,"Injury":0,"DurableDestroy":3,"LaborVariety":2,"Duration":[10,20],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[0],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":4,"Name":"雷雨","Disease":350,"Injury":0,"DurableDestroy":5,"LaborVariety":3,"Duration":[5,10],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[0],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":5,"Name":"冰雹","Disease":300,"Injury":200,"DurableDestroy":15,"LaborVariety":3,"Duration":[3,5],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[0],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":6,"Name":"高温","Disease":400,"Injury":0,"DurableDestroy":0,"LaborVariety":3,"Duration":[50,100],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[10,15],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":7,"Name":"雪","Disease":400,"Injury":0,"DurableDestroy":5,"LaborVariety":3,"Duration":[10,20],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[0],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":8,"Name":"暴雪","Disease":500,"Injury":0,"DurableDestroy":10,"LaborVariety":5,"Duration":[5,10],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[0],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":9,"Name":"寒流","Disease":400,"Injury":0,"DurableDestroy":0,"LaborVariety":4,"Duration":[5,10],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[20,40],"ICON":"","Describe":"随机村民颤抖"}, +{"_t":"WeatherConfig","_id":10,"Name":"地震","Disease":0,"Injury":300,"DurableDestroy":30,"LaborVariety":10,"Duration":[3,5],"CD":[30],"WeaterEffect":"","SpecialEfficacyCD":[5,10],"ICON":"","Describe":""}, +{"_t":"WeatherConfig","_id":11,"Name":"流感","Disease":700,"Injury":0,"DurableDestroy":0,"LaborVariety":0,"Duration":[10,20],"CD":[2,3],"WeaterEffect":"","SpecialEfficacyCD":[10,20],"ICON":"","Describe":"随机村民打喷嚏"}, +]} diff --git a/Excel/LaborConfig.xlsx b/Excel/LaborConfig.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..35ce6cfc355531d59fc114e63a7d7ccab011ce90 GIT binary patch literal 14701 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 XMH%Ryi31b#H<1MLc@9Kf1_S$F(a}oD literal 0 HcmV?d00001 diff --git a/Excel/SeasonConfig.xlsx b/Excel/SeasonConfig.xlsx index a502f530a56e26147d11b712715962d3fe374f70..384a9508f078777f170e40efa8c0807e7dd30a97 100644 GIT binary patch delta 11103 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 Q-+nT0Dv`W#4Zy(u4+E;=<^TWy delta 8125 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 E0I7ecx&QzG diff --git a/Excel/WeatherConfig.xlsx b/Excel/WeatherConfig.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..0edf8b198ae6804d1deb4b4ce17a11ea96f307ca GIT binary patch literal 11837 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

XQGq5*jV@Q}-|(=^_k<{D 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 + { + + protected override async ETTask Run(Unit unit, C2M_GoFarmlandHarvest request, M2C_GoFarmlandHarvest response, Action reply) + { + try + { + var people = unit.GetComponent().GetChild(request.PeopleId); + if (people == null) + { + response.Error = ErrorCode.ERR_PeopleNotFound; + } + else + { + Farmland farmland; + if (unit.FarmlandDic.TryGetValue(request.FarmlandId, out farmland)) + { + response.Error=FarmlandOperate.GoHarvest(unit,farmland, people); + } + else + { + response.Error = ErrorCode.ERR_FarmlandNotFound; + } + } + reply(); + } + catch (Exception e) + { + response.Message = e.ToString(); + response.Error = ErrorCode.ERR_OperateFail; + reply(); + throw; + } + + await ETTask.CompletedTask; + } + } +} \ No newline at end of file diff --git a/Server/Hotfix/Demo/Farmland/Handler/C2M_GoFarmlandPlantHandler.cs b/Server/Hotfix/Demo/Farmland/Handler/C2M_GoFarmlandPlantHandler.cs new file mode 100644 index 0000000..382dabb --- /dev/null +++ b/Server/Hotfix/Demo/Farmland/Handler/C2M_GoFarmlandPlantHandler.cs @@ -0,0 +1,45 @@ +using System; + +namespace ET +{ + + [FriendClass(typeof (Unit))] + public class C2M_GoFarmlandPlantHandler: AMActorLocationRpcHandler + { + + protected override async ETTask Run(Unit unit, C2M_GoFarmlandPlant request, M2C_GoFarmlandPlant response, Action reply) + { + try + { + var people = unit.GetComponent().GetChild(request.PeopleId); + if (people == null) + { + response.Error = ErrorCode.ERR_PeopleNotFound; + } + else + { + Farmland farmland; + if (unit.FarmlandDic.TryGetValue(request.FarmlandId, out farmland)) + { + response.Error = FarmlandOperate.GoPlant(unit, farmland, people); + } + else + { + response.Error = ErrorCode.ERR_FarmlandNotFound; + } + } + + reply(); + } + catch (Exception e) + { + response.Message = e.ToString(); + response.Error = ErrorCode.ERR_OperateFail; + reply(); + throw; + } + + await ETTask.CompletedTask; + } + } +} \ No newline at end of file diff --git a/Server/Model/Generate/Config/LaborConfig.cs b/Server/Model/Generate/Config/LaborConfig.cs new file mode 100644 index 0000000..0e386ca --- /dev/null +++ b/Server/Model/Generate/Config/LaborConfig.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using MongoDB.Bson.Serialization.Attributes; +using ProtoBuf; + +namespace ET +{ + [ProtoContract] + [Config] + public partial class LaborConfigCategory : ProtoObject, IMerge + { + public static LaborConfigCategory Instance; + + [ProtoIgnore] + [BsonIgnore] + private Dictionary dict = new Dictionary(); + + [BsonElement] + [ProtoMember(1)] + private List list = new List(); + + public LaborConfigCategory() + { + Instance = this; + } + + public void Merge(object o) + { + LaborConfigCategory s = o as LaborConfigCategory; + this.list.AddRange(s.list); + } + + public override void EndInit() + { + foreach (LaborConfig config in list) + { + config.EndInit(); + this.dict.Add(config.Id, config); + } + this.AfterEndInit(); + } + + public LaborConfig Get(int id) + { + this.dict.TryGetValue(id, out LaborConfig item); + + if (item == null) + { + throw new Exception($"配置找不到,配置表名: {nameof (LaborConfig)},配置id: {id}"); + } + + return item; + } + + public bool Contain(int id) + { + return this.dict.ContainsKey(id); + } + + public Dictionary GetAll() + { + return this.dict; + } + + public List GetList() + { + return this.list; + } + + public LaborConfig GetOne() + { + if (this.dict == null || this.dict.Count <= 0) + { + return null; + } + return this.dict.Values.GetEnumerator().Current; + } + } + + [ProtoContract] + public partial class LaborConfig: ProtoObject, IConfig + { + ///

编号 + [ProtoMember(1)] + public int Id { get; set; } + /// 劳力值 + [ProtoMember(2)] + public int Labor { get; set; } + /// 劳力经验 + [ProtoMember(3)] + public int LaborExp { get; set; } + /// 劳作收益系数 + [ProtoMember(4)] + public int IncomeCoefficient { get; set; } + + } +} diff --git a/Server/Model/Generate/Config/LifeExpConfig.cs b/Server/Model/Generate/Config/LifeExpConfig.cs new file mode 100644 index 0000000..dbc4c74 --- /dev/null +++ b/Server/Model/Generate/Config/LifeExpConfig.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using MongoDB.Bson.Serialization.Attributes; +using ProtoBuf; + +namespace ET +{ + [ProtoContract] + [Config] + public partial class LifeExpConfigCategory : ProtoObject, IMerge + { + public static LifeExpConfigCategory Instance; + + [ProtoIgnore] + [BsonIgnore] + private Dictionary dict = new Dictionary(); + + [BsonElement] + [ProtoMember(1)] + private List list = new List(); + + public LifeExpConfigCategory() + { + Instance = this; + } + + public void Merge(object o) + { + LifeExpConfigCategory s = o as LifeExpConfigCategory; + this.list.AddRange(s.list); + } + + public override void EndInit() + { + foreach (LifeExpConfig config in list) + { + config.EndInit(); + this.dict.Add(config.Id, config); + } + this.AfterEndInit(); + } + + public LifeExpConfig Get(int id) + { + this.dict.TryGetValue(id, out LifeExpConfig item); + + if (item == null) + { + throw new Exception($"配置找不到,配置表名: {nameof (LifeExpConfig)},配置id: {id}"); + } + + return item; + } + + public bool Contain(int id) + { + return this.dict.ContainsKey(id); + } + + public Dictionary GetAll() + { + return this.dict; + } + + public List GetList() + { + return this.list; + } + + public LifeExpConfig GetOne() + { + if (this.dict == null || this.dict.Count <= 0) + { + return null; + } + return this.dict.Values.GetEnumerator().Current; + } + } + + [ProtoContract] + public partial class LifeExpConfig: ProtoObject, IConfig + { + /// 编号 + [ProtoMember(1)] + public int Id { get; set; } + /// 寿命 + [ProtoMember(2)] + public int Life { get; set; } + /// 寿命经验 + [ProtoMember(3)] + public int LifeExp { get; set; } + + } +} diff --git a/Server/Model/Generate/Config/PhysiqueConfig.cs b/Server/Model/Generate/Config/PhysiqueConfig.cs new file mode 100644 index 0000000..e85d21e --- /dev/null +++ b/Server/Model/Generate/Config/PhysiqueConfig.cs @@ -0,0 +1,115 @@ +using System; +using System.Collections.Generic; +using MongoDB.Bson.Serialization.Attributes; +using ProtoBuf; + +namespace ET +{ + [ProtoContract] + [Config] + public partial class PhysiqueConfigCategory : ProtoObject, IMerge + { + public static PhysiqueConfigCategory Instance; + + [ProtoIgnore] + [BsonIgnore] + private Dictionary dict = new Dictionary(); + + [BsonElement] + [ProtoMember(1)] + private List list = new List(); + + public PhysiqueConfigCategory() + { + Instance = this; + } + + public void Merge(object o) + { + PhysiqueConfigCategory s = o as PhysiqueConfigCategory; + this.list.AddRange(s.list); + } + + public override void EndInit() + { + foreach (PhysiqueConfig config in list) + { + config.EndInit(); + this.dict.Add(config.Id, config); + } + this.AfterEndInit(); + } + + public PhysiqueConfig Get(int id) + { + this.dict.TryGetValue(id, out PhysiqueConfig item); + + if (item == null) + { + throw new Exception($"配置找不到,配置表名: {nameof (PhysiqueConfig)},配置id: {id}"); + } + + return item; + } + + public bool Contain(int id) + { + return this.dict.ContainsKey(id); + } + + public Dictionary GetAll() + { + return this.dict; + } + + public List GetList() + { + return this.list; + } + + public PhysiqueConfig GetOne() + { + if (this.dict == null || this.dict.Count <= 0) + { + return null; + } + return this.dict.Values.GetEnumerator().Current; + } + } + + [ProtoContract] + public partial class PhysiqueConfig: ProtoObject, IConfig + { + /// 编号 + [ProtoMember(1)] + public int Id { get; set; } + /// 体质等级 + [ProtoMember(2)] + public int Lv { get; set; } + /// 体质经验 + [ProtoMember(3)] + public int Exp { get; set; } + /// 体质段 + [ProtoMember(4)] + public int Section { get; set; } + /// 最低寿命 + [ProtoMember(5)] + public int LifeMin { get; set; } + /// 最高寿命 + [ProtoMember(6)] + public int LifeMax { get; set; } + /// 劳力经验系数 + [ProtoMember(7)] + public int LaborExpCoefficient { get; set; } + /// 伤疾恢复 + [ProtoMember(8)] + public int DiseaseRecovery { get; set; } + /// 伤疾加重 + [ProtoMember(9)] + public int DiseaseWorsen { get; set; } + /// 伤病减免 + [ProtoMember(10)] + public int DiseaseRelief { get; set; } + + } +} diff --git a/Server/Model/Generate/Config/SeasonConfig.cs b/Server/Model/Generate/Config/SeasonConfig.cs index d9becc4..46631b9 100644 --- a/Server/Model/Generate/Config/SeasonConfig.cs +++ b/Server/Model/Generate/Config/SeasonConfig.cs @@ -86,20 +86,29 @@ namespace ET /// 季节名称 [ProtoMember(2)] public string Name { get; set; } - /// 类型 + /// 季节类型 [ProtoMember(3)] - public int Type { get; set; } - /// 时长 + public int Tapy { get; set; } + /// 游戏阶段 [ProtoMember(4)] + public int Stage { get; set; } + /// 时长 + [ProtoMember(5)] public int Duration { get; set; } /// 每日起止时间 - [ProtoMember(5)] + [ProtoMember(6)] public int[] DayTime { get; set; } + /// 季节天气组 + [ProtoMember(7)] + public int[] WeatherGroup { get; set; } + /// 天气权重 + [ProtoMember(8)] + public int[] Weights { get; set; } /// 季节描述 - [ProtoMember(6)] + [ProtoMember(9)] public string Description { get; set; } /// 季节图片 - [ProtoMember(7)] + [ProtoMember(10)] public string Picture { get; set; } } diff --git a/Server/Model/Generate/Config/WeatherConfig.cs b/Server/Model/Generate/Config/WeatherConfig.cs new file mode 100644 index 0000000..a962316 --- /dev/null +++ b/Server/Model/Generate/Config/WeatherConfig.cs @@ -0,0 +1,121 @@ +using System; +using System.Collections.Generic; +using MongoDB.Bson.Serialization.Attributes; +using ProtoBuf; + +namespace ET +{ + [ProtoContract] + [Config] + public partial class WeatherConfigCategory : ProtoObject, IMerge + { + public static WeatherConfigCategory Instance; + + [ProtoIgnore] + [BsonIgnore] + private Dictionary dict = new Dictionary(); + + [BsonElement] + [ProtoMember(1)] + private List list = new List(); + + public WeatherConfigCategory() + { + Instance = this; + } + + public void Merge(object o) + { + WeatherConfigCategory s = o as WeatherConfigCategory; + this.list.AddRange(s.list); + } + + public override void EndInit() + { + foreach (WeatherConfig config in list) + { + config.EndInit(); + this.dict.Add(config.Id, config); + } + this.AfterEndInit(); + } + + public WeatherConfig Get(int id) + { + this.dict.TryGetValue(id, out WeatherConfig item); + + if (item == null) + { + throw new Exception($"配置找不到,配置表名: {nameof (WeatherConfig)},配置id: {id}"); + } + + return item; + } + + public bool Contain(int id) + { + return this.dict.ContainsKey(id); + } + + public Dictionary GetAll() + { + return this.dict; + } + + public List GetList() + { + return this.list; + } + + public WeatherConfig GetOne() + { + if (this.dict == null || this.dict.Count <= 0) + { + return null; + } + return this.dict.Values.GetEnumerator().Current; + } + } + + [ProtoContract] + public partial class WeatherConfig: ProtoObject, IConfig + { + /// 编号 + [ProtoMember(1)] + public int Id { get; set; } + /// 天气名称 + [ProtoMember(2)] + public string Name { get; set; } + /// 疾病值 + [ProtoMember(3)] + public int Disease { get; set; } + /// 外伤值 + [ProtoMember(4)] + public int Injury { get; set; } + /// 耐久破坏 + [ProtoMember(5)] + public int DurableDestroy { get; set; } + /// 劳力变化 + [ProtoMember(6)] + public int LaborVariety { get; set; } + /// 持续时长 + [ProtoMember(7)] + public int[] Duration { get; set; } + /// 天气CD + [ProtoMember(8)] + public int[] CD { get; set; } + /// 天气特效 + [ProtoMember(9)] + public string WeaterEffect { get; set; } + /// 特效间隔 + [ProtoMember(10)] + public int[] SpecialEfficacyCD { get; set; } + /// 天气图标 + [ProtoMember(11)] + public string ICON { get; set; } + /// 描述 + [ProtoMember(12)] + public string Describe { get; set; } + + } +} diff --git a/Server/Model/Generate/ConfigEnum.cs b/Server/Model/Generate/ConfigEnum.cs index dd72f25..ceff869 100644 --- a/Server/Model/Generate/ConfigEnum.cs +++ b/Server/Model/Generate/ConfigEnum.cs @@ -356,6 +356,19 @@ namespace ET // 月圆夜刷新 FULLMOON = 3, } + public enum PhysiqueSectionEnum + { + // 差 + POOR = 1, + // 中 + AMONG = 2, + // 良 + GOOD = 3, + // 优 + EXCELLENT = 4, + // 极 + SUPERB = 5, + } public enum ProductionTypeEnum { // 建筑产出 @@ -442,6 +455,28 @@ namespace ET // 女 FEMALE = 2, } + public enum SeasonTapyEnum + { + // 春 + SPRING = 1, + // 夏 + SUMMER = 2, + // 秋 + AUTUMN = 3, + // 冬 + WINTER = 4, + } + public enum SeasonStageEnum + { + // 新手期 + NEWBIE = 1, + // 游戏前期 + EARLY = 2, + // 游戏中期 + MEDIUM = 3, + // 游戏后期 + LATE = 4, + } public enum SkillBuffTriggerEventEnum { // 闪避事件 diff --git a/Server/Model/Generate/Message/OuterMessage.cs b/Server/Model/Generate/Message/OuterMessage.cs index 5a35482..c317318 100644 --- a/Server/Model/Generate/Message/OuterMessage.cs +++ b/Server/Model/Generate/Message/OuterMessage.cs @@ -2501,7 +2501,7 @@ namespace ET public long id { get; set; } [ProtoMember(2)] - public int SeedCfgId { get; set; } + public int CropCfgId { get; set; } [ProtoMember(3)] public int PlantCfgId { get; set; } @@ -2515,6 +2515,9 @@ namespace ET [ProtoMember(6)] public int FarmlandState { get; set; } + [ProtoMember(7)] + public long PeopleId { get; set; } + } [ResponseType(nameof(M2C_FarmlandPlant))] @@ -2681,4 +2684,66 @@ namespace ET } + [ResponseType(nameof(M2C_GoFarmlandPlant))] + [Message(OuterOpcode.C2M_GoFarmlandPlant)] + [ProtoContract] + public partial class C2M_GoFarmlandPlant: Object, IActorLocationRequest + { + [ProtoMember(90)] + public int RpcId { get; set; } + + [ProtoMember(1)] + public long FarmlandId { get; set; } + + [ProtoMember(2)] + public long PeopleId { get; set; } + + } + + [Message(OuterOpcode.M2C_GoFarmlandPlant)] + [ProtoContract] + public partial class M2C_GoFarmlandPlant: Object, IActorLocationResponse + { + [ProtoMember(90)] + public int RpcId { get; set; } + + [ProtoMember(91)] + public int Error { get; set; } + + [ProtoMember(92)] + public string Message { get; set; } + + } + + [ResponseType(nameof(M2C_GoFarmlandHarvest))] + [Message(OuterOpcode.C2M_GoFarmlandHarvest)] + [ProtoContract] + public partial class C2M_GoFarmlandHarvest: Object, IActorLocationRequest + { + [ProtoMember(90)] + public int RpcId { get; set; } + + [ProtoMember(1)] + public long FarmlandId { get; set; } + + [ProtoMember(2)] + public long PeopleId { get; set; } + + } + + [Message(OuterOpcode.M2C_GoFarmlandHarvest)] + [ProtoContract] + public partial class M2C_GoFarmlandHarvest: Object, IActorLocationResponse + { + [ProtoMember(90)] + public int RpcId { get; set; } + + [ProtoMember(91)] + public int Error { get; set; } + + [ProtoMember(92)] + public string Message { get; set; } + + } + } diff --git a/Server/Model/Generate/Message/OuterOpcode.cs b/Server/Model/Generate/Message/OuterOpcode.cs index bb6bbe3..723aa68 100644 --- a/Server/Model/Generate/Message/OuterOpcode.cs +++ b/Server/Model/Generate/Message/OuterOpcode.cs @@ -158,5 +158,9 @@ namespace ET public const ushort M2C_ChangeBehave = 10155; public const ushort C2M_CheatItemList = 10156; public const ushort M2C_CheatItemList = 10157; + public const ushort C2M_GoFarmlandPlant = 10158; + public const ushort M2C_GoFarmlandPlant = 10159; + public const ushort C2M_GoFarmlandHarvest = 10160; + public const ushort M2C_GoFarmlandHarvest = 10161; } } diff --git a/Tools/App/Apps/ExcelExporter/ExcelExporter.cs b/Tools/App/Apps/ExcelExporter/ExcelExporter.cs index 2ba0c57..2cd9f83 100644 --- a/Tools/App/Apps/ExcelExporter/ExcelExporter.cs +++ b/Tools/App/Apps/ExcelExporter/ExcelExporter.cs @@ -764,7 +764,7 @@ namespace ET public static void ExportWorldParam() { string path = "../Excel/WorldParametersConfig.xlsx"; - string classPath = "../Unity/Codes/Hotfix/Demo/WorldParam.cs"; + string classPath = "../Unity/Codes/Model/Demo/Config/WorldParam.cs"; using Stream stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); using ExcelPackage p = new ExcelPackage(stream); var worksheet = p.Workbook.Worksheets[0]; diff --git a/Unity/Assets/Bundles/Config/LaborConfigCategory.bytes b/Unity/Assets/Bundles/Config/LaborConfigCategory.bytes new file mode 100644 index 0000000..1b61458 --- /dev/null +++ b/Unity/Assets/Bundles/Config/LaborConfigCategory.bytes @@ -0,0 +1,110 @@ + +P  +   +   +   +   +   +  +  + +    +  + + +    +     +     +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +  + +  + ! +    + " + !! + # + "" + $ + ## + % + $$ & + %% ' + && ( + '' ) + (( * + )) + + ** , + ++ - + ,, . + -- / + .. 0 + // 1 + 00 2 + 11 3 + 22 4 + 33 5 + 44 6 + 55 7 + 66 8 + 77 9 + 88 : + 99 ; + :: < + ;; = + << > + == ? + >> @ + ?? A + @@ B + AA C + BB D + CC E + DD F + EE G + FF H + GG I + HH J + II K + JJ L + KK M + LL N + MM O + NN P + OO Q + PP R + QQ S + RR T + SS U + TT V + UU W + VV X + WW Y + XX Z + YY [ + ZZ \ + [[ ] + \\ ^ + ]] _ + ^^ ` + __ a + `` b + aa c + bb d + cc e + dd f \ No newline at end of file diff --git a/Unity/Assets/Bundles/Config/LaborConfigCategory.bytes.meta b/Unity/Assets/Bundles/Config/LaborConfigCategory.bytes.meta new file mode 100644 index 0000000..cf2b8fb --- /dev/null +++ b/Unity/Assets/Bundles/Config/LaborConfigCategory.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b63b98bf16b075c40b86337825f0c45e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/Bundles/Config/LifeExpConfigCategory.bytes b/Unity/Assets/Bundles/Config/LifeExpConfigCategory.bytes new file mode 100644 index 0000000..420cf81 --- /dev/null +++ b/Unity/Assets/Bundles/Config/LifeExpConfigCategory.bytes @@ -0,0 +1,125 @@ + +d + + + + + + + +   + + + +   +   +   + + + + + + + + + + + + + + + + + + + + +   +!! +"" +## +$$ +%% +&& +'' +(( +)) +** +++! +,," +--# +..# +//$ +00% +11& +22' +33' +44( +55) +66* +77* +88+ +99, +::- +;;. +<<. +==/ +>>0 +??1 +@@2 +AA2 +BB3 +CC4 +DD5 +EE5 +FF6 +GG7 +HH8 +II9 +JJ9 +KK: +LL; +MM< +NN< +OO= +PP> +QQ? +RR@ +SS@ +TTA +UUB +VVC +WWC +XXD +YYE +ZZF +[[G +\\G +]]H +^^I +__J +``K +aaK +bbL +ccM +ddN +eeN +ffO +ggP +hhQ +iiR +jjR +kkS +llT +mmU +nnU +ooV +ppW +qqX +rrY +ssY +ttZ +uu[ +vv\ +ww\ +xx] \ No newline at end of file diff --git a/Unity/Assets/Bundles/Config/LifeExpConfigCategory.bytes.meta b/Unity/Assets/Bundles/Config/LifeExpConfigCategory.bytes.meta new file mode 100644 index 0000000..692b0c6 --- /dev/null +++ b/Unity/Assets/Bundles/Config/LifeExpConfigCategory.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4f92e02fad134e543b8f05c61ba303c4 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/Bundles/Config/PhysiqueConfigCategory.bytes b/Unity/Assets/Bundles/Config/PhysiqueConfigCategory.bytes new file mode 100644 index 0000000..d0a24b6 --- /dev/null +++ b/Unity/Assets/Bundles/Config/PhysiqueConfigCategory.bytes @@ -0,0 +1,19 @@ + +< (028 @.H0P + (028 @4H.P + (028 @:H,P + (30<8@@H*P +: (30<8@FH(P +e (30<8@LH&P + (=0K8@RH$P + (=0K8@XH"P +   (=0K8@^H P + + + (L0Y8@dHP +   (L0Y8@jHP +   (L0Y8@pHP +   (Z0x8@vHP + + (Z0x8@|HP! + (Z0x8@HP# \ No newline at end of file diff --git a/Unity/Assets/Bundles/Config/PhysiqueConfigCategory.bytes.meta b/Unity/Assets/Bundles/Config/PhysiqueConfigCategory.bytes.meta new file mode 100644 index 0000000..cc0d885 --- /dev/null +++ b/Unity/Assets/Bundles/Config/PhysiqueConfigCategory.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 50752de22dc86684986e3f2658d56cab +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/Bundles/Config/SeasonConfigCategory.bytes b/Unity/Assets/Bundles/Config/SeasonConfigCategory.bytes index cf65c186913a40f9334a47ae3439ff66547939b2..5c1f1001d8edcee5b1dd509d3baabaf58b95fde5 100644 GIT binary patch literal 485 zcmajbEe--P5Qbse>Fy5YM{HKC0usa`D@Rr%ITRs5kf1mK1j7+foPrAg2FU^F>}CoG zAhmD4c~Uz>mBV$jE7eF%(5;O-^+=KS)~ji2*0Mv?66hFcO1+K&0dC6+ z@D`XHZu?~kb#OLr(XUUu7Lu?qKa{2pj)}YXNmCXVDon)y(GZZ7QO6H_5wJ;(tuPY{ zhm8fuP)f;1I7So`htWhftQB#sEiR54m!ft!i^0aP`J)Q0_{<+)M|>Rq@^!_>;WuAT Jd>noCJpnvETIm1) literal 115 zcmd-Qb5mt;XSMxZ@|I;bd4Ba diff --git a/Unity/Assets/Bundles/Config/WeatherConfigCategory.bytes b/Unity/Assets/Bundles/Config/WeatherConfigCategory.bytes new file mode 100644 index 0000000000000000000000000000000000000000..a92554065467ad1142324cd31bb0c00ed16a4a6f GIT binary patch literal 422 zcmZXQF-ycS7>1kVQezwrN)IxXJ8;Mt)FI=|PMICWKXM?74%SmRq^$^gpq_#qJkAq; zfWN}6f$UCBeyv4HZ_bnVeZH3u7z+GidhhPe#3zziQ_Y8XNOnELO?S`R_xONeK=Rn7 z58?+&q>v7ER6|~kkifUeYl%E#Nfg#xhb^QN_%2D$|j>wbdi2@E69hSrz`vRD9#B0Tl%179I>^4xO4{ZRne*ot957Mn@Fzcipw@z2bY%%J0F!T zodysZ2}cJmiEZ|7ug5kYyW6QfoxoBYK4rPfj{7h}qn}1@^;Dq literal 0 HcmV?d00001 diff --git a/Unity/Assets/Bundles/Config/WeatherConfigCategory.bytes.meta b/Unity/Assets/Bundles/Config/WeatherConfigCategory.bytes.meta new file mode 100644 index 0000000..1b79e82 --- /dev/null +++ b/Unity/Assets/Bundles/Config/WeatherConfigCategory.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9210e21415f53b544836dab71d0c7263 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Codes/Hotfix/Demo/Farmland/FarmlandSystem.cs b/Unity/Codes/Hotfix/Demo/Farmland/FarmlandSystem.cs index d8c419b..543c945 100644 --- a/Unity/Codes/Hotfix/Demo/Farmland/FarmlandSystem.cs +++ b/Unity/Codes/Hotfix/Demo/Farmland/FarmlandSystem.cs @@ -29,22 +29,25 @@ public static void FromMessage(this Farmland self, FarmlandProto farmlandProto) { self.Id = farmlandProto.id; - self.CropCfgId = farmlandProto.SeedCfgId; + self.CropCfgId = farmlandProto.CropCfgId; self.Duration = farmlandProto.Duration; self.ExProduct = farmlandProto.ExProduct; self.PlanCropCfgId = farmlandProto.PlantCfgId; self.FarmlandState = farmlandProto.FarmlandState; + self.PeopleId = farmlandProto.PeopleId; } public static FarmlandProto ToMessage(this Farmland self) { FarmlandProto proto = new FarmlandProto(); proto.id = self.Id; - proto.SeedCfgId = self.CropCfgId; + proto.CropCfgId = self.CropCfgId; proto.Duration = self.Duration; proto.ExProduct = self.ExProduct; proto.PlantCfgId = self.PlanCropCfgId; proto.FarmlandState = self.FarmlandState; + proto.PeopleId = self.PeopleId; + return proto; } @@ -53,6 +56,7 @@ self.Duration = 0; self.FarmlandState = FarmlandState.FARMLAND_STATE_GROW; self.ExProduct = 0; + self.PeopleId = 0; } @@ -75,6 +79,7 @@ self.CropCfgId = 0; self.ExProduct = 0; self.FarmlandState = FarmlandState.FARMLAND_STATE_FREE; + self.PeopleId = 0; } diff --git a/Unity/Codes/Hotfix/Demo/Helper/FarmlandHelper.cs b/Unity/Codes/Hotfix/Demo/Helper/FarmlandHelper.cs index 631da26..563aa41 100644 --- a/Unity/Codes/Hotfix/Demo/Helper/FarmlandHelper.cs +++ b/Unity/Codes/Hotfix/Demo/Helper/FarmlandHelper.cs @@ -28,8 +28,13 @@ namespace ET throw; } } + + public static async ETTask GoFarmlandPlant(Unit unit,People people,long farmlandId) + { + return await PeopleHelper.ChangeBehave(unit, people, farmlandId, ConstBehaveType.BEHAVE_PREPARE_PLANT); + } - public static async ETTask FarmlandPlant(Unit unit, Farmland farmland,People people) + public static async ETTask StartFarmlandPlant(Unit unit, Farmland farmland,People people) { try { @@ -52,7 +57,15 @@ namespace ET throw; } } - + public static async ETTask FinishFarmlandPlant(Unit unit,People people) + { + return await PeopleHelper.ChangeBehave(unit, people, 0, ConstBehaveType.BEHAVE_IDLE); + } + + public static async ETTask GoFarmlandHarvest(Unit unit,People people) + { + return await PeopleHelper.ChangeBehave(unit, people, 0, ConstBehaveType.BEHAVE_PREPARE_HARVEST); + } public static async ETTask FarmlandHarvest(Unit unit, Farmland farmland,People people) { try @@ -77,15 +90,14 @@ namespace ET } } - public static async ETTask FarmlandPlantFinish(Unit unit,People people) - { - return await PeopleHelper.ChangeBehave(unit, people, 0, ConstBehaveType.BEHAVE_IDLE); - } + - public static async ETTask FarmlandHarvestFinish(Unit unit,People people) + public static async ETTask FinishFarmlandHarvest(Unit unit,People people) { return await PeopleHelper.ChangeBehave(unit, people, 0, ConstBehaveType.BEHAVE_IDLE); } + + diff --git a/Unity/Codes/Hotfix/Demo/Operate/FarmlandOperate.cs b/Unity/Codes/Hotfix/Demo/Operate/FarmlandOperate.cs index 933237a..6919ae6 100644 --- a/Unity/Codes/Hotfix/Demo/Operate/FarmlandOperate.cs +++ b/Unity/Codes/Hotfix/Demo/Operate/FarmlandOperate.cs @@ -6,6 +6,19 @@ namespace ET [FriendClass(typeof (Farmland))] public static class FarmlandOperate { + public static int GoPlant(Unit unit, Farmland farmland, People people) + { + if (farmland.FarmlandState != FarmlandState.FARMLAND_STATE_SEED) + { + return ErrorCode.ERR_FarmlandNotSeed; + } + + PeopleOperate.StopBehave(unit, people); + people.SetBehaveType(ConstBehaveType.BEHAVE_PREPARE_PLANT); + people.SetTargetId(farmland.Id); + farmland.PeopleId = people.Id; + return ErrorCode.ERR_Success; + } public static int Plant(Unit unit, Farmland farmland,People people) { @@ -14,11 +27,24 @@ namespace ET return ErrorCode.ERR_FarmlandNotFree; } farmland.Plant(); - PeopleOperate.ChangeBehave(unit,people, farmland.Id, ConstBehaveType.BEHAVE_PLANT); + PeopleOperate.ChangeBehave(unit,people, farmland.Id, ConstBehaveType.BEHAVE_IDLE); return ErrorCode.ERR_Success; } + + public static int GoHarvest(Unit unit, Farmland farmland, People people) + { + if (farmland.FarmlandState != FarmlandState.FARMLAND_STATE_SEED) + { + return ErrorCode.ERR_FarmlandNotSeed; + } + PeopleOperate.StopBehave(unit, people); + people.SetBehaveType(ConstBehaveType.BEHAVE_PREPARE_HARVEST); + people.SetTargetId(farmland.Id); + farmland.PeopleId = people.Id; + return ErrorCode.ERR_Success; + } public static int Harvest(Unit unit, Farmland farmland,People people) { @@ -35,7 +61,7 @@ namespace ET farmland.Harvest(); return ErrorCode.ERR_Success; } - PeopleOperate.ChangeBehave(unit,people, farmland.Id, ConstBehaveType.BEHAVE_HARVEST); + PeopleOperate.ChangeBehave(unit,people, farmland.Id, ConstBehaveType.BEHAVE_IDLE); return ErrorCode.ERR_FarmlandNotRipe; diff --git a/Unity/Codes/Hotfix/Demo/People/PeopleSystem.cs b/Unity/Codes/Hotfix/Demo/People/PeopleSystem.cs index aa90b09..29336fa 100644 --- a/Unity/Codes/Hotfix/Demo/People/PeopleSystem.cs +++ b/Unity/Codes/Hotfix/Demo/People/PeopleSystem.cs @@ -2,16 +2,15 @@ namespace ET { - public class PeopleAwakeSystem: AwakeSystem + public class PeopleAwakeSystem: AwakeSystem { - public override void Awake(People self,int configId) + public override void Awake(People self, int configId) { self.ConfigId = configId; } - - } - - [FriendClass(typeof(People))] + } + + [FriendClass(typeof (People))] public static class PeopleSystem { public static void FromMessage(this People self, PeopleProto peopleProto) @@ -63,16 +62,16 @@ namespace ET peopleProto.SkillList.Add(skill.ToMessage()); } } - return peopleProto; + return peopleProto; } - + public static int GetStrength(this People self) { var numericComp = self.GetComponent(); return numericComp.GetAsInt(NumericType.Strength); } - + public static int GetGender(this People self) { var numericComp = self.GetComponent(); @@ -84,21 +83,22 @@ namespace ET return self.BehaveType; } - public static void SetBehaveType(this People self,int val) + public static void SetBehaveType(this People self, int val) { - self.BehaveType = val; + self.BehaveType = val; #if !SERVER - Game.EventSystem.Publish(new EventType.BehaveTypeChanged(){People = self}); + Game.EventSystem.Publish(new EventType.BehaveTypeChanged() { People = self }); #endif } + public static long GetTargetId(this People self) { return self.TargetId; } - + public static void SetTargetId(this People self, long val) { - self.TargetId = val; + self.TargetId = val; } public static int GetHp(this People self) @@ -122,22 +122,21 @@ namespace ET public static void InitNumericComponent(this People self) { var nc = self.AddComponent(); - nc.Set(NumericType.PeopleType,self.Config.Type); - nc.Set(NumericType.Gender,self.Config.Gender); - nc.Set(NumericType.Age,self.Age); - nc.Set(NumericType.Labor,self.Config.Labor); - nc.Set(NumericType.Wisdom,self.Config.Wisdom); - nc.Set(NumericType.MoveSpeed,self.Config.MoveSpeed); - + nc.Set(NumericType.PeopleType, self.Config.Type); + nc.Set(NumericType.Gender, self.Config.Gender); + nc.Set(NumericType.Age, self.Age); + nc.Set(NumericType.Labor, self.Config.Labor); + nc.Set(NumericType.Wisdom, self.Config.Wisdom); + nc.Set(NumericType.MoveSpeed, self.Config.MoveSpeed); + if (self.AttriConfig != null) { - nc.Set(NumericType.Domination,self.AttriConfig.Domination); - nc.Set(NumericType.Strength,self.AttriConfig.Strength); - nc.Set(NumericType.Endurance,self.AttriConfig.Endurance); - nc.Set(NumericType.Agile,self.AttriConfig.Agile); - nc.Set(NumericType.SpiritualPower,self.AttriConfig.SpiritualPower); + nc.Set(NumericType.Domination, self.AttriConfig.Domination); + nc.Set(NumericType.Strength, self.AttriConfig.Strength); + nc.Set(NumericType.Endurance, self.AttriConfig.Endurance); + nc.Set(NumericType.Agile, self.AttriConfig.Agile); + nc.Set(NumericType.SpiritualPower, self.AttriConfig.SpiritualPower); } - } public static int GetLabor(this People self) @@ -153,36 +152,178 @@ namespace ET int laborCoefficientBuild = WorldParametersConfigCategory.Instance.Get(WorldParam.LaborCoefficientBuild).Value[0]; return labor * laborCoefficientBuild; } - + //农民类型才会成长,年龄增加 public static void GrowUp(this People self) { - if (self.PeopleType != (int)RoleTypeEnum.VILLAGERS) + if (self.PeopleType != (int) RoleTypeEnum.VILLAGERS) { return; } self.Age += 1; + } + + //返回true表示死亡 + public static bool CheckPeopleDie(this People self) + { + if (self.PeopleType == (int) RoleTypeEnum.VILLAGERS && self.Age >= self.AgeMax) + { + return true; + } + return false; } //增加体质经验 public static void AddPhysiqueExp(this People self, int exp) { - + if (self.PeopleType != (int) RoleTypeEnum.VILLAGERS) + { + return; + } + + self.PhysiqueExp += exp; + var config = PhysiqueConfigCategory.Instance.Get(self.Physique); + if (self.PhysiqueExp < 0) + { + self.PhysiqueExp = 0; + } + + if (self.PhysiqueExp >= config.Exp) + { + self.Physique += 1; + self.PhysiqueExp -= config.Exp; + } } - + //增加寿命经验 public static void AddLifeExp(this People self, int exp) { - + if (self.PeopleType != (int) RoleTypeEnum.VILLAGERS) + { + return; + } + + self.AgeExp += exp; + var configList = LifeExpConfigCategory.Instance.GetList(); + var phyConfig = PhysiqueConfigCategory.Instance.Get(self.Physique); + int ageMax = 0; + foreach (var v in configList) + { + if (self.AgeExp < v.LifeExp) + { + ageMax = v.Life; + break; + } + } + + if (ageMax > phyConfig.LifeMax) + { + ageMax = phyConfig.LifeMax; + } + + self.AgeMax = ageMax; + var lifeConfig = LifeExpConfigCategory.Instance.Get(self.AgeMax); + if (self.AgeExp > lifeConfig.LifeExp) + { + self.AgeExp = lifeConfig.LifeExp; + } } + //增加劳力经验 public static void AddLaborExp(this People self, int exp) { - + if (self.PeopleType != (int) RoleTypeEnum.VILLAGERS) + { + return; + } + + self.LaborExp += exp; + var config = LaborConfigCategory.Instance.Get(self.Labor); + while (self.LaborExp > config.LaborExp) + { + var stageLabor = self.GetAgeStageLaborMax(); + if (self.Labor >= stageLabor) + { + self.Labor = stageLabor; + config = LaborConfigCategory.Instance.Get(self.Labor); + if (self.LaborExp > config.LaborExp) + { + self.LaborExp = config.LaborExp; + return; + } + } + + self.LaborExp -= config.LaborExp; + self.Labor++; + config = LaborConfigCategory.Instance.Get(self.Labor); + } + } + + public static int GetAgeStageLaborMax(this People self) + { + var ageStageList = AgeStageConfigCategory.Instance.GetList(); + foreach (var v in ageStageList) + { + if (self.Age < v.EndAge) + { + return v.LaborMax; + } + } + + return 1; + } + + //每分钟更新体质经验 + public static void UpdatePhysiqueExp(this People self, int food) + { + var exp = (int)(-1*self.Disease/5); + if (food < 0) + { + exp += food * 40; + } + self.AddPhysiqueExp(exp); } + + //疾病影响经验 + public static void UpdateLifeExp(this People self) + { + var injuryLv = 0; + var diseaseLv = 0; + int exp = 0; + var configs = DiseaseConfigCategory.Instance.GetList(); + foreach (var v in configs) + { + if (v.Type == (int) (DiseaseTypeEnum.INJURY)) + { + if (self.Injury > v.Min) + { + injuryLv = v.Level; + } + } + if (v.Type == (int) (DiseaseTypeEnum.ILLNESS)) + { + if (self.Disease > v.Min) + { + diseaseLv = v.Level; + } + } + + } + if (injuryLv > 2) + { + exp += -1 * self.Injury * 5; + } + if (diseaseLv > 2) + { + exp += -1 * self.Disease * 5; + } + self.AddLifeExp(exp); + } + + } -} +} \ No newline at end of file diff --git a/Unity/Codes/Hotfix/Demo/Unit/UnitSystem.cs b/Unity/Codes/Hotfix/Demo/Unit/UnitSystem.cs index 3335395..af7f662 100644 --- a/Unity/Codes/Hotfix/Demo/Unit/UnitSystem.cs +++ b/Unity/Codes/Hotfix/Demo/Unit/UnitSystem.cs @@ -109,6 +109,11 @@ namespace ET } self.GameTime = time; + if (gameTime>self.GameTime) + { + //每天长大一岁 + self.AddAge(); + } } } @@ -160,8 +165,7 @@ namespace ET #if SERVER UnitHelper.NofityUpdateValley(self, new List { NumericType.Season }, new List { self.Season }); #endif - - //如果是春天,长大一岁 + } public static void SetEmbattle(this Unit self, Dictionary FighterDic) diff --git a/Unity/Codes/Model/Demo/ConstValue.cs b/Unity/Codes/Model/Demo/ConstValue.cs index f6c9f60..a190171 100644 --- a/Unity/Codes/Model/Demo/ConstValue.cs +++ b/Unity/Codes/Model/Demo/ConstValue.cs @@ -32,9 +32,7 @@ namespace ET public const int BEHAVE_PREPARE_CONSTRUCT = 3; //去建造 public const int BEHAVE_CONSTRUCT = 4; //建造 public const int BEHAVE_PREPARE_PLANT = 5; //去种植 - public const int BEHAVE_PLANT = 6; //正在种植 - public const int BEHAVE_PREPARE_HARVEST = 7;//去收割 - public const int BEHAVE_HARVEST = 8;//收割 + public const int BEHAVE_PREPARE_HARVEST = 6;//去收割 } @@ -127,10 +125,8 @@ namespace ET public static class FarmlandState { public const int FARMLAND_STATE_FREE = 1;//空闲 - public const int FARMLAND_STATE_SEED = 2; //已经播种 - public const int FARMLAND_STATE_PLANT = 3; //种植 - public const int FARMLAND_STATE_GROW = 4; //生长 - public const int FARMLAND_STATE_RIPE = 5; //成熟 - public const int FARMLAND_STATE_HARVEST = 6;//收割 + public const int FARMLAND_STATE_SEED = 2; //播种 + public const int FARMLAND_STATE_GROW = 3; //生长 + public const int FARMLAND_STATE_RIPE = 4; //成熟 } } \ No newline at end of file diff --git a/Unity/Codes/Model/Demo/Farmland/Farmland.cs b/Unity/Codes/Model/Demo/Farmland/Farmland.cs index bd050f9..422ce14 100644 --- a/Unity/Codes/Model/Demo/Farmland/Farmland.cs +++ b/Unity/Codes/Model/Demo/Farmland/Farmland.cs @@ -10,6 +10,7 @@ namespace ET public int ExProduct; //额外产量 public int FarmlandState; //农田状态 public int PlanCropCfgId; //计划种植的东西 + public long PeopleId; //农民id [BsonIgnore] public CropConfig Config =>CropConfigCategory.Instance.Get(this.CropCfgId); diff --git a/Unity/Codes/Model/Demo/People/People.cs b/Unity/Codes/Model/Demo/People/People.cs index 546d6b7..09a5e83 100644 --- a/Unity/Codes/Model/Demo/People/People.cs +++ b/Unity/Codes/Model/Demo/People/People.cs @@ -27,9 +27,11 @@ namespace ET public int Disease; //疾病值 public int PeopleType; //主角,伙伴,村民 public int Gender; //性别 - public int Life; //生命 + public int AgeMax; //寿命上限 + public int AgeExp; public int Wisdom; //智慧 public int MoveSpeed; //移动速度 + public int Injury; //外伤 diff --git a/Unity/Codes/Model/Demo/Unit/Unit.cs b/Unity/Codes/Model/Demo/Unit/Unit.cs index 8adf0e4..ef9322b 100644 --- a/Unity/Codes/Model/Demo/Unit/Unit.cs +++ b/Unity/Codes/Model/Demo/Unit/Unit.cs @@ -51,6 +51,7 @@ namespace ET public string Name; public int EventSeed; public List EventNames; + public int Hunger; //饥饿值 [BsonDictionaryOptions(DictionaryRepresentation.ArrayOfArrays)] diff --git a/Unity/Codes/Model/Generate/Config/LaborConfig.cs b/Unity/Codes/Model/Generate/Config/LaborConfig.cs new file mode 100644 index 0000000..0e386ca --- /dev/null +++ b/Unity/Codes/Model/Generate/Config/LaborConfig.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using MongoDB.Bson.Serialization.Attributes; +using ProtoBuf; + +namespace ET +{ + [ProtoContract] + [Config] + public partial class LaborConfigCategory : ProtoObject, IMerge + { + public static LaborConfigCategory Instance; + + [ProtoIgnore] + [BsonIgnore] + private Dictionary dict = new Dictionary(); + + [BsonElement] + [ProtoMember(1)] + private List list = new List(); + + public LaborConfigCategory() + { + Instance = this; + } + + public void Merge(object o) + { + LaborConfigCategory s = o as LaborConfigCategory; + this.list.AddRange(s.list); + } + + public override void EndInit() + { + foreach (LaborConfig config in list) + { + config.EndInit(); + this.dict.Add(config.Id, config); + } + this.AfterEndInit(); + } + + public LaborConfig Get(int id) + { + this.dict.TryGetValue(id, out LaborConfig item); + + if (item == null) + { + throw new Exception($"配置找不到,配置表名: {nameof (LaborConfig)},配置id: {id}"); + } + + return item; + } + + public bool Contain(int id) + { + return this.dict.ContainsKey(id); + } + + public Dictionary GetAll() + { + return this.dict; + } + + public List GetList() + { + return this.list; + } + + public LaborConfig GetOne() + { + if (this.dict == null || this.dict.Count <= 0) + { + return null; + } + return this.dict.Values.GetEnumerator().Current; + } + } + + [ProtoContract] + public partial class LaborConfig: ProtoObject, IConfig + { + /// 编号 + [ProtoMember(1)] + public int Id { get; set; } + /// 劳力值 + [ProtoMember(2)] + public int Labor { get; set; } + /// 劳力经验 + [ProtoMember(3)] + public int LaborExp { get; set; } + /// 劳作收益系数 + [ProtoMember(4)] + public int IncomeCoefficient { get; set; } + + } +} diff --git a/Unity/Codes/Model/Generate/Config/LifeExpConfig.cs b/Unity/Codes/Model/Generate/Config/LifeExpConfig.cs new file mode 100644 index 0000000..dbc4c74 --- /dev/null +++ b/Unity/Codes/Model/Generate/Config/LifeExpConfig.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using MongoDB.Bson.Serialization.Attributes; +using ProtoBuf; + +namespace ET +{ + [ProtoContract] + [Config] + public partial class LifeExpConfigCategory : ProtoObject, IMerge + { + public static LifeExpConfigCategory Instance; + + [ProtoIgnore] + [BsonIgnore] + private Dictionary dict = new Dictionary(); + + [BsonElement] + [ProtoMember(1)] + private List list = new List(); + + public LifeExpConfigCategory() + { + Instance = this; + } + + public void Merge(object o) + { + LifeExpConfigCategory s = o as LifeExpConfigCategory; + this.list.AddRange(s.list); + } + + public override void EndInit() + { + foreach (LifeExpConfig config in list) + { + config.EndInit(); + this.dict.Add(config.Id, config); + } + this.AfterEndInit(); + } + + public LifeExpConfig Get(int id) + { + this.dict.TryGetValue(id, out LifeExpConfig item); + + if (item == null) + { + throw new Exception($"配置找不到,配置表名: {nameof (LifeExpConfig)},配置id: {id}"); + } + + return item; + } + + public bool Contain(int id) + { + return this.dict.ContainsKey(id); + } + + public Dictionary GetAll() + { + return this.dict; + } + + public List GetList() + { + return this.list; + } + + public LifeExpConfig GetOne() + { + if (this.dict == null || this.dict.Count <= 0) + { + return null; + } + return this.dict.Values.GetEnumerator().Current; + } + } + + [ProtoContract] + public partial class LifeExpConfig: ProtoObject, IConfig + { + /// 编号 + [ProtoMember(1)] + public int Id { get; set; } + /// 寿命 + [ProtoMember(2)] + public int Life { get; set; } + /// 寿命经验 + [ProtoMember(3)] + public int LifeExp { get; set; } + + } +} diff --git a/Unity/Codes/Model/Generate/Config/PhysiqueConfig.cs b/Unity/Codes/Model/Generate/Config/PhysiqueConfig.cs new file mode 100644 index 0000000..e85d21e --- /dev/null +++ b/Unity/Codes/Model/Generate/Config/PhysiqueConfig.cs @@ -0,0 +1,115 @@ +using System; +using System.Collections.Generic; +using MongoDB.Bson.Serialization.Attributes; +using ProtoBuf; + +namespace ET +{ + [ProtoContract] + [Config] + public partial class PhysiqueConfigCategory : ProtoObject, IMerge + { + public static PhysiqueConfigCategory Instance; + + [ProtoIgnore] + [BsonIgnore] + private Dictionary dict = new Dictionary(); + + [BsonElement] + [ProtoMember(1)] + private List list = new List(); + + public PhysiqueConfigCategory() + { + Instance = this; + } + + public void Merge(object o) + { + PhysiqueConfigCategory s = o as PhysiqueConfigCategory; + this.list.AddRange(s.list); + } + + public override void EndInit() + { + foreach (PhysiqueConfig config in list) + { + config.EndInit(); + this.dict.Add(config.Id, config); + } + this.AfterEndInit(); + } + + public PhysiqueConfig Get(int id) + { + this.dict.TryGetValue(id, out PhysiqueConfig item); + + if (item == null) + { + throw new Exception($"配置找不到,配置表名: {nameof (PhysiqueConfig)},配置id: {id}"); + } + + return item; + } + + public bool Contain(int id) + { + return this.dict.ContainsKey(id); + } + + public Dictionary GetAll() + { + return this.dict; + } + + public List GetList() + { + return this.list; + } + + public PhysiqueConfig GetOne() + { + if (this.dict == null || this.dict.Count <= 0) + { + return null; + } + return this.dict.Values.GetEnumerator().Current; + } + } + + [ProtoContract] + public partial class PhysiqueConfig: ProtoObject, IConfig + { + /// 编号 + [ProtoMember(1)] + public int Id { get; set; } + /// 体质等级 + [ProtoMember(2)] + public int Lv { get; set; } + /// 体质经验 + [ProtoMember(3)] + public int Exp { get; set; } + /// 体质段 + [ProtoMember(4)] + public int Section { get; set; } + /// 最低寿命 + [ProtoMember(5)] + public int LifeMin { get; set; } + /// 最高寿命 + [ProtoMember(6)] + public int LifeMax { get; set; } + /// 劳力经验系数 + [ProtoMember(7)] + public int LaborExpCoefficient { get; set; } + /// 伤疾恢复 + [ProtoMember(8)] + public int DiseaseRecovery { get; set; } + /// 伤疾加重 + [ProtoMember(9)] + public int DiseaseWorsen { get; set; } + /// 伤病减免 + [ProtoMember(10)] + public int DiseaseRelief { get; set; } + + } +} diff --git a/Unity/Codes/Model/Generate/Config/SeasonConfig.cs b/Unity/Codes/Model/Generate/Config/SeasonConfig.cs index d9becc4..46631b9 100644 --- a/Unity/Codes/Model/Generate/Config/SeasonConfig.cs +++ b/Unity/Codes/Model/Generate/Config/SeasonConfig.cs @@ -86,20 +86,29 @@ namespace ET /// 季节名称 [ProtoMember(2)] public string Name { get; set; } - /// 类型 + /// 季节类型 [ProtoMember(3)] - public int Type { get; set; } - /// 时长 + public int Tapy { get; set; } + /// 游戏阶段 [ProtoMember(4)] + public int Stage { get; set; } + /// 时长 + [ProtoMember(5)] public int Duration { get; set; } /// 每日起止时间 - [ProtoMember(5)] + [ProtoMember(6)] public int[] DayTime { get; set; } + /// 季节天气组 + [ProtoMember(7)] + public int[] WeatherGroup { get; set; } + /// 天气权重 + [ProtoMember(8)] + public int[] Weights { get; set; } /// 季节描述 - [ProtoMember(6)] + [ProtoMember(9)] public string Description { get; set; } /// 季节图片 - [ProtoMember(7)] + [ProtoMember(10)] public string Picture { get; set; } } diff --git a/Unity/Codes/Model/Generate/Config/WeatherConfig.cs b/Unity/Codes/Model/Generate/Config/WeatherConfig.cs new file mode 100644 index 0000000..a962316 --- /dev/null +++ b/Unity/Codes/Model/Generate/Config/WeatherConfig.cs @@ -0,0 +1,121 @@ +using System; +using System.Collections.Generic; +using MongoDB.Bson.Serialization.Attributes; +using ProtoBuf; + +namespace ET +{ + [ProtoContract] + [Config] + public partial class WeatherConfigCategory : ProtoObject, IMerge + { + public static WeatherConfigCategory Instance; + + [ProtoIgnore] + [BsonIgnore] + private Dictionary dict = new Dictionary(); + + [BsonElement] + [ProtoMember(1)] + private List list = new List(); + + public WeatherConfigCategory() + { + Instance = this; + } + + public void Merge(object o) + { + WeatherConfigCategory s = o as WeatherConfigCategory; + this.list.AddRange(s.list); + } + + public override void EndInit() + { + foreach (WeatherConfig config in list) + { + config.EndInit(); + this.dict.Add(config.Id, config); + } + this.AfterEndInit(); + } + + public WeatherConfig Get(int id) + { + this.dict.TryGetValue(id, out WeatherConfig item); + + if (item == null) + { + throw new Exception($"配置找不到,配置表名: {nameof (WeatherConfig)},配置id: {id}"); + } + + return item; + } + + public bool Contain(int id) + { + return this.dict.ContainsKey(id); + } + + public Dictionary GetAll() + { + return this.dict; + } + + public List GetList() + { + return this.list; + } + + public WeatherConfig GetOne() + { + if (this.dict == null || this.dict.Count <= 0) + { + return null; + } + return this.dict.Values.GetEnumerator().Current; + } + } + + [ProtoContract] + public partial class WeatherConfig: ProtoObject, IConfig + { + /// 编号 + [ProtoMember(1)] + public int Id { get; set; } + /// 天气名称 + [ProtoMember(2)] + public string Name { get; set; } + /// 疾病值 + [ProtoMember(3)] + public int Disease { get; set; } + /// 外伤值 + [ProtoMember(4)] + public int Injury { get; set; } + /// 耐久破坏 + [ProtoMember(5)] + public int DurableDestroy { get; set; } + /// 劳力变化 + [ProtoMember(6)] + public int LaborVariety { get; set; } + /// 持续时长 + [ProtoMember(7)] + public int[] Duration { get; set; } + /// 天气CD + [ProtoMember(8)] + public int[] CD { get; set; } + /// 天气特效 + [ProtoMember(9)] + public string WeaterEffect { get; set; } + /// 特效间隔 + [ProtoMember(10)] + public int[] SpecialEfficacyCD { get; set; } + /// 天气图标 + [ProtoMember(11)] + public string ICON { get; set; } + /// 描述 + [ProtoMember(12)] + public string Describe { get; set; } + + } +} diff --git a/Unity/Codes/Model/Generate/ConfigEnum.cs b/Unity/Codes/Model/Generate/ConfigEnum.cs index dd72f25..ceff869 100644 --- a/Unity/Codes/Model/Generate/ConfigEnum.cs +++ b/Unity/Codes/Model/Generate/ConfigEnum.cs @@ -356,6 +356,19 @@ namespace ET // 月圆夜刷新 FULLMOON = 3, } + public enum PhysiqueSectionEnum + { + // 差 + POOR = 1, + // 中 + AMONG = 2, + // 良 + GOOD = 3, + // 优 + EXCELLENT = 4, + // 极 + SUPERB = 5, + } public enum ProductionTypeEnum { // 建筑产出 @@ -442,6 +455,28 @@ namespace ET // 女 FEMALE = 2, } + public enum SeasonTapyEnum + { + // 春 + SPRING = 1, + // 夏 + SUMMER = 2, + // 秋 + AUTUMN = 3, + // 冬 + WINTER = 4, + } + public enum SeasonStageEnum + { + // 新手期 + NEWBIE = 1, + // 游戏前期 + EARLY = 2, + // 游戏中期 + MEDIUM = 3, + // 游戏后期 + LATE = 4, + } public enum SkillBuffTriggerEventEnum { // 闪避事件 diff --git a/Unity/Codes/Model/Generate/Message/OuterMessage.cs b/Unity/Codes/Model/Generate/Message/OuterMessage.cs index 5a35482..c317318 100644 --- a/Unity/Codes/Model/Generate/Message/OuterMessage.cs +++ b/Unity/Codes/Model/Generate/Message/OuterMessage.cs @@ -2501,7 +2501,7 @@ namespace ET public long id { get; set; } [ProtoMember(2)] - public int SeedCfgId { get; set; } + public int CropCfgId { get; set; } [ProtoMember(3)] public int PlantCfgId { get; set; } @@ -2515,6 +2515,9 @@ namespace ET [ProtoMember(6)] public int FarmlandState { get; set; } + [ProtoMember(7)] + public long PeopleId { get; set; } + } [ResponseType(nameof(M2C_FarmlandPlant))] @@ -2681,4 +2684,66 @@ namespace ET } + [ResponseType(nameof(M2C_GoFarmlandPlant))] + [Message(OuterOpcode.C2M_GoFarmlandPlant)] + [ProtoContract] + public partial class C2M_GoFarmlandPlant: Object, IActorLocationRequest + { + [ProtoMember(90)] + public int RpcId { get; set; } + + [ProtoMember(1)] + public long FarmlandId { get; set; } + + [ProtoMember(2)] + public long PeopleId { get; set; } + + } + + [Message(OuterOpcode.M2C_GoFarmlandPlant)] + [ProtoContract] + public partial class M2C_GoFarmlandPlant: Object, IActorLocationResponse + { + [ProtoMember(90)] + public int RpcId { get; set; } + + [ProtoMember(91)] + public int Error { get; set; } + + [ProtoMember(92)] + public string Message { get; set; } + + } + + [ResponseType(nameof(M2C_GoFarmlandHarvest))] + [Message(OuterOpcode.C2M_GoFarmlandHarvest)] + [ProtoContract] + public partial class C2M_GoFarmlandHarvest: Object, IActorLocationRequest + { + [ProtoMember(90)] + public int RpcId { get; set; } + + [ProtoMember(1)] + public long FarmlandId { get; set; } + + [ProtoMember(2)] + public long PeopleId { get; set; } + + } + + [Message(OuterOpcode.M2C_GoFarmlandHarvest)] + [ProtoContract] + public partial class M2C_GoFarmlandHarvest: Object, IActorLocationResponse + { + [ProtoMember(90)] + public int RpcId { get; set; } + + [ProtoMember(91)] + public int Error { get; set; } + + [ProtoMember(92)] + public string Message { get; set; } + + } + } diff --git a/Unity/Codes/Model/Generate/Message/OuterOpcode.cs b/Unity/Codes/Model/Generate/Message/OuterOpcode.cs index bb6bbe3..723aa68 100644 --- a/Unity/Codes/Model/Generate/Message/OuterOpcode.cs +++ b/Unity/Codes/Model/Generate/Message/OuterOpcode.cs @@ -158,5 +158,9 @@ namespace ET public const ushort M2C_ChangeBehave = 10155; public const ushort C2M_CheatItemList = 10156; public const ushort M2C_CheatItemList = 10157; + public const ushort C2M_GoFarmlandPlant = 10158; + public const ushort M2C_GoFarmlandPlant = 10159; + public const ushort C2M_GoFarmlandHarvest = 10160; + public const ushort M2C_GoFarmlandHarvest = 10161; } }