Add Banner Equiping
This commit is contained in:
parent
5c6b1d6407
commit
5ed3817c86
|
@ -215,9 +215,6 @@ func GetPublicAccounts(c *fiber.Ctx) error {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
aid.PrintJSON(accountIds)
|
|
||||||
aid.PrintJSON(response)
|
|
||||||
|
|
||||||
return c.Status(fiber.StatusOK).JSON(response)
|
return c.Status(fiber.StatusOK).JSON(response)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package handlers
|
package handlers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
@ -17,6 +18,7 @@ var (
|
||||||
"ClientQuestLogin": PostQueryProfileAction,
|
"ClientQuestLogin": PostQueryProfileAction,
|
||||||
"MarkItemSeen": PostMarkItemSeenAction,
|
"MarkItemSeen": PostMarkItemSeenAction,
|
||||||
"EquipBattleRoyaleCustomization": PostEquipBattleRoyaleCustomizationAction,
|
"EquipBattleRoyaleCustomization": PostEquipBattleRoyaleCustomizationAction,
|
||||||
|
"SetBattleRoyaleBanner": PostSetBattleRoyaleBannerAction,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -68,7 +70,7 @@ func PostMarkItemSeenAction(c *fiber.Ctx, person *p.Person, profile *p.Profile)
|
||||||
|
|
||||||
err := c.BodyParser(&body)
|
err := c.BodyParser(&body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return c.Status(400).JSON(aid.ErrorBadRequest("Invalid Body"))
|
return fmt.Errorf("invalid Body")
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, itemId := range body.ItemIds {
|
for _, itemId := range body.ItemIds {
|
||||||
|
@ -93,21 +95,24 @@ func PostEquipBattleRoyaleCustomizationAction(c *fiber.Ctx, person *p.Person, pr
|
||||||
|
|
||||||
err := c.BodyParser(&body)
|
err := c.BodyParser(&body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return c.Status(400).JSON(aid.ErrorBadRequest("Invalid Body"))
|
return fmt.Errorf("invalid Body")
|
||||||
}
|
}
|
||||||
|
|
||||||
item := profile.Items.GetItem(body.ItemToSlot)
|
item := profile.Items.GetItem(body.ItemToSlot)
|
||||||
if item == nil {
|
if item == nil {
|
||||||
return c.Status(400).JSON(aid.ErrorBadRequest("Item not found"))
|
if body.ItemToSlot != "" && !strings.Contains(strings.ToLower(body.ItemToSlot), "random") {
|
||||||
|
return fmt.Errorf("item not found")
|
||||||
|
}
|
||||||
|
|
||||||
|
item = &p.Item{
|
||||||
|
ID: body.ItemToSlot,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
attr := profile.Attributes.GetAttributeByKey("favorite_" + strings.ToLower(body.SlotName))
|
attr := profile.Attributes.GetAttributeByKey("favorite_" + strings.ToLower(body.SlotName))
|
||||||
if attr == nil {
|
if attr == nil {
|
||||||
return c.Status(400).JSON(aid.ErrorBadRequest("Attribute not found"))
|
return fmt.Errorf("attribute not found")
|
||||||
}
|
}
|
||||||
defer func() {
|
|
||||||
go attr.Save()
|
|
||||||
}()
|
|
||||||
|
|
||||||
switch body.SlotName {
|
switch body.SlotName {
|
||||||
case "Dance":
|
case "Dance":
|
||||||
|
@ -122,5 +127,47 @@ func PostEquipBattleRoyaleCustomizationAction(c *fiber.Ctx, person *p.Person, pr
|
||||||
attr.ValueJSON = aid.JSONStringify(item.ID)
|
attr.ValueJSON = aid.JSONStringify(item.ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
go attr.Save()
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func PostSetBattleRoyaleBannerAction(c *fiber.Ctx, person *p.Person, profile *p.Profile) error {
|
||||||
|
var body struct {
|
||||||
|
HomebaseBannerColorID string `json:"homebaseBannerColorId" binding:"required"`
|
||||||
|
HomebaseBannerIconID string `json:"homebaseBannerIconId" binding:"required"`
|
||||||
|
}
|
||||||
|
|
||||||
|
err := c.BodyParser(&body)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("invalid Body")
|
||||||
|
}
|
||||||
|
|
||||||
|
colorItem := person.CommonCoreProfile.Items.GetItemByTemplateID("HomebaseBannerColor:"+body.HomebaseBannerColorID)
|
||||||
|
if colorItem == nil {
|
||||||
|
return fmt.Errorf("color item not found")
|
||||||
|
}
|
||||||
|
|
||||||
|
iconItem := person.CommonCoreProfile.Items.GetItemByTemplateID("HomebaseBannerIcon:"+body.HomebaseBannerIconID)
|
||||||
|
if iconItem == nil {
|
||||||
|
return fmt.Errorf("icon item not found")
|
||||||
|
}
|
||||||
|
|
||||||
|
iconAttr := profile.Attributes.GetAttributeByKey("banner_icon")
|
||||||
|
if iconAttr == nil {
|
||||||
|
return fmt.Errorf("icon attribute not found")
|
||||||
|
}
|
||||||
|
|
||||||
|
colorAttr := profile.Attributes.GetAttributeByKey("banner_color")
|
||||||
|
if colorAttr == nil {
|
||||||
|
return fmt.Errorf("color attribute not found")
|
||||||
|
}
|
||||||
|
|
||||||
|
iconAttr.ValueJSON = aid.JSONStringify(strings.Split(iconItem.TemplateID, ":")[1])
|
||||||
|
colorAttr.ValueJSON = aid.JSONStringify(strings.Split(colorItem.TemplateID, ":")[1])
|
||||||
|
|
||||||
|
go func() {
|
||||||
|
iconAttr.Save()
|
||||||
|
colorAttr.Save()
|
||||||
|
}()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
|
@ -1,21 +1,59 @@
|
||||||
package person
|
package person
|
||||||
|
|
||||||
import "github.com/ectrc/snow/aid"
|
import (
|
||||||
|
"strconv"
|
||||||
|
|
||||||
func NewFortnitePerson(displayName string, key string) {
|
"github.com/ectrc/snow/aid"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
defaultAthenaItems = []string{
|
||||||
|
"AthenaCharacter:CID_001_Athena_Commando_F_Default",
|
||||||
|
"AthenaPickaxe:DefaultPickaxe",
|
||||||
|
"AthenaGlider:DefaultGlider",
|
||||||
|
"AthenaDance:EID_DanceMoves",
|
||||||
|
}
|
||||||
|
defaultCommonCoreItems = []string{
|
||||||
|
"Currency:MtxPurchased",
|
||||||
|
"HomebaseBannerIcon:StandardBanner",
|
||||||
|
"HomebaseBannerColor:DefaultColor",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func NewFortnitePerson(displayName string, key string) *Person {
|
||||||
person := NewPerson()
|
person := NewPerson()
|
||||||
person.DisplayName = displayName
|
person.DisplayName = displayName
|
||||||
person.AccessKey = key
|
person.AccessKey = key
|
||||||
|
|
||||||
person.AthenaProfile.Items.AddItem(NewItem("AthenaCharacter:CID_001_Athena_Commando_F_Default", 1))
|
|
||||||
person.AthenaProfile.Items.AddItem(NewItem("AthenaCharacter:CID_032_Athena_Commando_M_Medieval", 1))
|
|
||||||
person.AthenaProfile.Items.AddItem(NewItem("AthenaCharacter:CID_033_Athena_Commando_F_Medieval", 1))
|
|
||||||
person.AthenaProfile.Items.AddItem(NewItem("AthenaPickaxe:DefaultPickaxe", 1))
|
|
||||||
person.AthenaProfile.Items.AddItem(NewItem("AthenaGlider:DefaultGlider", 1))
|
|
||||||
person.AthenaProfile.Items.AddItem(NewItem("AthenaDance:EID_DanceMoves", 1))
|
|
||||||
person.CommonCoreProfile.Items.AddItem(NewItem("Currency:MtxPurchased", 0))
|
|
||||||
person.Profile0Profile.Items.AddItem(NewItem("Currency:MtxPurchased", 0)) // for season 2 and bellow
|
person.Profile0Profile.Items.AddItem(NewItem("Currency:MtxPurchased", 0)) // for season 2 and bellow
|
||||||
|
|
||||||
|
for _, item := range defaultAthenaItems {
|
||||||
|
person.AthenaProfile.Items.AddItem(NewItem(item, 1))
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, item := range defaultCommonCoreItems {
|
||||||
|
if item == "HomebaseBannerIcon:StandardBanner" {
|
||||||
|
for i := 1; i < 32; i++ {
|
||||||
|
person.CommonCoreProfile.Items.AddItem(NewItem(item+strconv.Itoa(i), 1))
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if item == "HomebaseBannerColor:DefaultColor" {
|
||||||
|
for i := 1; i < 22; i++ {
|
||||||
|
person.CommonCoreProfile.Items.AddItem(NewItem(item+strconv.Itoa(i), 1))
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if item == "Currency:MtxPurchased" {
|
||||||
|
person.CommonCoreProfile.Items.AddItem(NewItem(item, 0))
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
person.CommonCoreProfile.Items.AddItem(NewItem(item, 1))
|
||||||
|
}
|
||||||
|
|
||||||
person.AthenaProfile.Attributes.AddAttribute(NewAttribute("mfa_reward_claimed", true))
|
person.AthenaProfile.Attributes.AddAttribute(NewAttribute("mfa_reward_claimed", true))
|
||||||
person.AthenaProfile.Attributes.AddAttribute(NewAttribute("rested_xp_overflow", 0))
|
person.AthenaProfile.Attributes.AddAttribute(NewAttribute("rested_xp_overflow", 0))
|
||||||
person.AthenaProfile.Attributes.AddAttribute(NewAttribute("lifetime_wins", 0))
|
person.AthenaProfile.Attributes.AddAttribute(NewAttribute("lifetime_wins", 0))
|
||||||
|
@ -69,4 +107,6 @@ func NewFortnitePerson(displayName string, key string) {
|
||||||
person.CommonCoreProfile.Attributes.AddAttribute(NewAttribute("gift_history", aid.JSON{}))
|
person.CommonCoreProfile.Attributes.AddAttribute(NewAttribute("gift_history", aid.JSON{}))
|
||||||
|
|
||||||
person.Save()
|
person.Save()
|
||||||
|
|
||||||
|
return person
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user