implement loot system feedback

This commit is contained in:
peter
2020-02-06 23:37:17 +01:00
parent b987974b9e
commit 5ace7357a4
22 changed files with 382 additions and 199 deletions
+22 -12
View File
@@ -3,7 +3,7 @@ import { FrontworkAdmin } from "../src/backend/Admin/Admin";
import { T1 } from "../src/backend/Types/Items";
import { RPCSocket } from "rpclibrary";
import { FrontcraftIfc, Auth, User, FrontcraftFeatureIfc, Raid, Character, Rank, Class, Race, SRPriority, Spec } from "../src/backend/Types/Types";
import { FrontcraftIfc, Auth, User, FrontcraftFeatureIfc, Raid, Character, Rank, Class, Race, SRPriority, Spec, Signup } from "../src/backend/Types/Types";
import { SpecT } from "../src/backend/Types/PlayerSpecs";
@@ -107,7 +107,7 @@ describe('Frontcraft', () => {
client : RPCSocket & FrontcraftIfc,
adminClient : RPCSocket & FrontcraftFeatureIfc,
raids: Raid[] = [],
users : {[username in string] : { account: User, character: Character, auth: Auth, item?:string }} = {}
users : {[username in string] : { account: User, character: Character, auth: Auth, signup?:Signup, item?:string }} = {}
const createAccount = (user: User) => {
return client.UserManager.createUser(user)
@@ -217,9 +217,12 @@ describe('Frontcraft', () => {
adminClient.signup.sign(user.auth.token.value, user.character, raids[0], false).catch(done)
)).then(x => {
adminClient.signup.getSignups(raids[0]).then(s => {
if(s.length == testAccounts.length)
if(s.length == testAccounts.length){
s.forEach(sign => {
users[sign.username].signup = sign
})
done()
else{
}else{
done("Unexpected number of signups: "+s.length)
}
})
@@ -467,7 +470,7 @@ describe('Frontcraft', () => {
const itemname = T1[0]//T1[Math.floor(T1.length*Math.random())]
const modifier = await client.ItemManager.calculatePriorities(itemname, user.character)
const token = await client.ItemManager.buyToken(user.auth.token.value, user.character.charactername, itemname)
const token = await client.ItemManager.buyToken(user.auth.token.value, user.character.charactername, itemname, user.signup!)
users[user.account.username].item = itemname
if(!token) return false
@@ -480,7 +483,7 @@ describe('Frontcraft', () => {
it('not buy token without currency', (done)=>{
const user = Object.values(users)[0]
const itemname = T1[0]
client.ItemManager.buyToken(user.auth.token.value, user.character.charactername, itemname).then(token => {
client.ItemManager.buyToken(user.auth.token.value, user.character.charactername, itemname, user.signup!).then(token => {
if(!token)
done()
else {
@@ -497,12 +500,18 @@ describe('Frontcraft', () => {
const item = await client.ItemManager.getItem(itemname)
const before = await client.ItemManager.getToken(user.character, item)
if(!before || before.level !== 7) return
if(!before || before.level !== 7) {
console.log("expected level to be 7", before);
return
}
await client.ItemManager.buyToken(user.auth.token.value, user.character.charactername, itemname)
const after = await client.ItemManager.buyToken(user.auth.token.value, user.character.charactername, itemname)
await client.ItemManager.buyToken(user.auth.token.value, user.character.charactername, itemname, user.signup!)
const after = await client.ItemManager.buyToken(user.auth.token.value, user.character.charactername, itemname, user.signup!)
if(!after || after.level !== 9) return
if(!after || after.level !== 9) {
console.log("expected level to be 9", after);
return
}
done()
})
})
@@ -510,11 +519,12 @@ describe('Frontcraft', () => {
it('should buy more tokens', (done) => {
Promise.all(Object.values(users).map(async (user) => {
await adminClient.softreserveCurrency.incrementCurrency(user.account, 1)
await client.ItemManager
return await client.ItemManager
.buyToken(
user.auth.token.value,
user.character.charactername,
T1[Math.floor(T1.length*Math.random())]
T1[Math.floor(T1.length*Math.random())],
user.signup!
)
})).then(_ => {
done()