Skip to content

Commit

Permalink
gold & gems saving
Browse files Browse the repository at this point in the history
  • Loading branch information
PhoenixFire6934 committed Mar 20, 2021
1 parent 9ab2e93 commit a150271
Show file tree
Hide file tree
Showing 26 changed files with 252 additions and 223 deletions.
22 changes: 11 additions & 11 deletions Logic/Avatar/LogicClientAvatar.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ def encodeAvatar(self):
self.writeLogicLong(self.player.ID)
self.writeLogicLong(self.player.ID)

self.writeString(self.player.Data['Name']) # Player Name
self.writeBool(self.player.Data['NameSet']) # Name Set By User
self.writeString(self.player.Data['Name'])
self.writeBool(self.player.Data['NameSet'])

self.writeInt(0)

Expand All @@ -24,33 +24,33 @@ def encodeAvatar(self):
self.writeVint(unlock_id)
self.writeVint(1)
for resource in self.player.Data['Resources']:
self.writeScId(5, resource['ID']) # Resource SCID
self.writeVint(resource['Amount']) # Resource Amount
self.writeDataReference(5, resource['ID'])
self.writeVint(resource['Amount'])

# Brawlers Trophies array
self.writeVint(len(self.player.brawlersID))
for brawler_id in self.player.brawlersID:
self.writeScId(16, brawler_id)
self.writeDataReference(16, brawler_id)
self.writeVint(0)

# Brawlers Trophies for Rank array
self.writeVint(len(self.player.brawlersID))
for brawler_id in self.player.brawlersID:
self.writeScId(16, brawler_id)
self.writeDataReference(16, brawler_id)
self.writeVint(0)

self.writeVint(0) # array
self.writeVint(0)

# Brawlers Upgrade Poitns array
self.writeVint(len(self.player.brawlersID))
for brawler_id in self.player.brawlersID:
self.writeScId(16, brawler_id)
self.writeDataReference(16, brawler_id)
self.writeVint(0)

# Brawlers Power Level array
self.writeVint(len(self.player.brawlersID))
for brawler_id in self.player.brawlersID:
self.writeScId(16, brawler_id)
self.writeDataReference(16, brawler_id)
self.writeVint(8)

# Gadgets and Star Powers array
Expand All @@ -64,8 +64,8 @@ def encodeAvatar(self):
for x in range(0):
pass

self.writeVint(self.player.gems) # Gems
self.writeVint(self.player.gems) # Free Gems
self.writeVint(self.player.gems)
self.writeVint(self.player.gems)

self.writeVint(0)
self.writeVint(0)
Expand Down
97 changes: 47 additions & 50 deletions Logic/Home/LogicClientHome.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from Logic.EventSlots import EventSlots

from Logic.Shop import Shop

class LogicClientHome:

Expand All @@ -10,37 +10,36 @@ def encodeHome(self):
# LOGIC CLIENT HOME #

# sub_4558EC #
self.writeVint(0) # Timestamp
self.writeVint(0) # Timestamp

self.writeVint(self.player.trophies) # Trophies
self.writeVint(self.player.trophies) # Highes Trophies

self.writeVint(0)
self.writeVint(200) # Trophy Road Reward
self.writeVint(0)

self.writeVint(99999) # Exp Points
self.writeVint(self.player.trophies)
self.writeVint(self.player.trophies)
self.writeVint(self.player.trophies)

self.writeScId(28, self.player.thumbnail) # Profile Icon
self.writeScId(43, self.player.nameColor) # Profile NameColor
self.writeVint(200) # Trophy Road Reward
self.writeVint(99999) # Exp Points

self.writeVint(0) # array
self.writeDataReference(28, self.player.thumbnail)
self.writeDataReference(43, self.player.nameColor)

self.writeVint(0)
for x in range(0):
self.writeVint(x)

# Selected Skins array
self.writeVint(len(self.player.brawlers_skins))
for brawler_id in self.player.brawlers_skins:
self.writeScId(29, self.player.brawlers_skins[brawler_id] )
self.writeDataReference(29, self.player.brawlers_skins[brawler_id] )

# Unlocked Skins array
self.writeVint(len(self.player.skinsID))
for skin_id in self.player.skinsID:
self.writeScId(29, skin_id)
self.writeDataReference(29, skin_id)

self.writeVint(0) # array
self.writeVint(0)
for x in range(0):
self.writeScId(29, 0)
self.writeDataReference(29, 0)

self.writeVint(0)
self.writeVint(0)
Expand Down Expand Up @@ -71,11 +70,11 @@ def encodeHome(self):
# Shop Offers array - sub_674DAC
self.writeVint(0)
for x in range(0):
self.writeVint(1) # array
self.writeVint(1)
for x in range(1):
self.writeVint(21) # Offer ID
self.writeVint(1) # Offer Multiplier
self.writeScId(52, 2) # SCID
self.writeDataReference(52, 2) # SCID
self.writeVint(0) # Unknown

self.writeVint(0) # Shop Type
Expand All @@ -100,7 +99,7 @@ def encodeHome(self):
self.writeVint(3) # Unknown

# sub_1F09D8
self.writeVint(0) # array
self.writeVint(0)
for x in range(0):
self.writeVint(0)
self.writeVint(0)
Expand All @@ -113,25 +112,25 @@ def encodeHome(self):
for x in range(0):
self.writeVint(x)

self.writeVint(0) # Tickets
self.writeVint(0)
self.writeVint(1) # Tickets
self.writeVint(1)

self.writeScId(16, self.player.homeBrawler)
self.writeDataReference(16, self.player.homeBrawler)

self.writeString("RO")
self.writeString("Modern Brawl")

# sub_587CF4
self.writeVint(0) # array
self.writeVint(0)
for x in range(0):
self.writeInt(0)
self.writeInt(0)

# sub_4505B4
self.writeVint(0) # array
self.writeVint(0)
for x in range(0):
self.writeVint(0)
self.writeScId(0, 0)
self.writeDataReference(0, 0)
self.writeVint(0)

# Brawl Pass Array
Expand All @@ -151,7 +150,7 @@ def encodeHome(self):
self.writeInt(4)

# sub_67CBFC
self.writeVint(0) # array
self.writeVint(0)
for x in range(0):
self.writeVint(0)
self.writeVint(0)
Expand All @@ -172,7 +171,7 @@ def encodeHome(self):
self.writeVint(0) # Max level
self.writeVint(1) # Quest Type
self.writeUInt8(2) # Quest State
self.writeScId(16, 0) # Brawler SCID
self.writeDataReference(16, 0) # Brawler SCID
self.writeVint(0) # GameMode
self.writeVint(0) # Unknown
self.writeVint(0) # Unknown
Expand All @@ -182,7 +181,7 @@ def encodeHome(self):
if True:
self.writeVint(len(self.player.emotesID))
for emote_id in self.player.emotesID:
self.writeScId(52, emote_id)
self.writeDataReference(52, emote_id)
self.writeVint(1) # Unknown
self.writeVint(1) # Unknown
self.writeVint(1) # Unknown
Expand All @@ -193,13 +192,12 @@ def encodeHome(self):
self.writeVint(100) # Tokens for Brawl Box
self.writeVint(10) # Tokens for Big Box

self.writeVint(30)
self.writeVint(3)
self.writeVint(80)
for item in Shop.boxes:
self.writeVint(item['Cost'])
self.writeVint(item['Multiplier'])

self.writeVint(10)
self.writeVint(40)
self.writeVint(1000)
self.writeVint(Shop.token_doubler['Cost'])
self.writeVint(Shop.token_doubler['Amount'])

self.writeVint(500)
self.writeVint(50)
Expand All @@ -211,7 +209,7 @@ def encodeHome(self):

# sub_21D148
count = len(EventSlots.maps)
self.writeVint(count + 1) # Map slots count
self.writeVint(count + 1)
for i in range(count + 1):
self.writeVint(i)

Expand All @@ -224,7 +222,7 @@ def encodeHome(self):
self.writeVint(map['Ended'])
self.writeVint(map['Timer'])
self.writeVint(0)
self.writeScId(15, map['ID'])
self.writeDataReference(15, map['ID'])
self.writeVint(map['Status'])

self.writeString()
Expand All @@ -243,7 +241,7 @@ def encodeHome(self):
self.writeVint(0)
self.writeVint(0)
self.writeVint(0)
self.writeScId(15, 0)
self.writeDataReference(15, 0)
self.writeVint(0)
self.writeString()
self.writeVint(0)
Expand Down Expand Up @@ -273,27 +271,27 @@ def encodeHome(self):
self.writeUInt8(1)

# sub_1D0FA4
self.writeVint(0) # array
self.writeVint(0)
for x in range(0):
self.writeScId(0, 0)
self.writeDataReference(0, 0)
self.writeInt(0)
self.writeInt(0)

# sub_587CF4
self.writeVint(1) # array
self.writeVint(1)
for x in range(1):
self.writeInt(1)
self.writeInt(41000014)

# sub_6190D0
self.writeVint(0) # array
self.writeVint(0)
for x in range(0):
self.writeVint(0)
self.writeVint(0)
self.writeVint(0)
self.writeVint(0)

self.writeVint(0) # array
self.writeVint(0)
for x in range(0):
self.writeVint(0)
self.writeVint(0)
Expand All @@ -306,12 +304,11 @@ def encodeHome(self):

self.writeLong(self.player.ID)

self.writeVint(0) # array
self.writeVint(0)
for x in range(0):
pass

self.writeVint(0)

self.writeUInt8(0)

bool = False
Expand All @@ -321,13 +318,13 @@ def encodeHome(self):
# sub_5A01C0
for x in range(0):
self.writeVint(0)
self.writeScId(0, 0)
self.writeDataReference(0, 0)
self.writeVint(0)
self.writeScId(0, 0)
self.writeScId(0, 0)
self.writeScId(0, 0)
self.writeDataReference(0, 0)
self.writeDataReference(0, 0)
self.writeDataReference(0, 0)

self.writeVint(0) # array
self.writeVint(0)
for x in range(0):
self.writeScId(0, 0)
self.writeDataReference(0, 0)

6 changes: 5 additions & 1 deletion Logic/Player.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ class Player:
for id in brawlersID:
brawlers_skins.update({f'{id}': 0})

majorVersion, minorVersion, buildVersion = 28, 189, 1
resources = []
gold, tickets, gems, starpoints, trophies = 10000, 500, 9999, 10000, 12000
homeBrawler, homeSkin, nameColor, thumbnail, roomID, mapID, team = 0, 0, 0, 0, 0, 0, 0
name, nameSet = '', False
Expand Down Expand Up @@ -56,13 +58,15 @@ def getPlayerAccount(self):
Player.trophies = self.Data['Trophies']
Player.tickets = self.Data['Tickets']
Player.gems = self.Data['Diamonds']
Player.resources = self.Data['Resources']
Player.starpower = self.Data['Starpower']
Player.gadget = self.Data['Gadget']
Player.homeBrawler = self.Data['HomeBrawler']
Player.homeSkin = self.Data['HomeSkin']
Player.brawlers_skins = self.Data['HomeSkins']



def loadPlayerAccount(self):
self.DB = DataBase()
try:
Expand All @@ -81,7 +85,7 @@ def createPlayerAccount(self, token = Helpers.randomToken(), id = Helpers.random
'ID': self.ID, 'Token': self.token, 'Name': 'Guest', 'NameSet': False, 'Trophies': 99999, 'Tickets': 8888,
'Diamonds': 9999, 'Score': 99999, 'ExpPoints': 99999, 'HomeBrawler': 0, 'HomeSkin': 0, 'Starpower': 76,
'Gadget': 255, 'Thumbnail': 0, 'NameColor': 0, 'HomeSkins': Player.brawlers_skins,
'Resources': [{'ID': 1, 'Amount': 10000}, {'ID': 8, 'Amount': 10000}, {'ID': 9, 'Amount': 10000}, {'ID': 10, 'Amount': 10000}],
'Resources': [{'ID': 1, 'Amount': 10000}, {'ID': 8, 'Amount': Player.gold}, {'ID': 9, 'Amount': 10000}, {'ID': 10, 'Amount': Player.starpoints }],
}

self.DB.createPlayerAccount(self.token, self.ID, 9999, json.dumps(data))
Expand Down
47 changes: 47 additions & 0 deletions Logic/Shop.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
class Shop:
gold = [
{
'Cost': 20,
'Amount': 150
},

{
'Cost': 50,
'Amount': 400
},

{
'Cost': 140,
'Amount': 1200
},

{
'Cost': 280,
'Amount': 2600
},

]

boxes = [
{
'Name': 'Big Box',
'Cost': 30,
'Multiplier': 3
},

{
'Name': 'Mega Box',
'Cost': 80,
'Multiplier': 10
}

]


token_doubler = {

'Cost': 50,
'Amount': 1000
}


Loading

0 comments on commit a150271

Please sign in to comment.