Add server for game data (implement login sequence)

This commit is contained in:
NGnius (Graham) committed 2025-02-12 18:46:27 -05:00
1 parent ca4a0ce675
commit d8885d811f
52 files changed
+2734 -5

No files matched your search

@@ -0,0 +1,45 @@
use polariton::operation::{Typed, Dict};
pub struct PremiumEffects {
pub factor: PremiumFactor,
pub multiplayer: PremiumMultiplayer,
}
impl PremiumEffects {
pub fn as_transmissible(&self) -> Typed {
Typed::Dict(Dict {
key_ty: 115, // str
val_ty: 104, // hashtable
items: vec![
(Typed::Str("PremiumFactor".into()), self.factor.as_transmissible()),
(Typed::Str("TieredMultiplayer".into()), self.multiplayer.as_transmissible()),
]
})
}
}
pub struct PremiumFactor {
pub factor: i32, // percent
pub party_bonus: i32, // percent
}
impl PremiumFactor {
fn as_transmissible(&self) -> Typed {
Typed::HashMap(vec![
(Typed::Str("Factor".into()), Typed::Int(self.factor)),
(Typed::Str("PartyBonusPercentagePerPlayer".into()), Typed::Int(self.party_bonus)),
].into())
}
}
pub struct PremiumMultiplayer {
pub tier_multiplier: f64,
}
impl PremiumMultiplayer {
fn as_transmissible(&self) -> Typed {
Typed::HashMap(vec![
(Typed::Str("BonusPerTierMultiplier".into()), Typed::Double(self.tier_multiplier)),
].into())
}
}