|
|
@@ -9,6 +9,7 @@ import { SpecT } from "../src/backend/Types/PlayerSpecs";
|
|
9
|
9
|
|
|
10
|
10
|
type protoAccount<C extends Class = Class> = {
|
|
11
|
11
|
name : string,
|
|
|
12
|
+ pwHash?: string
|
|
12
|
13
|
rank : Rank,
|
|
13
|
14
|
race: Race,
|
|
14
|
15
|
class: C,
|
|
|
@@ -200,7 +201,8 @@ describe('Frontcraft', () => {
|
|
200
|
201
|
adminClient.manageRaid.createRaid(insertRaid).then(() => {
|
|
201
|
202
|
client.RaidManager.getRaids().then((r)=>{
|
|
202
|
203
|
if(r[0].title === insertRaid.title
|
|
203
|
|
- && r[0].description === insertRaid.description){
|
|
|
204
|
+ && r[0].description === insertRaid.description
|
|
|
205
|
+ && r[0].tier === "MC"){
|
|
204
|
206
|
raids.push(r[0])
|
|
205
|
207
|
done()
|
|
206
|
208
|
}
|
|
|
@@ -612,4 +614,76 @@ describe('Frontcraft', () => {
|
|
612
|
614
|
})
|
|
613
|
615
|
})
|
|
614
|
616
|
})
|
|
|
617
|
+
|
|
|
618
|
+ it('implements loot system correctly', (done)=>{
|
|
|
619
|
+ const ONE_WEEK = 4800000000
|
|
|
620
|
+
|
|
|
621
|
+ const Raid = (week:number, tier:string) => {
|
|
|
622
|
+ return <Raid>{
|
|
|
623
|
+ description: tier+" Test raid 1",
|
|
|
624
|
+ title: tier,
|
|
|
625
|
+ start: (week*ONE_WEEK + Date.now()).toString(),
|
|
|
626
|
+ tier: tier
|
|
|
627
|
+ }
|
|
|
628
|
+ }
|
|
|
629
|
+ const user = Object.values(users)[0]
|
|
|
630
|
+ const createRaid = adminClient.manageRaid.createRaid
|
|
|
631
|
+ const sign = async (raid:Raid, late = false) => await adminClient.signup.sign(user.auth.token.value, user.character, raid, late)
|
|
|
632
|
+ const buyToken = async (signup: Signup, itemname: string) => await client.ItemManager.buyToken(user.auth.token.value, user.character.charactername, itemname, signup)
|
|
|
633
|
+
|
|
|
634
|
+ createRaid(Raid(0, 'MC')).then(async (MC0:Raid) => {
|
|
|
635
|
+ const T1_0 = await client.ItemManager.getItem(T1[0])
|
|
|
636
|
+ //const BWL0 = await createRaid(Raid(0, 'BWL'))
|
|
|
637
|
+ const signupMC0 = await sign(MC0)
|
|
|
638
|
+ let token = await buyToken(signupMC0, T1[0])
|
|
|
639
|
+ if(!token){
|
|
|
640
|
+ console.log(MC0, signupMC0)
|
|
|
641
|
+ done("No token created")
|
|
|
642
|
+ return
|
|
|
643
|
+ }
|
|
|
644
|
+
|
|
|
645
|
+ let reserves = await client.ItemManager.getTokens(user.character, [MC0.tier], true)
|
|
|
646
|
+ let streaks = await client.ItemManager.getTokens(user.character, [MC0.tier], false)
|
|
|
647
|
+ if(reserves!.length != 1
|
|
|
648
|
+ || streaks!.length != 0
|
|
|
649
|
+ || reserves![0].itemname !== T1_0.itemname
|
|
|
650
|
+ || reserves![0].level !== 7){
|
|
|
651
|
+ console.log(reserves, streaks);
|
|
|
652
|
+ done("Bad token status")
|
|
|
653
|
+ return
|
|
|
654
|
+ }
|
|
|
655
|
+ await adminClient.manageRaid.startRaid(MC0)
|
|
|
656
|
+ reserves = await client.ItemManager.getTokens(user.character, [MC0.tier], true)
|
|
|
657
|
+ streaks = await client.ItemManager.getTokens(user.character, [MC0.tier], false)
|
|
|
658
|
+ if(reserves!.length != 0
|
|
|
659
|
+ || streaks!.length != 1
|
|
|
660
|
+ || streaks![0].itemname !== T1[0]
|
|
|
661
|
+ || streaks![0].level !== 7){
|
|
|
662
|
+ console.log(reserves, streaks);
|
|
|
663
|
+ done("Bad token status")
|
|
|
664
|
+ return
|
|
|
665
|
+ }
|
|
|
666
|
+
|
|
|
667
|
+ const MC1 = await createRaid(Raid(1, 'MC'))
|
|
|
668
|
+ const signupMC1 = await sign(MC1)
|
|
|
669
|
+ token = await buyToken(signupMC1, T1[1])
|
|
|
670
|
+ reserves = await client.ItemManager.getTokens(user.character, [MC1.tier], true)
|
|
|
671
|
+ streaks = await client.ItemManager.getTokens(user.character, [MC1.tier], false)
|
|
|
672
|
+ if(reserves!.length != 1
|
|
|
673
|
+ || streaks!.length != 0
|
|
|
674
|
+ || reserves![0].itemname !== T1[1]
|
|
|
675
|
+ || reserves![0].level !== 1){
|
|
|
676
|
+ console.log(reserves, streaks);
|
|
|
677
|
+ done("Bad token status")
|
|
|
678
|
+ return
|
|
|
679
|
+ }
|
|
|
680
|
+
|
|
|
681
|
+ done()
|
|
|
682
|
+
|
|
|
683
|
+ }).catch(e => {
|
|
|
684
|
+ console.log(e);
|
|
|
685
|
+
|
|
|
686
|
+ done(e)
|
|
|
687
|
+ })
|
|
|
688
|
+ })
|
|
615
|
689
|
})
|