固定订单,新手任务

This commit is contained in:
hahwu 2025-08-26 11:59:12 +08:00
parent 2446ba6a23
commit e00a2292ae
5 changed files with 35 additions and 9 deletions

View File

@ -91,7 +91,7 @@ func ReqGmCommand_(player *Player, Command string) error {
player.PushClientRes(player.PlayerBaseMod.BackAsset()) player.PushClientRes(player.PlayerBaseMod.BackAsset())
player.initAcitivity() player.initAcitivity()
player.PlayMod.getGuideTaskMod().Unlock(num) player.PlayMod.getGuideTaskMod().Unlock(num)
player.PlayMod.getOrderMod().TriggerOrder(num, order.TRIGGER_TYPE_LV) player.PlayMod.getOrderMod().TriggerOrder(num, order.TRIGGER_TYPE_LV, nil, 1)
player.PushClientRes(player.PlayMod.getOrderMod().BackData()) player.PushClientRes(player.PlayMod.getOrderMod().BackData())
player.BackDataActivity() player.BackDataActivity()
case "zeroUpdate": case "zeroUpdate":

View File

@ -532,6 +532,9 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error {
if err != nil { if err != nil {
return err return err
} }
if v.Num < 0 {
p.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_STAR, A: []interface{}{-v.Num}})
}
p.TeLog("asset_change", map[string]interface{}{ p.TeLog("asset_change", map[string]interface{}{
"item_id": v.Id, "item_id": v.Id,
"change_type": change_type, "change_type": change_type,

View File

@ -343,7 +343,7 @@ func ReqRewardOrder(player *Player, buf []byte) error {
} else { } else {
OrderMod.CreateOrderSeed(NewOrder) OrderMod.CreateOrderSeed(NewOrder)
} }
OrderMod.TriggerOrder(Lv, order.TRIGGER_TYPE_ORDER) OrderMod.TriggerOrder(Lv, order.TRIGGER_TYPE_ORDER, Emit, EnergyMul)
player.FormatOrderReward() player.FormatOrderReward()
// 存钱罐增加钻石 // 存钱罐增加钻石
PiggyBankMod := player.PlayMod.getPiggyBankMod() PiggyBankMod := player.PlayMod.getPiggyBankMod()

View File

@ -72,13 +72,16 @@ func (o *OrderMod) InitData() {
} }
if len(o.OrderList) == 0 { if len(o.OrderList) == 0 {
o.OrderList = make(map[int]Order) o.OrderList = make(map[int]Order)
o.TriggerOrder(1, TRIGGER_TYPE_ORDER) o.TriggerOrder(1, TRIGGER_TYPE_ORDER, nil, 1)
} }
for k, v := range o.OrderList { for k, v := range o.OrderList {
if GoUtil.InArray(0, v.MergeId) || len(v.MergeId) == 0 { if GoUtil.InArray(0, v.MergeId) || len(v.MergeId) == 0 {
delete(o.OrderList, k) delete(o.OrderList, k)
} }
} }
if o.Auto_id == 0 {
o.Auto_id = 10000
}
} }
func (o *OrderMod) GetOrderList() map[int]Order { func (o *OrderMod) GetOrderList() map[int]Order {
@ -166,7 +169,7 @@ func (o *OrderMod) CreatOrderPool(lv int, Emit []int, EnergyMul int) error {
} }
// 触发生成新的固定订单 // 触发生成新的固定订单
func (o *OrderMod) TriggerOrder(lv int, Type string) error { func (o *OrderMod) TriggerOrder(lv int, Type string, Emit []int, EnergyMul int) error {
TriggerOrderList := orderCfg.GetStartOrderList() TriggerOrderList := orderCfg.GetStartOrderList()
for _, v := range TriggerOrderList { for _, v := range TriggerOrderList {
if GoUtil.InArray(v.Id, o.FinishOrder) { if GoUtil.InArray(v.Id, o.FinishOrder) {
@ -177,12 +180,12 @@ func (o *OrderMod) TriggerOrder(lv int, Type string) error {
continue continue
} }
if v.Preview != "" && !exists { if v.Preview != "" && !exists {
if o.CheckCondition(lv, v.Preview, Type) { if o.CheckCondition(lv, v.Preview, Type, Emit) {
o.addFixOrder(v.Id, v.MergeList, Preview_type, v.Items) o.addFixOrder(v.Id, v.MergeList, Preview_type, v.Items)
} }
} }
if v.Appear != "" { if v.Appear != "" {
if o.CheckCondition(lv, v.Appear, Type) { if o.CheckCondition(lv, v.Appear, Type, Emit) {
if exists { if exists {
orderInfo.Type = Fixed_type orderInfo.Type = Fixed_type
o.OrderList[v.Id] = orderInfo o.OrderList[v.Id] = orderInfo
@ -192,10 +195,21 @@ func (o *OrderMod) TriggerOrder(lv int, Type string) error {
} }
} }
} }
if lv >= 12 {
normalOrder := 0
for _, v := range o.OrderList {
if v.Type == Common_type {
normalOrder++
}
}
for i := normalOrder; i < 3; i++ {
o.CreateNormalOrder(lv, Emit, EnergyMul)
}
}
return nil return nil
} }
func (o *OrderMod) CheckCondition(lv int, condition, Type string) bool { func (o *OrderMod) CheckCondition(lv int, condition, Type string, Emit []int) bool {
r1 := strings.Split(condition, "|") r1 := strings.Split(condition, "|")
for _, v := range r1 { for _, v := range r1 {
r2 := strings.Split(v, "=") r2 := strings.Split(v, "=")
@ -224,6 +238,14 @@ func (o *OrderMod) CheckCondition(lv int, condition, Type string) bool {
if !GoUtil.InArray(id, o.FinishOrder) && !ok { if !GoUtil.InArray(id, o.FinishOrder) && !ok {
return false return false
} }
case "Emit":
Class := []string{}
for _, v := range Emit {
Class = append(Class, mergeDataCfg.GetColorById(v))
}
if !GoUtil.InStringArray(r2[1], Class) {
return false
}
} }
} }
return true return true
@ -231,7 +253,6 @@ func (o *OrderMod) CheckCondition(lv int, condition, Type string) bool {
// 生成新订单 // 生成新订单
func (o *OrderMod) CreateOrder(lv int, Emit []int, EnergyMul int) error { func (o *OrderMod) CreateOrder(lv int, Emit []int, EnergyMul int) error {
return nil
if len(Emit) == 0 { if len(Emit) == 0 {
return nil return nil
} }

View File

@ -18,7 +18,8 @@ const (
TRIGGER_LABEL_MERGELVTIME = "MergeLvTime" TRIGGER_LABEL_MERGELVTIME = "MergeLvTime"
TRIGGER_LABEL_FINISHORDER = "FinishOrder" TRIGGER_LABEL_FINISHORDER = "FinishOrder"
TRIGGER_LABEL_ENERGY = "Energy" TRIGGER_LABEL_ENERGY = "Energy"
TRIGGER_LABEL_STAR = "Star" // 收集宠物币 TRIGGER_LABEL_STAR = "Star" // 收集宠物币
TRIGGER_LABEL_DIAMOND = "Diamond" // 消耗钻石
TRIGGER_LABEL_MERGETIME = "MergeTime" TRIGGER_LABEL_MERGETIME = "MergeTime"
TRIGGER_LABEL_STOKECAT = "StokeCat" TRIGGER_LABEL_STOKECAT = "StokeCat"
TRIGGER_LABEL_TAKECAT = "TakeCat" TRIGGER_LABEL_TAKECAT = "TakeCat"
@ -75,6 +76,7 @@ func TriggerQuestProgress(q *QuestProgress, Tr *Trigger) bool {
switch q.Label { switch q.Label {
case TRIGGER_LABEL_ENERGY, case TRIGGER_LABEL_ENERGY,
TRIGGER_LABEL_STAR, TRIGGER_LABEL_STAR,
TRIGGER_LABEL_DIAMOND,
TRIGGER_LABEL_DECORATE: // 消耗x能量 TRIGGER_LABEL_DECORATE: // 消耗x能量
AddNum := Tr.A[0].(int) AddNum := Tr.A[0].(int)
q.Num += AddNum q.Num += AddNum