mirror of
https://git.ngram.ca/OpenJam/rc-servers
synced 2026-08-23 23:08:52 +00:00
Add server for game data (implement login sequence)
This commit is contained in:
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())
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user