New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ambslot-monster-kill

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ambslot-monster-kill - npm Package Compare versions

Comparing version 1.1.1 to 1.1.2

81

index.ts

@@ -1,3 +0,82 @@

import MonsterKill from './src'
import {probability, genProbabilities} from './libs'
class MonsterKill {
RTP: number
monsterData: any
constructor(monsterData) {
this.RTP = 0.96
this.monsterData = monsterData.reduce((p: any, c: any, i: number, a: any[]) => {
p[c.type] = {
_id: c._id,
type: c.type,
multiplier: c.multiplier,
}
return p
}, {})
}
shot(monsters: any[], value: number = 1) {
for (let index = 0; index < monsters.length; index++) {
let _monster = this.monsterData[monsters[index].type]
if (!this.monsterData[monsters[index].type]) return { element: 'error', message: 'Undefined monster data' }
monsters[index].multiplier = {}
let monsterProbs = []
if (_monster.multiplier.onDeath) {
monsters[index].multiplier.onDeath = _monster.multiplier.onDeath[0] + ~~(Math.random() * (_monster.multiplier.onDeath[1] - _monster.multiplier.onDeath[0]))
monsterProbs = [
...monsterProbs,
{
p: Number(((100 / monsters[index].multiplier.onDeath) * (this.RTP / 100) * value / monsters.length).toFixed(4)),
obj: {
element: 'death',
multiplier: monsters[index].multiplier.onDeath
}
}
]
}
if (_monster.multiplier.onDamage) {
monsters[index].multiplier.onDamage = _monster.multiplier.onDamage[0] + ~~(Math.random() * (_monster.multiplier.onDamage[1] - _monster.multiplier.onDamage[0]))
monsterProbs = [
...monsterProbs,
{
p: Number(((100 / monsters[index].multiplier.onDamage) * (this.RTP / 100) * value / monsters.length).toFixed(4)),
obj: {
element: 'drop',
multiplier: monsters[index].multiplier.onDamage
}
}
]
}
console.log(monsterProbs)
let probs= genProbabilities(monsterProbs)
let mon = new probability(probs)
mon.set()
const result = mon.calc()
monsters[index].result = result
}
console.log(monsters)
return monsters
}
skill(monsters: any[], value: number = 0) {
const randomIndex: number[] = Array.apply(null, {length: monsters.length}).map(Number.call, Number).sort(() => Math.random() - 0.5)
for (const index of randomIndex) {
let _monster = this.monsterData[monsters[index].type]
if (!this.monsterData[monsters[index].type]) return { element: 'error', message: 'Undefined monster data' }
monsters[index].multiplier = {}
if (_monster.multiplier.onDeath) {
monsters[index].multiplier.onDeath = _monster.multiplier.onDeath[0] + ~~(Math.random() * (_monster.multiplier.onDeath[1] - _monster.multiplier.onDeath[0]))
}
if (monsters[index].multiplier.onDeath < value) {
monsters[index].result = { element: 'death', multiplier: monsters[index].multiplier.onDeath }
value -= monsters[index].multiplier.onDeath
} else {
monsters[index].result = { element: 'missing', multiplier: 0 }
}
}
return monsters
}
}
export default MonsterKill

2

package.json
{
"name": "ambslot-monster-kill",
"version": "1.1.1",
"version": "1.1.2",
"description": "",

@@ -5,0 +5,0 @@ "main": "index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc