농장 수확하기

This commit is contained in:
Ino 2025-07-26 01:13:54 +09:00
parent f99d2e31ca
commit aacba4f2f6
3 changed files with 53 additions and 31 deletions

View File

@ -2460,16 +2460,17 @@ handlers.Save_Farm_Harvest = function(args)
if (error < 0) return Get_Return(error); if (error < 0) return Get_Return(error);
var urod = Get_JsonUserData(readonlydata); var urod = Get_JsonUserData(readonlydata);
var curSlot = urod.Farm.Slot.find(f => f.Slot === args.Slot); var curSlot = urod.Farm.Slot.find(f => f.Slot == args.Slot);
if (!curSlot || (curSlot.Grade <= 0 && curSlot.EnchantID <= 0)) return Get_Return(1); if (curSlot.Grade <= 0 || curSlot.EnchantID <= 0) return Get_Return(1);
var slotTime = new Date(curSlot.Time); var slotTime = new Date(curSlot.Time);
if (slotTime - Get_CurKoreaTime() > 0) return Get_Return(2); if (slotTime - Get_CurKoreaTime() > 0) return Get_Return(2);
var items = []; var items = [];
var Tdata = Get_HarvestConfigTable().find(f => f.n_Grade === curSlot.Grade); var Tdata = Get_HarvestConfigTable().find(f => f.n_Grade == curSlot.Grade);
var EnchantData = Get_EnchantListTable().find(f => f.EnchantID === curSlot.EnchantID); var EnchantData = Get_EnchantListTable().find(f => f.n_EnchantID == curSlot.EnchantID);
var majorSuccessRate = Get_FarmerValue("MajorSuccess"); var majorSuccessRate = Get_FarmerValue("MajorSuccess");
var cropFailurePreventionRate = Get_FarmerValue("CropFailurePrevention"); var cropFailurePreventionRate = Get_FarmerValue("CropFailurePrevention");
@ -2477,38 +2478,42 @@ handlers.Save_Farm_Harvest = function(args)
var isFailHarvest = !isMajorSuccess && (Math.random() < cropFailurePreventionRate); var isFailHarvest = !isMajorSuccess && (Math.random() < cropFailurePreventionRate);
var totalAmount = 0; var totalAmount = 0;
var seedAmount = Get_GlobalValue_nValue("n_FarmPlantingSeedAmount"); var seedCount = Number(Get_GlobalValue_nValue("n_FarmPlantingSeedAmount"));
for (var i = 0; i < seedAmount; i++) var min = Number(Tdata.n_MinAmount);
var max = Number(Tdata.n_MaxAmount);
for (var i = 0; i < seedCount; i++)
{ {
totalAmount += Random.Range(Tdata.n_MinAmount, Tdata.n_MaxAmount + 1); var add = Math.floor(Math.random() * (max - min + 1)) + min;
totalAmount += add;
if (Math.random() < cropFailurePreventionRate) if (Math.random() < cropFailurePreventionRate)
items.push({ itemid: curSlot.EnchantID, amount: 1 }); items.push({ itemid: curSlot.EnchantID, amount: 1 });
} }
var harvestAmountUp = Get_FarmerValue("HarvestAmountUp"); var harvestAmountUp = Get_FarmerValue("HarvestAmountUp");
totalAmount += parseInt(harvestAmountUp); totalAmount = Add_Amount(totalAmount, harvestAmountUp);
var goldFruitRate = Tdata.f_GoldFruitRate + Get_FarmerValue("HarvestAmountUp"); var goldFruitRate = Add_Amount(Tdata.f_GoldFruitRate, Get_FarmerValue("GoldFruitUp"));
var statFruitRate = Tdata.f_StatFruitRate + Get_FarmerValue("StatFruitUp"); var statFruitRate = Add_Amount(Tdata.f_StatFruitRate, Get_FarmerValue("StatFruitUp"));
if (isMajorSuccess) if (isMajorSuccess)
{ {
totalAmount = parseInt(totalAmount * 1.5); totalAmount = parseInt(totalAmount * 1.5);
goldFruitRate *= 1.5; statFruitRate *= 1.5;
} }
else if (isFailHarvest) else if (isFailHarvest)
{ {
totalAmount = parseInt(totalAmount * 0.5); totalAmount = parseInt(totalAmount * 0.5);
goldFruitRate *= 0.5; statFruitRate *= 0.5;
} }
for (var i = 0; i < totalAmount; i++) for (var i = 0; i < totalAmount; i++)
{ {
if (DSUtil.RandomTrue(goldFruitRate)) if (Math.random() < goldFruitRate)
items.push({ itemid: 455, amount: 1 }); items.push({ itemid: 455, amount: 1 });
else if (DSUtil.RandomTrue(statFruitRate)) else if (Math.random() < statFruitRate)
items.push({ itemid: EnchantData.n_FruitID, amount: 1 }); items.push({ itemid: EnchantData.n_FruitID, amount: 1 });
else else
items.push({ itemid: Get_GlobalValue_nValue("n_FarmSeedID"), amount: 1 }); items.push({ itemid: Get_GlobalValue_nValue("n_FarmSeedID"), amount: 1 });

View File

@ -41190,7 +41190,8 @@ GameObject:
serializedVersion: 6 serializedVersion: 6
m_Component: m_Component:
- component: {fileID: 6518501913191682081} - component: {fileID: 6518501913191682081}
- component: {fileID: 6542628618366170292} - component: {fileID: 3300903363707281575}
- component: {fileID: 8212884542253419334}
m_Layer: 5 m_Layer: 5
m_Name: Content m_Name: Content
m_TagString: Untagged m_TagString: Untagged
@ -41212,12 +41213,12 @@ RectTransform:
m_Children: [] m_Children: []
m_Father: {fileID: 3443366116189850104} m_Father: {fileID: 3443366116189850104}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5} m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 1860, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 1} m_Pivot: {x: 0, y: 1}
--- !u!114 &6542628618366170292 --- !u!114 &3300903363707281575
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
@ -41226,21 +41227,37 @@ MonoBehaviour:
m_GameObject: {fileID: 2555277901798440031} m_GameObject: {fileID: 2555277901798440031}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3} m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 0
m_VerticalFit: 0
--- !u!114 &8212884542253419334
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2555277901798440031}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Padding: m_Padding:
m_Left: -1860 m_Left: 0
m_Right: 0 m_Right: 0
m_Top: -30 m_Top: 0
m_Bottom: 0 m_Bottom: 0
m_ChildAlignment: 4 m_ChildAlignment: 4
m_StartCorner: 0 m_Spacing: 5
m_StartAxis: 0 m_ChildForceExpandWidth: 0
m_CellSize: {x: 140, y: 140} m_ChildForceExpandHeight: 0
m_Spacing: {x: 10, y: 0} m_ChildControlWidth: 0
m_Constraint: 0 m_ChildControlHeight: 0
m_ConstraintCount: 1 m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!1 &2555745516094966704 --- !u!1 &2555745516094966704
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -78353,7 +78370,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0 m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1 m_Maskable: 1
m_OnCullStateChanged: m_OnCullStateChanged:

View File

@ -92,7 +92,7 @@ public class FarmSlotCard : CardBase
public void OnClick_Get() public void OnClick_Get()
{ {
//if (m_Data.Grade > 0 && m_Data.Get_RemainSec() <= 0) if (m_Data.Grade > 0 && m_Data.Get_RemainSec() <= 0)
ServerInfo.Ins.Save_Farm_Harvest(m_Data.Slot, result => ServerInfo.Ins.Save_Farm_Harvest(m_Data.Slot, result =>
{ {
var sdata = ServerInfo.Ins.m_ServerData; var sdata = ServerInfo.Ins.m_ServerData;