docs & feat: add license & attribution notice (Apache-2.0 / GPL-3.0) and core system enhancements
This commit is contained in:
1 parent
507836d367
commit
ce6aabfc55
47 files changed
+5674
-724
No files matched your search
@@ -1,141 +1,25 @@
|
||||
package gameserver
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"slices"
|
||||
|
||||
"gac-hkrpg-go/internal/common"
|
||||
pb "gac-hkrpg-go/protocol/proto"
|
||||
)
|
||||
import pb "gac-hkrpg-go/protocol/proto"
|
||||
|
||||
// The reference talent service is a stub. No revision-bound talent costs,
|
||||
// prerequisites, refund rules or match effects are available in our catalog.
|
||||
// Keep the typed callbacks but reject mutation until those contracts exist.
|
||||
func init() {
|
||||
cwHandle("GridFightPermanentTalentEnable", func(s *Session, req *pb.GridFightPermanentTalentEnableCsReq, rsp *pb.GridFightPermanentTalentEnableScRsp) error {
|
||||
rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH)
|
||||
if req == nil || req.CKHCLKOALKE == 0 {
|
||||
return nil
|
||||
}
|
||||
catalog, err := common.LoadCurrencyWarsCatalog()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
data, revision, err := readCurrencyWarsData(catalog)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if data == nil {
|
||||
data, err = newCurrencyWarsData(catalog)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
s.currencyWarsRevision = revision
|
||||
if data.LFLCDNGALME == nil {
|
||||
data.LFLCDNGALME = &pb.CLEDCMIOIPF{}
|
||||
}
|
||||
if data.LFLCDNGALME.PKELAIPIHMF == nil {
|
||||
data.LFLCDNGALME.PKELAIPIHMF = &pb.CKPOBLIFMGN{}
|
||||
}
|
||||
if data.LFLCDNGALME.PKELAIPIHMF.MHFHLBHFIBC == nil {
|
||||
data.LFLCDNGALME.PKELAIPIHMF.MHFHLBHFIBC = &pb.FMNKKAMOHEE{}
|
||||
}
|
||||
list := &data.LFLCDNGALME.PKELAIPIHMF.MHFHLBHFIBC.BDGMNPIJDDL
|
||||
if !slices.Contains(*list, req.CKHCLKOALKE) {
|
||||
*list = append(*list, req.CKHCLKOALKE)
|
||||
}
|
||||
if err = s.saveCurrencyWarsData(data, catalog); err != nil {
|
||||
rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS)
|
||||
return nil
|
||||
}
|
||||
rsp.CKHCLKOALKE = req.CKHCLKOALKE
|
||||
rsp.Retcode = 0
|
||||
PacketLog(fmt.Sprintf("CW_PERMANENT_TALENT_ENABLE node=%d total=%d", req.CKHCLKOALKE, len(*list)))
|
||||
cwHandle("GridFightPermanentTalentEnable", func(_ *Session, _ *pb.GridFightPermanentTalentEnableCsReq, rsp *pb.GridFightPermanentTalentEnableScRsp) error {
|
||||
rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS)
|
||||
return nil
|
||||
})
|
||||
|
||||
cwHandle("GridFightSeasonTalentEnable", func(s *Session, req *pb.GridFightSeasonTalentEnableCsReq, rsp *pb.GridFightSeasonTalentEnableScRsp) error {
|
||||
rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH)
|
||||
if req == nil || req.CKHCLKOALKE == 0 {
|
||||
return nil
|
||||
}
|
||||
catalog, err := common.LoadCurrencyWarsCatalog()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
data, revision, err := readCurrencyWarsData(catalog)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if data == nil {
|
||||
data, err = newCurrencyWarsData(catalog)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
s.currencyWarsRevision = revision
|
||||
if data.LFLCDNGALME == nil {
|
||||
data.LFLCDNGALME = &pb.CLEDCMIOIPF{}
|
||||
}
|
||||
if data.LFLCDNGALME.HFPEJIDDDJG == nil {
|
||||
data.LFLCDNGALME.HFPEJIDDDJG = &pb.AMEEHIIPMFP{}
|
||||
}
|
||||
if data.LFLCDNGALME.HFPEJIDDDJG.MHFHLBHFIBC == nil {
|
||||
data.LFLCDNGALME.HFPEJIDDDJG.MHFHLBHFIBC = &pb.FMNKKAMOHEE{}
|
||||
}
|
||||
list := &data.LFLCDNGALME.HFPEJIDDDJG.MHFHLBHFIBC.BDGMNPIJDDL
|
||||
if !slices.Contains(*list, req.CKHCLKOALKE) {
|
||||
*list = append(*list, req.CKHCLKOALKE)
|
||||
}
|
||||
if err = s.saveCurrencyWarsData(data, catalog); err != nil {
|
||||
rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS)
|
||||
return nil
|
||||
}
|
||||
rsp.CKHCLKOALKE = req.CKHCLKOALKE
|
||||
rsp.Retcode = 0
|
||||
PacketLog(fmt.Sprintf("CW_SEASON_TALENT_ENABLE node=%d total=%d", req.CKHCLKOALKE, len(*list)))
|
||||
cwHandle("GridFightSeasonTalentEnable", func(_ *Session, _ *pb.GridFightSeasonTalentEnableCsReq, rsp *pb.GridFightSeasonTalentEnableScRsp) error {
|
||||
rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS)
|
||||
return nil
|
||||
})
|
||||
|
||||
cwHandle("GridFightPermanentTalentReset", func(s *Session, _ *pb.GridFightPermanentTalentResetCsReq, rsp *pb.GridFightPermanentTalentResetScRsp) error {
|
||||
catalog, err := common.LoadCurrencyWarsCatalog()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
data, revision, err := readCurrencyWarsData(catalog)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
s.currencyWarsRevision = revision
|
||||
if data != nil && data.LFLCDNGALME != nil && data.LFLCDNGALME.PKELAIPIHMF != nil && data.LFLCDNGALME.PKELAIPIHMF.MHFHLBHFIBC != nil {
|
||||
data.LFLCDNGALME.PKELAIPIHMF.MHFHLBHFIBC.BDGMNPIJDDL = nil
|
||||
if err = s.saveCurrencyWarsData(data, catalog); err != nil {
|
||||
rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS)
|
||||
return nil
|
||||
}
|
||||
}
|
||||
rsp.Retcode = 0
|
||||
PacketLog("CW_PERMANENT_TALENT_RESET completed")
|
||||
cwHandle("GridFightPermanentTalentReset", func(_ *Session, _ *pb.GridFightPermanentTalentResetCsReq, rsp *pb.GridFightPermanentTalentResetScRsp) error {
|
||||
rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS)
|
||||
return nil
|
||||
})
|
||||
|
||||
cwHandle("GridFightSeasonTalentReset", func(s *Session, _ *pb.GridFightSeasonTalentResetCsReq, rsp *pb.GridFightSeasonTalentResetScRsp) error {
|
||||
catalog, err := common.LoadCurrencyWarsCatalog()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
data, revision, err := readCurrencyWarsData(catalog)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
s.currencyWarsRevision = revision
|
||||
if data != nil && data.LFLCDNGALME != nil && data.LFLCDNGALME.HFPEJIDDDJG != nil && data.LFLCDNGALME.HFPEJIDDDJG.MHFHLBHFIBC != nil {
|
||||
data.LFLCDNGALME.HFPEJIDDDJG.MHFHLBHFIBC.BDGMNPIJDDL = nil
|
||||
if err = s.saveCurrencyWarsData(data, catalog); err != nil {
|
||||
rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS)
|
||||
return nil
|
||||
}
|
||||
}
|
||||
rsp.Retcode = 0
|
||||
PacketLog("CW_SEASON_TALENT_RESET completed")
|
||||
cwHandle("GridFightSeasonTalentReset", func(_ *Session, _ *pb.GridFightSeasonTalentResetCsReq, rsp *pb.GridFightSeasonTalentResetScRsp) error {
|
||||
rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS)
|
||||
return nil
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user