{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/action-group/action-group.component.html","webpack:///./src/app/action-group/action-group.component.scss","webpack:///./src/app/action-group/action-group.component.ts","webpack:///./src/app/action/action-header/action-header.component.html","webpack:///./src/app/action/action-header/action-header.component.scss","webpack:///./src/app/action/action-header/action-header.component.ts","webpack:///./src/app/action/action.component.html","webpack:///./src/app/action/action.component.scss","webpack:///./src/app/action/action.component.ts","webpack:///./src/app/action/buttons/buttons.component.html","webpack:///./src/app/action/buttons/buttons.component.scss","webpack:///./src/app/action/buttons/buttons.component.ts","webpack:///./src/app/action/cant-buy-signposts/cant-buy-signposts.component.html","webpack:///./src/app/action/cant-buy-signposts/cant-buy-signposts.component.scss","webpack:///./src/app/action/cant-buy-signposts/cant-buy-signposts.component.ts","webpack:///./src/app/action/price-line/price-line.component.html","webpack:///./src/app/action/price-line/price-line.component.scss","webpack:///./src/app/action/price-line/price-line.component.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routes.ts","webpack:///./src/app/auto-buy-tab/auto-buy-tab.component.html","webpack:///./src/app/auto-buy-tab/auto-buy-tab.component.scss","webpack:///./src/app/auto-buy-tab/auto-buy-tab.component.ts","webpack:///./src/app/auto-buy/auto-buy.component.html","webpack:///./src/app/auto-buy/auto-buy.component.scss","webpack:///./src/app/auto-buy/auto-buy.component.ts","webpack:///./src/app/change-world/change-world.component.html","webpack:///./src/app/change-world/change-world.component.scss","webpack:///./src/app/change-world/change-world.component.ts","webpack:///./src/app/end-in.pipe.ts","webpack:///./src/app/format.pipe.ts","webpack:///./src/app/group-tabs/group-auto-buy/group-auto-buy.component.html","webpack:///./src/app/group-tabs/group-auto-buy/group-auto-buy.component.scss","webpack:///./src/app/group-tabs/group-auto-buy/group-auto-buy.component.ts","webpack:///./src/app/group-tabs/group-tabs.component.html","webpack:///./src/app/group-tabs/group-tabs.component.scss","webpack:///./src/app/group-tabs/group-tabs.component.ts","webpack:///./src/app/group-tabs/unit-group/unit-group.component.html","webpack:///./src/app/group-tabs/unit-group/unit-group.component.scss","webpack:///./src/app/group-tabs/unit-group/unit-group.component.ts","webpack:///./src/app/header/header.component.html","webpack:///./src/app/header/header.component.scss","webpack:///./src/app/header/header.component.ts","webpack:///./src/app/home/bug-card/bug-card.component.html","webpack:///./src/app/home/bug-card/bug-card.component.scss","webpack:///./src/app/home/bug-card/bug-card.component.ts","webpack:///./src/app/home/home.component.html","webpack:///./src/app/home/home.component.scss","webpack:///./src/app/home/home.component.ts","webpack:///./src/app/laboratory/lab-menu/lab-menu.component.html","webpack:///./src/app/laboratory/lab-menu/lab-menu.component.scss","webpack:///./src/app/laboratory/lab-menu/lab-menu.component.ts","webpack:///./src/app/laboratory/laboratory.component.html","webpack:///./src/app/laboratory/laboratory.component.scss","webpack:///./src/app/laboratory/laboratory.component.ts","webpack:///./src/app/main.service.ts","webpack:///./src/app/mastery/mastery.component.html","webpack:///./src/app/mastery/mastery.component.scss","webpack:///./src/app/mastery/mastery.component.ts","webpack:///./src/app/material-nav/material-nav.component.html","webpack:///./src/app/material-nav/material-nav.component.scss","webpack:///./src/app/material-nav/material-nav.component.ts","webpack:///./src/app/material-nav/tab/tab.component.html","webpack:///./src/app/material-nav/tab/tab.component.scss","webpack:///./src/app/material-nav/tab/tab.component.ts","webpack:///./src/app/model/CONSTANTS.ts","webpack:///./src/app/model/action.ts","webpack:///./src/app/model/actions/action-group.ts","webpack:///./src/app/model/actions/buy-action.ts","webpack:///./src/app/model/actions/buy-research.ts","webpack:///./src/app/model/actions/team-action.ts","webpack:///./src/app/model/actions/twin-action.ts","webpack:///./src/app/model/actions/warp-action.ts","webpack:///./src/app/model/autoBuy/auto-buy-manager.ts","webpack:///./src/app/model/autoBuy/auto-buy.ts","webpack:///./src/app/model/baseUnit.ts","webpack:///./src/app/model/bugsTypes.ts","webpack:///./src/app/model/full-unit.ts","webpack:///./src/app/model/game.ts","webpack:///./src/app/model/helper.ts","webpack:///./src/app/model/malus.ts","webpack:///./src/app/model/masteries/all-masteries.ts","webpack:///./src/app/model/masteries/mastery.ts","webpack:///./src/app/model/prestige/all-prestige.ts","webpack:///./src/app/model/prestige/auto-buy-unlock.ts","webpack:///./src/app/model/prestige/followers.ts","webpack:///./src/app/model/prestige/followers2.ts","webpack:///./src/app/model/prestige/prestige-group.ts","webpack:///./src/app/model/prestige/prestige.ts","webpack:///./src/app/model/prestige/swarm.ts","webpack:///./src/app/model/prestige/team.ts","webpack:///./src/app/model/prestige/technology.ts","webpack:///./src/app/model/prestige/time.ts","webpack:///./src/app/model/prestige/world-prestige.ts","webpack:///./src/app/model/price.ts","webpack:///./src/app/model/production-bonus.ts","webpack:///./src/app/model/production.ts","webpack:///./src/app/model/research.ts","webpack:///./src/app/model/stats/run.ts","webpack:///./src/app/model/stats/stats.ts","webpack:///./src/app/model/strings.ts","webpack:///./src/app/model/tab.ts","webpack:///./src/app/model/tabs.ts","webpack:///./src/app/model/unit-group.ts","webpack:///./src/app/model/units/ants.ts","webpack:///./src/app/model/units/bees.ts","webpack:///./src/app/model/units/buildings.ts","webpack:///./src/app/model/units/engineers.ts","webpack:///./src/app/model/units/gatherers.ts","webpack:///./src/app/model/units/helpers.ts","webpack:///./src/app/model/units/malus-killer.ts","webpack:///./src/app/model/units/materials.ts","webpack:///./src/app/model/units/researches.ts","webpack:///./src/app/model/units/special.ts","webpack:///./src/app/model/units/wasps.ts","webpack:///./src/app/model/units/workers.ts","webpack:///./src/app/model/units/world-bonus.ts","webpack:///./src/app/model/units/world-malus.ts","webpack:///./src/app/model/utility.ts","webpack:///./src/app/model/world.ts","webpack:///./src/app/nav/nav.component.html","webpack:///./src/app/nav/nav.component.scss","webpack:///./src/app/nav/nav.component.ts","webpack:///./src/app/nav/unit-line/unit-line.component.html","webpack:///./src/app/nav/unit-line/unit-line.component.scss","webpack:///./src/app/nav/unit-line/unit-line.component.ts","webpack:///./src/app/options-nav/credits/credits.component.html","webpack:///./src/app/options-nav/credits/credits.component.scss","webpack:///./src/app/options-nav/credits/credits.component.ts","webpack:///./src/app/options-nav/options-nav.component.html","webpack:///./src/app/options-nav/options-nav.component.scss","webpack:///./src/app/options-nav/options-nav.component.ts","webpack:///./src/app/options-nav/save/save.component.html","webpack:///./src/app/options-nav/save/save.component.scss","webpack:///./src/app/options-nav/save/save.component.ts","webpack:///./src/app/options-nav/stats/stats.component.html","webpack:///./src/app/options-nav/stats/stats.component.scss","webpack:///./src/app/options-nav/stats/stats.component.ts","webpack:///./src/app/options-nav/ui-options/ui-options.component.html","webpack:///./src/app/options-nav/ui-options/ui-options.component.scss","webpack:///./src/app/options-nav/ui-options/ui-options.component.ts","webpack:///./src/app/options.service.ts","webpack:///./src/app/polynom/polynom.component.html","webpack:///./src/app/polynom/polynom.component.scss","webpack:///./src/app/polynom/polynom.component.ts","webpack:///./src/app/prestige-buy/prestige-buy.component.html","webpack:///./src/app/prestige-buy/prestige-buy.component.scss","webpack:///./src/app/prestige-buy/prestige-buy.component.ts","webpack:///./src/app/prestige-group/prestige-group.component.html","webpack:///./src/app/prestige-group/prestige-group.component.scss","webpack:///./src/app/prestige-group/prestige-group.component.ts","webpack:///./src/app/prestige-nav/prestige-nav.component.html","webpack:///./src/app/prestige-nav/prestige-nav.component.scss","webpack:///./src/app/prestige-nav/prestige-nav.component.ts","webpack:///./src/app/prestige/prestige.component.html","webpack:///./src/app/prestige/prestige.component.scss","webpack:///./src/app/prestige/prestige.component.ts","webpack:///./src/app/production-signposts/production-signposts.component.html","webpack:///./src/app/production-signposts/production-signposts.component.scss","webpack:///./src/app/production-signposts/production-signposts.component.ts","webpack:///./src/app/research/name/name.component.html","webpack:///./src/app/research/name/name.component.scss","webpack:///./src/app/research/name/name.component.ts","webpack:///./src/app/research/research.component.html","webpack:///./src/app/research/research.component.scss","webpack:///./src/app/research/research.component.ts","webpack:///./src/app/roman.pipe.ts","webpack:///./src/app/unit-tabs/made-by-chart/made-by-chart.component.html","webpack:///./src/app/unit-tabs/made-by-chart/made-by-chart.component.scss","webpack:///./src/app/unit-tabs/made-by-chart/made-by-chart.component.ts","webpack:///./src/app/unit-tabs/unit-auto-buy/unit-auto-buy.component.html","webpack:///./src/app/unit-tabs/unit-auto-buy/unit-auto-buy.component.scss","webpack:///./src/app/unit-tabs/unit-auto-buy/unit-auto-buy.component.ts","webpack:///./src/app/unit-tabs/unit-tabs.component.html","webpack:///./src/app/unit-tabs/unit-tabs.component.scss","webpack:///./src/app/unit-tabs/unit-tabs.component.ts","webpack:///./src/app/unit-tabs/unit/unit.component.html","webpack:///./src/app/unit-tabs/unit/unit.component.scss","webpack:///./src/app/unit-tabs/unit/unit.component.ts","webpack:///./src/app/world/world.component.html","webpack:///./src/app/world/world.component.scss","webpack:///./src/app/world/world.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \"
{{actGr.name}}
\\n
\\n\\n \\n 1\\n 将会花费: \\n \\n\\n
\\n
\\n \\n \\n \\n
\\n\"","module.exports = \"input {\\n max-width: 4rem; }\\n\\n.btn-group {\\n margin-top: 0.3rem;\\n width: 99%; }\\n\\napp-cant-buy-signposts {\\n margin-bottom: -0.2rem;\\n margin-top: -0.2rem; }\\n\"","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../main.service\";\nimport { ActionGroup } from \"../model/actions/action-group\";\nimport { Price } from \"../model/price\";\n\n@Component({\n selector: \"app-action-group\",\n templateUrl: \"./action-group.component.html\",\n styleUrls: [\"./action-group.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ActionGroupComponent implements OnInit {\n @Input()\n actGr: ActionGroup;\n sub: any;\n\n constructor(public ms: MainService, private cd: ChangeDetectorRef) {\n //Nothing\n }\n\n ngOnInit() {\n this.sub = this.ms.updateEmitter.subscribe(() => {\n this.actGr.reload(this.ms.game);\n // this.actGr.reloadAvailableTime();\n this.cd.markForCheck();\n });\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n buy(event: Event) {\n this.actGr.buy(this.ms.game, this.actGr.realNum);\n }\n\n getPriceId(index, price: Price) {\n return price.base.id;\n }\n}\n","module.exports = \"
\\n \\n {{action.name}}\\n ({{quantity | format: true}})\\n
\\n\"","module.exports = \"\"","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n SimpleChanges\n} from \"@angular/core\";\nimport { Action } from \"../../model/action\";\nimport { TeamAction } from \"../../model/actions/team-action\";\nimport { TwinAction } from \"../../model/actions/twin-action\";\n\n@Component({\n selector: \"app-action-header\",\n templateUrl: \"./action-header.component.html\",\n styleUrls: [\"./action-header.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ActionHeaderComponent implements OnChanges {\n @Input()\n action: Action;\n @Input()\n quantity: Decimal;\n shape: string;\n\n constructor() {\n //\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.shape =\n this.action instanceof TeamAction\n ? \"angle\"\n : this.action instanceof TwinAction\n ? \"angle-double\"\n : \"\";\n }\n}\n","module.exports = \"\\n
\\n \\n {{action.description}}\\n
\\n
\\n
\\n\\n\"","module.exports = \"\"","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit\n} from \"@angular/core\";\nimport { Action } from \"../model/action\";\nimport { WarpAction } from \"../model/actions/warp-action\";\n\n@Component({\n selector: \"app-action\",\n templateUrl: \"./action.component.html\",\n styleUrls: [\"./action.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ActionComponent implements OnInit {\n @Input()\n action: Action;\n skippable = true;\n\n constructor() {\n //Nothing\n }\n ngOnInit(): void {\n this.skippable = !(this.action instanceof WarpAction);\n }\n}\n","module.exports = \"
\\n \\n 1\\n 将会花费: \\n \\n
\\n\\n
\\n \\n \\n \\n \\n \\n \\n
\\n\"","module.exports = \"input {\\n max-width: 4rem; }\\n\\n.btn-group {\\n margin-top: 0.3rem;\\n width: 99%; }\\n\\napp-cant-buy-signposts {\\n margin-bottom: -0.2rem;\\n margin-top: -0.2rem; }\\n\"","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../../main.service\";\nimport { Action } from \"../../model/action\";\nimport { Prestige } from \"../../model/prestige/prestige\";\nimport { Price } from \"../../model/price\";\n\n@Component({\n selector: \"app-buttons\",\n templateUrl: \"./buttons.component.html\",\n styleUrls: [\"./buttons.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonsComponent implements OnInit {\n @Input()\n action: Action;\n @Input()\n buttonsOnly = false;\n @Input()\n skippable = true;\n\n showTime = true;\n minuteSkip = 1;\n canSkip = false;\n\n sub: any;\n\n constructor(private ms: MainService, private cd: ChangeDetectorRef) {\n //Nothing\n }\n\n ngOnInit() {\n this.showTime = !(this.action instanceof Prestige);\n\n if (this.action) {\n this.action.reloadUserPrices();\n this.action.reloadAvailableTime();\n this.checkSkip();\n }\n\n this.sub = this.ms.updateEmitter.subscribe(() => {\n this.action.reloadUserPrices();\n this.action.reloadAvailableTime();\n this.checkSkip();\n this.cd.markForCheck();\n });\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n getPriceId(index, price: Price) {\n return price.base.id;\n }\n buy(quantity: Decimal) {\n this.action.buy(quantity);\n this.ms.updateEmitter.emit(1);\n }\n checkSkip() {\n this.canSkip = false;\n if (!this.action.canBuy && this.skippable && this.showTime) {\n this.minuteSkip = Math.ceil(Math.max(this.action.availableIn / 60000, 1));\n this.canSkip = this.ms.game.time.quantity.gt(this.minuteSkip * 60);\n }\n }\n skip() {\n if (this.canSkip) this.ms.game.actMin.buy(new Decimal(this.minuteSkip));\n }\n}\n","module.exports = \"\\n \\n

{{action.name}}

\\n

将在 {{action.availableIn | endIn}} 后可用

\\n\\n
\\n
{{cost.base.name}} {{getVal(cost)}}%
\\n 将在 {{cost.avIn.times(1000).toNumber() | endIn}} 后可用\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n\"","module.exports = \"\"","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../../main.service\";\nimport { Action } from \"../../model/action\";\nimport { Price } from \"../../model/price\";\n\n@Component({\n selector: \"app-cant-buy-signposts\",\n templateUrl: \"./cant-buy-signposts.component.html\",\n styleUrls: [\"./cant-buy-signposts.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CantBuySignpostsComponent implements OnInit, OnDestroy {\n @Input()\n action: Action;\n sub: any;\n\n constructor(private ms: MainService, private cd: ChangeDetectorRef) {\n //\n }\n\n ngOnInit() {\n this.sub = this.ms.updateEmitter.subscribe(m => {\n this.cd.markForCheck();\n });\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n getVal(price: Price): number {\n return Math.floor(\n Math.min(price.base.quantity.div(price.priceUser).toNumber() * 100, 100)\n );\n }\n getPriceId(index, price: Price) {\n return price.base.id;\n }\n}\n","module.exports = \"\\n {{price | format}}\\n \\n\\n \\n \\n {{unit.name}},\\n \\n \\n

{{unit.name}}

\\n

\\n 数量:\\n \\n {{unit.quantity | format}}\\n \\n
\\n \\n \\n

\\n \\n 前往 {{unit.name}}\\n \\n
\\n
\\n\\n
\\n\"","module.exports = \".signpost-trigger {\\n margin-left: 0.15rem;\\n margin-right: 0.15rem; }\\n\"","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit\n} from \"@angular/core\";\nimport { BaseUnit } from \"../../model/baseUnit\";\nimport { FullUnit } from \"../../model/full-unit\";\n\n@Component({\n selector: \"app-price-line\",\n templateUrl: \"./price-line.component.html\",\n styleUrls: [\"./price-line.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PriceLineComponent implements OnInit {\n @Input()\n unit: FullUnit;\n @Input()\n canBuy: boolean;\n @Input()\n price: Decimal;\n\n constructor() {\n //Nothing\n }\n ngOnInit() {\n //Nothing\n }\n}\n","module.exports = \"\\n \\n \\n \\n\\n \\n\\n\\n\\n\"","module.exports = \"app-material-nav {\\n min-height: -webkit-fit-content;\\n min-height: -moz-fit-content;\\n min-height: fit-content; }\\n\\n:host /deep/ .content-container .content-area {\\n padding: 0.225rem 0.45rem 0.45rem 0.45rem !important; }\\n\\n:host /deep/ .clr-row {\\n margin-left: -0.225rem !important;\\n margin-right: -0.225rem !important; }\\n\\n:host /deep/ h1 {\\n line-height: 1.6rem;\\n margin-top: 0; }\\n\\n:host /deep/ p {\\n margin-top: 0; }\\n\\n:host /deep/ .monospace {\\n font-family: RobotoMono, Consolas, Monaco, Courier, monospace !important;\\n font-size: 90%; }\\n\\n:host /deep/ .notEnough {\\n color: #c92100; }\\n\\n:host /deep/ .notEnough a:link :not(.noRed) {\\n color: #c92100; }\\n\\n:host /deep/ .notEnough a:visited :not(.noRed) {\\n color: #c92100; }\\n\\n:host /deep/ h6 {\\n margin-top: 0.6rem; }\\n\\n:host /deep/ .w-100 {\\n max-width: 100% !important; }\\n\\n:host /deep/ clr-signpost-content h3 {\\n margin-bottom: 0.3rem;\\n margin-top: 0; }\\n\\n:host /deep/ .nav-content {\\n padding-bottom: 1rem; }\\n\\n:host /deep/ .clr-vertical-nav {\\n padding-top: 0; }\\n\\n:host /deep/ clr-tree-node {\\n overflow-y: visible !important; }\\n\\n:host /deep/ .card {\\n margin-top: 0.4rem; }\\n\\n:host /deep/ .card h6 {\\n font-size: 0.75rem;\\n font-weight: 200;\\n letter-spacing: normal;\\n margin-bottom: 0.4rem;\\n margin-top: 0.1rem; }\\n\\n:host /deep/ .card .card-block .card-title {\\n margin-bottom: 0.4rem !important; }\\n\\n:host /deep/ .card :host /deep/ .card-block,\\n :host /deep/ .card .card-footer,\\n :host /deep/ .card .card-header,\\n :host /deep/ .card .card > .list,\\n :host /deep/ .card .card > .list-unstyled {\\n padding-bottom: 0.4rem;\\n padding-top: 0.4rem; }\\n\\n:host /deep/ .btn {\\n height: auto; }\\n\\n:host /deep/ app-cant-buy-signposts {\\n height: 1rem; }\\n\\n:host /deep/ clr-datagrid {\\n margin-top: 0;\\n padding-top: 0; }\\n\\n:host /deep/ .clr-vertical-nav .nav-trigger {\\n margin-top: 0; }\\n\\n@media screen and (max-width: 768px) {\\n app-material-nav {\\n display: none; } }\\n\\n@media screen and (max-width: 1050px) {\\n :host /deep/ .clr-col,\\n :host /deep/ .clr-col-1,\\n :host /deep/ .clr-col-2,\\n :host /deep/ .clr-col-3,\\n :host /deep/ .clr-col-4,\\n :host /deep/ .clr-col-5,\\n :host /deep/ .clr-col-6,\\n :host /deep/ .clr-col-7,\\n :host /deep/ .clr-col-8,\\n :host /deep/ .clr-col-9,\\n :host /deep/ .clr-col-10,\\n :host /deep/ .clr-col-11,\\n :host /deep/ .clr-col-12,\\n :host /deep/ .clr-col-xs,\\n :host /deep/ .clr-col-xs-1,\\n :host /deep/ .clr-col-xs-2,\\n :host /deep/ .clr-col-xs-3,\\n :host /deep/ .clr-col-xs-4,\\n :host /deep/ .clr-col-xs-5,\\n :host /deep/ .clr-col-xs-6,\\n :host /deep/ .clr-col-xs-7,\\n :host /deep/ .clr-col-xs-8,\\n :host /deep/ .clr-col-xs-9,\\n :host /deep/ .clr-col-xs-10,\\n :host /deep/ .clr-col-xs-11,\\n :host /deep/ .clr-col-xs-12,\\n :host /deep/ .clr-col-sm,\\n :host /deep/ .clr-col-sm-1,\\n :host /deep/ .clr-col-sm-2,\\n :host /deep/ .clr-col-sm-3,\\n :host /deep/ .clr-col-sm-4,\\n :host /deep/ .clr-col-sm-5,\\n :host /deep/ .clr-col-sm-6,\\n :host /deep/ .clr-col-sm-7,\\n :host /deep/ .clr-col-sm-8,\\n :host /deep/ .clr-col-sm-9,\\n :host /deep/ .clr-col-sm-10,\\n :host /deep/ .clr-col-sm-11,\\n :host /deep/ .clr-col-sm-12,\\n :host /deep/ .clr-col-md,\\n :host /deep/ .clr-col-md-1,\\n :host /deep/ .clr-col-md-2,\\n :host /deep/ .clr-col-md-3,\\n :host /deep/ .clr-col-md-4,\\n :host /deep/ .clr-col-md-5,\\n :host /deep/ .clr-col-md-6,\\n :host /deep/ .clr-col-md-7,\\n :host /deep/ .clr-col-md-8,\\n :host /deep/ .clr-col-md-9,\\n :host /deep/ .clr-col-md-10,\\n :host /deep/ .clr-col-md-11,\\n :host /deep/ .clr-col-md-12,\\n :host /deep/ .clr-col-lg,\\n :host /deep/ .clr-col-lg-1,\\n :host /deep/ .clr-col-lg-2,\\n :host /deep/ .clr-col-lg-3,\\n :host /deep/ .clr-col-lg-4,\\n :host /deep/ .clr-col-lg-5,\\n :host /deep/ .clr-col-lg-6,\\n :host /deep/ .clr-col-lg-7,\\n :host /deep/ .clr-col-lg-8,\\n :host /deep/ .clr-col-lg-9,\\n :host /deep/ .clr-col-lg-10,\\n :host /deep/ .clr-col-lg-11,\\n :host /deep/ .clr-col-lg-12,\\n :host /deep/ .clr-col-xl,\\n :host /deep/ .clr-col-xl-1,\\n :host /deep/ .clr-col-xl-2,\\n :host /deep/ .clr-col-xl-3,\\n :host /deep/ .clr-col-xl-4,\\n :host /deep/ .clr-col-xl-5,\\n :host /deep/ .clr-col-xl-6,\\n :host /deep/ .clr-col-xl-7,\\n :host /deep/ .clr-col-xl-8,\\n :host /deep/ .clr-col-xl-9,\\n :host /deep/ .clr-col-xl-10,\\n :host /deep/ .clr-col-xl-11,\\n :host /deep/ .clr-col-xl-12 {\\n padding-left: 0.2rem !important;\\n padding-right: 0.2rem !important; } }\\n\"","import { AfterViewInit, Component, HostListener, OnInit } from \"@angular/core\";\nimport { MainService } from \"./main.service\";\n\n// import { ClarityIcons } from \"@clr/icons\";\nimport { ClarityIcons } from \"@clr/icons\";\n\nimport {\n ClrShapeBug,\n ClrShapeClock,\n ClrShapeLightbulb,\n ClrShapeTools,\n ClrShapeWorld\n} from \"@clr/icons/shapes/essential-shapes\";\n\nimport { animate, style, transition, trigger } from \"@angular/animations\";\nimport { ClrShapeStore } from \"@clr/icons/shapes/commerce-shapes\";\nimport {\n ClrShapeAngle,\n ClrShapeAngleDouble,\n ClrShapeCog,\n ClrShapeExclamationTriangle,\n ClrShapeInfoStandard\n} from \"@clr/icons/shapes/core-shapes\";\nimport { ClrShapePause } from \"@clr/icons/shapes/media-shapes\";\nimport { ClrShapeStar } from \"@clr/icons/shapes/social-shapes\";\nimport {\n ClrShapeCertificate,\n ClrShapeDashboard,\n ClrShapeDownloadCloud,\n ClrShapeFloppy,\n ClrShapeInstall,\n ClrShapeUninstall,\n ClrShapeUploadCloud\n} from \"@clr/icons/shapes/technology-shapes\";\nimport { ClrShapePaintRoller } from \"@clr/icons/shapes/text-edit-shapes\";\nimport { Game } from \"./model/game\";\nimport { OptionsService } from \"./options.service\";\n\n@Component({\n selector: \"app-root\",\n templateUrl: \"./app.component.html\",\n styleUrls: [\"./app.component.scss\"],\n animations: [\n trigger(\"fadeInOut\", [\n transition(\":enter\", [\n style({ opacity: 0 }),\n animate(500, style({ opacity: 1 }))\n ]),\n transition(\":leave\", [animate(500, style({ opacity: 0 }))])\n ])\n ]\n})\nexport class AppComponent implements OnInit, AfterViewInit {\n show = false;\n constructor(public ms: MainService, public os: OptionsService) {\n ClarityIcons.add({\n bug: ClrShapeBug,\n lightbulb: ClrShapeLightbulb,\n world: ClrShapeWorld,\n clock: ClrShapeClock,\n cog: ClrShapeCog,\n store: ClrShapeStore,\n \"exclamation-triangle\": ClrShapeExclamationTriangle,\n \"angle-double\": ClrShapeAngleDouble,\n angle: ClrShapeAngle,\n pause: ClrShapePause,\n infoStandard: ClrShapeInfoStandard,\n floppy: ClrShapeFloppy,\n \"paint-roller\": ClrShapePaintRoller,\n install: ClrShapeInstall,\n uninstall: ClrShapeUninstall,\n tools: ClrShapeTools,\n star: ClrShapeStar,\n dashboard: ClrShapeDashboard,\n certificate: ClrShapeCertificate,\n \"upload-cloud\": ClrShapeUploadCloud,\n \"download-cloud\": ClrShapeDownloadCloud\n });\n }\n ngOnInit(): void {\n //\n }\n ngAfterViewInit() {\n setTimeout(() => {\n this.ms.start();\n }, 1);\n }\n\n @HostListener(\"window:keyup\", [\"$event\"])\n onKey(event: KeyboardEvent) {\n // with type info\n switch (event.key) {\n case \"m\":\n this.ms.game.actMin.buy();\n break;\n case \"h\":\n this.ms.game.actHour.buy();\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { BrowserModule } from \"@angular/platform-browser\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { RouterModule } from \"@angular/router\";\nimport { ClarityModule, ClrFormsNextModule } from \"@clr/angular\";\nimport { ToastrModule, ToastrService } from \"ngx-toastr\";\nimport { SliderModule } from \"primeng/slider\";\nimport { ActionGroupComponent } from \"./action-group/action-group.component\";\nimport { ActionHeaderComponent } from \"./action/action-header/action-header.component\";\nimport { ActionComponent } from \"./action/action.component\";\nimport { ButtonsComponent } from \"./action/buttons/buttons.component\";\nimport { CantBuySignpostsComponent } from \"./action/cant-buy-signposts/cant-buy-signposts.component\";\nimport { PriceLineComponent } from \"./action/price-line/price-line.component\";\nimport { AppComponent } from \"./app.component\";\nimport { APPROUTES } from \"./app.routes\";\nimport { AutoBuyTabComponent } from \"./auto-buy-tab/auto-buy-tab.component\";\nimport { AutoBuyComponent } from \"./auto-buy/auto-buy.component\";\nimport { ChangeWorldComponent } from \"./change-world/change-world.component\";\nimport { EndInPipe } from \"./end-in.pipe\";\nimport { FormatPipe } from \"./format.pipe\";\nimport { GroupAutoBuyComponent } from \"./group-tabs/group-auto-buy/group-auto-buy.component\";\nimport { GroupTabsComponent } from \"./group-tabs/group-tabs.component\";\nimport { UnitGroupComponent } from \"./group-tabs/unit-group/unit-group.component\";\nimport { HeaderComponent } from \"./header/header.component\";\nimport { BugCardComponent } from \"./home/bug-card/bug-card.component\";\nimport { HomeComponent } from \"./home/home.component\";\nimport { LabMenuComponent } from \"./laboratory/lab-menu/lab-menu.component\";\nimport { LaboratoryComponent } from \"./laboratory/laboratory.component\";\nimport { MainService } from \"./main.service\";\nimport { MasteryComponent } from \"./mastery/mastery.component\";\nimport { MaterialNavComponent } from \"./material-nav/material-nav.component\";\nimport { TabComponent } from \"./material-nav/tab/tab.component\";\nimport { NavComponent } from \"./nav/nav.component\";\nimport { UnitLineComponent } from \"./nav/unit-line/unit-line.component\";\nimport { CreditsComponent } from \"./options-nav/credits/credits.component\";\nimport { OptionsNavComponent } from \"./options-nav/options-nav.component\";\nimport { SaveComponent } from \"./options-nav/save/save.component\";\nimport { StatsComponent } from \"./options-nav/stats/stats.component\";\nimport { UiOptionsComponent } from \"./options-nav/ui-options/ui-options.component\";\nimport { OptionsService } from \"./options.service\";\nimport { PolynomComponent } from \"./polynom/polynom.component\";\nimport { PrestigeBuyComponent } from \"./prestige-buy/prestige-buy.component\";\nimport { PrestigeGroupComponent } from \"./prestige-group/prestige-group.component\";\nimport { PrestigeNavComponent } from \"./prestige-nav/prestige-nav.component\";\nimport { PrestigeComponent } from \"./prestige/prestige.component\";\nimport { ProductionSignpostsComponent } from \"./production-signposts/production-signposts.component\";\nimport { NameComponent } from \"./research/name/name.component\";\nimport { ResearchComponent } from \"./research/research.component\";\nimport { RomanPipe } from \"./roman.pipe\";\nimport { MadeByChartComponent } from \"./unit-tabs/made-by-chart/made-by-chart.component\";\nimport { UnitAutoBuyComponent } from \"./unit-tabs/unit-auto-buy/unit-auto-buy.component\";\nimport { UnitTabsComponent } from \"./unit-tabs/unit-tabs.component\";\nimport { UnitComponent } from \"./unit-tabs/unit/unit.component\";\nimport { WorldComponent } from \"./world/world.component\";\n\n@NgModule({\n declarations: [\n AppComponent,\n HeaderComponent,\n NavComponent,\n UnitComponent,\n FormatPipe,\n ActionComponent,\n UnitLineComponent,\n PriceLineComponent,\n PolynomComponent,\n OptionsNavComponent,\n SaveComponent,\n LaboratoryComponent,\n EndInPipe,\n ResearchComponent,\n MaterialNavComponent,\n ProductionSignpostsComponent,\n CantBuySignpostsComponent,\n UnitGroupComponent,\n ActionGroupComponent,\n TabComponent,\n WorldComponent,\n ChangeWorldComponent,\n PrestigeComponent,\n UiOptionsComponent,\n PrestigeNavComponent,\n PrestigeGroupComponent,\n PrestigeBuyComponent,\n AutoBuyComponent,\n UnitAutoBuyComponent,\n UnitTabsComponent,\n ButtonsComponent,\n ActionHeaderComponent,\n StatsComponent,\n MasteryComponent,\n NameComponent,\n RomanPipe,\n AutoBuyTabComponent,\n HomeComponent,\n GroupTabsComponent,\n LabMenuComponent,\n BugCardComponent,\n MadeByChartComponent,\n CreditsComponent,\n GroupAutoBuyComponent\n ],\n imports: [\n BrowserAnimationsModule,\n BrowserModule,\n ClarityModule,\n RouterModule.forRoot(APPROUTES, { useHash: true }),\n ToastrModule.forRoot({\n timeOut: 10000,\n positionClass: \"toast-bottom-right\",\n preventDuplicates: false\n }),\n FormsModule,\n SliderModule,\n ClrFormsNextModule\n ],\n providers: [ToastrService, OptionsService, MainService],\n bootstrap: [AppComponent],\n exports: [CreditsComponent]\n})\nexport class AppModule {}\n","import { Routes } from \"@angular/router\";\nimport { AutoBuyTabComponent } from \"./auto-buy-tab/auto-buy-tab.component\";\nimport { GroupTabsComponent } from \"./group-tabs/group-tabs.component\";\nimport { HomeComponent } from \"./home/home.component\";\nimport { LaboratoryComponent } from \"./laboratory/laboratory.component\";\nimport { MasteryComponent } from \"./mastery/mastery.component\";\nimport { NavComponent } from \"./nav/nav.component\";\nimport { CreditsComponent } from \"./options-nav/credits/credits.component\";\nimport { OptionsNavComponent } from \"./options-nav/options-nav.component\";\nimport { SaveComponent } from \"./options-nav/save/save.component\";\nimport { StatsComponent } from \"./options-nav/stats/stats.component\";\nimport { UiOptionsComponent } from \"./options-nav/ui-options/ui-options.component\";\nimport { PrestigeGroupComponent } from \"./prestige-group/prestige-group.component\";\nimport { PrestigeNavComponent } from \"./prestige-nav/prestige-nav.component\";\nimport { PrestigeComponent } from \"./prestige/prestige.component\";\nimport { UnitTabsComponent } from \"./unit-tabs/unit-tabs.component\";\nimport { UnitComponent } from \"./unit-tabs/unit/unit.component\";\nexport const APPROUTES: Routes = [\n {\n path: \"\",\n redirectTo: \"nav/unit/f\",\n pathMatch: \"full\"\n },\n {\n path: \"nav\",\n component: NavComponent,\n children: [\n { path: \"unit\", component: UnitComponent },\n { path: \"unit/:id\", component: UnitTabsComponent },\n { path: \"group/:id\", component: GroupTabsComponent }\n ]\n },\n {\n path: \"pre\",\n component: PrestigeNavComponent,\n children: [{ path: \":id\", component: PrestigeGroupComponent }]\n },\n {\n path: \"lab\",\n component: LaboratoryComponent\n },\n {\n path: \"travel\",\n component: PrestigeComponent\n },\n {\n path: \"opt\",\n component: OptionsNavComponent,\n children: [\n { path: \"save\", component: SaveComponent },\n { path: \"ui\", component: UiOptionsComponent },\n { path: \"stats\", component: StatsComponent },\n { path: \"credits\", component: CreditsComponent }\n ]\n },\n {\n path: \"mast\",\n component: MasteryComponent\n },\n {\n path: \"auto\",\n component: AutoBuyTabComponent\n },\n {\n path: \"home\",\n component: HomeComponent\n }\n];\n","module.exports = \"
\\n

自动购买者

\\n

\\n 其他自动购买者可以在单个单位的页面找到。\\n 自动购买者执行是按优先级排序的,升序(例如: -5优先级在100优先级之前执行)。\\n 最小间隔为1秒,之后您将获得最高购买。\\n

\\n
\\n
\\n
\\n \\n \\n 开启\\n \\n \\n 多重购买\\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n\"","module.exports = \"\"","import { ChangeDetectionStrategy, Component, OnInit } from \"@angular/core\";\nimport { MainService } from \"../main.service\";\nimport { AutoBuy } from \"../model/autoBuy/auto-buy\";\n\n@Component({\n selector: \"app-auto-buy-tab\",\n templateUrl: \"./auto-buy-tab.component.html\",\n styleUrls: [\"./auto-buy-tab.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-container]\": \"true\"\n }\n})\nexport class AutoBuyTabComponent implements OnInit {\n unlSpecial = new Array();\n\n constructor(public ms: MainService) {\n //\n }\n\n ngOnInit() {\n this.unlSpecial = [];\n if (this.ms.game.allPrestige.autoBuyUnlock.autoBuyMin.done) {\n this.unlSpecial.push(this.ms.game.autoBuyManager.minuteAutoBuy);\n }\n if (this.ms.game.allPrestige.autoBuyUnlock.autoBuyResearch.done) {\n this.unlSpecial.push(this.ms.game.autoBuyManager.researchAutoBuy);\n }\n }\n getAutoBuyId(index: number, autoBuy: AutoBuy) {\n return autoBuy.id;\n }\n}\n","module.exports = \"
\\n
\\n
\\n\\n\\n
\\n
\\n \\n \\n\\n
\\n
\\n \\n \\n \\n

最大购买倍数

\\n

\\n 乘以最大可用购买。 (例如: 0.5 => 最大的一半)。\\n 使用它可以防止生产失败和/或节省宝贵的资源。\\n 范围是 0 - 1\\n

\\n
\\n
\\n
1}\\\">\\n \\n \\n
\\n
\\n
\\n \\n 激活\\n \\n
\\n\\n
\\n
\\n
\\n \\n 时间间隔:\\n {{autoBuy.max}} \\n 秒\\n \\n \\n 多重购买:\\n {{autoBuy.multiBuy | format:true}} \\n \\n
\\n
\\n\\n\\n\"","module.exports = \"input {\\n max-width: 3rem; }\\n\"","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnDestroy,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../main.service\";\nimport { AutoBuy } from \"../model/autoBuy/auto-buy\";\n\n@Component({\n selector: \"app-auto-buy\",\n templateUrl: \"./auto-buy.component.html\",\n styleUrls: [\"./auto-buy.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AutoBuyComponent implements OnInit, OnDestroy {\n @Input()\n autoBuy: AutoBuy;\n sub: any;\n bought = false;\n progress = 0;\n\n constructor(public ms: MainService) {\n //\n }\n\n ngOnInit() {\n this.autoBuy.reload();\n this.bought = this.autoBuy.quantity.gt(0);\n if (this.bought) {\n this.progress = Math.floor(\n (this.autoBuy.current / this.autoBuy.max) * 100\n );\n }\n this.sub = this.ms.updateEmitter.subscribe(s => {\n this.autoBuy.reload();\n this.bought = this.autoBuy.quantity.gt(0);\n if (this.bought) {\n this.progress = Math.floor(\n (this.autoBuy.current / this.autoBuy.max) * 100\n );\n }\n });\n }\n ngOnDestroy(): void {\n this.sub.unsubscribe();\n }\n reload() {\n this.ms.game.autoBuyManager.buildActiveList();\n }\n}\n","module.exports = \"

从这里你可以旅行到新的世界.

\\n\\n\\n\\n
\\n \\n 你将会得到\\n {{ms.game.currentWorld.prestige}} \\n 经验\\n\\n \\n 和 1 专精点\\n \\n \\n
\\n
\\n\\n\\n \\n
\\n \\n 如果您选择跳过,你将得不到经验奖励!\\n \\n
\\n
\\n
\\n\\n\\n\\n
\\n \\n 专精研究未完成。\\n \\n
\\n
\\n\\n\\n\\n\\n 最低等级:\\n \\n {{minLevel | format:true}}\\n \\n\\n\\n 最高等级:\\n \\n {{maxLevel | format:true}}\\n \\n\\n\\n\\n\\n\\n\\n
\\n
\\n \\n
\\n
\\n\\n\\n\\n

更换世界 ?

\\n
\\n

你将失去一切,除了声望升级,继续 ?

\\n
\\n
\\n \\n \\n
\\n
\\n\"","module.exports = \":host /deep/ p-slider div {\\n margin-left: 1rem;\\n margin-right: 1rem; }\\n\\n@media screen and (min-width: 57rem) {\\n .worldMaxWidt {\\n max-width: 19rem; } }\\n\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnInit\n} from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { MainService } from \"../main.service\";\nimport { World } from \"../model/world\";\ndeclare let preventScroll;\n\n@Component({\n selector: \"app-change-world\",\n templateUrl: \"./change-world.component.html\",\n styleUrls: [\"./change-world.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ChangeWorldComponent implements OnInit, AfterViewInit {\n maxSafeInt = Number.MAX_SAFE_INTEGER;\n minLevel = new Decimal(1);\n maxLevel = new Decimal(1);\n rangeValues: number[] = [1, Number.MAX_SAFE_INTEGER];\n travelMessage = false;\n worldTravel: World;\n worldSub: any;\n\n constructor(\n public ms: MainService,\n private cd: ChangeDetectorRef,\n private router: Router\n ) {\n this.ms.game.reloadMaxLevel();\n }\n\n ngAfterViewInit(): void {\n if (typeof preventScroll === typeof Function) preventScroll();\n this.cd.markForCheck();\n }\n\n ngOnInit() {\n this.setLevels();\n this.worldSub = this.ms.worldEmitter.subscribe(world => {\n this.worldTravel = world;\n this.travelMessage = true;\n });\n }\n setLevels() {\n this.maxLevel = this.ms.game.realMaxLevel\n .times(this.rangeValues[1] / Number.MAX_SAFE_INTEGER)\n .ceil();\n this.minLevel = this.ms.game.realMaxLevel\n .times(this.rangeValues[0] / Number.MAX_SAFE_INTEGER)\n .floor()\n .min(this.maxLevel)\n .max(1);\n }\n\n getWorldId(index: number, world: World) {\n return world.name + world.level + index;\n }\n randomize() {\n this.ms.game.generateWorlds(this.minLevel, this.maxLevel);\n }\n ngOnDestroy(): void {\n this.worldSub.unsubscribe();\n }\n travel() {\n this.travelMessage = false;\n this.ms.game.goToWorld(this.worldTravel);\n this.router.navigateByUrl(\"/\");\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport * as distanceInWordsStrict from \"date-fns/distance_in_words_strict\";\nimport * as distanceInWordsToNow from \"date-fns/distance_in_words_to_now\";\nimport * as isValid from \"date-fns/is_valid\";\nimport { FormatPipe } from \"./format.pipe\";\nimport { OptionsService } from \"./options.service\";\n\nconst SECONDS_IN_YEAR = 3.154e7;\n@Pipe({\n name: \"endIn\"\n})\nexport class EndInPipe implements PipeTransform {\n pipeFormat: FormatPipe;\n constructor(public options: OptionsService) {\n this.pipeFormat = new FormatPipe(options);\n }\n\n transform(value: number, args?: any): any {\n if (!isNaN(value) && value > 0 && value < Number.POSITIVE_INFINITY) {\n const dateEnd = new Date(Date.now() + value);\n if (isValid(dateEnd)) {\n return this.options.timeFormatDetail\n ? distanceInWordsStrict(0, value)\n : distanceInWordsToNow(new Date(Date.now() + value));\n } else {\n return (\n \"在 \" + this.pipeFormat.transform(value / SECONDS_IN_YEAR) + \" 年\"\n );\n }\n } else {\n return \"没有\";\n }\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { OptionsService } from \"./options.service\";\n\n@Pipe({\n name: \"format\"\n})\nexport class FormatPipe implements PipeTransform {\n constructor(public options: OptionsService) {}\n\n transform(value: any, integer?: boolean, formatter?: any): any {\n value = new Decimal(value);\n if (!formatter) formatter = this.options.formatter;\n\n let str = \"\";\n if (value.abs().lt(100000)) {\n let num = value.abs().toNumber();\n const digits =\n integer || num >= 100\n ? 0\n : num < 10\n ? num < 0.001 && num !== 0\n ? 6\n : 2\n : 1;\n if (num < 100) {\n const pow = Math.pow(10, digits + 1);\n num = Math.floor(num * pow) / pow;\n } else {\n num = Math.floor(num);\n }\n str = num.toLocaleString(this.options.usaFormat ? \"en-US\" : \"it-IT\", {\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n });\n } else {\n str = formatter.formatShort(value.abs());\n if (integer && value.abs().lessThan(100)) str = str.replace(/\\.0+$/, \"\");\n if (!this.options.usaFormat) str = str.replace(\".\", \",\");\n }\n\n return (value.lt(0) ? \"-\" : \"\") + str;\n }\n}\n","module.exports = \"
\\n
\\n\\n
\\n 自动购买者聚合分组\\n
\\n\\n \\n \\n \\n\\n \\n

设置最大购买倍数

\\n
\\n
\\n\\n
\\n \\n \\n
\\n\\n \\n
\\n \\n
\\n \\n
\\n
\\n\\n
\\n\\n
\\n
\\n \\n \\n \\n
\\n
\\n\\n \\n \\n \\n\\n
\\n
\\n
自动购买者:
\\n\\n \\n\\n 名称\\n\\n \\n 孵化 - 倍数\\n \\n \\n 团队 - 倍数\\n \\n \\n 双胞胎 - 倍数\\n \\n \\n \\n \\n {{unit.name}}\\n \\n \\n\\n \\n \\n \\n {{unit.buyAction?.autoBuyer?.quantity | format: true}}\\n {{unit.buyAction?.autoBuyer?.priceSavePercent | format: false}}\\n \\n \\n \\n \\n \\n \\n {{unit.teamAction?.autoBuyer?.quantity | format: true}}\\n {{unit.teamAction?.autoBuyer?.priceSavePercent | format: false}}\\n \\n \\n \\n \\n \\n \\n {{unit.twinAction?.autoBuyer?.quantity | format: true}}\\n {{unit.twinAction?.autoBuyer?.priceSavePercent | format: false}}\\n \\n \\n \\n\\n \\n\\n\\n \\n\\n
\\n
\\n\"","module.exports = \"\"","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit,\n SimpleChanges\n} from \"@angular/core\";\nimport { MainService } from \"../../main.service\";\nimport { ActionGroup } from \"../../model/actions/action-group\";\nimport { UnitGroup } from \"../../model/unit-group\";\nimport {\n UnitAutoHatchSorter,\n UnitAutoTeamSorter,\n UnitAutoTwinSorter\n} from \"../../model/utility\";\n\n@Component({\n selector: \"app-group-auto-buy\",\n templateUrl: \"./group-auto-buy.component.html\",\n styleUrls: [\"./group-auto-buy.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GroupAutoBuyComponent implements OnInit, OnDestroy {\n @Input()\n unitGroup: UnitGroup;\n sub: any;\n\n hatchActionGrp: ActionGroup;\n teamActionGrp: ActionGroup;\n twinActionGrp: ActionGroup;\n\n unitAutoHatchSorter = new UnitAutoHatchSorter();\n unitAutoTeamSorter = new UnitAutoTeamSorter();\n unitAutoTwinSorter = new UnitAutoTwinSorter();\n\n multiModal = false;\n reqMulti = 1;\n autoBuyType = \"0\";\n\n constructor(public ms: MainService, private cd: ChangeDetectorRef) {}\n\n ngOnInit() {\n this.sub = this.ms.updateEmitter.subscribe(m => {\n this.cd.markForCheck();\n });\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n ngOnChanges(changes: SimpleChanges): void {\n this.getGroup();\n }\n selectedChanged(event: any) {\n this.getGroup();\n }\n getGroup() {\n this.hatchActionGrp = null;\n this.teamActionGrp = null;\n this.twinActionGrp = null;\n\n if (this.unitGroup.unlocked[0].buyAction) {\n if (this.ms.game.allPrestige.autoBuyUnlock.autoBuyQuantity.done) {\n this.hatchActionGrp = new ActionGroup(\n \"孵化\",\n this.unitGroup.selected\n .filter(u => u.buyAction)\n .map(u => u.buyAction)\n .filter(b => b.autoBuyer)\n .map(a => a.autoBuyer),\n this.ms.game\n );\n this.hatchActionGrp.actionList.forEach(a => a.reload());\n }\n if (\n this.ms.game.allPrestige.autoBuyUnlock.autoBuyTeam.done &&\n this.unitGroup.unlocked[0].teamAction\n ) {\n this.teamActionGrp = new ActionGroup(\n \"团队合作\",\n this.unitGroup.selected\n .filter(u => u.teamAction)\n .map(u => u.teamAction)\n .filter(b => b.autoBuyer)\n .map(a => a.autoBuyer),\n this.ms.game\n );\n this.teamActionGrp.actionList.forEach(a => a.reload());\n }\n if (\n this.ms.game.allPrestige.autoBuyUnlock.autoBuyTwin.done &&\n this.unitGroup.unlocked[0].twinAction\n ) {\n this.twinActionGrp = new ActionGroup(\n \"双胞胎\",\n this.unitGroup.selected\n .filter(u => u.twinAction)\n .map(u => u.twinAction)\n .filter(b => b.autoBuyer)\n .map(a => a.autoBuyer),\n this.ms.game\n );\n this.twinActionGrp.actionList.forEach(a => a.reload());\n }\n } else {\n this.hatchActionGrp = null;\n this.teamActionGrp = null;\n this.twinActionGrp = null;\n }\n }\n reload() {\n this.ms.game.autoBuyManager.buildActiveList();\n }\n allOn(status = true) {\n this.unitGroup.unlocked.forEach(u => {\n if (u.buyAction && u.buyAction.autoBuyer) {\n u.buyAction.autoBuyer.active = status;\n }\n if (u.teamAction && u.teamAction.autoBuyer) {\n u.teamAction.autoBuyer.active = status;\n }\n if (u.twinAction && u.twinAction.autoBuyer) {\n u.twinAction.autoBuyer.active = status;\n }\n });\n this.reload();\n }\n setMulti(all = true) {\n if (this.reqMulti <= 1 && this.reqMulti > 0) {\n const selection = all ? this.unitGroup.unlocked : this.unitGroup.selected;\n selection.forEach(u => {\n switch (this.autoBuyType) {\n case \"0\": {\n u.buyAction.autoBuyer.priceSavePercent = this.reqMulti;\n u.teamAction.autoBuyer.priceSavePercent = this.reqMulti;\n u.twinAction.autoBuyer.priceSavePercent = this.reqMulti;\n break;\n }\n case \"1\": {\n u.buyAction.autoBuyer.priceSavePercent = this.reqMulti;\n break;\n }\n case \"2\": {\n u.teamAction.autoBuyer.priceSavePercent = this.reqMulti;\n break;\n }\n case \"3\": {\n u.twinAction.autoBuyer.priceSavePercent = this.reqMulti;\n break;\n }\n }\n });\n }\n\n this.multiModal = false;\n }\n}\n","module.exports = \"

{{unitGroup.name}}\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n\\n

\\n\\n\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n\\n\\n\"","module.exports = \":host /deep/ clr-tabs ul {\\n margin-top: -0.4rem; }\\n\\n:host /deep/ h5 {\\n margin-bottom: 15px;\\n margin-top: 8px; }\\n\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnDestroy,\n OnInit\n} from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport uniq from \"lodash-es/uniq\";\nimport { MainService } from \"../main.service\";\nimport { BugTypes } from \"../model/bugsTypes\";\nimport { UnitGroup } from \"../model/unit-group\";\nimport { Utility } from \"../model/utility\";\ndeclare let preventScroll;\n\n@Component({\n selector: \"app-group-tabs\",\n templateUrl: \"./group-tabs.component.html\",\n styleUrls: [\"./group-tabs.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-area]\": \"true\"\n }\n})\nexport class GroupTabsComponent implements OnInit, OnDestroy, AfterViewInit {\n paramsSub: any;\n paramsSave: any;\n\n unitGroup: UnitGroup;\n\n bugs = new Array();\n utility = Utility;\n\n constructor(\n public ms: MainService,\n private route: ActivatedRoute,\n private cd: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n if (typeof preventScroll === typeof Function) preventScroll();\n }\n ngOnInit() {\n this.paramsSub = this.route.params.subscribe(this.getGroup.bind(this));\n }\n ngOnDestroy() {\n this.paramsSub.unsubscribe();\n }\n getGroup(params: any) {\n this.paramsSave = params;\n let id = \"\" + params.id;\n if (id === undefined) id = \"0\";\n this.unitGroup = this.ms.game.unitGroups.find(g => \"\" + g.id === id);\n if (!this.unitGroup) this.unitGroup = this.ms.game.unitGroups[0];\n if (!this.unitGroup) return;\n\n this.ms.game.lastUnitUrl = \"nav/group/\" + this.unitGroup.id;\n\n this.bugs = uniq(this.unitGroup.unlocked.map(u => u.bugType));\n\n this.cd.markForCheck();\n }\n select(bug: BugTypes) {\n this.unitGroup.selected = this.unitGroup.unlocked.filter(\n u => u.bugType === bug\n );\n }\n selectAdd(bug: BugTypes) {\n this.unitGroup.selected = uniq(\n this.unitGroup.selected.concat(\n this.unitGroup.unlocked.filter(u => u.bugType === bug)\n )\n );\n }\n selectRemove(bug: BugTypes) {\n this.unitGroup.selected = this.unitGroup.selected.filter(\n u => u.bugType !== bug\n );\n }\n\n getBugId(index: number, bug: BugTypes) {\n return bug;\n }\n}\n","module.exports = \"
\\n
\\n\\n
\\n 这里集合了 {{unitGroup.name}}: {{unitsSpan}}\\n
\\n\\n
\\n 操作性(平均数): \\n \\n
\\n\\n \\n \\n \\n\\n
\\n
\\n
统计:
\\n \\n\\n 名称\\n \\n 数量\\n Q. B.\\n Te.\\n Tw.\\n \\n 已购买\\n 团队\\n 双胞胎\\n\\n \\n \\n \\n {{unit.name}}\\n \\n \\n \\n {{unit.quantity | format: true}}\\n \\n {{unit.quantity | format: true}} - {{unit.buyAction?.quantity | format: true}}\\n - {{unit.teamAction?.quantity | format: true}}\\n - {{unit.twinAction?.quantity | format: true}}\\n \\n \\n \\n {{unit.buyAction?.quantity | format: true}}\\n \\n \\n {{unit.teamAction?.quantity | format: true}}\\n \\n \\n {{unit.twinAction?.quantity | format: true}}\\n \\n \\n\\n\\n \\n\\n
\\n \\n \\n
\\n\\n
\\n\\n
\\n\"","module.exports = \".clr-row {\\n margin-left: 0;\\n margin-right: 0; }\\n\\nclr-datagrid {\\n margin-top: 0;\\n padding-top: 0; }\\n\\n@media only screen and (max-width: 768px) {\\n .clr-col-xs-12 {\\n padding-left: 0.2rem !important;\\n padding-right: 0 !important; }\\n .pieContainer {\\n max-width: calc(100% - 40px); } }\\n\\n.pieContainer {\\n display: flex;\\n height: 80%;\\n justify-content: center; }\\n\"","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewChild\n} from \"@angular/core\";\nimport { MainService } from \"../../main.service\";\nimport { ActionGroup } from \"../../model/actions/action-group\";\nimport { CONSTS } from \"../../model/CONSTANTS\";\nimport { FullUnit } from \"../../model/full-unit\";\nimport { UnitGroup } from \"../../model/unit-group\";\nimport {\n UnitBoughtSorter,\n UnitQuantitySorter,\n UnitTeamSorter,\n UnitTwinSorter\n} from \"../../model/utility\";\ndeclare let Chart;\n\n@Component({\n selector: \"app-unit-group\",\n templateUrl: \"./unit-group.component.html\",\n styleUrls: [\"./unit-group.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UnitGroupComponent implements OnInit, OnDestroy, OnChanges {\n sub: any;\n subEff: any;\n paramsSave: any;\n\n selected = new Array();\n\n @Input()\n unitGroup: UnitGroup;\n\n unitsSpan = \"\";\n hatchActionGrp: ActionGroup;\n teamActionGrp: ActionGroup;\n twinActionGrp: ActionGroup;\n\n unitQuantitySorter = new UnitQuantitySorter();\n unitBoughtSorter = new UnitBoughtSorter();\n unitTeamSorter = new UnitTeamSorter();\n unitTwinSorter = new UnitTwinSorter();\n\n team = false;\n twin = false;\n\n isSmall = false;\n\n operativity = 100;\n\n @ViewChild(\"chart\")\n chartRef: ElementRef;\n @ViewChild(\"pieContainer\")\n pieContainerRef: ElementRef;\n chart: any;\n forceChange = false;\n\n constructor(public ms: MainService, private cd: ChangeDetectorRef) {}\n ngOnChanges(changes: SimpleChanges): void {\n this.forceChange = true;\n this.getGroup();\n }\n\n ngAfterViewInit() {\n if (!this.unitGroup) this.unitGroup = this.ms.game.unitGroups[0];\n this.unitGroup.updateChartLabel();\n\n setTimeout(this.initChart.bind(this), 0.1);\n }\n\n initChart() {\n this.chartRef.nativeElement.width = this.pieContainerRef.nativeElement.clientWidth;\n this.chartRef.nativeElement.height = this.pieContainerRef.nativeElement.clientHeight;\n const canvas = this.chartRef.nativeElement;\n canvas.width = canvas.height * (canvas.clientWidth / canvas.clientHeight);\n\n Chart.defaults.global.tooltips.enabled = false;\n const chartCtx = this.chartRef.nativeElement.getContext(\"2d\");\n\n this.chart = new Chart(chartCtx, {\n type: \"pie\",\n data: {\n labels: [], // this.unitGroup.chartLabels,\n datasets: [\n {\n data: [], // this.unitGroup.chartData,\n backgroundColor: CONSTS.CHART_COLORS.backgroundColor,\n borderColor: CONSTS.CHART_COLORS.borderColor,\n borderWidth: 0\n }\n ]\n },\n options: {\n responsive: false,\n maintainAspectRatio: false\n }\n });\n }\n\n ngOnInit() {\n this.isSmall = window.innerWidth < 1200;\n this.getOperativity();\n this.sub = this.ms.updateEmitter.subscribe(m => {\n this.updateChart();\n this.getOperativity();\n this.cd.markForCheck();\n });\n this.subEff = this.ms.efficiencyEmitter.subscribe(e => {\n this.operativity = e;\n this.cd.markForCheck();\n });\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n this.subEff.unsubscribe();\n }\n getOperativity() {\n if (this.unitGroup.unlocked[0].buyAction) {\n this.operativity =\n this.unitGroup.selected.length > 0\n ? this.unitGroup.selected\n .map(u => u.efficiency)\n .reduce((p, c) => p + c, 0) / this.unitGroup.selected.length\n : 0;\n }\n }\n getGroup() {\n this.unitsSpan = this.unitGroup.unlocked\n .map(u => u.name)\n .reduce((p, c) => p + \", \" + c);\n\n this.hatchActionGrp = null;\n this.teamActionGrp = null;\n this.twinActionGrp = null;\n\n if (this.unitGroup.unlocked[0].buyAction) {\n this.hatchActionGrp = new ActionGroup(\n \"孵化\",\n this.unitGroup.selected.filter(u => u.buyAction).map(u => u.buyAction),\n this.ms.game\n );\n if (\n this.ms.game.researches.team2.done &&\n this.unitGroup.unlocked[0].teamAction\n ) {\n this.team = true;\n this.teamActionGrp = new ActionGroup(\n \"团队合作\",\n this.unitGroup.selected\n .filter(u => u.teamAction)\n .map(u => u.teamAction),\n this.ms.game\n );\n }\n if (\n this.ms.game.researches.twin.done &&\n this.unitGroup.unlocked[0].twinAction\n ) {\n this.twin = true;\n this.twinActionGrp = new ActionGroup(\n \"双胞胎\",\n this.unitGroup.selected\n .filter(u => u.twinAction)\n .map(u => u.twinAction),\n this.ms.game\n );\n }\n } else {\n this.hatchActionGrp = null;\n this.teamActionGrp = null;\n this.twinActionGrp = null;\n }\n // this.doGraph();\n this.cd.markForCheck();\n }\n selectedChanged(event: any) {\n this.getGroup();\n }\n updateChart() {\n if (!this.unitGroup) return;\n const lastData = this.unitGroup.chartData;\n this.unitGroup.updateChart();\n if (\n this.forceChange ||\n lastData !== this.unitGroup.chartData ||\n (this.chart &&\n this.chart.data &&\n this.chart.data.datasets[0] &&\n this.chart.data.datasets[0].data.length === 0) ||\n (this.chart &&\n this.chart.labels &&\n this.chart.labels[0] !== this.unitGroup.chartLabels[0])\n ) {\n this.doGraph();\n this.forceChange = false;\n }\n }\n doGraph() {\n this.unitGroup.updateChartLabel();\n\n if (typeof this.chart !== \"undefined\" && this.chart) {\n this.chart.data.datasets[0].data = this.unitGroup.chartData;\n this.chart.data.labels = this.unitGroup.chartLabels;\n this.chart.update();\n }\n }\n changeOperativity(event: any) {\n this.unitGroup.selected.forEach(u => (u.efficiency = this.operativity));\n }\n}\n","module.exports = \"\\n\\n \\n\\n
\\n\\n
\\n \\n \\n
\\n\\n \\n \\n \\n\\n \\n \\n \\n \\n 扭曲 {{p}} 分钟\\n \\n \\n \\n\\n 全部 100%\\n\\n \\n \\n \\n 购买 n\\n 团队 n\\n 双胞胎 n\\n
\\n \\n \\n \\n 全部开启\\n 全部关闭\\n 孵化开启\\n 孵化关闭\\n 团队开启\\n 团队关闭\\n 双胞胎开启\\n 双胞胎关闭\\n \\n \\n
\\n \\n {{p}}%\\n \\n
\\n
\\n\\n
\\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n\\n
\\n\\n\\n

时间扭曲

\\n
\\n 你可以跳过 {{ms.game.time.quantity.toNumber() *1000| endIn}}:\\n \\n {{ms.game.time.quantity | format}}\\n \\n \\n
\\n \\n 你得到了\\n \\n {{ms.game.time.c | format }}\\n /秒 最大: {{ms.game.maxTimeBank | format}}\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\"","module.exports = \":host /deep/ .header-hamburger-trigger,\\n:host /deep/ .header-overflow-trigger {\\n height: 1.5rem !important; }\\n\\nheader,\\n.header {\\n height: 1.5rem; }\\n\\nheader .header-nav .nav-link .fa,\\nheader .header-nav .nav-link .nav-icon,\\nheader .header-nav .nav-link .nav-text,\\nheader .header-nav .nav-link.nav-icon,\\nheader .header-nav .nav-link.nav-text,\\n.header .header-nav .nav-link .fa,\\n.header .header-nav .nav-link .nav-icon,\\n.header .header-nav .nav-link .nav-text,\\n.header .header-nav .nav-link.nav-icon,\\n.header .header-nav .nav-link.nav-text {\\n line-height: 1.5rem; }\\n\\nheader .branding > a,\\nheader .branding > .nav-link,\\n.header .branding > a,\\n.header .branding > .nav-link {\\n height: 1.5rem;\\n line-height: 1.5rem; }\\n\\nheader .branding .title,\\n.header .branding .title {\\n line-height: 1.5rem; }\\n\\nheader .settings .nav-link .fa,\\nheader .settings .nav-link .nav-icon,\\nheader .settings .nav-link .nav-text,\\nheader .settings .nav-link.nav-icon,\\nheader .settings .nav-link.nav-text,\\nheader .header-actions .nav-link .fa,\\nheader .header-actions .nav-link .nav-icon,\\nheader .header-actions .nav-link .nav-text,\\nheader .header-actions .nav-link.nav-icon,\\nheader .header-actions .nav-link.nav-text,\\n.header .settings .nav-link .fa,\\n.header .settings .nav-link .nav-icon,\\n.header .settings .nav-link .nav-text,\\n.header .settings .nav-link.nav-icon,\\n.header .settings .nav-link.nav-text,\\n.header .header-actions .nav-link .fa,\\n.header .header-actions .nav-link .nav-icon,\\n.header .header-actions .nav-link .nav-text,\\n.header .header-actions .nav-link.nav-icon,\\n.header .header-actions .nav-link.nav-text {\\n line-height: 1.5rem; }\\n\\nheader .settings .nav-icon,\\nheader .header-actions .nav-icon,\\n.header .settings .nav-icon,\\n.header .header-actions .nav-icon {\\n height: 1.5rem;\\n width: 1.5rem; }\\n\\nheader .branding,\\nheader .header-nav,\\nheader .search-box,\\nheader .search,\\nheader .settings,\\nheader .header-actions,\\nheader .divider,\\n.header .branding,\\n.header .header-nav,\\n.header .search-box,\\n.header .search,\\n.header .settings,\\n.header .header-actions,\\n.header .divider {\\n height: 1.5rem; }\\n\\n.actMinH {\\n min-height: 8.5rem; }\\n\\n.multiBuy {\\n background: none;\\n border: 0;\\n color: #fafafa;\\n max-width: 2rem;\\n padding: 0;\\n vertical-align: middle; }\\n\\n#multiLabel:before {\\n display: none; }\\n\\n.search {\\n margin-right: 1.2rem; }\\n\"","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit\n} from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { MainService } from \"../main.service\";\nimport { UnitGroup } from \"../model/unit-group\";\n\n@Component({\n selector: \"app-header\",\n templateUrl: \"./header.component.html\",\n styleUrls: [\"./header.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderComponent implements OnInit {\n @Input()\n lab = false;\n @Input()\n labBadge = false;\n @Input()\n travel = false;\n @Input()\n travelBadge = false;\n @Input()\n prestige = false;\n @Input()\n mastery = false;\n @Input()\n autoBuy = false;\n\n sub: any;\n subGroup: any;\n headerClass = \"header-6\";\n timeModal = false;\n\n percentPreset = [100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0];\n minuteWarps = [1, 5, 10, 20, 30, 60, 90, 120, 240];\n groupNoEnemy = new Array();\n buyMulti = 1;\n\n constructor(\n private router: Router,\n public ms: MainService,\n private cd: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n this.sub = this.ms.options.headerEmitter.subscribe(() => {\n this.reloadHeader();\n this.cd.markForCheck();\n });\n this.subGroup = this.ms.unlockGroupEmiter.subscribe(() => {\n this.reloadHeader();\n this.cd.markForCheck();\n });\n this.reloadHeader();\n this.cd.markForCheck();\n }\n reloadHeader() {\n this.headerClass = \"header-\" + this.ms.options.header;\n if (this.ms.game) {\n this.groupNoEnemy = this.ms.game.unlockedGroups.filter(\n g => g !== this.ms.game.worldMalus && g !== this.ms.game.materials\n );\n }\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n this.subGroup.unsubscribe();\n }\n navigateLast() {\n this.router.navigateByUrl(this.ms.game.lastUnitUrl);\n }\n openTimeModal() {\n this.ms.game.actHour.reload();\n this.ms.game.actMin.reload();\n this.timeModal = true;\n }\n\n all100() {\n this.ms.game.unlockedUnits.forEach(u => {\n u.efficiency = 100;\n });\n this.ms.efficiencyEmitter.emit(100);\n }\n warp(minute: number) {\n this.ms.game.actMin.buy(new Decimal(minute));\n }\n allCustom(eff: number, list: UnitGroup) {\n list.allCustom(eff);\n this.ms.efficiencyEmitter.emit(eff);\n }\n getListId(index, list: UnitGroup) {\n return list.name;\n }\n warpAv(minutes) {\n return this.ms.game.time.quantity.gt(minutes * 60);\n }\n}\n","module.exports = \"
\\n
\\n 这个世界上的虫子\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\"","module.exports = \"#container {\\n margin: auto;\\n min-height: 12rem; }\\n\"","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnInit,\n ViewChild\n} from \"@angular/core\";\nimport { MainService } from \"../../main.service\";\nimport { BUGS, BugTypes } from \"../../model/bugsTypes\";\nimport { STRINGS } from \"../../model/strings\";\ndeclare let Chart;\n\n@Component({\n selector: \"app-bug-card\",\n templateUrl: \"./bug-card.component.html\",\n styleUrls: [\"./bug-card.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.card]\": \"true\"\n }\n})\nexport class BugCardComponent implements OnInit {\n @Input()\n bug: BugTypes;\n\n @ViewChild(\"radar\")\n chartRef: ElementRef;\n @ViewChild(\"container\")\n containerRef: ElementRef;\n chart: any;\n\n constructor(public ms: MainService) {\n //Nothing\n }\n\n ngOnInit() {\n //\n }\n ngAfterViewInit() {\n setTimeout(() => {\n this.chartRef.nativeElement.width = this.containerRef.nativeElement.clientWidth;\n this.chartRef.nativeElement.height = this.containerRef.nativeElement.clientHeight;\n const canvas = this.chartRef.nativeElement;\n canvas.width = canvas.height * (canvas.clientWidth / canvas.clientHeight);\n\n Chart.defaults.global.tooltips.enabled = true;\n Chart.defaults.scale.ticks.beginAtZero = true;\n Chart.defaults.scale.ticks.display = false;\n\n const chartCtx = this.chartRef.nativeElement.getContext(\"2d\");\n\n this.chart = new Chart(chartCtx, {\n type: \"radar\",\n data: {\n labels: [\n \"价格\",\n \"生产\",\n \"效率\",\n \"团队价格\",\n \"双胞胎价格\"\n ],\n datasets: this.ms.game.currentWorld.additionalBugs.map(b =>\n this.genDataset(b)\n )\n },\n options: {\n maintainAspectRatio: true,\n legend: { position: \"right\" }\n }\n });\n }, 0);\n }\n\n genDataset(bug: BugTypes): any {\n const bugClass = BUGS[bug];\n\n const dataset = {\n backgroundColor: bugClass.color + \"80\",\n borderColor: bugClass.color,\n data: [\n 1 / bugClass.priceMulti,\n bugClass.prodMulti,\n bugClass.efficiencyMulti,\n 1 / bugClass.teamPriceMulti,\n 1 / bugClass.twinPriceMulti\n ],\n label: STRINGS.bug[bug]\n };\n return dataset;\n }\n}\n","module.exports = \"
\\n
\\n \\n\\n \\n
\\n
\\n\"","module.exports = \"\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../main.service\";\nimport { BugTypes } from \"../model/bugsTypes\";\ndeclare let preventScroll;\n@Component({\n selector: \"app-home\",\n templateUrl: \"./home.component.html\",\n styleUrls: [\"./home.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-container]\": \"true\"\n }\n})\nexport class HomeComponent implements OnInit, AfterViewInit {\n constructor(public ms: MainService) {\n //\n }\n\n ngAfterViewInit(): void {\n if (typeof preventScroll === typeof Function) preventScroll();\n }\n ngOnInit() {\n //\n }\n getBugId(index: number, bug: BugTypes) {\n return \"\" + bug;\n }\n}\n","module.exports = \"\\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n
\\n
\\n\"","module.exports = \"\"","import { ChangeDetectionStrategy, Component, OnInit } from \"@angular/core\";\nimport { MainService } from \"../../main.service\";\nimport { Research } from \"../../model/research\";\n\n@Component({\n selector: \"app-lab-menu\",\n templateUrl: \"./lab-menu.component.html\",\n styleUrls: [\"./lab-menu.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LabMenuComponent implements OnInit {\n constructor(public ms: MainService) {}\n\n ngOnInit() {\n //\n }\n getResearchArray(repeating = true): Research[] {\n let toDo = this.ms.game.researches.toDo;\n toDo = repeating\n ? toDo.filter(r => !r.unlimited || r.quantity.lt(r.maxAutoBuyLevel))\n : toDo.filter(r => !r.unlimited);\n\n toDo.forEach(r => {\n r.reload();\n r.reloadUserPrices();\n });\n\n return toDo.sort((r1, r2) =>\n r1.prices[0].priceUser.cmp(r2.prices[0].priceUser)\n );\n }\n buy1(rep = true) {\n const res = this.getResearchArray(rep);\n if (res.length > 0) res[0].buy();\n }\n buyMulti(rep = true): boolean {\n const res = this.getResearchArray(rep);\n const len = res.length;\n let ret = false;\n for (let i = 0; i < len; i++) {\n if (res[i].buy()) ret = true;\n else break;\n }\n return ret;\n }\n buyMultiR(rep = true) {\n while (this.buyMulti(rep));\n }\n}\n","module.exports = \"
\\n

在这里,科学家们讨论着以前没人见过的东西。

\\n\\n
\\n \\n \\n
\\n \\n 科学:\\n \\n {{ms.game.materials.science.quantity | format}} - {{ms.game.materials.science.c | format}} /秒\\n \\n \\n \\n
\\n \\n
\\n
\\n\"","module.exports = \".card-title {\\n margin-bottom: 0; }\\n\\n.card-footer button {\\n min-width: 20%; }\\n\\n.card-header,\\n.card-block,\\n.card-footer {\\n padding: 0.3rem 0.5rem; }\\n\\n.card-block {\\n padding-bottom: 0.15rem; }\\n\\n.card-footer {\\n padding-top: 0.15rem; }\\n\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../main.service\";\nimport { Research } from \"../model/research\";\ndeclare let preventScroll;\n\n@Component({\n selector: \"app-laboratory\",\n templateUrl: \"./laboratory.component.html\",\n styleUrls: [\"./laboratory.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-container]\": \"true\"\n }\n})\nexport class LaboratoryComponent implements OnInit, AfterViewInit {\n resDone = false;\n resList: Research[];\n sub: any;\n\n constructor(public ms: MainService) {}\n\n ngAfterViewInit(): void {\n if (typeof preventScroll === typeof Function) preventScroll();\n }\n ngOnInit() {\n this.changeList();\n this.sub = this.ms.researchEmitter.subscribe(m => this.changeList());\n this.ms.game.researches.toDo.forEach(r => {\n // r.reloadUserPrices();\n r.reloadAvailableTime();\n });\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n changeList() {\n this.resList = this.resDone\n ? this.ms.game.researches.done\n : this.ms.game.researches.toDo;\n }\n getRestId(index, res: Research) {\n return res.id;\n }\n}\n","import { EventEmitter, Inject, Injectable } from \"@angular/core\";\nimport { DOCUMENT } from \"@angular/platform-browser\";\nimport * as distanceInWordsToNow from \"date-fns/distance_in_words_to_now\";\nimport * as LZString from \"lz-string\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { EndInPipe } from \"./end-in.pipe\";\nimport { Game } from \"./model/game\";\nimport { MasteryTypes } from \"./model/masteries/mastery\";\nimport { World } from \"./model/world\";\nimport { OptionsService } from \"./options.service\";\n\ndeclare let kongregateAPI;\ndeclare let PlayFab;\ndeclare let $;\n\nconst GAME_VERSION = 0;\nconst H8 = 8 * 3600 * 1000;\nconst H1 = 3600 * 1000;\nconst SAVE_INTERVAL = 5 * 60 * 1000;\nconst UP_INTERVAL = 250; // 4 fps\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class MainService {\n game: Game;\n last: number;\n lastSave: Date;\n show = false;\n kongregate: any;\n\n updateEmitter: EventEmitter = new EventEmitter();\n researchEmitter: EventEmitter = new EventEmitter();\n worldEmitter: EventEmitter = new EventEmitter();\n unlockGroupEmiter: EventEmitter = new EventEmitter();\n efficiencyEmitter: EventEmitter = new EventEmitter();\n saveEmitter: EventEmitter = new EventEmitter();\n\n endInPipe: EndInPipe;\n\n themeClarity: HTMLLinkElement;\n // themePrime: HTMLLinkElement;\n themeMy: HTMLLinkElement;\n\n //#region Unit Tas\n lastTab = 0;\n overviewTaActive = false;\n prestigeTaActive = false;\n //#endregion\n\n readonly titleId = \"E86B\";\n playFabId = -1;\n testing = false;\n playFabLogged = false;\n\n constructor(\n public options: OptionsService,\n public toastr: ToastrService,\n @Inject(DOCUMENT) private document: Document\n ) {\n this.endInPipe = new EndInPipe(this.options);\n\n this.themeClarity = this.document.createElement(\"link\");\n this.themeClarity.rel = \"stylesheet\";\n this.themeClarity.type = \"text/css\";\n this.document.querySelector(\"head\").appendChild(this.themeClarity);\n\n this.themeMy = this.document.createElement(\"link\");\n this.themeMy.rel = \"stylesheet\";\n this.themeMy.type = \"text/css\";\n this.document.querySelector(\"head\").appendChild(this.themeMy);\n\n this.last = Date.now();\n\n this.load(true);\n\n if (!this.game) {\n this.setTheme();\n this.game = new Game(this);\n }\n\n // Kong Api\n const url =\n window.location !== window.parent.location\n ? document.referrer\n : document.location.href;\n\n if (url.includes(\"kongregate\") && typeof kongregateAPI !== \"undefined\") {\n kongregateAPI.loadAPI(() => {\n this.kongregate = kongregateAPI.getAPI();\n console.log(\"KongregateAPI Loaded\");\n\n setTimeout(() => {\n try {\n console.log(\"Kongregate build\");\n this.sendKong();\n } catch (e) {\n console.log(\"Error: \" + e.message);\n }\n }, 5 * 1000);\n });\n }\n //else console.log(\"Github build\");\n }\n start() {\n this.show = true;\n setInterval(this.update.bind(this), UP_INTERVAL);\n setInterval(this.save.bind(this, true), SAVE_INTERVAL);\n }\n update() {\n const now = Date.now();\n let diff = now - this.last;\n\n if (diff > H1) {\n let bonus = 0;\n if (diff > H8) {\n bonus =\n (diff *\n 30 *\n this.game.allMateries.getSum(MasteryTypes.MORE_IDLE_8H)) /\n 100;\n }\n this.toastr.info(\n bonus > 0\n ? \"奖励: \" + distanceInWordsToNow(new Date(Date.now() + bonus))\n : \"\",\n \"你离线了: \" +\n distanceInWordsToNow(new Date(Date.now() + diff))\n );\n diff = diff + bonus;\n }\n\n this.game.updateWithTime(diff);\n\n this.game.postUpdate(diff);\n this.last = now;\n this.updateEmitter.emit(diff);\n }\n\n getSave(): string {\n try {\n const save: any = {};\n save.m = this.game.getSave();\n save.o = this.options.getSave();\n save.time = this.last;\n save.ver = GAME_VERSION;\n // console.log(JSON.stringify(save));\n return LZString.compressToBase64(JSON.stringify(save));\n } catch (ex) {\n this.toastr.error(\n ex && ex.message ? ex.message : \"unknown error\",\n \"Save Error\"\n );\n }\n }\n save(autosave = false) {\n try {\n const save = this.getSave();\n if (!!save) {\n localStorage.setItem(\"save\", save);\n if (!autosave || this.options.autosaveNotification) {\n this.toastr.success(\"\", \"游戏已保存\");\n console.log(\"Game Saved\");\n this.lastSave = new Date();\n this.saveEmitter.emit(this.lastSave);\n }\n } else this.toastr.error(\"未知错误 1\", \"保存失败\");\n } catch (ex) {\n this.toastr.error(\n ex && ex.message ? ex.message : \"unknown error\",\n \"Save Error\"\n );\n }\n }\n import(raw: string, first = false, playFab = false): boolean {\n try {\n if (raw === \"TEST\") {\n this.testing = true;\n return;\n }\n } catch (e) {}\n\n try {\n if (!raw) {\n if (!first) {\n setTimeout(() => this.toastr.error(\"未找到存档\", \"加载失败\"), 0);\n }\n return false;\n }\n const json = LZString.decompressFromBase64(raw);\n const data = JSON.parse(json);\n if (!(\"m\" in data)) {\n setTimeout(\n () => this.toastr.error(\"存档无效\", \"加载失败\"),\n 0\n );\n return false;\n }\n this.game = null;\n this.game = new Game(this);\n if (!!data.o) this.options.restore(data.o);\n this.setTheme();\n this.last = data.time;\n this.lastSave = new Date(this.last);\n this.game.restore(data.m);\n setTimeout(() => this.toastr.success(\"\", \"游戏加载成功\"), 0);\n return true;\n } catch (ex) {\n // tslint:disable-next-line:no-console\n console.log(ex);\n setTimeout(\n () =>\n this.toastr.error(\n ex && ex.message ? ex.message : \"unknown error\",\n \"Load Error\"\n ),\n 0\n );\n return false;\n }\n }\n load(first = false): boolean {\n try {\n return this.import(localStorage.getItem(\"save\"), first);\n } catch (ex) {\n setTimeout(\n () =>\n this.toastr.error(\n ex && ex.message ? ex.message : \"unknown error\",\n \"Load Error\"\n ),\n 0\n );\n return false;\n }\n }\n clear() {\n localStorage.removeItem(\"save\");\n window.location.reload();\n }\n setTheme() {\n const themeClarity = this.options.dark\n ? \"clr-ui-dark.min.css\"\n : \"clr-ui.min.css\";\n if (this.themeClarity.href !== themeClarity) {\n this.themeClarity.href = themeClarity;\n }\n\n const myTheme = \"assets/\" + (this.options.dark ? \"dark.css\" : \"light.css\");\n if (myTheme !== this.themeMy.href) {\n this.themeMy.href =\n \"assets/\" + (this.options.dark ? \"dark.css\" : \"light.css\");\n }\n }\n sendKong() {\n try {\n if (this.kongregate) {\n this.kongregate.stats.submit(\n \"LogExperience\",\n this.game.experience.quantity.log10()\n );\n this.kongregate.stats.submit(\n \"Mastery\",\n this.game.allMateries.totalEarned\n );\n this.kongregate.stats.submit(\n \"WorldCompleted\",\n this.game.stats.completedWorld.toNumber()\n );\n this.kongregate.stats.submit(\n \"LogBestExp\",\n this.game.stats.bestExpS.log10()\n );\n }\n } catch (e) {\n console.log(\"Kongregate Stats error: \" + e.message);\n }\n }\n\n //#region PlayFab\n playFabLogin() {\n if (!this.kongregate) {\n this.toastr.error(\n \"You need to be logged in to Kongregate.\",\n \"PlayFab error\"\n );\n return;\n }\n\n try {\n const authTicket = this.kongregate.services.getGameAuthToken();\n const requestData = {\n TitleId: this.titleId,\n KongregateId: this.kongregate.services.getUserId(),\n AuthTicket: authTicket,\n CreateAccount: true\n };\n try {\n PlayFab.ClientApi.LoginWithKongregate(\n requestData,\n this.playFabLoginCallback.bind(this)\n );\n } catch (e) {\n console.log(\"Unable to send login request to PlayFab.\");\n this.toastr.error(\"Unable to send login request to PlayFab.\");\n }\n } catch (e) {\n console.log(e);\n }\n }\n playFabLoginCallback(data, error) {\n if (error) {\n console.log(error.errorMessage);\n this.toastr.error(\n \"You need to be logged in to Kongregate.\",\n \"Couldn't log in to PlayFab Cloud\"\n );\n return;\n }\n if (data) {\n this.playFabId = data.data.PlayFabId;\n PlayFab.settings.titleId = \"E86B\";\n this.playFabLogged = true;\n this.saveEmitter.emit();\n console.log(\"Logged in to playFab\");\n this.toastr.info(\"Logged in to PlayFab\");\n }\n }\n savePlayFab() {\n if (\n !this.playFabId ||\n typeof PlayFab === \"undefined\" ||\n typeof PlayFab.ClientApi === \"undefined\"\n ) {\n return false;\n }\n\n // Cut compressed object into strings of 10,000 bytes for PlayFab\n const chunks = this.getSave().match(/.{1,10000}/g);\n if (chunks.length > 10) {\n this.toastr.error(\"size limit exceeded\", \"Error saving to cloud\");\n }\n // convert array into object with numbers as keys\n // const data = $.extend({}, chunks);\n const data: any = {};\n for (let i = 0; i < chunks.length; i++) data[i] = chunks[i];\n\n const requestData = {\n TitleId: this.titleId,\n PlayFabId: this.playFabId,\n Data: data\n };\n try {\n PlayFab.ClientApi.UpdateUserData(\n requestData,\n this.saveToPlayFabCallback.bind(this)\n );\n } catch (e) {\n console.log(e);\n }\n }\n saveToPlayFabCallback(data, error) {\n if (error) {\n console.log(error);\n return false;\n }\n if (data) {\n console.log(\"Game Saved!\");\n this.toastr.success(\"Game saved to PlayFab\");\n return true;\n }\n }\n loadPlayFab() {\n if (\n !this.playFabId ||\n typeof PlayFab === \"undefined\" ||\n typeof PlayFab.ClientApi === \"undefined\"\n ) {\n console.log(this.playFabId, PlayFab);\n return false;\n }\n const requestData = {\n Keys: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"save\"],\n PlayFabId: this.playFabId\n };\n try {\n console.log(\"attempting to send load request\");\n PlayFab.ClientApi.GetUserData(\n requestData,\n this.loadFromPlayFabCallback.bind(this)\n );\n console.log(\"sent load request\");\n } catch (e) {\n console.log(e);\n }\n }\n loadFromPlayFabCallback(data, error) {\n try {\n console.log(\"loading callback fired\");\n // console.log(data, error);\n if (error) {\n console.log(error);\n return;\n }\n\n if (data) {\n if (data.data.Data) {\n const raw = Object.values(data.data.Data)\n .map((val: any) => {\n return val.Value;\n })\n .join(\"\");\n console.log(raw);\n this.import(raw, false, true);\n }\n }\n } catch (e) {\n console.log(e);\n this.toastr.error(\"PlayFab Load error\");\n }\n }\n //#endregion\n}\n","module.exports = \"
\\n
\\n
\\n\\n\\n \\n
专精\\n 0\\\">{{ms.game.allMateries.masteryPoint}}\\n
\\n
\\n \\n \\n

{{node.label}}

\\n \\n
\\n \\n\\n\\n\\n \\n \\n\\n
\\n\\n\\n\\n

专精重置

\\n
\\n

\\n 重置专精升级,你可以获得专精点数 {{ms.game.allMateries.totalEarned}}\\n
\\n 你将移动到基础世界而没有任何奖励。\\n

\\n
\\n
\\n \\n \\n
\\n
\\n\"","module.exports = \"#network {\\n height: 100%;\\n width: 100%; }\\n\\n.clr-vertical-nav {\\n width: 15rem; }\\n\\nclr-vertical-nav .btn {\\n color: #007cbb;\\n margin: 1rem; }\\n\\n.clr-vertical-nav.is-collapsed .btn {\\n display: none; }\\n\\n.clr-vertical-nav .nav-link.active,\\n.clr-vertical-nav .nav-link:hover {\\n background-color: transparent; }\\n\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnInit,\n ViewChild\n} from \"@angular/core\";\nimport { Network } from \"vis\";\nimport { MainService } from \"../main.service\";\nimport { Mastery, MasteryTypes } from \"../model/masteries/mastery\";\nimport { World } from \"../model/world\";\n\n@Component({\n selector: \"app-mastery\",\n templateUrl: \"./mastery.component.html\",\n styleUrls: [\"./mastery.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-container]\": \"true\"\n }\n})\nexport class MasteryComponent implements AfterViewInit, OnInit {\n @ViewChild(\"network\")\n networkDiv: ElementRef;\n networkVis: any; // Network;\n list = new Array();\n node: any;\n exp = \"\";\n showReset = false;\n\n constructor(public ms: MainService, private cd: ChangeDetectorRef) {\n //\n }\n\n rebuildList() {\n this.list = [];\n const length = Object.keys(MasteryTypes).length / 2;\n for (let i = 0; i < length; i++) {\n const sum = this.ms.game.allMateries.getSum(i);\n if (sum > 0) {\n const desc = Mastery.getDescription(i, sum);\n this.list.push(desc);\n }\n }\n }\n ngOnInit() {\n this.rebuildList();\n }\n ngAfterViewInit() {\n setTimeout(() => {\n const myNodes: any = this.ms.game.allMateries.visMasteries;\n const myEedges: any = this.ms.game.allMateries.visEdge;\n this.networkVis = new Network(\n this.networkDiv.nativeElement,\n {\n nodes: myNodes,\n edges: myEedges\n },\n {\n nodes: { borderWidth: 2 },\n edges: {\n smooth: {\n enabled: true,\n type: \"dynamic\",\n roundness: 0.5\n }\n },\n interaction: { dragNodes: false, hover: true },\n physics: {\n enabled: false,\n barnesHut: {\n gravitationalConstant: -6900,\n avoidOverlap: 0.0\n },\n minVelocity: 1\n }\n }\n );\n this.networkVis.on(\"click\", params => {\n const masteryBuy = params.nodes[0];\n\n this.node =\n masteryBuy || masteryBuy === 0\n ? this.ms.game.allMateries.visMasteries.get(masteryBuy)\n : null;\n\n this.cd.markForCheck();\n });\n }, 0);\n }\n getDescId(index: number, desc: string) {\n return index + desc;\n }\n buyMastery() {\n if (this.ms.game.allMateries.buy(this.node.id)) {\n this.ms.game.setMaxTimeBank();\n this.node = null;\n this.rebuildList();\n }\n }\n\n export() {\n this.networkVis.storePositions();\n this.exp = JSON.stringify(this.networkVis.getPositions());\n }\n reset() {\n this.ms.game.allMateries.reset();\n this.rebuildList();\n this.cd.markForCheck();\n\n const baseWorld = new World(\"base\");\n baseWorld.setLevel(new Decimal(1), this.ms.game);\n this.ms.game.generateWorlds();\n baseWorld.name = \"Home World\";\n this.ms.game.canTravel = false;\n this.ms.game.goToWorld(baseWorld);\n\n this.showReset = false;\n }\n}\n","module.exports = \"
    \\n
  • \\n\\n \\n\\n
  • \\n
  • \\n\\n \\n
    \\n \\n {{ms.game.firstEndingUnit.name}} 将在 {{ms.game.firstEndingUnit.endIn | endIn}} 后消耗完\\n \\n
    \\n
    \\n\\n
  • \\n
\\n\"","module.exports = \":host /deep/ .nav .nav-link {\\n line-height: 0.8rem; }\\n\\n:host /deep/ .matTab {\\n max-width: 200px;\\n min-width: 130px;\\n text-align: left;\\n width: 100%; }\\n\\nul {\\n min-height: -webkit-fit-content;\\n min-height: -moz-fit-content;\\n min-height: fit-content; }\\n\\nli {\\n padding-left: 1rem; }\\n\\n:host /deep/ .navMat {\\n padding-left: 0 !important; }\\n\\n.nav {\\n height: auto; }\\n\\n:host /deep/ .alert {\\n margin-top: auto; }\\n\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnDestroy,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../main.service\";\nimport { BaseUnit } from \"../model/baseUnit\";\ndeclare let preventScroll;\n\n@Component({\n selector: \"app-material-nav\",\n templateUrl: \"./material-nav.component.html\",\n styleUrls: [\"./material-nav.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.subnav]\": \"true\",\n \"[class.matTab]\": \"true\"\n }\n})\nexport class MaterialNavComponent implements OnInit, OnDestroy, AfterViewInit {\n sub: any;\n\n constructor(public ms: MainService, private cd: ChangeDetectorRef) {}\n\n ngAfterViewInit(): void {\n if (typeof preventScroll === typeof Function) preventScroll();\n }\n ngOnInit() {\n this.sub = this.ms.updateEmitter.subscribe(m => {\n this.cd.markForCheck();\n });\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n getUnitId(index, base: BaseUnit) {\n return base.id;\n }\n}\n","module.exports = \"\\n\\n \\n \\n {{name}}\\n
\\n {{quantity | format:false:ms.options.formatter}}\\n
\\n\\n \\n \\n {{perSec | format:false:ms.options.formatter}}/s\\n \\n \\n\\n
\\n\"","module.exports = \".perSecTab {\\n width: 45%; }\\n\\na {\\n width: 100%; }\\n\"","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../../main.service\";\n\n@Component({\n selector: \"app-tab\",\n templateUrl: \"./tab.component.html\",\n styleUrls: [\"./tab.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TabComponent implements OnInit, OnDestroy {\n @Input()\n id = \"\";\n @Input()\n isEnding = false;\n @Input()\n name = \"\";\n @Input()\n quantity = new Decimal(0);\n @Input()\n perSec = new Decimal(0);\n formatSub: any;\n\n constructor(public ms: MainService, private cd: ChangeDetectorRef) {\n //\n }\n\n ngOnInit() {\n this.formatSub = this.ms.options.formatEmitter.subscribe(m => {\n this.cd.markForCheck();\n });\n }\n ngOnDestroy() {\n this.formatSub.unsubscribe();\n }\n}\n","export class CONSTS {\n static readonly PRICE_LARVAE_0 = new Decimal(1);\n static readonly PRICE_LARVAE_1 = new Decimal(20);\n static readonly PRICE_LARVAE_2 = new Decimal(100);\n\n static readonly PRICE_QUEEN = new Decimal(1e5);\n static readonly PRICE_NEST = new Decimal(1e9);\n\n static readonly PRICE_0 = new Decimal(20);\n static readonly PRICE_1 = new Decimal(1e3);\n static readonly PRICE_2 = new Decimal(1e6);\n static readonly PRICE_3 = new Decimal(1e10);\n static readonly PRICE_ENG = new Decimal(100);\n\n static readonly PROD_LARVAE = new Decimal(0.2);\n\n static readonly PROD_GAN = new Decimal(1);\n static readonly CONSUME_GAN = new Decimal(-1);\n\n static readonly PROD_1 = new Decimal(20);\n static readonly CONSUME_1 = new Decimal(-15);\n\n static readonly TEAM_PRICE_0 = new Decimal(5e2);\n static readonly TEAM_PRICE_1 = new Decimal(5e3);\n static readonly TEAM_PRICE_2 = new Decimal(5e5);\n static readonly TEAM_PRICE_3 = new Decimal(5e9);\n\n static readonly TWIN_PRICE_0 = new Decimal(1e3);\n static readonly TWIN_PRICE_1 = new Decimal(1e4);\n static readonly TWIN_PRICE_2 = new Decimal(1e6);\n static readonly TWIN_PRICE_3 = new Decimal(1e10);\n\n static readonly RES_PRICE_1 = new Decimal(5e3);\n static readonly RES_PRICE_2 = new Decimal(5e6);\n static readonly RES_PRICE_3 = new Decimal(5e9);\n\n static readonly BASE_WIN_CONDITION_MATERIALS = new Decimal(1e12);\n static readonly BASE_WIN_CONDITION_OTHER = new Decimal(600);\n\n static readonly SWARM_PRICE_GROWRATE = 1.01;\n\n static readonly CHART_COLORS = {\n backgroundColor: [\n \"rgba(255, 99, 132, 0.3)\", //red\n \"rgba(54, 162, 235, 0.3)\", //azure\n \"rgba(255, 206, 86, 0.3)\", //yellow\n \"rgba(75, 192, 192, 0.3)\", //azzurrino\n \"rgba(153, 102, 255, 0.3)\", //viola\n \"rgba(255, 159, 64, 0.3)\" // arancio strano\n ],\n borderColor: [\n \"rgba(255,99,132,1)\",\n \"rgba(54, 162, 235, 1)\",\n \"rgba(255, 206, 86, 1)\",\n \"rgba(75, 192, 192, 1)\",\n \"rgba(153, 102, 255, 1)\",\n \"rgba(255, 159, 64, 1)\"\n ]\n };\n}\n","import { AutoBuy } from \"./autoBuy/auto-buy\";\nimport { BaseUnit } from \"./baseUnit\";\nimport { Price } from \"./price\";\nimport { Research } from \"./research\";\n\nexport class Action extends BaseUnit {\n done = false;\n isLimited = false;\n limit = new Decimal(Number.POSITIVE_INFINITY);\n complete = false;\n\n canBuy = false;\n maxBuy = new Decimal(0);\n canUserBuy = false;\n\n userNum = 1;\n realNum = new Decimal(1);\n\n availableIn = NaN;\n requiredResearch: Research;\n\n autoBuyPriceMulti = 1;\n autoBuyTimeMulti = 1;\n autoBuyer: AutoBuy;\n\n constructor(\n id: string,\n name: string,\n description: string,\n public prices = new Array()\n ) {\n super(id, name, description, new Decimal(0), true);\n }\n checkResearch() {\n return !this.requiredResearch || this.requiredResearch.done;\n }\n reload() {\n if (this.complete && this.checkResearch()) {\n this.maxBuy = new Decimal(0);\n this.canBuy = false;\n } else {\n this.prices.forEach(p => p.reload(this.quantity));\n this.maxBuy = this.prices\n .map(p => p.maxBuy)\n .reduce((p, c) => p.min(c), new Decimal(Number.POSITIVE_INFINITY));\n if (this.isLimited) {\n this.maxBuy = Decimal.min(this.limit.minus(this.quantity), this.maxBuy);\n }\n this.maxBuy = this.maxBuy.floor();\n this.canBuy = this.maxBuy.gte(1);\n }\n }\n buy(toBuy = new Decimal(1)): boolean {\n toBuy = toBuy.floor();\n this.reload();\n if (this.canBuy && this.maxBuy.gte(toBuy)) {\n this.prices.forEach(p => p.buy(toBuy, this.quantity));\n this.quantity = this.quantity.plus(toBuy);\n this.done = true;\n if (this.isLimited && this.quantity.gte(this.limit)) this.complete = true;\n this.reload();\n this.reloadUserPrices();\n this.onBuy();\n return true;\n } else {\n return false;\n }\n }\n reloadUserPrices() {\n let real = 1;\n if (!isNaN(this.userNum) && this.userNum >= 1) real = this.userNum;\n this.realNum = new Decimal(real);\n this.canUserBuy = this.maxBuy.gte(this.realNum);\n this.prices.forEach(p =>\n p.loadPriceUser(new Decimal(this.realNum), this.quantity)\n );\n }\n reloadAvailableTime() {\n // if (this.prices.findIndex(p => p.base.isEnding) > -1) {\n // this.availableIn = NaN;\n // } else {\n this.availableIn =\n this.prices\n .map(p => p.getTime())\n .reduce((p, c) => p.max(c), new Decimal(0))\n .toNumber() * 1000;\n // }\n }\n reset() {\n super.reset();\n this.done = false;\n this.complete = false;\n this.canBuy = false;\n this.maxBuy = new Decimal(0);\n this.canUserBuy = false;\n this.userNum = 1;\n this.realNum = new Decimal(1);\n this.availableIn = NaN;\n }\n onBuy() {\n //Do nothing\n }\n //#region Save and Load\n getSave(): any {\n const save = super.getSave();\n if (this.done) save.d = this.done;\n if (this.complete) save.c = this.complete;\n return save;\n }\n\n restore(data: any): boolean {\n if (super.restore(data)) {\n this.done = !!data.d;\n this.complete = !!data.c;\n\n return true;\n } else {\n return false;\n }\n }\n //#endregion\n}\n","import { Action } from \"../action\";\nimport { Game } from \"../game\";\nimport { Price } from \"../price\";\n\nexport class ActionGroup {\n canBuy = false;\n\n userNum = 1;\n realNum = new Decimal(1);\n\n availableIn = NaN;\n\n pricesTemp = new Array();\n\n private prices = new Array();\n\n constructor(public name: string, public actionList: Action[], game: Game) {\n this.actionList = this.actionList.filter(a => !a.complete && a.unlocked);\n this.actionList\n .map(b => b.prices)\n .forEach(p => p.forEach(p2 => this.prices.push(p2)));\n\n this.reload(game);\n }\n\n reload(game: Game) {\n let real = 1;\n\n if (!isNaN(this.userNum) && this.userNum >= 1) real = this.userNum;\n this.realNum = new Decimal(real);\n\n this.pricesTemp = new Array();\n\n this.actionList.forEach(a => {\n a.prices.forEach(p => {\n p.loadPriceUser(this.realNum, a.quantity);\n const price = this.pricesTemp.find(k => k.base === p.base);\n if (price) {\n price.price = price.price.plus(p.priceUser);\n } else {\n const priTemp = new Price(p.base, p.priceUser, 1);\n this.pricesTemp.push(priTemp);\n }\n });\n });\n this.pricesTemp.forEach(p => {\n // p.reloadRealPrice();\n // p.reload(new Decimal(0));\n p.canBuy = p.base.quantity.gt(p.price);\n });\n this.canBuy = this.pricesTemp.findIndex(p => !p.canBuy) < 0;\n if (this.actionList.findIndex(a => !a.canBuy) > -1) {\n this.canBuy = false;\n return;\n }\n }\n\n buy(game: Game, toBuy = new Decimal(1)): boolean {\n let ret = true;\n this.actionList.forEach(a => {\n if (!a.buy(toBuy)) {\n ret = false;\n }\n });\n this.reload(game);\n return ret;\n }\n}\n","import { Action } from \"../action\";\nimport { FullUnit } from \"../full-unit\";\nimport { IUnlocable } from \"../iunlocable\";\nimport { Price } from \"../price\";\n\nexport class BuyAction extends Action {\n constructor(\n prices: Price[],\n public unit: FullUnit,\n public toUnlock: IUnlocable[] = null,\n id = \"\"\n ) {\n super(id === \"\" ? \"B\" : id, \"孵化\", \"\", prices);\n this.autoBuyPriceMulti = 1;\n }\n buy(toBuy = new Decimal(1)): boolean {\n if (super.buy(toBuy)) {\n if (this.unit) {\n if (this.unit.twinAction) {\n toBuy = toBuy.times(this.unit.twinAction.quantity.plus(1));\n }\n this.unit.quantity = this.unit.quantity.plus(toBuy);\n }\n if (this.toUnlock) this.toUnlock.forEach(u => u.unlock());\n return true;\n } else {\n return false;\n }\n }\n}\n","import { Action } from \"../action\";\nimport { Researches } from \"../units/researches\";\n\nexport class BuyResearch extends Action {\n constructor(private researches: Researches) {\n super(\"resAutoBAct\", \"购买研究\", \"购买更便宜的研究\");\n }\n buy(toBuy = new Decimal(1)): boolean {\n const buyList = this.researches.toDo.filter(\n r => r.autoBuyable && r.quantity.lt(r.maxAutoBuyLevel)\n );\n if (buyList.length < 1) return false;\n\n buyList.sort((res1, res2) =>\n res1.prices[0].priceUser.cmp(res2.prices[0].priceUser)\n );\n const len = toBuy.min(buyList.length).toNumber();\n let ret = false;\n\n for (let i = 0; i < len; i++) {\n if (buyList[i].buy()) {\n ret = true;\n } else {\n break;\n }\n }\n return ret;\n }\n}\n","import { Action } from \"../action\";\nimport { Price } from \"../price\";\nimport { Research } from \"../research\";\n\nexport class TeamAction extends Action {\n teamRes: Research;\n\n constructor(prices: Price[]) {\n super(\"T\", \"团队合作\", \"得到更好的团队合作加成\", prices);\n this.autoBuyPriceMulti = 1.5;\n this.autoBuyTimeMulti = 1.5;\n }\n\n reload() {\n if (this.teamRes.done) {\n super.reload();\n } else {\n this.canBuy = false;\n // this.maxBuy = new Decimal(0);\n }\n }\n}\n","import { Action } from \"../action\";\nimport { FullUnit } from \"../full-unit\";\nimport { Price } from \"../price\";\nimport { Research } from \"../research\";\n\nexport class TwinAction extends Action {\n twinRes: Research;\n\n constructor(prices: Price[], private unit: FullUnit) {\n super(\n \"w\",\n \"双胞胎\",\n \"孵化更多的 \" + unit.name + \" 使用同样的价格\",\n prices\n );\n this.autoBuyPriceMulti = 2;\n this.autoBuyTimeMulti = 2;\n }\n /**\n * On buy add unit retroactively\n * @param toBuy\n */\n buy(toBuy = new Decimal(1)): boolean {\n if (super.buy(toBuy)) {\n this.unit.quantity = this.unit.quantity.plus(\n this.unit.buyAction.quantity.times(toBuy)\n );\n return true;\n } else {\n return false;\n }\n }\n reload() {\n if (this.twinRes.done) {\n super.reload();\n } else {\n this.canBuy = false;\n // this.maxBuy = new Decimal(0);\n }\n }\n}\n","import { Action } from \"../action\";\nimport { Game } from \"../game\";\nimport { Price } from \"../price\";\nimport { STRINGS } from \"../strings\";\n\nexport class WarpAction extends Action {\n /**\n * Action for warp\n * @param warp seconds to warp\n * @param game\n */\n constructor(public warp: number, public game: Game) {\n super(\"warp\" + warp, \"\", \"\", [new Price(game.time, warp, 1)]);\n const id = \"warp\" + warp;\n if (id in STRINGS.actions) {\n this.name = STRINGS.actions[id][0];\n this.description = STRINGS.actions[id][1];\n }\n this.unlocked = true;\n }\n buy(toBuy = new Decimal(1)): boolean {\n if (!super.buy(toBuy)) return false;\n this.game.warp(toBuy.toNumber() * 1000 * this.warp);\n return true;\n }\n}\n","import { BuyResearch } from \"../actions/buy-research\";\nimport { FullUnit } from \"../full-unit\";\nimport { Game } from \"../game\";\nimport { AutoBuy } from \"./auto-buy\";\n\nexport class AutoBuyManager {\n allAutoBuyer = new Array();\n activeAutoBuy = new Array();\n\n minuteAutoBuy: AutoBuy;\n researchAutoBuy: AutoBuy;\n\n enabled = true;\n multiBuy = true;\n\n update(time = 0) {\n if (this.enabled) this.activeAutoBuy.forEach(a => a.update(time));\n }\n buildActiveList() {\n this.activeAutoBuy = this.allAutoBuyer\n .filter(a => a.isActive())\n .sort((a, b) => a.priority - b.priority);\n }\n createFromUnit(unit: FullUnit, game: Game) {\n unit.actions.forEach(a => {\n const auto = new AutoBuy(\n a,\n game.genExperiencePrice(unit.autoBuyerPrice * a.autoBuyPriceMulti),\n this,\n unit\n );\n auto.startMax = unit.autoBuyerTime * a.autoBuyTimeMulti;\n this.allAutoBuyer.push(auto);\n a.autoBuyer = auto;\n });\n }\n createSpecial(game: Game) {\n // Minute Warp\n this.minuteAutoBuy = new AutoBuy(\n game.actMin,\n game.genExperiencePrice(100),\n this\n );\n this.minuteAutoBuy.startMax = 60 * 10;\n this.allAutoBuyer.push(this.minuteAutoBuy);\n\n // Research\n this.researchAutoBuy = new AutoBuy(\n new BuyResearch(game.researches),\n game.genExperiencePrice(200),\n this\n );\n this.researchAutoBuy.startMax = 60 * 10;\n this.allAutoBuyer.push(this.researchAutoBuy);\n\n this.allAutoBuyer.forEach(a => a.reloadLevel());\n }\n //#region Save and Load\n getSave(): any {\n return {\n autList: this.allAutoBuyer.map(a => a.getSave()),\n ena: this.enabled,\n multi: this.multiBuy\n };\n }\n restore(data: any): boolean {\n if (\"ena\" in data) this.enabled = data.ena;\n if (\"multi\" in data) this.multiBuy = data.multi;\n if (\"autList\" in data) {\n for (const a of data.autList) {\n this.allAutoBuyer.find(u => u.id === a.i).restore(a);\n }\n this.buildActiveList();\n } else {\n return false;\n }\n }\n //#endregion\n}\n","import { isNumber } from \"lodash-es\";\nimport { Action } from \"../action\";\nimport { FullUnit } from \"../full-unit\";\nimport { Prestige } from \"../prestige/prestige\";\nimport { Price } from \"../price\";\nimport { AutoBuyManager } from \"./auto-buy-manager\";\n\nexport const DELAY_LEVEL = 0.6;\nexport const MIN_DELAY = 1;\n\nexport class AutoBuy extends Prestige {\n active = true;\n priority = 0;\n current = 0;\n\n startMax = 5;\n max = 5;\n multiBuy = new Decimal(1);\n priceSavePercent = 1;\n\n constructor(\n public action: Action,\n price: Price[],\n public autoBuyManager: AutoBuyManager,\n public unit: FullUnit = null\n ) {\n super(\"au-\" + action.id + (unit ? \"_\" + unit.id : \"\"), price, action.name);\n }\n\n isActive(): boolean {\n return (\n this.quantity.gt(0) &&\n this.active &&\n (!this.unit || this.unit.unlocked) &&\n this.action.checkResearch()\n );\n }\n buy(toBuy = new Decimal(1)): boolean {\n const original = new Decimal(this.quantity);\n const result = super.buy(toBuy);\n this.reloadLevel();\n if (result && original.lt(1)) this.autoBuyManager.buildActiveList();\n\n return result;\n }\n reloadLevel() {\n if (this.quantity.gt(0)) {\n this.max =\n Math.round(\n this.startMax *\n Math.pow(DELAY_LEVEL, this.quantity.toNumber() - 1) *\n 100\n ) / 100;\n if (this.max < MIN_DELAY) {\n this.multiBuy = Decimal.pow(\n 1 / DELAY_LEVEL,\n this.quantity.toNumber() -\n 1 -\n Math.floor(\n Math.log(MIN_DELAY / this.startMax) / Math.log(DELAY_LEVEL)\n )\n ).ceil();\n this.max = MIN_DELAY;\n } else {\n this.multiBuy = new Decimal(1);\n }\n } else {\n this.max = this.startMax;\n }\n }\n\n update(time = 0) {\n if (!this.active || !this.isActive()) return;\n\n this.current = this.current + time / 1000;\n this.action.reload();\n if (\n isNumber(this.priceSavePercent) &&\n this.priceSavePercent <= 1 &&\n this.priceSavePercent > 0\n ) {\n this.action.maxBuy = this.action.maxBuy.times(this.priceSavePercent);\n this.canBuy = this.action.maxBuy.gte(1);\n } else {\n this.canBuy = false;\n }\n const max = this.multiBuy.min(this.action.maxBuy);\n if (this.current >= this.max && this.canBuy && this.action.buy(max)) {\n this.current = 0;\n }\n }\n\n //#region Save and Load\n getSave(): any {\n const save = super.getSave();\n save.a_p = this.active;\n save.a_i = this.priority;\n save.a_c = this.current;\n if (this.priceSavePercent > 0) save.a_s = this.priceSavePercent;\n return save;\n }\n\n restore(data: any): boolean {\n if (super.restore(data)) {\n this.active = !!data.a_p;\n if (\"a_i\" in data) this.priority = data.a_i;\n if (\"a_c\" in data) this.current = data.a_c;\n if (\"a_s\" in data) this.priceSavePercent = data.a_s;\n\n this.reloadLevel();\n return true;\n } else {\n return false;\n }\n }\n //#endregion\n}\n","import isArray from \"lodash-es/isArray\";\nimport sample from \"lodash-es/sample\";\nimport { ProductionBonus } from \"./production-bonus\";\nimport { STRINGS } from \"./strings\";\nimport { UnitGroup } from \"./unit-group\";\n\nexport class BaseUnit {\n unlocked = true;\n unitGroup: UnitGroup;\n\n usedForProductionBonus = new Array();\n\n constructor(\n public id: string,\n public name: string = \"\",\n public description: string = \"\",\n public quantity: Decimal = new Decimal(0),\n noAutoName = false\n ) {\n if (!noAutoName && id in STRINGS.units) {\n this.name = STRINGS.units[id][0];\n this.getRandomDescription();\n }\n }\n\n getRandomDescription() {\n this.description = isArray(STRINGS.units[this.id][1])\n ? sample(STRINGS.units[this.id][1])\n : STRINGS.units[this.id][1];\n }\n\n reset() {\n this.quantity = new Decimal(0);\n // this.uiQuantity = new Decimal(0);\n }\n\n //Region Save and Restore\n getSave(): any {\n const data: any = {\n i: this.id\n };\n if (!this.quantity.eq(0)) data.q = this.quantity;\n return data;\n }\n\n restore(data: any): boolean {\n if (!(\"i\" in data && data.i === this.id)) return false;\n if (\"q\" in data) this.quantity = new Decimal(data.q);\n\n return true;\n }\n //Endregion\n}\n","export enum Tags {\n FARMER,\n MINER,\n SOIL_G,\n LARVA,\n QUEEN,\n NEST\n}\n\nexport enum BugTypes {\n ANT = 0,\n BEE,\n WASP,\n SUPER_MAJOR\n}\n\nexport class Bug {\n constructor(\n public priceMulti: number,\n public prodMulti: number,\n public efficiencyMulti: number,\n public teamPriceMulti: number,\n public twinPriceMulti: number,\n public color: string\n ) {}\n}\nexport const BUGS = {\n 0: new Bug(1, 1, 1, 1, 1, \"#36a2eb\"),\n 1: new Bug(1.5, 1.2, 1.2, 0.1, 1, \"#FFCE56\"),\n 2: new Bug(0.5, 0.9, 1, 10, 0.1, \"#ff9f40\"),\n 3: new Bug(3, 4, 1.1, 1.5, 1.5, \"#FF6384\")\n};\n","import uniq from \"lodash-es/uniq\";\nimport { Action } from \"./action\";\nimport { BuyAction } from \"./actions/buy-action\";\nimport { TeamAction } from \"./actions/team-action\";\nimport { TwinAction } from \"./actions/twin-action\";\nimport { BaseUnit } from \"./baseUnit\";\nimport { BUGS, BugTypes, Tags } from \"./bugsTypes\";\nimport { IUnlocable } from \"./iunlocable\";\nimport { Malus } from \"./malus\";\nimport { Prestige } from \"./prestige/prestige\";\nimport { Price } from \"./price\";\nimport { Production } from \"./production\";\nimport { ProductionBonus } from \"./production-bonus\";\n\nexport class FullUnit extends BaseUnit implements IUnlocable {\n unlocked = false;\n actions = new Array();\n bugType = BugTypes.ANT;\n\n buyAction: BuyAction;\n teamAction: TeamAction;\n twinAction: TwinAction;\n\n efficiency = 100;\n\n a = new Decimal(0);\n b = new Decimal(0);\n c = new Decimal(0);\n\n producedBy = Array();\n produces = Array();\n\n endIn = Number.POSITIVE_INFINITY;\n\n boughtBonus = 0.005;\n isNew = false;\n isEnding = false;\n\n bonus = new Decimal(0);\n\n // Increase production of this unit by other unit\n productionsBonus = new Array();\n\n productionsEfficiency = new Array();\n productionsAll = new Array();\n\n malus: Malus = null;\n winNonLiner = true;\n\n //#region Prestige\n follower: Prestige;\n followerQuantity = new Decimal(5);\n hasAutoBuyer = true;\n autoBuyerTime = 5;\n autoBuyerPrice = 10;\n //#endregion\n\n tempA = new Decimal(0);\n tempB = new Decimal(0);\n tempC = new Decimal(0);\n\n tags = new Array();\n\n constructor(\n id: string,\n name: string = \"\",\n description: string = \"\",\n quantity: Decimal = new Decimal(0)\n ) {\n super(id, name, description, quantity);\n }\n\n generateBuyAction(prices: Price[], toUnlock: IUnlocable[] = null) {\n this.buyAction = new BuyAction(prices, this, toUnlock);\n this.actions.push(this.buyAction);\n }\n generateTeamAction(price: Price[]) {\n this.teamAction = new TeamAction(price);\n this.actions.push(this.teamAction);\n }\n generateTwinAction(price: Price[]) {\n this.twinAction = new TwinAction(price, this);\n this.actions.push(this.twinAction);\n }\n\n unlock() {\n if (this.unlocked) return;\n\n this.unlocked = true;\n this.isNew = true;\n this.produces.forEach(u => u.product.unlock());\n if (this.unitGroup) {\n this.unitGroup.check();\n this.unitGroup.selected.push(this);\n this.unitGroup.selected = uniq(this.unitGroup.selected);\n }\n }\n isActive(): boolean {\n return (\n this.unlocked && this.efficiency > Number.EPSILON && this.quantity.gt(0)\n );\n }\n isStopped(): boolean {\n return this.efficiency < 0.01;\n }\n addProducer(producer: FullUnit, ratio: Decimal | number = 1) {\n ratio = new Decimal(ratio);\n const prod = new Production(producer, this, ratio);\n this.producedBy.push(prod);\n producer.produces.push(prod);\n }\n reloadTeamBonus(teamBonus = false, multiBonus: Decimal) {\n this.bonus = new Decimal(0);\n\n if (teamBonus && this.buyAction) {\n this.bonus = this.buyAction.quantity.times(this.boughtBonus);\n if (this.teamAction) {\n this.bonus = this.bonus.times(this.teamAction.quantity.plus(1));\n }\n this.bonus = this.bonus.times(multiBonus);\n }\n }\n reset() {\n super.reset();\n this.unlocked = false;\n this.efficiency = 100;\n\n this.a = new Decimal(0);\n this.b = new Decimal(0);\n this.c = new Decimal(0);\n\n if (this.buyAction) this.buyAction.reset();\n if (this.teamAction) this.teamAction.reset();\n if (this.twinAction) this.twinAction.reset();\n }\n setBugType(bug: BugTypes) {\n this.bugType = bug;\n if (!(bug in BUGS)) return;\n const bugClass = BUGS[bug];\n\n if (this.buyAction && bugClass.priceMulti !== 1) {\n this.buyAction.prices.filter(p => p.price.gt(1)).forEach(p => {\n p.price = p.price.times(bugClass.priceMulti);\n });\n }\n if (this.produces.length > 0 && bugClass.prodMulti !== 1) {\n this.produces.forEach(p => {\n p.ratio = p.ratio.times(bugClass.prodMulti);\n });\n }\n if (this.produces.length > 0 && bugClass.efficiencyMulti !== 1) {\n this.produces.filter(p => p.ratio.gt(0)).forEach(p => {\n p.ratio = p.ratio.times(bugClass.efficiencyMulti);\n });\n }\n if (this.teamAction && bugClass.teamPriceMulti !== 1) {\n this.teamAction.prices.forEach(p => {\n p.price = p.price.times(bugClass.teamPriceMulti);\n });\n }\n if (this.twinAction && bugClass.twinPriceMulti !== 1) {\n this.twinAction.prices.forEach(p => {\n p.price = p.price.times(bugClass.twinPriceMulti);\n });\n }\n }\n //#region Save and Restore\n getSave(): any {\n const save = super.getSave();\n if (this.unlocked) save.u = this.unlocked;\n if (this.actions) save.a = this.actions.map(a => a.getSave());\n if (this.efficiency < 100) save.e = this.efficiency;\n if (this.isNew) save.n = true;\n return save;\n }\n restore(data: any): boolean {\n if (!(\"i\" in data && data.i === this.id)) return false;\n\n if (\"q\" in data) this.quantity = new Decimal(data.q);\n\n if (this.actions && \"a\" in data) {\n for (const s of data.a) this.actions.find(a => a.id === s.i).restore(s);\n }\n\n this.unlocked = !!data.u;\n\n if (\"e\" in data) this.efficiency = data.e;\n if (\"n\" in data) this.isNew = data.n;\n\n return true;\n }\n //#endregion\n}\n","import sample from \"lodash-es/sample\";\nimport { MainService } from \"../main.service\";\nimport { WarpAction } from \"./actions/warp-action\";\nimport { AutoBuyManager } from \"./autoBuy/auto-buy-manager\";\nimport { BugTypes } from \"./bugsTypes\";\nimport { CONSTS } from \"./CONSTANTS\";\nimport { FullUnit } from \"./full-unit\";\nimport { Malus } from \"./malus\";\nimport { AllMasteries } from \"./masteries/all-masteries\";\nimport { MasteryTypes } from \"./masteries/mastery\";\nimport { AllPrestige } from \"./prestige/all-prestige\";\nimport { Price } from \"./price\";\nimport { ProductionBonus } from \"./production-bonus\";\nimport { Stats } from \"./stats/stats\";\nimport { Tabs } from \"./tabs\";\nimport { UnitGroup } from \"./unit-group\";\nimport { Ants } from \"./units/ants\";\nimport { Bees } from \"./units/bees\";\nimport { Buildings } from \"./units/buildings\";\nimport { Engineers } from \"./units/engineers\";\nimport { Gatherers } from \"./units/gatherers\";\nimport { Helpers } from \"./units/helpers\";\nimport { MalusKiller } from \"./units/malus-killer\";\nimport { Materials } from \"./units/materials\";\nimport { Researches } from \"./units/researches\";\nimport { Special } from \"./units/special\";\nimport { Wasps } from \"./units/wasps\";\nimport { Workers } from \"./units/workers\";\nimport { WorldBonus } from \"./units/world-bonus\";\nimport { WorldMalus } from \"./units/world-malus\";\nimport { Utility } from \"./utility\";\nimport { World } from \"./world\";\n\nconst STARTING_FOOD = new Decimal(100);\nexport const ADDITIONAL_PRICE1 = new Decimal(1e4);\nexport const ADDITIONAL_PRICE2 = new Decimal(1e9);\nconst MAX_UPDATE_TRY = 20;\n\nexport class Game {\n units = new Array();\n unlockedUnits = new Array();\n\n unitGroups = new Array();\n unlockedGroups = new Array();\n\n isPaused = false;\n tabs: Tabs;\n\n //#region UnitGroups\n materials: Materials;\n gatherers: Gatherers;\n advWorkers: Workers;\n buildings: Buildings;\n engineers: Engineers;\n killers: UnitGroup;\n ants: Ants;\n bees: Bees;\n wasps: Wasps;\n helpers: Helpers;\n\n researches: Researches;\n worldBonus: WorldBonus;\n worldMalus: WorldMalus;\n special: Special;\n //#endregion\n\n lastUnitUrl: string = \"nav/unit/f\";\n\n currentWorld = new World();\n nextWorlds = new Array();\n canTravel = false;\n\n maxLevel = new Decimal(5);\n realMaxLevel = new Decimal(5);\n experience: FullUnit;\n time: FullUnit;\n allPrestige: AllPrestige;\n\n canBuyResearch = false;\n\n actMin: WarpAction;\n actHour: WarpAction;\n\n autoBuyManager: AutoBuyManager;\n stats: Stats;\n allMateries: AllMasteries;\n maxTimeBank = new Decimal(0);\n firstEndingUnit: FullUnit;\n\n upNumber = 0;\n\n constructor(public ms: MainService) {\n this.tabs = new Tabs();\n\n //#region Declarations\n this.materials = new Materials(this);\n this.unitGroups.push(this.materials);\n\n this.researches = new Researches(this.ms.researchEmitter, this);\n\n this.ants = new Ants(this);\n this.unitGroups.push(this.ants);\n\n this.bees = new Bees(this);\n this.unitGroups.push(this.bees);\n\n this.wasps = new Wasps(this);\n this.unitGroups.push(this.wasps);\n\n this.gatherers = new Gatherers(this);\n this.unitGroups.push(this.gatherers);\n\n this.advWorkers = new Workers(this);\n this.unitGroups.push(this.advWorkers);\n\n this.buildings = new Buildings(this);\n this.unitGroups.push(this.buildings);\n\n this.engineers = new Engineers(this);\n this.unitGroups.push(this.engineers);\n\n this.worldMalus = new WorldMalus(this);\n this.unitGroups.push(this.worldMalus);\n\n this.killers = new MalusKiller(this);\n this.unitGroups.push(this.killers);\n\n this.special = new Special(this);\n this.unitGroups.push(this.special);\n\n this.helpers = new Helpers(this);\n this.unitGroups.push(this.helpers);\n\n this.unitGroups.forEach(g => g.declareStuff());\n\n this.advWorkers.additionalBuyPreces = [\n new Price(this.materials.soil, ADDITIONAL_PRICE1)\n ];\n\n this.researches.declareStuff();\n this.worldBonus = new WorldBonus();\n this.worldBonus.declareStuff();\n\n this.experience = new FullUnit(\"prest\");\n this.experience.reset = () => {\n // Do nothing !\n // Intended\n };\n this.time = new FullUnit(\"time\");\n this.time.reset = () => {\n // Do nothing !\n // Intended\n };\n\n //#endregion\n //#region Build Lists\n this.unitGroups\n .map(g => g.list)\n .forEach(l => l.forEach(u => this.units.push(u)));\n this.units.push(this.experience, this.time);\n\n //#endregion\n //#region Relations\n this.unitGroups.forEach(g => g.setRelations());\n\n this.researches.setRelations(this.materials.science, this);\n this.researches.team1.toUnlock.push(this.advWorkers.firstResearch);\n\n this.worldBonus.setRelations(this);\n //#endregion\n //#region Worlds\n this.worldBonus.addWorlds();\n this.unitGroups.forEach(g => g.addWorlds());\n //#endregion\n //#region Prestige\n this.allPrestige = new AllPrestige();\n this.allPrestige.declareStuff(this);\n //#endregion\n //#region Time Warp\n this.actMin = new WarpAction(60, this);\n this.actHour = new WarpAction(3600, this);\n //#endregion\n //#region Assign team and twin research to actions\n this.units.forEach(u => {\n if (u.teamAction) u.teamAction.requiredResearch = this.researches.team2;\n if (u.twinAction) u.twinAction.requiredResearch = this.researches.twin;\n });\n //#endregion\n //#region Autobuyers\n this.autoBuyManager = new AutoBuyManager();\n this.units.filter(u => u.hasAutoBuyer).forEach(u => {\n if (!!u.buyAction) {\n this.autoBuyManager.createFromUnit(u, this);\n } else {\n u.hasAutoBuyer = false;\n }\n });\n this.autoBuyManager.createSpecial(this);\n //#endregion\n\n this.allMateries = new AllMasteries(this);\n this.stats = new Stats();\n\n //#region Worlds\n this.generateWorlds();\n this.currentWorld = new World(\"home\");\n this.currentWorld.name = \"初始世界\";\n this.currentWorld.level = new Decimal(1);\n this.currentWorld.winConditions.push(\n new Price(this.materials.food, CONSTS.BASE_WIN_CONDITION_MATERIALS)\n );\n this.currentWorld.setLevel(new Decimal(1), this);\n this.setStartingStuff();\n //#endregion\n //#region Special Stuff\n this.researches.mastery.onBuy = () => {\n this.allMateries.totalEarned++;\n this.allMateries.masteryPoint++;\n this.researches.masteryResDone++;\n };\n this.materials.science.productionsBonus.push(\n new ProductionBonus(this.experience, new Decimal(1))\n );\n this.setMaxTimeBank();\n this.units.forEach(u => {\n if (u.teamAction) u.teamAction.teamRes = this.researches.team2;\n if (u.twinAction) u.twinAction.twinRes = this.researches.twin;\n });\n // Extreme\n this.researches.overNineThousand.onBuy = () => {\n const malus = [\n this.worldMalus.foodMalus1,\n this.worldMalus.soilMalus1,\n this.worldMalus.crystalMalus1,\n this.worldMalus.scienceMalus1\n ].filter(m => !this.currentWorld.notWinConditions.includes(m));\n this.currentWorld.notWinConditions.push(sample(malus));\n\n this.currentWorld.setMalus();\n this.currentWorld.name = \"极端的 \" + this.currentWorld.name;\n\n this.currentWorld.prestige = this.currentWorld.prestige\n .times(1.1)\n .floor();\n this.currentWorld.winConditions.forEach(w => {\n w.price = w.price.times(1.2).floor();\n });\n this.worldMalus.unlocked.forEach(m => {\n if (m instanceof Malus) {\n m.isKilled = false;\n m.efficiency = 100;\n m.quantity = m.quantity.times(10);\n if (m.produces.length === 1 && m.producedBy.length === 1) {\n m.quantity = m.quantity.times(20);\n }\n if (m.produces.length === 0) m.quantity = m.quantity.times(200);\n }\n });\n this.buildLists();\n this.killers.unlocked.forEach(k => {\n k.efficiency = 100;\n });\n };\n //#endregion\n\n //#region Debug\n // this.materials.list.forEach(u => (u.unlocked = true));\n // this.unitGroups.forEach(g => g.list.forEach(u => u.unlock()));\n // this.tabs.tabList.forEach(t => (t.unlocked = true));\n // this.worldMalus.foodMalus1.quantity = new Decimal(100);\n // this.worldMalus.foodMalus1.quantity = new Decimal(100);\n // this.worldMalus.foodMalus2.quantity = new Decimal(10);\n // this.experience.quantity = new Decimal(1000);\n // this.allMateries.masteryPoint = 30;\n // this.experience.quantity = new Decimal(1e10);\n // this.units.forEach(u => {\n // u.isNew = false;\n // });\n // this.researches.team1.unlocked = true;\n // this.researches.team1.done = true;\n // this.researches.team1.complete = true;\n // this.researches.team1.quantity = new Decimal(1);\n // this.researches.team1.toUnlock.forEach(u => u.unlock());\n // this.researches.team2.unlocked = true;\n // this.researches.team2.done = true;\n // this.researches.team2.quantity = new Decimal(1);\n // this.researches.team2.complete = true;\n // this.researches.team2.toUnlock.forEach(u => u.unlock());\n // this.researches.twin.unlocked = true;\n // this.researches.twin.done = true;\n // this.researches.twin.quantity = new Decimal(1);\n // this.researches.twin.complete = true;\n // this.researches.twin.toUnlock.forEach(u => u.unlock());\n // this.time.quantity = new Decimal(100);\n\n // console.log(\"World Prefix: \" + World.prefix.length);\n // console.log(\"World Biomes: \" + World.biome.length);\n // console.log(\"World Suffix: \" + World.suffix.length);\n\n //#endregion\n\n this.unitGroups.forEach(g => g.check(true));\n this.unitGroups.forEach(g => (g.selected = g.list.filter(u => u.unlocked)));\n this.buildLists();\n }\n buildLists() {\n this.unlockedUnits = [];\n this.units.forEach(u => {\n if (u instanceof FullUnit && u.unlocked) this.unlockedUnits.push(u);\n });\n const oldNum = this.unlockedGroups.length;\n this.unlockedGroups = this.unitGroups.filter(g => g.unlocked.length > 0);\n // tslint:disable-next-line:triple-equals\n if (this.ms.options.materialPosition == 2) {\n this.unlockedGroups = this.unlockedGroups.filter(\n m => m !== this.materials\n );\n }\n if (oldNum !== this.unlockedGroups.length) {\n this.ms.unlockGroupEmiter.emit(this.unlockedGroups.length);\n }\n }\n setMaxTimeBank() {\n this.maxTimeBank = this.allPrestige.time.timeBank.quantity\n .times(3600)\n .plus(7200)\n .times(\n 1 +\n 0.5 * this.allMateries.getSum(MasteryTypes.TIME_BANK) +\n 2 * this.allMateries.getSum(MasteryTypes.TIME_GEN_AND_BANK)\n );\n }\n /**\n * Update game and add time\n * @param delta time passed in milliseconds\n */\n updateWithTime(delta: number) {\n const timePerSec = this.allPrestige.time.timeProducer.quantity\n .div(10)\n .times(\n 1 +\n 0.3 * this.allMateries.getSum(MasteryTypes.TIME_GEN) +\n 2 * this.allMateries.getSum(MasteryTypes.TIME_GEN_AND_BANK)\n );\n if (isNaN(this.time.quantity.toNumber())) {\n this.time.quantity = new Decimal(0);\n }\n\n this.time.quantity = this.time.quantity\n .plus(timePerSec.times(delta / 1000))\n .min(this.maxTimeBank);\n\n this.time.c = timePerSec;\n this.update(delta);\n }\n /**\n * Update function.\n * Works only with resource growing at max rate of x^3\n * When something reach zero consumers are stopped and it will update again\n * @param delta in milliseconds\n * @param force force update, used for warp in pause\n */\n update(delta: number, force = false) {\n this.upNumber++;\n if (this.upNumber > MAX_UPDATE_TRY) {\n this.ms.toastr.error(\n \"Error: infinite loop.\",\n \"Please report to developer.\"\n );\n return;\n }\n\n let maxTime = delta;\n let unitZero: FullUnit = null;\n this.firstEndingUnit = null;\n\n this.unlockedUnits.forEach(u => {\n u.isEnding = false;\n u.endIn = Number.POSITIVE_INFINITY;\n });\n\n this.reloadProduction();\n\n for (const unit of this.unlockedUnits) {\n //#region get polynom\n unit.tempA = new Decimal(0);\n unit.tempB = new Decimal(0);\n unit.tempC = new Decimal(0);\n const d = unit.quantity;\n\n for (const prod1 of unit.producedBy.filter(p => p.producer.isActive())) {\n // x\n const prodX = prod1.prodPerSec;\n unit.tempC = unit.tempC.plus(prodX.times(prod1.producer.quantity));\n\n for (const prod2 of prod1.producer.producedBy.filter(p =>\n p.producer.isActive()\n )) {\n // x^2\n const prodX2 = prod2.prodPerSec.times(prodX);\n unit.tempB = unit.tempB.plus(prodX2.times(prod2.producer.quantity));\n\n for (const prod3 of prod2.producer.producedBy.filter(p =>\n p.producer.isActive()\n )) {\n // x^3\n const prodX3 = prod3.prodPerSec.times(prodX2);\n unit.tempA = unit.tempA.plus(prodX3.times(prod3.producer.quantity));\n }\n }\n }\n unit.tempA = unit.tempA.div(6);\n unit.tempB = unit.tempB.div(2);\n if (!unit.tempA.eq(unit.a)) unit.a = unit.tempA;\n if (!unit.tempB.eq(unit.b)) unit.b = unit.tempB;\n if (!unit.tempC.eq(unit.c)) unit.c = unit.tempC;\n //#endregion\n\n if (unit.a.lt(0) || unit.b.lt(0) || unit.c.lt(0) || d.lt(0)) {\n const solution = Utility.solveEquation(\n unit.a,\n unit.b,\n unit.c,\n d\n ).filter(s => s.gte(0));\n\n if (solution.length > 0) {\n const min = solution.reduce(\n (p, c) => p.min(c),\n new Decimal(Number.POSITIVE_INFINITY)\n );\n if (maxTime > min.toNumber() * 1000) {\n maxTime = min.toNumber() * 1000;\n unitZero = unit;\n }\n unit.endIn = Math.min(min.times(1000).toNumber(), unit.endIn);\n unit.isEnding = true;\n if (\n !(unit instanceof Malus) &&\n (!this.firstEndingUnit || this.firstEndingUnit.endIn > unit.endIn)\n ) {\n this.firstEndingUnit = unit;\n }\n }\n }\n }\n\n this.unlockedUnits\n .filter(u => u.endIn > 0)\n .forEach(u => (u.endIn = u.endIn - maxTime));\n\n if (!this.isPaused || force) {\n if (maxTime > 10) {\n this.update2(new Decimal(maxTime).div(1000));\n }\n\n // Something has ended\n if (unitZero) {\n // Stop consumers\n unitZero.producedBy.filter(p => p.ratio.lt(0)).forEach(p => {\n p.producer.efficiency = 0;\n });\n unitZero.producedBy.filter(p => p.ratio.gt(0)).forEach(p => {\n p.producer.producedBy.filter(p2 => p2.ratio.lt(0)).forEach(p2 => {\n p2.producer.efficiency = 0;\n });\n });\n\n // Kill Malus\n if (unitZero instanceof Malus) {\n if (unitZero.kill()) {\n this.ms.toastr.success(\"\", unitZero.name + \" 被杀死了!\");\n }\n } else {\n if (!this.ms.options.noResourceEndPopUp) {\n this.ms.toastr.warning(unitZero.name + \" 消耗光了!\");\n }\n }\n }\n\n const remaining = delta - maxTime;\n if (remaining > 10) {\n // this.reloadProduction();\n this.update(remaining);\n }\n }\n }\n /**\n * Sub Update function.\n * @param seconds time in seconds\n */\n update2(seconds: Decimal) {\n this.unlockedUnits\n .filter(u => !u.a.eq(0) || !u.b.eq(0) || !u.c.eq(0))\n .forEach(u => {\n u.quantity = u.quantity\n .plus(u.a.times(Decimal.pow(seconds, 3)))\n .plus(u.b.times(Decimal.pow(seconds, 2)))\n .plus(u.c.times(seconds));\n });\n this.unlockedUnits.forEach(u => {\n u.quantity = u.quantity.max(0);\n });\n }\n /**\n * Reload actions costs\n * and eventually fix quantity > 0\n */\n postUpdate(time) {\n this.upNumber = 0;\n this.worldMalus.foodMalus1.reloadPriceMulti();\n this.worldMalus.soilMalus1.reloadPriceMulti();\n this.worldMalus.crystalMalus1.reloadPriceMulti();\n this.worldMalus.scienceMalus1.reloadPriceMulti();\n\n this.unlockedUnits.forEach(u => {\n u.quantity = u.quantity.max(0);\n });\n if (!this.isPaused) this.autoBuyManager.update(time);\n\n this.researches.toDo.forEach(u => u.reload());\n this.canBuyResearch = !!this.researches.toDo.find(\n r =>\n r.unlocked &&\n r.canBuy &&\n (!r.unlimited || r.quantity.lt(r.maxAutoBuyLevel))\n );\n this.unlockedUnits.forEach(u => {\n u.actions.forEach(a => a.reload());\n });\n const team = this.researches.team2.done;\n const twin = this.researches.twin.done;\n this.unitGroups.forEach(g => g.setFlags(team, twin));\n\n this.canTravel = this.currentWorld.canTravel();\n if (!this.researches.travel.done) this.canTravel = false;\n\n this.actHour.reload();\n this.actMin.reload();\n }\n /**\n * Time Warp\n * @param delta in milliseconds\n */\n warp(delta: number) {\n if (delta > 0) {\n if (!this.ms.options.noWarpNotification) {\n this.ms.toastr.info(this.ms.endInPipe.transform(delta), \"时间扭曲\");\n }\n this.update(delta, true);\n //this.autoBuyManager.update(delta);\n }\n }\n /**\n * Calculate production per second\n */\n reloadProduction() {\n const teamPrestigeBonus = this.allPrestige.team.betterTeam.quantity\n .times(0.3)\n .times(1 + this.allMateries.getSum(MasteryTypes.TEAM_PRESTIGE))\n .plus(1);\n\n this.unlockedUnits.forEach(u => {\n u.reloadTeamBonus(this.researches.team1.done, teamPrestigeBonus);\n u.produces.forEach(p => p.reloadProdPerSec(this.researches.team1.done));\n });\n }\n /**\n * Apply world bonus\n */\n applyWorldBonus() {\n this.worldBonus.reset();\n this.currentWorld.productionsBonus.forEach(b => {\n b[0].quantity = new Decimal(b[1]);\n b[0].unlocked = true;\n });\n this.currentWorld.productionsAll.forEach(b => {\n b[0].quantity = new Decimal(b[1]);\n b[0].unlocked = true;\n });\n this.currentWorld.productionsEfficiency.forEach(b => {\n b[0].quantity = new Decimal(b[1]);\n b[0].unlocked = true;\n });\n }\n setStartingStuff() {\n this.materials.food.unlocked = true;\n this.materials.food.quantity = STARTING_FOOD;\n this.ants.queen.unlocked = true;\n this.ants.queen.quantity = new Decimal(1);\n this.ants.larva.unlocked = true;\n this.ants.larva.quantity = new Decimal(10);\n this.gatherers.drone.unlocked = true;\n this.gatherers.drone.quantity = new Decimal(1);\n }\n /**\n * Prestige, reset everything except prestige stuff\n * and move to another world\n * @param world chosen world\n */\n goToWorld(world: World): boolean {\n this.stats.logWorldCompleted(this.currentWorld, !this.canTravel);\n\n if (this.canTravel && this.hasSecondMastery()) {\n this.allMateries.totalEarned++;\n this.allMateries.masteryPoint++;\n }\n\n const newPrestige = this.experience.quantity.plus(\n this.currentWorld.prestige\n );\n\n this.units.forEach(u => u.reset());\n this.worldBonus.reset();\n this.materials.food.quantity = new Decimal(STARTING_FOOD);\n this.ants.queen.quantity = new Decimal(1);\n this.ants.larva.unlocked = true;\n this.gatherers.drone.unlocked = true;\n this.materials.food.unlocked = true;\n\n // Update Experience\n if (this.canTravel) {\n this.experience.quantity = newPrestige;\n this.maxLevel = this.maxLevel\n .plus(this.currentWorld.level.div(3))\n .floor()\n .plus(1);\n }\n\n this.currentWorld = world;\n this.setStartingStuff();\n this.applyWorldBonus();\n this.researches.reset(this.materials.science);\n\n //#region Followers\n const followerMulti =\n this.allMateries.getSum(MasteryTypes.MORE_FOLLOWERS) + 1;\n const followerMultiGa =\n this.allMateries.getSum(MasteryTypes.MORE_FOLLOWERS_GA) * 3;\n const followerMultiWo =\n this.allMateries.getSum(MasteryTypes.MORE_FOLLOWERS_WO) * 3;\n\n this.units.filter(u => u.follower).forEach(u => {\n u.quantity = u.quantity.plus(\n u.follower.quantity.times(u.followerQuantity).times(followerMulti)\n );\n if (u.quantity.gt(0.5)) {\n u.unlock();\n if (u.buyAction && u.buyAction.toUnlock) {\n u.buyAction.toUnlock.forEach(a => a.unlock());\n }\n }\n });\n this.gatherers.list.filter(u => u.follower).forEach(u => {\n u.quantity = u.quantity.plus(\n u.follower.quantity.times(u.followerQuantity).times(followerMultiGa)\n );\n });\n this.advWorkers.list.filter(u => u.follower).forEach(u => {\n u.quantity = u.quantity.plus(\n u.follower.quantity.times(u.followerQuantity).times(followerMultiWo)\n );\n });\n //#endregion\n //#region Starting Team && TWin\n const startTeam = this.allMateries.getSum(MasteryTypes.TEAM_START);\n if (startTeam > 0) {\n this.units\n .filter(u => u.teamAction)\n .map(u => u.teamAction)\n .forEach(t => (t.quantity = t.quantity.plus(startTeam)));\n this.researches.team1.unlocked = true;\n this.researches.team1.done = true;\n this.researches.team1.complete = true;\n this.researches.team1.quantity = new Decimal(1);\n this.researches.team1.toUnlock.forEach(u => u.unlock());\n this.researches.team2.unlocked = true;\n this.researches.team2.done = true;\n this.researches.team2.quantity = new Decimal(1);\n this.researches.team2.complete = true;\n this.researches.team2.toUnlock.forEach(u => u.unlock());\n this.materials.science.unlock();\n }\n const startTwin = this.allMateries.getSum(MasteryTypes.START_TWIN);\n if (startTwin > 0) {\n this.units\n .filter(u => u.twinAction)\n .map(u => u.twinAction)\n .forEach(t => (t.quantity = t.quantity.plus(startTwin)));\n this.researches.twin.unlocked = true;\n this.researches.twin.done = true;\n this.researches.twin.quantity = new Decimal(1);\n this.researches.twin.complete = true;\n this.researches.twin.toUnlock.forEach(u => u.unlock());\n this.materials.science.unlock();\n }\n //#endregion\n //#region Mastery && Free Warp\n this.researches.free1hWarp.unlocked =\n this.allMateries.getSum(MasteryTypes.FREE_WARP_RES) > 0;\n if (this.allMateries.getSum(MasteryTypes.START_RESEARCHS) > 0) {\n this.advWorkers.scientificMethod1.unlocked = true;\n this.advWorkers.scientificMethod1.quantity = new Decimal(4);\n this.researches.harvesting.unlocked = true;\n this.researches.harvesting.quantity = new Decimal(4);\n }\n //#endregion\n //#region other Bugs\n if (this.currentWorld.additionalBugs.includes(BugTypes.BEE)) {\n this.bees.larva.unlocked = true;\n this.bees.queen.unlocked = true;\n this.bees.larva.quantity = new Decimal(10);\n this.bees.queen.quantity = new Decimal(1);\n this.gatherers.foraggingBee.unlocked = true;\n }\n if (this.currentWorld.additionalBugs.includes(BugTypes.WASP)) {\n this.wasps.larva.unlocked = true;\n this.wasps.queen.unlocked = true;\n this.wasps.larva.quantity = new Decimal(10);\n this.wasps.queen.quantity = new Decimal(1);\n this.gatherers.foraggingWasp.unlocked = true;\n }\n if (this.currentWorld.additionalBugs.includes(BugTypes.SUPER_MAJOR)) {\n this.gatherers.hunter.unlocked = true;\n }\n //#endregion\n\n this.currentWorld.setGame();\n\n this.researches.reloadLists();\n this.unitGroups.forEach(g => g.check());\n this.buildLists();\n this.generateWorlds();\n\n this.tabs.prestige.unlock();\n\n if (this.ms.kongregate) setTimeout(this.ms.sendKong.bind(this.ms), 10);\n\n this.autoBuyManager.buildActiveList();\n return true;\n }\n hasSecondMastery(): boolean {\n return (\n this.researches.overNineThousand.done &&\n this.currentWorld.level.gt(15) &&\n this.currentWorld.level.gt(this.maxLevel.times(0.5))\n );\n }\n //#region Unit Utils\n generateWorlds(userMin: Decimal = null, userMax: Decimal = null) {\n this.reloadMaxLevel();\n\n if (userMin == null) userMin = new Decimal(1);\n if (userMax == null) userMax = this.realMaxLevel;\n\n userMax = Decimal.min(userMax, this.realMaxLevel);\n\n this.nextWorlds = [\n World.getRandomWorld(userMin, userMax, this),\n World.getRandomWorld(userMin, userMax, this),\n World.getRandomWorld(userMin, userMax, this)\n ];\n }\n genSciencePrice(price: Decimal | number, growRate = 1): Price[] {\n return [new Price(this.materials.science, new Decimal(price), growRate)];\n }\n genExperiencePrice(price: Decimal | number, growRate = 1.3): Price[] {\n return [new Price(this.experience, new Decimal(price), growRate)];\n }\n addTeamAction(unit: FullUnit, price: Decimal | number) {\n unit.generateTeamAction(this.genTeamPrice(price));\n }\n addTwinAction(unit: FullUnit, price: Decimal | number) {\n unit.generateTwinAction(this.genTwinPrice(price));\n }\n reloadMaxLevel() {\n this.realMaxLevel = this.maxLevel.times(\n this.allPrestige.worldPrestige.maxLevel.quantity\n .times(0.1)\n .times(\n 1 + 0.5 * this.allMateries.getSum(MasteryTypes.WORLD_LEVEL_PRESTIGE)\n )\n .plus(1)\n );\n // const masteryMulti = this.allMateries.getSum(MasteryTypes.WORLD_LEVEL);\n // this.realMaxLevel = this.realMaxLevel.times(1 + masteryMulti / 2).floor();\n }\n //#endregion\n //#endregion\n //#region Save and Load\n getSave(): any {\n return {\n u: this.units.map(u => u.getSave()),\n t: this.tabs.getSave(),\n r: this.researches.getSave(),\n w: this.currentWorld.getSave(),\n p: this.allPrestige.getSave(),\n m: this.maxLevel,\n a: this.isPaused,\n abm: this.autoBuyManager.getSave(),\n s: this.stats.getSave(),\n mas: this.allMateries.getSave(),\n wor: this.nextWorlds.map(w => w.getSave())\n };\n }\n restore(data: any): boolean {\n if (\"u\" in data) {\n for (const s of data.u) this.units.find(u => u.id === s.i).restore(s);\n if (\"t\" in data) this.tabs.restore(data.t);\n if (\"mas\" in data) this.allMateries.restore(data.mas);\n if (\"r\" in data) this.researches.restore(data.r, this.materials.science);\n if (\"w\" in data) this.currentWorld.restore(data.w, this);\n if (\"p\" in data) this.allPrestige.restore(data.p);\n if (\"m\" in data) this.maxLevel = new Decimal(data.m);\n if (\"a\" in data) this.isPaused = data.a;\n if (\"abm\" in data) this.autoBuyManager.restore(data.abm);\n if (\"s\" in data) this.stats.restore(data.s);\n if (\"wor\" in data) {\n this.nextWorlds = data.wor.map(w => {\n const newW = new World(\"\");\n newW.restore(w, this);\n return newW;\n });\n }\n\n //\n // Debug\n //\n // this.materials.list.forEach(m => (m.quantity = new Decimal(1e100)));\n // this.materials.food.quantity = new Decimal(100);\n // this.ants.nest.quantity = new Decimal(70);\n // this.experience.quantity = new Decimal(1e10);\n // this.allMateries.masteryPoint = 100;\n // this.researches.spawn.unlocked = true;\n // this.advWorkers.betterWorkers.unlocked = true;\n // this.advWorkers.efficientWorkers.unlocked = true;\n //\n //\n //\n\n this.unitGroups.forEach(g => g.check());\n this.buildLists();\n this.unitGroups.forEach(\n g => (g.selected = g.list.filter(u => u.unlocked))\n );\n\n this.applyWorldBonus();\n this.reloadProduction();\n this.setMaxTimeBank();\n return true;\n } else {\n return false;\n }\n }\n //#region Price Utility\n private genTeamPrice(price: Decimal | number): Price[] {\n return [new Price(this.materials.science, new Decimal(price), 4)];\n }\n private genTwinPrice(price: Decimal | number): Price[] {\n return [new Price(this.materials.science, new Decimal(price), 10)];\n }\n //#endregion\n}\n","import { FullUnit } from \"./full-unit\";\nimport { Game } from \"./game\";\nimport { MasteryTypes } from \"./masteries/mastery\";\nimport { ProductionBonus } from \"./production-bonus\";\n\nexport class Helper extends FullUnit {\n helpBonus: ProductionBonus;\n\n constructor(id: string, ratio: Decimal | number, private game: Game) {\n super(id);\n this.helpBonus = new ProductionBonus(this, new Decimal(ratio));\n this.helpBonus.getMultiplier = () => {\n if (this.efficiency <= 0) return new Decimal(0);\n\n return new Decimal(\n ((1 + this.game.allMateries.getSum(MasteryTypes.BETTER_HELPERS)) *\n this.efficiency) /\n 100\n );\n };\n }\n reloadTeamBonus(teamBonus = false, multiBonus: Decimal) {\n return new Decimal(1);\n }\n}\n","import { FullUnit } from \"./full-unit\";\n\nexport class Malus extends FullUnit {\n isKilled = false;\n priceMultiplier = new Decimal(1);\n first = false;\n malusType: FullUnit;\n\n constructor(id: string) {\n super(id);\n this.hasAutoBuyer = false;\n }\n kill(): boolean {\n if (this.isKilled) return false;\n\n this.isKilled = true;\n this.efficiency = 0;\n this.quantity = new Decimal(0);\n\n // Recursive kill malus\n this.producedBy.forEach(p => {\n if (p.producer instanceof Malus) p.producer.kill();\n });\n\n return true;\n }\n reloadPriceMulti() {\n if (!this.first) return;\n\n this.priceMultiplier = (this.quantity.gte(1) && this.isActive()\n ? new Decimal(this.quantity.log(20))\n : (this.priceMultiplier = new Decimal(1))\n ).max(1);\n }\n isActive(): boolean {\n return !this.isKilled && super.isActive();\n }\n reset() {\n super.reset();\n this.isKilled = false;\n this.reloadPriceMulti();\n }\n //#region Save and Restore\n getSave(): any {\n const save = super.getSave();\n if (this.isKilled) save.ik = this.isKilled;\n return save;\n }\n restore(data: any): boolean {\n if (super.restore(data)) {\n this.isKilled = !!data.ik;\n\n return true;\n } else {\n return false;\n }\n }\n //#endregion\n}\n","import { DataSet } from \"vis\";\nimport { BaseUnit } from \"../baseUnit\";\nimport { Game } from \"../game\";\nimport { ProductionBonus } from \"../production-bonus\";\nimport { Mastery, MasteryTypes, notable } from \"./mastery\";\n\nexport class AllMasteries {\n masteryPoint = 0;\n totalEarned = 0;\n totals = new Array();\n\n visMasteries: DataSet;\n visEdge: DataSet<{ from: number; to: number }>;\n starting: Mastery[];\n\n scienceBonus: BaseUnit;\n foodBonus: BaseUnit;\n soilBonus: BaseUnit;\n crystalBonus: BaseUnit;\n armyBonus: BaseUnit;\n\n harvestBonus: BaseUnit;\n materialBonus: BaseUnit;\n\n constructor(game: Game) {\n this.scienceBonus = new BaseUnit(\"scieMast\");\n game.materials.science.productionsBonus.push(\n new ProductionBonus(this.scienceBonus, new Decimal(0.1))\n );\n\n this.foodBonus = new BaseUnit(\"fooMast\");\n game.materials.food.productionsBonus.push(\n new ProductionBonus(this.foodBonus, new Decimal(0.1))\n );\n\n this.soilBonus = new BaseUnit(\"wooMast\");\n game.materials.soil.productionsBonus.push(\n new ProductionBonus(this.soilBonus, new Decimal(0.1))\n );\n\n this.crystalBonus = new BaseUnit(\"cryMast\");\n game.materials.crystal.productionsBonus.push(\n new ProductionBonus(this.crystalBonus, new Decimal(0.1))\n );\n\n this.harvestBonus = new BaseUnit(\"harvMast\");\n const harvBon = new ProductionBonus(this.harvestBonus, new Decimal(0.2));\n game.gatherers.list.forEach(u => {\n u.productionsEfficiency.push(harvBon);\n });\n\n this.materialBonus = new BaseUnit(\"matMast\");\n const matBon = new ProductionBonus(this.materialBonus, new Decimal(0.1));\n game.materials.list.forEach(u => {\n u.productionsBonus.push(matBon);\n });\n\n this.armyBonus = new BaseUnit(\"armyMast\");\n const armyBon = new ProductionBonus(this.armyBonus, new Decimal(2));\n game.killers.list.forEach(u => {\n u.productionsAll.push(armyBon);\n });\n\n const length = Object.keys(MasteryTypes).length / 2;\n this.totals = new Array(length).fill(0);\n\n const av1 = new Mastery(0, MasteryTypes.MORE_FOLLOWERS);\n const av2 = new Mastery(5, MasteryTypes.MORE_IDLE_8H);\n const av3 = new Mastery(10, MasteryTypes.HARVEST_BONUS);\n const av4 = new Mastery(15, MasteryTypes.SCIENCE_BONUS);\n av1.available = true;\n av1.color = Mastery.availableColor;\n av2.available = true;\n av2.color = Mastery.availableColor;\n av3.available = true;\n av3.color = Mastery.availableColor;\n av4.available = true;\n av4.color = Mastery.availableColor;\n this.starting = [av1, av2, av3, av4];\n\n const matGain = new Mastery(20, MasteryTypes.MATERIAL_GAIN);\n\n this.visMasteries = new DataSet([av1, av2, av3, av4, matGain]);\n this.visEdge = new DataSet([]);\n\n this.addMasteryLine(0, 1, MasteryTypes.MORE_FOLLOWERS, 4, 5);\n this.addMasteryLine(5, 6, MasteryTypes.MORE_IDLE_8H, 4, 10);\n this.addMasteryLine(10, 11, MasteryTypes.HARVEST_BONUS, 4, 15);\n this.addMasteryLine(15, 16, MasteryTypes.SCIENCE_BONUS, 4, 0);\n\n this.addMasteryLine(0, 21, MasteryTypes.MORE_FOLLOWERS, 3, 20);\n this.addMasteryLine(5, 25, MasteryTypes.MORE_IDLE_8H, 3, 20);\n this.addMasteryLine(10, 30, MasteryTypes.HARVEST_BONUS, 3, 20);\n this.addMasteryLine(15, 35, MasteryTypes.SCIENCE_BONUS, 3, 20);\n\n // Followers\n this.addMasteryLine(0, 40, MasteryTypes.MORE_FOLLOWERS_GA, 5);\n this.addMasteryLine(0, 45, MasteryTypes.MORE_FOLLOWERS_WO, 5);\n this.addMasteryLine(44, 101, MasteryTypes.FREE_WARP_RES, 1, 49);\n\n // Time\n this.addMasteryLine(5, 50, MasteryTypes.TIME_GEN, 5);\n this.addMasteryLine(5, 55, MasteryTypes.TIME_BANK, 5);\n this.addMasteryLine(54, 102, MasteryTypes.TIME_GEN_AND_BANK, 1, 59);\n\n // Team\n this.addMasteryLine(10, 60, MasteryTypes.TEAM_START, 5);\n this.addMasteryLine(10, 65, MasteryTypes.TEAM_PRESTIGE, 5);\n this.addMasteryLine(64, 100, MasteryTypes.START_TWIN, 1, 69);\n\n // Science && Technology\n this.addMasteryLine(15, 70, MasteryTypes.SCIENTIFIC_METHOD, 5);\n this.addMasteryLine(15, 75, MasteryTypes.TECHNOLOGY_PRESTIGE, 5);\n this.addMasteryLine(74, 103, MasteryTypes.START_RESEARCHS, 1, 79);\n\n // Single material bonus\n this.addMasteryLine(matGain.id, 80, MasteryTypes.SCIENCE_BONUS, 3);\n this.addMasteryLine(matGain.id, 85, MasteryTypes.FOOD_BONUS, 3);\n this.addMasteryLine(matGain.id, 90, MasteryTypes.SOIL_BONUS, 3);\n this.addMasteryLine(matGain.id, 95, MasteryTypes.CRYSTAL_BONUS, 3);\n\n // World Bonus\n this.addMasteryLine(17, 105, MasteryTypes.BETTER_WORLD, 4);\n this.addMasteryLine(108, 110, MasteryTypes.DOUBLE_PREFIX, 1);\n this.addMasteryLine(7, 111, MasteryTypes.BETTER_WORLD_EXPERIENCE, 4);\n this.addMasteryLine(114, 116, MasteryTypes.DOUBLE_SUFFIX, 1);\n this.addMasteryLine(12, 117, MasteryTypes.WORLD_LEVEL_PRESTIGE, 4);\n this.addMasteryLine(120, 121, MasteryTypes.WORLD_LEVEL, 1);\n\n // Helpers\n this.addMasteryLine(2, 122, MasteryTypes.BETTER_HELPERS, 4);\n this.addMasteryLine(125, 126, MasteryTypes.DOUBLE_ARMY, 1);\n }\n\n getSum(type: MasteryTypes): number {\n return this.totals[type];\n }\n\n buy(id: number, loading = false): boolean {\n if (this.masteryPoint < 1 && !loading) {\n return false;\n }\n const node = this.visMasteries.get(id);\n if ((node && node.available && !node.owned) || loading) {\n if (!loading) {\n this.masteryPoint--;\n }\n this.totals[node.type]++;\n\n const avEdges = this.visEdge.get({\n filter(item) {\n return item.from === id || item.to === id;\n }\n });\n avEdges.forEach(avEdge => {\n const nodes = this.visMasteries.get({\n filter(item) {\n return (\n (item.id === avEdge.from || item.id === avEdge.to) &&\n !item.available &&\n !item.owned\n );\n }\n });\n if (nodes.length > 0) {\n nodes.forEach(n => {\n {\n n.available = true;\n n.color = Mastery.availableColor;\n }\n });\n this.visMasteries.update(nodes);\n }\n });\n\n const update: any = {\n id,\n owned: true,\n available: true,\n color: Mastery.ownedColor\n };\n this.visMasteries.update(update);\n if (!loading) this.reloadBonus();\n\n return true;\n } else {\n return false;\n }\n }\n\n reloadBonus() {\n this.scienceBonus.quantity = new Decimal(\n this.getSum(MasteryTypes.SCIENCE_BONUS)\n );\n this.foodBonus.quantity = new Decimal(this.getSum(MasteryTypes.FOOD_BONUS));\n this.soilBonus.quantity = new Decimal(this.getSum(MasteryTypes.SOIL_BONUS));\n this.crystalBonus.quantity = new Decimal(\n this.getSum(MasteryTypes.CRYSTAL_BONUS)\n );\n\n this.harvestBonus.quantity = new Decimal(\n this.getSum(MasteryTypes.HARVEST_BONUS)\n );\n this.materialBonus.quantity = new Decimal(\n this.getSum(MasteryTypes.MATERIAL_GAIN)\n );\n this.armyBonus.quantity = new Decimal(\n this.getSum(MasteryTypes.DOUBLE_ARMY)\n );\n }\n\n reset() {\n this.masteryPoint = this.totalEarned;\n for (let i = 0; i < this.totals.length; i++) {\n this.totals[i] = 0;\n }\n this.reloadBonus();\n const update = this.visMasteries.get();\n update.forEach(m => {\n m.owned = false;\n m.available = false;\n m.color = notable.find(n => n === m.type)\n ? Mastery.notableColor\n : Mastery.normalColor;\n });\n this.visMasteries.update(update);\n this.starting.forEach(m => {\n m.available = true;\n m.color = Mastery.availableColor;\n });\n this.visMasteries.update(this.starting);\n }\n\n //#region Save and Load\n getSave(): any {\n return {\n own: this.visMasteries\n .get({\n filter(item) {\n return item.owned;\n }\n })\n .map(o => o.id),\n mp: this.masteryPoint,\n to: this.totalEarned\n };\n }\n restore(data: any) {\n if (\"own\" in data) {\n data.own.forEach(ow => this.buy(ow, true));\n }\n if (\"mp\" in data) {\n this.masteryPoint = data.mp;\n }\n if (\"to\" in data) {\n this.totalEarned = data.to;\n }\n this.reloadBonus();\n }\n //#endregion\n\n private addMasteryLine(\n fromN: number,\n startId: number,\n type: MasteryTypes,\n quantity = 1,\n toN = Number.NEGATIVE_INFINITY\n ) {\n for (let i = 0; i < quantity; i++) {\n this.visMasteries.add(new Mastery(startId + i, type));\n }\n this.visEdge.add({ from: fromN, to: startId });\n for (let i = 0; i < quantity - 1; i++) {\n this.visEdge.add({ from: startId + i, to: startId + i + 1 });\n }\n if (toN >= 0) {\n this.visEdge.add({ from: startId + quantity - 1, to: toN });\n }\n }\n}\n","import * as positions from \"./positions.json\";\n\nexport enum MasteryTypes {\n MORE_FOLLOWERS = 0,\n MORE_IDLE_8H,\n FOOD_BONUS,\n SCIENCE_BONUS,\n CRYSTAL_BONUS,\n SOIL_BONUS,\n HARVEST_BONUS,\n MATERIAL_GAIN,\n MORE_FOLLOWERS_GA,\n MORE_FOLLOWERS_WO,\n TIME_GEN,\n TIME_BANK,\n TEAM_START,\n TEAM_PRESTIGE,\n SCIENTIFIC_METHOD,\n TECHNOLOGY_PRESTIGE,\n START_TWIN,\n FREE_WARP_RES,\n TIME_GEN_AND_BANK,\n START_RESEARCHS,\n DOUBLE_PREFIX,\n DOUBLE_SUFFIX,\n WORLD_LEVEL,\n WORLD_LEVEL_PRESTIGE,\n BETTER_WORLD,\n BETTER_WORLD_EXPERIENCE,\n BETTER_HELPERS,\n DOUBLE_ARMY\n}\nexport const notable = [\n MasteryTypes.MATERIAL_GAIN,\n MasteryTypes.START_TWIN,\n MasteryTypes.FREE_WARP_RES,\n MasteryTypes.TIME_GEN_AND_BANK,\n MasteryTypes.START_RESEARCHS,\n MasteryTypes.DOUBLE_PREFIX,\n MasteryTypes.DOUBLE_SUFFIX,\n MasteryTypes.WORLD_LEVEL,\n MasteryTypes.DOUBLE_ARMY\n];\n\nexport class Mastery {\n static readonly normalColor = \"#4286f4dd\";\n static readonly availableColor = \"#008000dd\";\n static readonly ownedColor = \"#ff0000dd\";\n static readonly notableColor = \"#ffa500dd\";\n\n static getDescription(type: MasteryTypes, num = 1): string {\n let ret = \"\";\n switch (type) {\n case MasteryTypes.MORE_FOLLOWERS: {\n ret = \"+\" + 100 * num + \"%\\n更多的追随者\";\n break;\n }\n case MasteryTypes.MORE_IDLE_8H: {\n ret = \"+\" + 30 * num + \"% 空闲时间\\n在8小时后\";\n break;\n }\n case MasteryTypes.SCIENCE_BONUS: {\n ret = \"+\" + 10 * num + \"%\\n科学\";\n break;\n }\n case MasteryTypes.FOOD_BONUS: {\n ret = \"+\" + 10 * num + \"%\\n食物\";\n break;\n }\n case MasteryTypes.SOIL_BONUS: {\n ret = \"+\" + 10 * num + \"%\\n土壤\";\n break;\n }\n case MasteryTypes.CRYSTAL_BONUS: {\n ret = \"+\" + 10 * num + \"%\\n水晶\";\n break;\n }\n case MasteryTypes.HARVEST_BONUS: {\n ret = \"+\" + 20 * num + \"% 资源\\n来自采集者\";\n break;\n }\n case MasteryTypes.MATERIAL_GAIN: {\n ret = \"+\" + 10 * num + \"%\\n材料获得\";\n break;\n }\n case MasteryTypes.MORE_FOLLOWERS_GA: {\n ret = \"+\" + 300 * num + \"% 的\\n采集者追随者\";\n break;\n }\n case MasteryTypes.MORE_FOLLOWERS_WO: {\n ret = \"+\" + 300 * num + \"% 的\\n工人追随者\";\n break;\n }\n case MasteryTypes.TIME_GEN: {\n ret = \"+\" + 30 * num + \"%\\n时间 /秒\";\n break;\n }\n case MasteryTypes.TIME_BANK: {\n ret = \"+\" + 50 * num + \"%\\n 时间银行\";\n break;\n }\n case MasteryTypes.TIME_GEN_AND_BANK: {\n ret = \"+\" + 200 * num + \"%\\n 时间 /秒 和时间银行\";\n break;\n }\n case MasteryTypes.TEAM_START: {\n ret = \"开始新世界时默认就有\\n\" + 1 * num + \" 团队升级\";\n break;\n }\n case MasteryTypes.TEAM_PRESTIGE: {\n ret = \"团队声望升级\\n\" + 100 * num + \"% 更高效率\";\n break;\n }\n case MasteryTypes.SCIENTIFIC_METHOD: {\n ret = \"科学方法研究\\n\" + 100 * num + \"% 更高效率\";\n break;\n }\n case MasteryTypes.TECHNOLOGY_PRESTIGE: {\n ret = \"技术经验升级\\n\" + 100 * num + \"% 更高效率\";\n break;\n }\n case MasteryTypes.START_TWIN: {\n ret = \"开始新世界时默认就有\\n\" + 1 * num + \" 双胞胎升级\";\n break;\n }\n case MasteryTypes.FREE_WARP_RES: {\n ret = \"开始新世界时默认就有 \\n免费扭曲 (1小时 2小时 3小时)\";\n break;\n }\n case MasteryTypes.START_RESEARCHS: {\n ret = \"开始新世界时默认就有\\n4 科学方法和收获\";\n break;\n }\n case MasteryTypes.DOUBLE_PREFIX: {\n ret = \"30% 几率出现\\n双重前缀\";\n break;\n }\n case MasteryTypes.DOUBLE_SUFFIX: {\n ret = \"30% 几率出现\\n双重后缀\";\n break;\n }\n case MasteryTypes.WORLD_LEVEL: {\n ret = \"减少世界旅行需求\";\n break;\n }\n case MasteryTypes.BETTER_WORLD: {\n ret = \"+\" + 20 * num + \"%\\n世界加成\";\n break;\n }\n case MasteryTypes.BETTER_WORLD_EXPERIENCE: {\n ret = \"更好的世界声望升级\\n50% 更高效率\";\n break;\n }\n case MasteryTypes.WORLD_LEVEL_PRESTIGE: {\n ret = \"最高等级声望升级\\n50% 更高效率\";\n break;\n }\n case MasteryTypes.BETTER_HELPERS: {\n ret = \"+100% 加成\\n来自助手\";\n break;\n }\n case MasteryTypes.DOUBLE_ARMY: {\n ret = \"+200%\\n军队杀敌加成\";\n break;\n }\n }\n return ret;\n }\n\n label = \"\";\n color = \"blue\";\n available = false;\n owned = false;\n\n constructor(\n public id: number,\n public type: MasteryTypes,\n public x = 0,\n public y = 0\n ) {\n this.label = Mastery.getDescription(type);\n this.color = notable.find(n => n === this.type)\n ? Mastery.notableColor\n : Mastery.normalColor;\n\n if (this.id in positions) {\n this.x = positions[this.id].x;\n this.y = positions[this.id].y;\n }\n }\n}\n","import { Action } from \"../action\";\nimport { Game } from \"../game\";\nimport { AutoBuyUnlock } from \"./auto-buy-unlock\";\nimport { Followers } from \"./followers\";\nimport { Followers2 } from \"./followers2\";\nimport { PrestigeGroup } from \"./prestige-group\";\nimport { Swarm } from \"./swarm\";\nimport { Team } from \"./team\";\nimport { Technology } from \"./technology\";\nimport { Time } from \"./time\";\nimport { WorldPrestige } from \"./world-prestige\";\n\nexport class AllPrestige {\n followers: Followers;\n followers2: Followers2;\n time: Time;\n autoBuyUnlock: AutoBuyUnlock;\n technology: Technology;\n team: Team;\n worldPrestige: WorldPrestige;\n swarm: Swarm;\n\n prestigeGroups = new Array();\n prestigeList = new Array();\n\n constructor() {\n this.followers = new Followers();\n this.followers2 = new Followers2();\n this.time = new Time();\n this.autoBuyUnlock = new AutoBuyUnlock();\n this.technology = new Technology();\n this.team = new Team();\n this.worldPrestige = new WorldPrestige();\n this.swarm = new Swarm();\n\n this.prestigeGroups.push(\n this.followers,\n this.followers2,\n this.swarm,\n this.technology,\n this.team,\n this.time,\n this.worldPrestige,\n this.autoBuyUnlock\n );\n }\n\n declareStuff(game: Game) {\n this.prestigeGroups.forEach(g => {\n g.declareStuff(game);\n g.list.forEach(p => this.prestigeList.push(p));\n });\n }\n\n //#region Save and Load\n getSave(): any {\n return {\n prest: this.prestigeList.map(a => a.getSave())\n };\n }\n restore(data: any): boolean {\n if (!(\"prest\" in data)) return false;\n for (const p of data.prest) {\n const prest = this.prestigeList.find(u => u.id === p.i);\n if (prest) {\n prest.restore(p);\n } else {\n console.log(p);\n }\n }\n }\n //#endregion\n}\n","import { Game } from \"../game\";\nimport { Prestige } from \"./prestige\";\nimport { PrestigeGroup } from \"./prestige-group\";\n\nexport class AutoBuyUnlock extends PrestigeGroup {\n autoBuyQuantity: Prestige;\n autoBuyTeam: Prestige;\n autoBuyTwin: Prestige;\n autoBuyMin: Prestige;\n autoBuyResearch: Prestige;\n\n constructor() {\n super(\"autoB\", \"自动购买者\");\n }\n declareStuff(game: Game) {\n this.autoBuyQuantity = new Prestige(\"H\", game.genExperiencePrice(50));\n this.autoBuyTeam = new Prestige(\"t\", game.genExperiencePrice(100));\n this.autoBuyTwin = new Prestige(\"T\", game.genExperiencePrice(200));\n this.autoBuyMin = new Prestige(\"M\", game.genExperiencePrice(300));\n this.autoBuyResearch = new Prestige(\"R\", game.genExperiencePrice(400));\n\n this.list.push(\n this.autoBuyQuantity,\n this.autoBuyTeam,\n this.autoBuyTwin,\n this.autoBuyMin,\n this.autoBuyResearch\n );\n this.list.forEach(a => {\n a.limit = new Decimal(1);\n a.isLimited = true;\n a.toUnlock = [game.tabs.autoBuy];\n });\n }\n}\n","import { BugTypes } from \"../bugsTypes\";\nimport { Game } from \"../game\";\nimport { Prestige } from \"./prestige\";\nimport { PrestigeGroup } from \"./prestige-group\";\n\nexport class Followers extends PrestigeGroup {\n constructor() {\n super(\"foll\", \"追随者\");\n }\n\n declareStuff(game: Game) {\n game.gatherers.list.filter(u => u.bugType === BugTypes.ANT).forEach(ga => {\n const follower = new Prestige(ga.id, game.genExperiencePrice(5));\n ga.follower = follower;\n this.list.push(follower);\n });\n }\n}\n","import { BugTypes } from \"../bugsTypes\";\nimport { Game } from \"../game\";\nimport { Prestige } from \"./prestige\";\nimport { PrestigeGroup } from \"./prestige-group\";\n\nexport class Followers2 extends PrestigeGroup {\n list: any;\n constructor() {\n super(\"foll2\", \"工人追随者\");\n }\n\n declareStuff(game: Game) {\n game.advWorkers.list.filter(u => u.bugType === BugTypes.ANT).forEach(ga => {\n const follower = new Prestige(ga.id, game.genExperiencePrice(10));\n ga.follower = follower;\n this.list.push(follower);\n });\n }\n}\n","import { Game } from \"../game\";\nimport { Prestige } from \"./prestige\";\n\nexport class PrestigeGroup {\n list = new Array();\n\n constructor(public id: string, public name: string) {}\n\n declareStuff(game: Game) {\n //\n }\n}\n","import { BuyAction } from \"../actions/buy-action\";\nimport { Price } from \"../price\";\nimport { STRINGS } from \"../strings\";\n\nexport class Prestige extends BuyAction {\n constructor(id: string, price: Price[], name = \"\") {\n super(price, null, [], id);\n this.name = name;\n if (id in STRINGS.prestige) {\n this.name = STRINGS.prestige[id][0];\n this.description = STRINGS.prestige[id][1];\n }\n }\n}\n","import { Tags } from \"../bugsTypes\";\nimport { Game } from \"../game\";\nimport { ProductionBonus } from \"../production-bonus\";\nimport { Prestige } from \"./prestige\";\nimport { PrestigeGroup } from \"./prestige-group\";\n\nexport class Swarm extends PrestigeGroup {\n larvaBonus: Prestige;\n queenBonus: Prestige;\n\n constructor() {\n super(\"swarmPrest\", \"虫群\");\n }\n\n declareStuff(game: Game) {\n this.larvaBonus = new Prestige(\"sl\", game.genExperiencePrice(10));\n this.queenBonus = new Prestige(\"sq\", game.genExperiencePrice(10));\n this.list = [this.larvaBonus, this.queenBonus];\n\n const lb = new ProductionBonus(this.larvaBonus, new Decimal(0.1));\n game.units\n .filter(u => u.tags.includes(Tags.LARVA))\n .forEach(u => u.productionsBonus.push(lb));\n\n const qb = new ProductionBonus(this.queenBonus, new Decimal(0.1));\n game.units\n .filter(u => u.tags.includes(Tags.QUEEN))\n .forEach(u => u.productionsBonus.push(qb));\n }\n}\n","import { Game } from \"../game\";\nimport { Prestige } from \"./prestige\";\nimport { PrestigeGroup } from \"./prestige-group\";\n\nexport class Team extends PrestigeGroup {\n betterTeam: Prestige;\n\n constructor() {\n super(\"teamPrest\", \"团队合作\");\n }\n\n declareStuff(game: Game) {\n this.betterTeam = new Prestige(\"E\", game.genExperiencePrice(10));\n this.list = [this.betterTeam];\n }\n}\n","import { Game } from \"../game\";\nimport { MasteryTypes } from \"../masteries/mastery\";\nimport { ProductionBonus } from \"../production-bonus\";\nimport { Prestige } from \"./prestige\";\nimport { PrestigeGroup } from \"./prestige-group\";\n\nexport class Technology extends PrestigeGroup {\n farming: Prestige;\n carpentry: Prestige;\n mining: Prestige;\n studying: Prestige;\n\n constructor() {\n super(\"tecno\", \"技术\");\n }\n\n declareStuff(game: Game) {\n this.farming = new Prestige(\"F\", game.genExperiencePrice(10));\n this.carpentry = new Prestige(\"C\", game.genExperiencePrice(10));\n this.mining = new Prestige(\"n\", game.genExperiencePrice(10));\n this.studying = new Prestige(\"s\", game.genExperiencePrice(10));\n\n this.list = [this.farming, this.carpentry, this.mining, this.studying];\n\n const foodBon = new ProductionBonus(this.farming, new Decimal(0.1));\n game.materials.food.productionsBonus.push(foodBon);\n\n const soilBon = new ProductionBonus(this.carpentry, new Decimal(0.1));\n game.materials.soil.productionsBonus.push(soilBon);\n\n const cryBon = new ProductionBonus(this.mining, new Decimal(0.1));\n game.materials.crystal.productionsBonus.push(cryBon);\n\n const scieBon = new ProductionBonus(this.studying, new Decimal(0.1));\n game.materials.science.productionsBonus.push(scieBon);\n\n [foodBon, soilBon, cryBon, scieBon].forEach(b => {\n b.getMultiplier = () => {\n return new Decimal(\n 1 + game.allMateries.getSum(MasteryTypes.TECHNOLOGY_PRESTIGE)\n );\n };\n });\n }\n}\n","import { Game } from \"../game\";\nimport { Prestige } from \"./prestige\";\nimport { PrestigeGroup } from \"./prestige-group\";\n\nexport class Time extends PrestigeGroup {\n timeProducer: Prestige;\n timeBank: Prestige;\n\n constructor() {\n super(\"time\", \"时间\");\n }\n\n declareStuff(game: Game) {\n this.timeProducer = new Prestige(\"P\", game.genExperiencePrice(15));\n this.timeBank = new Prestige(\"B\", game.genExperiencePrice(15));\n this.list = [this.timeProducer, this.timeBank];\n\n this.timeBank.onBuy = () => game.setMaxTimeBank();\n }\n}\n","import { Game } from \"../game\";\nimport { ProductionBonus } from \"../production-bonus\";\nimport { Prestige } from \"./prestige\";\nimport { PrestigeGroup } from \"./prestige-group\";\n\nexport class WorldPrestige extends PrestigeGroup {\n betterWorlds: Prestige;\n betterArmy: Prestige;\n maxLevel: Prestige;\n\n constructor() {\n super(\"world\", \"世界\");\n }\n\n declareStuff(game: Game) {\n this.betterWorlds = new Prestige(\"w\", game.genExperiencePrice(20));\n this.betterArmy = new Prestige(\"r\", game.genExperiencePrice(20));\n this.maxLevel = new Prestige(\"L\", game.genExperiencePrice(20));\n this.list = [this.betterWorlds, this.betterArmy, this.maxLevel];\n\n const killBonus = new ProductionBonus(this.betterArmy, new Decimal(0.1));\n game.killers.list.forEach(k => k.productionsAll.push(killBonus));\n }\n}\n","import { FullUnit } from \"./full-unit\";\nimport { Utility } from \"./utility\";\n\nexport class Price {\n canBuy = false;\n maxBuy = new Decimal(0);\n\n priceUser = new Decimal(0);\n userCanBuy = false;\n avIn = new Decimal(0);\n\n // Price with malus\n realPrice = new Decimal(0);\n\n completedPercent: number = 0;\n price: Decimal;\n\n constructor(\n public base: FullUnit,\n price: Decimal | number,\n public growRate = 1.1\n ) {\n this.price = new Decimal(price);\n this.realPrice = new Decimal(this.price);\n }\n\n reloadRealPrice() {\n this.realPrice = this.base.malus\n ? this.price.times(this.base.malus.priceMultiplier)\n : (this.realPrice = this.price);\n }\n reload(bought: Decimal = new Decimal(0)) {\n this.reloadRealPrice();\n if (this.growRate !== 1) {\n this.maxBuy = Decimal.affordGeometricSeries(\n this.base.quantity,\n this.realPrice,\n this.growRate,\n bought\n );\n } else {\n this.maxBuy = this.base.quantity.gt(0)\n ? this.base.quantity.div(this.realPrice).floor()\n : new Decimal(0);\n }\n\n this.canBuy = this.maxBuy.gte(1);\n }\n buy(toBuy: Decimal, start: Decimal) {\n let price: Decimal;\n if (this.growRate === 1) {\n price = toBuy.times(this.realPrice);\n } else {\n price = Decimal.sumGeometricSeries(\n toBuy,\n this.realPrice,\n this.growRate,\n start\n );\n }\n this.base.quantity = this.base.quantity.minus(price);\n // this.base.setUiValue();\n }\n loadPriceUser(num: Decimal, start: Decimal) {\n const tempPrice: Decimal =\n this.growRate > 1\n ? Decimal.sumGeometricSeries(num, this.realPrice, this.growRate, start)\n : this.realPrice.times(num);\n\n this.userCanBuy = tempPrice.lte(this.base.quantity);\n if (this.priceUser.cmp(tempPrice) !== 0) this.priceUser = tempPrice;\n }\n getPriceForOne(start: Decimal) {\n const num = new Decimal(1);\n return this.growRate > 1\n ? Decimal.sumGeometricSeries(num, this.realPrice, this.growRate, start)\n : this.realPrice.times(num);\n }\n getTime(): Decimal {\n if (this.priceUser.lte(this.base.quantity)) return new Decimal(0);\n else {\n this.avIn = Utility.solveEquation(\n this.base.a,\n this.base.b,\n this.base.c,\n this.base.quantity.minus(this.priceUser)\n )\n .filter(s => s.gte(0))\n .reduce((p, c) => p.min(c), new Decimal(Number.POSITIVE_INFINITY));\n return this.avIn;\n }\n }\n reloadPercent() {\n this.completedPercent = Math.floor(\n this.canBuy\n ? 100\n : this.base.quantity\n .times(100)\n .div(this.price)\n .toNumber()\n );\n }\n}\n","import { BaseUnit } from \"./baseUnit\";\n\nexport class ProductionBonus {\n constructor(public unit: BaseUnit, public quantity: Decimal) {\n unit.usedForProductionBonus.push(this);\n }\n isActive(): boolean {\n return this.unit.unlocked && this.unit.quantity.gt(0);\n }\n getBonus(): Decimal {\n if (this.isActive()) {\n return this.unit.quantity\n .times(this.quantity)\n .times(this.getMultiplier());\n } else return new Decimal(0);\n }\n getBonusPercent(): Decimal {\n return this.getBonus().times(100);\n }\n getBonusPercentForNum(num: Decimal): Decimal {\n return this.getForNum(num).times(100);\n }\n getForNum(num: Decimal): Decimal {\n return num.times(this.quantity);\n }\n\n getMultiplier() {\n return new Decimal(1);\n }\n}\n","import { FullUnit } from \"./full-unit\";\n\nexport class Production {\n prodPerSec = new Decimal(1);\n\n constructor(\n public producer: FullUnit,\n public product: FullUnit,\n public ratio = new Decimal(1)\n ) {\n this.reloadProdPerSec();\n }\n\n reloadProdPerSec(teamBonus = false) {\n if (this.producer.efficiency <= 0) {\n this.prodPerSec = new Decimal(0);\n } else {\n let bonus = new Decimal(1);\n // Base Production\n this.prodPerSec = new Decimal(this.ratio);\n\n // Team Bonus\n if (teamBonus && this.producer.buyAction) {\n this.prodPerSec = this.prodPerSec.times(this.producer.bonus.plus(1));\n }\n\n // Producer Bonus All\n const producerAllBonus = this.producer.productionsAll\n .filter(bn => bn.isActive())\n .map(prod => prod.getBonus())\n .reduce((p, n) => p.plus(n), new Decimal(0));\n bonus = bonus.plus(producerAllBonus);\n\n // Producer Efficiency Bonus\n if (this.ratio.gt(0)) {\n const producerBonus = this.producer.productionsEfficiency\n .filter(bn => bn.isActive())\n .map(prod => prod.getBonus())\n .reduce((p, n) => p.plus(n), new Decimal(0));\n bonus = bonus.plus(producerBonus);\n\n // Production bonus of product\n const productBonus = this.product.productionsBonus\n .filter(bn => bn.isActive())\n .map(prod => prod.getBonus())\n .reduce((p, n) => p.plus(n), new Decimal(0));\n bonus = bonus.plus(productBonus);\n }\n this.prodPerSec = this.prodPerSec.times(bonus);\n\n // Efficiency slider\n this.prodPerSec = this.prodPerSec.times(this.producer.efficiency / 100);\n }\n }\n}\n","import { Action } from \"./action\";\nimport { BugTypes } from \"./bugsTypes\";\nimport { FullUnit } from \"./full-unit\";\nimport { IUnlocable } from \"./iunlocable\";\nimport { Price } from \"./price\";\nimport { STRINGS } from \"./strings\";\nimport { Researches } from \"./units/researches\";\n\nexport class Research extends Action implements IUnlocable {\n unlocked = false;\n toUnlock = new Array();\n maxAutoBuyLevel = 10;\n bugType = BugTypes.ANT;\n autoBuyable = true;\n\n constructor(\n id: string,\n public researches: Researches,\n public unlimited = false\n ) {\n super(id, \"\", \"\");\n this.name = \"\";\n this.description = \"\";\n if (id in STRINGS.researches) {\n this.name = STRINGS.researches[id][0];\n this.description = STRINGS.researches[id][1];\n }\n if (!this.unlimited) {\n this.limit = new Decimal(1);\n this.isLimited = true;\n }\n this.userNum = 1;\n this.researches.researches.push(this);\n }\n genPrice(price: Decimal, science: FullUnit, growRate = 1) {\n this.prices = [new Price(science, price, 1)];\n }\n buy(toBuy = new Decimal(1)): boolean {\n if (super.buy(toBuy)) {\n if (this.toUnlock) {\n this.toUnlock.filter(i => !i.unlocked).forEach(u => u.unlock());\n }\n this.reload();\n this.researches.reloadLists();\n this.researches.game.autoBuyManager.buildActiveList();\n this.researches.toDo.forEach(r => {\n r.reloadAvailableTime();\n });\n return true;\n } else {\n return false;\n }\n }\n unlock() {\n if (\n !this.unlocked &&\n (this.bugType === BugTypes.ANT ||\n this.researches.game.currentWorld.additionalBugs.includes(this.bugType))\n ) {\n this.unlocked = true;\n this.reload();\n return true;\n } else {\n return false;\n }\n }\n reset() {\n super.reset();\n this.unlocked = false;\n }\n\n //#region Save and Load\n getSave(): any {\n const save = super.getSave();\n if (this.unlocked) save.u = this.unlocked;\n if (this.maxAutoBuyLevel !== 10) save.mabl = this.maxAutoBuyLevel;\n return save;\n }\n restore(data: any): boolean {\n if (super.restore(data)) {\n this.unlocked = !!data.u;\n if (\"mabl\" in data) this.maxAutoBuyLevel = data.mabl;\n return true;\n } else {\n return false;\n }\n }\n //#endregion\n}\n","export class Run {\n static getRun(data: any): Run {\n const run = new Run();\n run.restore(data);\n return run;\n }\n expPerSec = new Decimal(0);\n constructor(\n public endDate = new Date(),\n public startDate = new Date(),\n public worldName = \"\",\n public experience = new Decimal(0),\n public completed = false\n ) {}\n\n reloadExpPerSec() {\n this.expPerSec = this.experience.div(\n (this.endDate.getTime() - this.startDate.getTime()) / 1000\n );\n }\n\n //#region Save and Load\n getSave(): any {\n return {\n f: this.endDate,\n w: this.worldName,\n e: this.experience,\n c: this.completed,\n s: this.startDate\n };\n }\n restore(data: any) {\n if (\"f\" in data) this.endDate = new Date(data.f);\n if (\"s\" in data) this.startDate = new Date(data.s);\n if (\"w\" in data) this.worldName = data.w;\n if (\"e\" in data) this.experience = new Decimal(data.e);\n this.completed = !!data.c;\n this.reloadExpPerSec();\n }\n //#endregion\n}\n","import { World } from \"../world\";\nimport { Run } from \"./run\";\n\nexport class Stats {\n completedWorld = new Decimal(0);\n totalExperience = new Decimal(0);\n worldStartDate = new Date();\n runs = new Array();\n bestExpS = new Decimal(0);\n\n constructor() {}\n\n logWorldCompleted(world: World, skip = false) {\n if (!skip) {\n this.completedWorld = this.completedWorld.plus(1);\n this.totalExperience = this.totalExperience.plus(world.prestige);\n const run = new Run(\n new Date(),\n this.worldStartDate,\n world.name,\n world.prestige,\n !skip\n );\n run.reloadExpPerSec();\n this.runs.unshift(run);\n this.runs[0].reloadExpPerSec();\n if (run.expPerSec.gt(this.bestExpS)) {\n this.bestExpS = new Decimal(run.expPerSec);\n }\n }\n this.worldStartDate = new Date();\n this.runs = this.runs.slice(0, 10);\n }\n\n //#region Save and Load\n getSave(): any {\n return {\n w: this.completedWorld,\n e: this.totalExperience,\n d: this.worldStartDate,\n r: this.runs.map(r => r.getSave()),\n b: this.bestExpS\n };\n }\n restore(data: any) {\n if (\"w\" in data) this.completedWorld = new Decimal(data.w);\n if (\"e\" in data) this.totalExperience = new Decimal(data.e);\n if (\"d\" in data) this.worldStartDate = new Date(data.d);\n if (\"r\" in data) this.runs = data.r.map(r => Run.getRun(r));\n if (\"b\" in data) this.bestExpS = new Decimal(data.d);\n }\n //#endregion\n}\n","export const STRINGS = {\n units: {\n prest: [\"经验\", \"\"],\n time: [\"时间\", \"\"],\n // Materials\n f: [\"食物\", \"食物用于维持所有单位。\"],\n w: [\"土壤\", \"土壤用于构建更好的巢。\"],\n c: [\"水晶\", \"水晶是用来生产科学。\"],\n s: [\"科学\", \"科学是用来发现新事物的。\"],\n // Ants\n l: [\"幼虫\", \"幼虫\"],\n q: [\"女王\", \"女王\"],\n n: [\"巢穴\", \"巢穴\"],\n // Ghantering\n e: [\"雄蜂\", \"雄蜂收集食物。\"],\n h: [\"地质学家\", \"地质学家会寻找水晶。\"],\n i: [\n \"学生\",\n [\n \"学生将尝试研究科学。\",\n \"学生需要喝水晶。\"\n ]\n ],\n // Workers\n a: [\n \"农民\",\n [\n \"水培农民使用晶体在没有土壤的情况下种植真菌。\",\n \"蚂蚁是世界上最好的真菌种植户。\",\n \"公元前10000年开始耕种。\"\n ]\n ],\n b: [\"木匠\", \"木匠蚂蚁在土壤中筑巢。\"],\n m: [\n \"矿工\",\n [\n \"矿工通过采矿提取水晶。\",\n \"不出所料,又是一个关于矿工的放置游戏。\"\n ]\n ],\n d: [\n \"科学家\",\n [\n \"科学家收集的科学。\",\n \"科学家需要饮用水晶。\",\n \"科学家和学生一样,但他们更厉害。\"\n ]\n ],\n // Buildings\n aG: [\"水培农场\", \"一个水培农场。\"],\n bG: [\"土壤营地\", \"土壤营地是用来获得更多的土壤。\"],\n mG: [\"水晶矿\", \"一个水晶矿。\"],\n dG: [\"大学\", \"大学产生毕业的科学家。\"],\n // Engineers\n aGG: [\"水利工程\", \"水利工程师对农场有加成。\"],\n bGG: [\"土壤工程师\", \"土壤工程师生产土壤营地。\"],\n mGG: [\"矿山工程师\", \"矿山工程师生产矿山。\"],\n dGG: [\"教育部门\", \"教育部门生产大学。\"],\n // World Bonus\n 1: [\"食物生产加成\", \"\"],\n 2: [\"土壤生产加成\", \"\"],\n 3: [\"水晶生产加成\", \"\"],\n 4: [\"科学生产加成\", \"\"],\n 5: [\"杀敌加成\", \"\"],\n larvaBon: [\"幼虫生产加成\", \"\"],\n queenBon: [\"女王生产加成\", \"\"],\n // Malus\n Mf1: [\"有毒真菌\", \"有毒真菌\"],\n Mf2: [\"古老的真菌\", \"古老的真菌\"],\n Mf3: [\"僵尸真菌\", \"僵尸真菌\"],\n Mw1: [\"食虫植物\", \"\"],\n Mw2: [\"捕蝇纸陷阱\", \"\"],\n Mw3: [\"猪笼草\", \"\"],\n Mc1: [\"小螨虫\", \"\"],\n Mc2: [\"螨虫\", \"\"],\n Mc3: [\"寄生螨虫\", \"\"],\n Ms1: [\"僵尸真菌孢子\", \"\"],\n Ms2: [\"僵尸真菌\", \"\"],\n Ms3: [\"僵尸真菌菌落 \", \"\"],\n // Killers\n F: [\"消毒蚂蚁\", \"消灭有毒真菌.\"],\n W: [\"火蚂蚁\", [\"燃烧食肉植物\", \"火蚁确实存在.\"]],\n C: [\"黑色花园蚂蚁\", \"杀死螨虫.\"],\n S: [\"黄色疯狂蚂蚁\", \"杀死僵尸真菌.\"],\n HB: [\"常规\", \"+10% 杀敌.\"],\n HQ: [\"总部\", \"+10% 杀敌.\"],\n // Mastery Bonus\n scieMast: [\"科学专精\"],\n fooMast: [\"食物专精\"],\n wooMast: [\"土壤专精\"],\n cryMast: [\"水晶专精\"],\n harvMast: [\"收获专精\"],\n matMast: [\"材料专精\"],\n armyMast: [\"军队专精\"],\n // Supply\n fS: [\"食物供应\", \"永不停息的食物供应\"],\n wS: [\"土壤供应\", \"永不停息的土壤供应\"],\n cS: [\"水晶供应\", \"永不停息的水晶供应\"],\n // Bee\n Z: [\"觅食蜜蜂\", \"觅食蜜蜂\"],\n cb: [\"木匠蜜蜂\", \"木匠蜜蜂\"],\n sb: [\"学生蜜蜂\", \"学生蜜蜂\"],\n Q: [\"蜜蜂幼虫\", \"蜜蜂幼虫\"],\n P: [\"蜜蜂女王\", \"蜜蜂女王\"],\n N: [\"蜜蜂巢穴\", \"蜜蜂巢穴\"],\n A: [\"蜜蜂农民\", \"种植鲜花\"],\n B: [\"蜜蜂木匠\", \"木匠蜜蜂\"],\n E: [\"蜜蜂矿工\", \"矿工蜜蜂\"],\n D: [\"蜜蜂科学家\", \"科学家蜜蜂\"],\n AG: [\"鲜花农场\", \"种满鲜花的农场.\"],\n BG: [\"蜜蜂土壤营地\", \"蜜蜂土壤营地\"],\n EG: [\"蜜蜂矿山\", \"蜜蜂矿山\"],\n DG: [\"蜜蜂大学\", \"蜜蜂大学\"],\n AGG: [\"花匠工程师 \", \"花匠工程师生产鲜花农场.\"],\n BGG: [\"蜜蜂土壤工程师\", \"蜜蜂土壤工程师生产蜜蜂土壤营地.\"],\n EGG: [\"蜜蜂矿山工程师\", \"蜜蜂矿山工程师生产蜜蜂矿山.\"],\n DGG: [\"蜜蜂教育部门\", \"蜜蜂教育部门.\"],\n // Wasp\n x: [\"觅食黄蜂\", \"觅食黄蜂\"],\n hw: [\"大黄蜂\", [\"大黄蜂\", \"一只服用类固醇的黄蜂。\"]],\n sw: [\"聪明的黄蜂\", \"聪明黄蜂\"],\n y: [\"黄蜂幼虫\", \"黄蜂幼虫\"],\n z: [\"黄蜂女王\", \"黄蜂女王\"],\n r: [\"黄蜂巢穴\", \"黄蜂巢穴\"],\n v: [\"黄蜂农民\", \"一个农民黄蜂.\"],\n V: [\"黄蜂木匠\", \"一个木匠黄蜂.\"],\n o: [\"黄蜂矿工\", \"一个矿工黄蜂.\"],\n p: [\"黄蜂科学家\", \"一个科学家黄蜂.\"],\n vG: [\"黄蜂农场\", \"黄蜂农场.\"],\n VG: [\"黄蜂土壤营地\", \"黄蜂土壤营地.\"],\n oG: [\"黄蜂矿山\", \"黄蜂矿山.\"],\n pG: [\"黄蜂大学\", \"黄蜂大学\"],\n vGG: [\"黄蜂水利工程师\", \"黄蜂水利工程师生产黄蜂农场\"],\n VGG: [\"黄蜂土壤工程师\", \"黄蜂土壤工程师生产黄蜂土壤营地\"],\n oGG: [\"黄蜂矿山工程师\", \"黄蜂矿山工程师生产黄蜂矿山\"],\n pGG: [\n \"黄蜂教育部门\",\n \"黄蜂教育部门生产黄蜂大学。\"\n ],\n // Helpers\n lf: [\"切叶蚁\", \"改善农业。\"],\n hu: [\"猎人\", \"\"],\n mw: [\"主要工人\", \"\"],\n mh: [\"大矿工\", \"改善采矿。\"],\n sh: [\"大木匠\", \"改善土壤收集。\"]\n },\n researches: {\n t: [\"团队合作\", \"在手动购买的基础上获得生产加成。\"],\n T: [\"团队合作2\", \"提高团队合作的加成\"], // upgradable ?\n W: [\"双胞胎\", \"同样的价格购买更多的单位\"],\n r: [\"旅行\", \"前往一个新的世界!\"],\n M: [\"专精\", \"获得1个专精点数\"],\n h: [\"收获\", \"+100% 来自采集者的资源。\"],\n 1: [\"1小时 扭曲\", \"免费的时间扭曲.\"],\n 2: [\"2小时 扭曲\", \"免费的时间扭曲.\"],\n 3: [\"3小时 扭曲\", \"免费的时间扭曲.\"],\n SP: [\"产卵\", \"+50% 幼虫产量.\"],\n ont: [\n \"极端\",\n \"+10% 世界等级和经验;+20% 需求; 增加随机敌人,以及提高敌人;如果当前世界等级高于15并且高于50%最大等级, 在旅行时会给予你1个专精点\"\n ],\n // Workers\n wo: [\"更好的工人\", \"+30% 来自工人的资源产量.\"],\n we: [\"高效的工人\", \"+10% 资源获得。\"],\n w: [\"工人\", \"工人\"],\n a: [\n \"农民\",\n \"水培农民使用水晶在没有土壤的情况下种植真菌。\"\n ],\n b: [\"木匠\", \"木匠蚂蚁建造由画廊组成的巢.\"],\n m: [\"矿工\", \"矿工\"],\n d: [\"科学家\", \"科学家\"],\n scie1: [\"科学方法\", \"+50% 科学产量\"],\n // Buildings\n u: [\"建筑\", \"建筑生产工人.\"],\n aG: [\"水培农场\", \"水培真菌农场.\"],\n bG: [\"土壤营地\", \"肥沃的土壤源.\"],\n mG: [\"矿山\", \"一个水晶矿.\"],\n dG: [\"大学\", \"大学培养科学家.\"],\n // Engineers\n e: [\"工程师\", \"工程师建造建筑物.\"],\n aGG: [\"水利工程师\", \"水利工程师生产农场.\"],\n bGG: [\"土壤工程师\", \"土壤工程师生产土壤营地.\"],\n mGG: [\"矿山工程师\", \"矿山工程师生产矿山.\"],\n dGG: [\"教育部门\", \"教育部门生产大学\"],\n // Bee\n A: [\"蜜蜂农民\", \"种植鲜花.\"],\n B: [\"蜜蜂木匠\", \"木匠蜜蜂.\"],\n E: [\"蜜蜂矿工\", \"矿工蜜蜂.\"],\n D: [\"蜜蜂科学家\", \"科学家蜜蜂.\"],\n AG: [\"鲜花农场\", \"种满鲜花的农场.\"],\n BG: [\"蜜蜂土壤营地\", \"蜜蜂土壤营地\"],\n EG: [\"蜜蜂矿山\", \"蜜蜂矿山\"],\n DG: [\"蜜蜂大学\", \"蜜蜂大学\"],\n AGG: [\"花匠工程师 \", \"花匠工程师生产鲜花农场\"],\n BGG: [\"蜜蜂土壤工程师\", \"蜜蜂土壤工程师生产蜜蜂土壤营地.\"],\n EGG: [\"蜜蜂矿山工程师\", \"蜜蜂矿山工程师生产蜜蜂矿山.\"],\n DGG: [\"蜜蜂教育部门\", \"蜜蜂教育部门.\"],\n // Wasp\n v: [\"黄蜂农民\", \"一个农民黄蜂.\"],\n V: [\"黄蜂木匠\", \"一个木匠黄蜂.\"],\n o: [\"黄蜂矿工\", \"一个矿工黄蜂.\"],\n p: [\"黄蜂科学家\", \"一个科学家黄蜂.\"],\n vG: [\"黄蜂农场\", \"黄蜂农场.\"],\n VG: [\"黄蜂土壤营地\", \"黄蜂土壤营地.\"],\n oG: [\"黄蜂矿山\", \"黄蜂矿山.\"],\n pG: [\"黄蜂大学\", \"黄蜂大学\"],\n vGG: [\"黄蜂水利工程师\", \"黄蜂水利工程师生产黄蜂农场.\"],\n VGG: [\"黄蜂土壤工程师\", \"黄蜂土壤工程师生产黄蜂土壤营地.\"],\n oGG: [\"黄蜂矿山工程师\", \"黄蜂矿山工程师生产黄蜂矿山.\"],\n pGG: [\n \"黄蜂教育部门\",\n \"黄蜂教育部门生产黄蜂大学.\"\n ],\n // Super Major\n sm: [\"主宰助手\", \"\"],\n lf: [\"切叶蚁\", \"改善农业。\"],\n mh: [\"大矿工\", \"改善采矿。\"],\n sh: [\"大木匠\", \"改善土壤收集。\"],\n // Kill World\n aow: [\"战争的艺术\", \"杀敌提高10%\"]\n },\n worlds: {\n \"1Pre\": \"炽热的\",\n \"2Pre\": \"树木繁茂的\",\n \"3Pre\": \"结晶的\",\n \"4Pre\": \"科学的\",\n \"1Suf\": \"食物的\",\n \"2Suf\": \"土壤的\",\n \"3Suf\": \"水晶的\",\n \"4Suf\": \"科学的\",\n fBio: \"农田\",\n wBio: \"森林\",\n cBio: \"矿山\",\n sBio: \"大学\",\n fSPre: \"食品供应\",\n wSPre: \"土壤供应\",\n cSPre: \"水晶供应\",\n fSSuff: \"食物\",\n wSSuff: \"土壤\",\n cSSuff: \"水晶\",\n // Bee\n beePre: \"蜜蜂的\",\n beeBio: \"蜂巢\",\n beeSuff: \"蜜蜂的\",\n // Wasp\n waspPre: \"黄蜂\",\n waspBio: \"巢穴\",\n waspSuff: \"黄蜂的\",\n // Super Major\n majorPre: \"主宰\",\n majorSuff: \"主宰的\",\n // Malus Bonus\n mkPre: \"充满敌意的\",\n mkBio: \"战场\",\n mkSuff: \"战争的\",\n // Larva\n larvaPre: \"蜂群\",\n larvaSuff: \"幼虫\",\n // Queen\n queenPre: \"高贵的\",\n queenSuff: \"女王\"\n },\n prestige: {\n // Followers 1\n e: [\"雄蜂追随者\", \"开始新的世界初始有更多5个雄蜂\"],\n h: [\"地质学家追随者\", \"开始新的世界初始有更多5个地质学家\"],\n i: [\"学生追随者\", \"开始新的世界初始有更多5个学生\"],\n // Followers 2\n a: [\"农民追随者\", \"开始新的世界初始有更多5个农民\"],\n b: [\"木匠追随者\", \"开始新的世界初始有更多5个木匠\"],\n m: [\"矿工追随者\", \"开始新的世界初始有更多5个矿工\"],\n d: [\"科学家追随者\", \"开始新的世界初始有更多5个科学家\"],\n // Time\n P: [\"时间生产者\", \"+0.1 时间/秒\"],\n B: [\"时间银行\", \"+1 最大小时\"],\n // AutoBuy\n H: [\"孵化自动购买者\", \"针对所有单位解锁孵化自动购买者\"],\n t: [\"团队自动购买者\", \"针对所有单位解锁团队自动购买者\"],\n T: [\"双胞胎自动购买者\", \"针对所有单位解锁双胞胎自动购买者\"],\n M: [\"时间扭曲自动购买者\", \"解锁一分钟时间扭曲自动购买者\"],\n R: [\"研究自动购买者\", \"解锁研究自动购买者\"],\n // Technology\n F: [\"农业\", \"+10% 食物产量\"],\n C: [\"木匠\", \"+10% 土壤产量\"],\n n: [\"采矿\", \"+10% 水晶产量\"],\n s: [\"学习\", \"+10% 科学产量\"],\n // Team\n E: [\"团队合作\", \"+30% 团队合作加成\"],\n // Worlds\n w: [\"更好的世界\", \"+10% 世界加成\"],\n r: [\"更好的军队\", \"+10% 军队杀人物资\"],\n L: [\"最高等级\", \"+10% 最高世界等级\"],\n // Swarm\n sl: [\"幼虫加成\", \"+10% 幼虫产量\"],\n sq: [\"女王加成\", \"+10% 女王产量\"]\n },\n actions: {\n warp60: [\"扭曲分钟\", \"时间扭曲以分钟计算\"],\n warp3600: [\"扭曲小时\", \"时间扭曲以小时计算\"]\n },\n bug: {\n 0: \"蚂蚁\",\n 1: \"蜜蜂\",\n 2: \"黄蜂\",\n 3: \"主宰\"\n }\n};\n","import { IUnlocable } from \"./iunlocable\";\n\nexport class Tab implements IUnlocable {\n unlocked = false;\n constructor(public id: string) {\n //\n }\n unlock() {\n if (this.unlocked) return false;\n this.unlocked = true;\n }\n getSave(): any {\n const data: any = {\n i: this.id\n };\n if (this.unlocked) data.u = this.unlocked;\n return data;\n }\n restore(data: any): boolean {\n if (!(\"i\" in data && data.i === this.id)) return false;\n this.unlocked = !!data.u;\n }\n}\n","import { Tab } from \"./tab\";\n\nexport class Tabs {\n lab: Tab;\n travel: Tab;\n prestige: Tab;\n autoBuy: Tab;\n mastery: Tab;\n\n tabList: Tab[];\n constructor() {\n this.lab = new Tab(\"lab\");\n this.travel = new Tab(\"travel\");\n this.prestige = new Tab(\"prestige\");\n this.autoBuy = new Tab(\"autoBuy\");\n this.mastery = new Tab(\"mastery\");\n\n this.tabList = [\n this.lab,\n this.travel,\n this.prestige,\n this.autoBuy,\n this.mastery\n ];\n }\n getSave(): any {\n return {\n t: this.tabList.map(t => t.getSave())\n };\n }\n restore(data: any): boolean {\n if (\"t\" in data) {\n for (const s of data.t) this.tabList.find(u => u.id === s.i).restore(s);\n return true;\n } else {\n return false;\n }\n }\n}\n","import { FullUnit } from \"./full-unit\";\nimport { Game } from \"./game\";\nimport { Price } from \"./price\";\nimport { Research } from \"./research\";\n\nexport class UnitGroup {\n static maxId = 0;\n level = 0;\n\n list: FullUnit[] = new Array();\n unlocked: FullUnit[] = new Array();\n\n isEnding = false;\n upTeam = false;\n upTwin = false;\n isExpanded = true;\n\n firstResearch: Research;\n researchList = new Array();\n\n id: number;\n\n //#region ui\n selected = new Array();\n // Pie\n chartLabels: string[] = [];\n chartData: number[] = [];\n icon = \"\";\n //#endregion\n\n additionalBuyPreces: Price[] = [];\n\n constructor(public name: string, public game: Game) {\n this.id = UnitGroup.maxId;\n UnitGroup.maxId++;\n }\n\n check(noGame = false) {\n this.unlocked = this.list.filter(u => u.unlocked);\n if (!noGame) this.game.buildLists();\n }\n\n addUnits(units: FullUnit[]) {\n units.forEach(u => (u.unitGroup = this));\n this.list = units;\n }\n\n declareStuff() {\n //\n }\n setRelations() {\n //\n }\n addWorlds() {\n //\n }\n\n generateProducer(products: UnitGroup) {\n const list = products.list.map(u => {\n const ret = new FullUnit(u.id + \"G\");\n ret.bugType = u.bugType;\n return ret;\n });\n this.addUnits(list);\n this.list.forEach(u => {\n const res = new Research(u.id, this.game.researches);\n res.toUnlock = [u];\n res.bugType = u.bugType;\n this.researchList.push(res);\n });\n }\n setBugType() {\n this.list.forEach(u => u.setBugType(u.bugType));\n }\n\n setFlags(team = false, twin = false) {\n this.isEnding = this.unlocked.findIndex(u => u.isEnding) > -1;\n\n if (team) {\n const teamList = this.unlocked.filter(u => u.teamAction);\n this.upTeam =\n teamList.length > 0 &&\n teamList\n .map(u =>\n u.teamAction.prices[0].getPriceForOne(u.teamAction.quantity)\n )\n .reduce((p, n) => p.plus(n), new Decimal(0))\n .lte(this.game.materials.science.quantity);\n } else {\n this.upTeam = false;\n }\n\n if (twin) {\n const twinList = this.unlocked.filter(u => u.twinAction);\n this.upTwin =\n twinList.length > 0 &&\n twinList\n .map(u =>\n u.twinAction.prices[0].getPriceForOne(u.twinAction.quantity)\n )\n .reduce((p, n) => p.plus(n), new Decimal(0))\n .lte(this.game.materials.science.quantity);\n } else {\n this.upTwin = false;\n }\n }\n\n updateChart() {\n const qtList = this.selected.map(u => u.quantity);\n const sum = qtList\n .reduce((p: Decimal, c: Decimal) => p.plus(c), new Decimal(0))\n .max(1);\n const newChartData = qtList.map(u =>\n Math.round(u.div(sum).toNumber() * 100)\n );\n let toChange = false;\n\n if (this.chartData.length === newChartData.length) {\n for (let i = 0; i < this.selected.length; i++) {\n toChange = toChange || newChartData[i] !== this.chartData[i];\n }\n } else toChange = true;\n\n if (toChange) this.chartData = newChartData;\n }\n updateChartLabel() {\n this.chartLabels = this.selected.map(u => u.name + \" %\");\n this.updateChart();\n }\n\n getReqNum(num: number): Decimal {\n if (isNaN(num)) return new Decimal(0);\n if (num < 1) return new Decimal(0);\n return new Decimal(num);\n }\n buyN(num: number) {\n const n = this.getReqNum(num);\n if (n.gt(0)) {\n this.unlocked\n .filter(u => u.unlocked && u.buyAction)\n .sort((a, b) => a.quantity.cmp(b.quantity))\n .forEach(un => un.buyAction.buy(n));\n }\n }\n buyTeam(num: number) {\n const n = this.getReqNum(num);\n if (n.gt(0)) {\n this.unlocked\n .filter(u => u.unlocked && u.teamAction)\n .sort((a, b) => a.teamAction.quantity.cmp(b.teamAction.quantity))\n .forEach(un => un.teamAction.buy(new Decimal(n)));\n }\n }\n buyTwins(num: number) {\n const n = this.getReqNum(num);\n if (n.gt(0)) {\n this.unlocked\n .filter(u => u.unlocked && u.twinAction)\n .sort((a, b) => a.twinAction.quantity.cmp(b.twinAction.quantity))\n .forEach(un => un.twinAction.buy(new Decimal(n)));\n }\n }\n allCustom(eff: number) {\n this.unlocked.forEach(u => {\n u.efficiency = eff;\n });\n }\n autoBuy(set: boolean) {\n this.autoBuyBuy(set);\n this.autoBuyTeam(set);\n this.autoBuyTwin(set);\n }\n autoBuyBuy(set: boolean) {\n this.unlocked\n .filter(u => u.buyAction.autoBuyer)\n .forEach(u => (u.buyAction.autoBuyer.active = set));\n }\n autoBuyTeam(set: boolean) {\n this.unlocked\n .filter(u => u.teamAction.autoBuyer)\n .forEach(u => (u.teamAction.autoBuyer.active = set));\n }\n autoBuyTwin(set: boolean) {\n this.unlocked\n .filter(u => u.twinAction.autoBuyer)\n .forEach(u => (u.twinAction.autoBuyer.active = set));\n }\n hasAutoBuy(): boolean {\n return (\n this.hasAutoBuyBuy() || this.hasAutoBuyTeam() || this.hasAutoBuyTwin()\n );\n }\n hasAutoBuyBuy(): boolean {\n return !!this.unlocked\n .filter(u => u.hasAutoBuyer && u.buyAction)\n .map(u => u.buyAction.autoBuyer)\n .find(a => a.quantity.gt(0));\n }\n hasAutoBuyTeam(): boolean {\n return !!this.unlocked\n .filter(u => u.hasAutoBuyer && u.teamAction)\n .map(u => u.teamAction.autoBuyer)\n .find(a => a.quantity.gt(0));\n }\n hasAutoBuyTwin(): boolean {\n return !!this.unlocked\n .filter(u => u.hasAutoBuyer && u.twinAction)\n .map(u => u.twinAction.autoBuyer)\n .find(a => a.quantity.gt(0));\n }\n}\n","import { BaseUnit } from \"../baseUnit\";\nimport { Tags } from \"../bugsTypes\";\nimport { CONSTS } from \"../CONSTANTS\";\nimport { FullUnit } from \"../full-unit\";\nimport { Game } from \"../game\";\nimport { Price } from \"../price\";\nimport { ProductionBonus } from \"../production-bonus\";\nimport { UnitGroup } from \"../unit-group\";\nimport { World } from \"../world\";\n\nexport class Ants extends UnitGroup {\n larva: FullUnit;\n queen: FullUnit;\n nest: FullUnit;\n\n constructor(game: Game) {\n super(\"蚂蚁\", game);\n this.icon = \"ant\";\n }\n\n declareStuff(): void {\n this.larva = new FullUnit(\"l\");\n this.queen = new FullUnit(\"q\");\n this.nest = new FullUnit(\"n\");\n this.addUnits([this.nest, this.queen, this.larva]);\n this.larva.unlocked = true;\n this.queen.unlocked = true;\n this.larva.tags.push(Tags.LARVA);\n this.queen.tags.push(Tags.QUEEN);\n this.nest.tags.push(Tags.NEST);\n }\n setRelations(): void {\n this.larva.generateBuyAction(\n [\n new Price(\n this.game.materials.food,\n CONSTS.PRICE_0,\n CONSTS.SWARM_PRICE_GROWRATE\n )\n ],\n [this.queen]\n );\n this.queen.generateBuyAction(\n [\n new Price(\n this.larva,\n CONSTS.PRICE_LARVAE_1.div(2),\n CONSTS.SWARM_PRICE_GROWRATE\n ),\n new Price(this.game.materials.food, CONSTS.PRICE_QUEEN)\n ],\n [this.nest]\n );\n this.nest.generateBuyAction([\n new Price(this.queen, CONSTS.PRICE_LARVAE_2, CONSTS.SWARM_PRICE_GROWRATE),\n new Price(this.game.materials.food, CONSTS.PRICE_NEST),\n new Price(this.game.materials.soil, CONSTS.PRICE_NEST)\n ]);\n\n this.larva.addProducer(this.queen, CONSTS.PROD_LARVAE);\n this.queen.addProducer(this.nest, CONSTS.PROD_LARVAE);\n\n this.game.addTeamAction(this.queen, CONSTS.TEAM_PRICE_2);\n this.game.addTeamAction(this.nest, CONSTS.TEAM_PRICE_3);\n\n this.game.addTwinAction(this.queen, CONSTS.TWIN_PRICE_2);\n this.game.addTwinAction(this.nest, CONSTS.TWIN_PRICE_3);\n }\n addWorlds() {\n const larvaPre = new World(\"larvaPre\");\n const larvaSuff = new World(\"larvaSuff\");\n const larvaProdBonusUnit = new BaseUnit(\"larvaBon\");\n this.game.worldBonus.bonusList.push(larvaProdBonusUnit);\n const larvaBonus = new ProductionBonus(\n larvaProdBonusUnit,\n new Decimal(0.1)\n );\n this.game.units\n .filter(u => u.tags.includes(Tags.LARVA))\n .forEach(u => u.productionsBonus.push(larvaBonus));\n\n [larvaPre, larvaSuff].forEach(l => {\n l.productionsBonus.push([larvaProdBonusUnit, new Decimal(1)]);\n });\n World.prefix.push(larvaPre);\n World.suffix.push(larvaSuff);\n\n const queenPre = new World(\"queenPre\");\n const queenSuff = new World(\"queenSuff\");\n const queenProdBonusUnit = new BaseUnit(\"queenBon\");\n this.game.worldBonus.bonusList.push(queenProdBonusUnit);\n const queenBonus = new ProductionBonus(\n queenProdBonusUnit,\n new Decimal(0.1)\n );\n this.game.units\n .filter(u => u.tags.includes(Tags.QUEEN))\n .forEach(u => u.productionsBonus.push(queenBonus));\n\n [queenPre, queenSuff].forEach(l => {\n l.productionsBonus.push([queenProdBonusUnit, new Decimal(1)]);\n });\n World.prefix.push(queenPre);\n World.suffix.push(queenSuff);\n }\n}\n","import { BugTypes, Tags } from \"../bugsTypes\";\nimport { CONSTS } from \"../CONSTANTS\";\nimport { FullUnit } from \"../full-unit\";\nimport { Game } from \"../game\";\nimport { Price } from \"../price\";\nimport { UnitGroup } from \"../unit-group\";\nimport { World } from \"../world\";\n\nexport class Bees extends UnitGroup {\n larva: FullUnit;\n queen: FullUnit;\n nest: FullUnit;\n\n constructor(game: Game) {\n super(\"蜜蜂\", game);\n }\n\n declareStuff(): void {\n this.larva = new FullUnit(\"Q\");\n this.queen = new FullUnit(\"P\");\n this.nest = new FullUnit(\"N\");\n this.addUnits([this.nest, this.queen, this.larva]);\n this.larva.tags.push(Tags.LARVA);\n this.queen.tags.push(Tags.QUEEN);\n this.nest.tags.push(Tags.NEST);\n }\n setRelations(): void {\n this.larva.generateBuyAction(\n [\n new Price(\n this.game.materials.food,\n CONSTS.PRICE_0,\n CONSTS.SWARM_PRICE_GROWRATE\n )\n ],\n [this.queen]\n );\n this.queen.generateBuyAction(\n [\n new Price(\n this.larva,\n CONSTS.PRICE_LARVAE_1,\n CONSTS.SWARM_PRICE_GROWRATE\n ),\n new Price(this.game.materials.food, CONSTS.PRICE_QUEEN)\n ],\n [this.nest]\n );\n this.nest.generateBuyAction([\n new Price(this.queen, CONSTS.PRICE_LARVAE_2, CONSTS.SWARM_PRICE_GROWRATE),\n new Price(this.game.materials.food, CONSTS.PRICE_NEST),\n new Price(this.game.materials.soil, CONSTS.PRICE_NEST)\n ]);\n\n this.larva.addProducer(this.queen, CONSTS.PROD_LARVAE);\n this.queen.addProducer(this.nest, CONSTS.PROD_LARVAE);\n\n this.game.addTeamAction(this.queen, CONSTS.TEAM_PRICE_2);\n this.game.addTeamAction(this.nest, CONSTS.TEAM_PRICE_3);\n\n this.game.addTwinAction(this.queen, CONSTS.TWIN_PRICE_2);\n this.game.addTwinAction(this.nest, CONSTS.TWIN_PRICE_3);\n\n this.list.forEach(u => u.setBugType(BugTypes.BEE));\n }\n addWorlds() {\n const beePre = new World(\"beePre\");\n const beeBio = new World(\"beeBio\");\n const beeSuff = new World(\"beeSuff\");\n [beeBio, beePre, beeSuff].forEach(w => {\n w.additionalBugs.push(BugTypes.BEE);\n w.winConditions.push(\n new Price(this.nest, CONSTS.BASE_WIN_CONDITION_OTHER.times(0.8))\n );\n });\n World.prefix.push(beePre);\n World.suffix.push(beeSuff);\n World.biome.push(beeBio);\n }\n}\n","import { CONSTS } from \"../CONSTANTS\";\nimport { Game } from \"../game\";\nimport { Price } from \"../price\";\nimport { Research } from \"../research\";\nimport { UnitGroup } from \"../unit-group\";\n\nexport class Buildings extends UnitGroup {\n constructor(game: Game) {\n super(\"建筑\", game);\n }\n\n declareStuff(): void {\n this.generateProducer(this.game.advWorkers);\n this.firstResearch = new Research(\"u\", this.game.researches);\n }\n setRelations(): void {\n this.game.advWorkers.firstResearch.toUnlock.push(this.firstResearch);\n this.firstResearch.prices = this.game.genSciencePrice(\n CONSTS.RES_PRICE_2.div(50)\n );\n\n const len = this.list.length;\n for (let i = 0; i < len; i++) {\n const product = this.game.advWorkers.list[i];\n const producer = this.list[i];\n const research = this.researchList[i];\n\n research.prices = this.game.genSciencePrice(CONSTS.RES_PRICE_2);\n\n this.firstResearch.toUnlock.push(research);\n\n producer.generateBuyAction([\n new Price(product, CONSTS.PRICE_0),\n new Price(\n product.buyAction.prices[product.buyAction.prices.length - 1].base,\n CONSTS.PRICE_2\n )\n ]);\n\n let soilPrice = producer.buyAction.prices.find(\n p => p.base === this.game.materials.soil\n );\n if (!soilPrice) {\n soilPrice = new Price(this.game.materials.soil, 0);\n producer.buyAction.prices.push(soilPrice);\n }\n soilPrice.price = soilPrice.price.plus(CONSTS.PRICE_2);\n\n product.addProducer(producer);\n product.buyAction.prices.forEach(p =>\n p.base.addProducer(producer, p.price.times(-1))\n );\n\n this.game.addTeamAction(producer, CONSTS.TEAM_PRICE_2);\n this.game.addTwinAction(producer, CONSTS.TWIN_PRICE_2);\n }\n\n this.setBugType();\n }\n}\n","import { CONSTS } from \"../CONSTANTS\";\nimport { Game } from \"../game\";\nimport { Price } from \"../price\";\nimport { Research } from \"../research\";\nimport { UnitGroup } from \"../unit-group\";\n\nexport class Engineers extends UnitGroup {\n constructor(game: Game) {\n super(\"工程师\", game);\n }\n\n declareStuff(): void {\n this.generateProducer(this.game.buildings);\n this.firstResearch = new Research(\"e\", this.game.researches);\n }\n setRelations(): void {\n this.game.buildings.firstResearch.toUnlock.push(this.firstResearch);\n this.firstResearch.prices = this.game.genSciencePrice(\n CONSTS.RES_PRICE_3.div(50)\n );\n\n const len = this.list.length;\n for (let i = 0; i < len; i++) {\n const product = this.game.buildings.list[i];\n const producer = this.list[i];\n const research = this.researchList[i];\n\n research.prices = this.game.genSciencePrice(CONSTS.RES_PRICE_3);\n\n this.firstResearch.toUnlock.push(research);\n\n producer.generateBuyAction([\n new Price(product, CONSTS.PRICE_ENG),\n new Price(\n product.buyAction.prices[product.buyAction.prices.length - 1].base,\n CONSTS.PRICE_3\n )\n ]);\n\n let cryPrice = producer.buyAction.prices.find(\n p => p.base === this.game.materials.crystal\n );\n if (!cryPrice) {\n cryPrice = new Price(this.game.materials.crystal, 0);\n producer.buyAction.prices.push(cryPrice);\n }\n cryPrice.price = cryPrice.price.plus(CONSTS.PRICE_3);\n\n product.addProducer(producer);\n product.buyAction.prices.forEach(p =>\n p.base.addProducer(producer, p.price.times(-1))\n );\n\n this.game.addTeamAction(producer, CONSTS.TEAM_PRICE_3);\n this.game.addTwinAction(producer, CONSTS.TWIN_PRICE_3);\n }\n\n this.setBugType();\n }\n}\n","import { BugTypes } from \"../bugsTypes\";\nimport { CONSTS } from \"../CONSTANTS\";\nimport { FullUnit } from \"../full-unit\";\nimport { Game } from \"../game\";\nimport { Price } from \"../price\";\nimport { UnitGroup } from \"../unit-group\";\n\nexport class Gatherers extends UnitGroup {\n drone: FullUnit;\n geologist: FullUnit;\n student: FullUnit;\n\n // Bee\n foraggingBee: FullUnit;\n carpenterBee: FullUnit;\n studentBee: FullUnit;\n\n // Wasp\n foraggingWasp: FullUnit;\n hornetWasp: FullUnit;\n smartWasp: FullUnit;\n\n // Super Major\n hunter: FullUnit;\n majorWorker: FullUnit;\n\n constructor(game: Game) {\n super(\"采集者\", game);\n }\n declareStuff(): void {\n this.drone = new FullUnit(\"e\");\n this.geologist = new FullUnit(\"h\");\n this.student = new FullUnit(\"i\");\n\n this.foraggingBee = new FullUnit(\"Z\");\n this.carpenterBee = new FullUnit(\"cb\");\n this.studentBee = new FullUnit(\"sb\");\n\n this.foraggingWasp = new FullUnit(\"x\");\n this.hornetWasp = new FullUnit(\"hw\");\n this.smartWasp = new FullUnit(\"sw\");\n\n this.hunter = new FullUnit(\"hu\");\n this.majorWorker = new FullUnit(\"mw\");\n\n this.addUnits([\n this.drone,\n this.geologist,\n this.student,\n this.foraggingBee,\n this.carpenterBee,\n this.studentBee,\n this.foraggingWasp,\n this.hornetWasp,\n this.smartWasp,\n this.hunter,\n this.majorWorker\n ]);\n }\n setRelations(): void {\n this.list.forEach(u => {\n if (u instanceof FullUnit) {\n this.game.addTeamAction(u, CONSTS.TEAM_PRICE_0);\n this.game.addTwinAction(u, CONSTS.TWIN_PRICE_0);\n }\n });\n\n this.setAntsRelations();\n this.setBeeRelations();\n this.setMajorRelations();\n this.setWaspRelations();\n\n this.majorWorker.setBugType(BugTypes.SUPER_MAJOR);\n }\n\n private setAntsRelations(): void {\n this.drone.generateBuyAction(\n [\n new Price(this.game.ants.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_0)\n ],\n [this.geologist]\n );\n this.drone.unlocked = true;\n this.geologist.generateBuyAction(\n [\n new Price(this.game.ants.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_0)\n ],\n [this.student]\n );\n this.game.materials.food.addProducer(this.drone, CONSTS.PROD_GAN);\n this.game.materials.crystal.addProducer(this.geologist, CONSTS.PROD_GAN);\n this.game.materials.food.addProducer(this.geologist, CONSTS.CONSUME_GAN);\n\n this.student.generateBuyAction(\n [\n new Price(this.game.ants.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_0)\n ],\n [this.game.tabs.lab, this.game.researches.team1]\n );\n this.game.materials.science.addProducer(this.student, CONSTS.PROD_GAN);\n this.game.materials.crystal.addProducer(this.student, CONSTS.CONSUME_GAN);\n }\n private setBeeRelations(): void {\n this.foraggingBee.generateBuyAction(\n [\n new Price(this.game.bees.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_0)\n ],\n [this.carpenterBee]\n );\n this.game.materials.food.addProducer(this.foraggingBee);\n this.foraggingBee.setBugType(BugTypes.BEE);\n\n this.carpenterBee.generateBuyAction(\n [\n new Price(this.game.bees.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_0)\n ],\n [this.studentBee]\n );\n this.game.materials.food.addProducer(this.carpenterBee, CONSTS.CONSUME_GAN);\n this.game.materials.soil.addProducer(\n this.carpenterBee,\n CONSTS.PROD_GAN.times(0.4)\n );\n this.game.materials.crystal.addProducer(\n this.carpenterBee,\n CONSTS.PROD_GAN.times(0.6)\n );\n this.carpenterBee.setBugType(BugTypes.BEE);\n\n this.studentBee.generateBuyAction(\n [\n new Price(this.game.bees.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_0)\n ],\n [this.game.tabs.lab, this.game.researches.team1]\n );\n this.game.materials.science.addProducer(this.studentBee, CONSTS.PROD_GAN);\n this.game.materials.crystal.addProducer(\n this.studentBee,\n CONSTS.CONSUME_GAN\n );\n this.studentBee.setBugType(BugTypes.BEE);\n }\n private setWaspRelations(): void {\n this.foraggingWasp.generateBuyAction(\n [\n new Price(this.game.wasps.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_0)\n ],\n [this.hornetWasp]\n );\n this.game.materials.food.addProducer(this.foraggingWasp, CONSTS.PROD_GAN);\n this.foraggingWasp.setBugType(BugTypes.WASP);\n\n this.hornetWasp.generateBuyAction(\n [\n new Price(this.game.wasps.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_0)\n ],\n [this.smartWasp]\n );\n this.game.materials.crystal.addProducer(this.hornetWasp, CONSTS.PROD_GAN);\n this.game.materials.food.addProducer(this.hornetWasp, CONSTS.CONSUME_GAN);\n this.hornetWasp.setBugType(BugTypes.WASP);\n\n this.smartWasp.generateBuyAction([\n new Price(this.game.wasps.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_0)\n ]);\n this.game.materials.science.addProducer(this.smartWasp, CONSTS.PROD_GAN);\n this.game.materials.crystal.addProducer(this.smartWasp, CONSTS.CONSUME_GAN);\n this.smartWasp.setBugType(BugTypes.WASP);\n }\n private setMajorRelations(): void {\n this.hunter.generateBuyAction(\n [\n new Price(this.game.ants.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_0)\n ],\n [this.majorWorker]\n );\n this.game.materials.food.addProducer(this.hunter, CONSTS.PROD_GAN);\n this.hunter.setBugType(BugTypes.SUPER_MAJOR);\n\n this.majorWorker.generateBuyAction([\n new Price(this.game.ants.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_0)\n ]);\n this.majorWorker.setBugType(BugTypes.SUPER_MAJOR);\n this.game.materials.soil.addProducer(\n this.majorWorker,\n CONSTS.PROD_GAN.times(0.7)\n );\n this.game.materials.crystal.addProducer(\n this.majorWorker,\n CONSTS.PROD_GAN.times(0.3)\n );\n this.game.materials.food.addProducer(this.majorWorker, CONSTS.CONSUME_GAN);\n }\n}\n","import { BugTypes, Tags } from \"../bugsTypes\";\nimport { CONSTS } from \"../CONSTANTS\";\nimport { Game } from \"../game\";\nimport { Helper } from \"../helper\";\nimport { Price } from \"../price\";\nimport { Research } from \"../research\";\nimport { UnitGroup } from \"../unit-group\";\nimport { World } from \"../world\";\n\nexport class Helpers extends UnitGroup {\n leafCutter: Helper;\n minerHelper: Helper;\n soilHelper: Helper;\n\n majorHelperRes: Research;\n\n general: Helper;\n headquarter: Helper;\n\n constructor(game: Game) {\n super(\"助手\", game);\n }\n declareStuff(): void {\n this.leafCutter = new Helper(\"lf\", 0.1, this.game);\n this.minerHelper = new Helper(\"mh\", 0.1, this.game);\n this.soilHelper = new Helper(\"sh\", 0.1, this.game);\n this.general = new Helper(\"HB\", 0.1, this.game);\n this.headquarter = new Helper(\"HQ\", 0.1, this.game);\n\n this.addUnits([\n this.leafCutter,\n this.minerHelper,\n this.soilHelper,\n this.general,\n this.headquarter\n ]);\n this.majorHelperRes = new Research(\"sm\", this.game.researches);\n }\n setRelations(): void {\n //#region Leaf Cutter\n this.leafCutter.generateBuyAction([\n new Price(this.game.ants.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1),\n new Price(this.game.materials.soil, CONSTS.PRICE_1)\n ]);\n this.game.addTwinAction(this.leafCutter, CONSTS.TWIN_PRICE_1);\n this.game.materials.food.addProducer(this.leafCutter, CONSTS.CONSUME_1);\n this.game.materials.soil.addProducer(this.leafCutter, CONSTS.CONSUME_1);\n this.game.units\n .filter(u => u.tags.includes(Tags.FARMER))\n .forEach(u => u.productionsEfficiency.push(this.leafCutter.helpBonus));\n this.leafCutter.setBugType(BugTypes.SUPER_MAJOR);\n //#endregion\n //#region Miner Helper\n this.minerHelper.generateBuyAction([\n new Price(this.game.ants.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1),\n new Price(this.game.materials.soil, CONSTS.PRICE_1)\n ]);\n this.game.addTwinAction(this.minerHelper, CONSTS.TWIN_PRICE_1);\n this.game.materials.food.addProducer(this.minerHelper, CONSTS.CONSUME_1);\n this.game.materials.soil.addProducer(this.minerHelper, CONSTS.CONSUME_1);\n this.game.units\n .filter(u => u.tags.includes(Tags.MINER))\n .forEach(u => u.productionsEfficiency.push(this.minerHelper.helpBonus));\n this.minerHelper.setBugType(BugTypes.SUPER_MAJOR);\n //#endregion\n //#region Soil Helper\n this.soilHelper.generateBuyAction([\n new Price(this.game.ants.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1),\n new Price(this.game.materials.soil, CONSTS.PRICE_1)\n ]);\n this.game.addTwinAction(this.soilHelper, CONSTS.TWIN_PRICE_1);\n this.game.materials.food.addProducer(this.soilHelper, CONSTS.CONSUME_1);\n this.game.materials.soil.addProducer(this.soilHelper, CONSTS.CONSUME_1);\n this.game.units\n .filter(u => u.tags.includes(Tags.SOIL_G))\n .forEach(u => u.productionsEfficiency.push(this.soilHelper.helpBonus));\n this.soilHelper.setBugType(BugTypes.SUPER_MAJOR);\n //#endregion\n\n this.game.buildings.firstResearch.toUnlock.push(this.majorHelperRes);\n this.majorHelperRes.prices = this.game.genSciencePrice(\n CONSTS.RES_PRICE_2.times(5)\n );\n this.majorHelperRes.bugType = BugTypes.SUPER_MAJOR;\n [this.leafCutter, this.minerHelper, this.soilHelper].forEach(u => {\n const res = new Research(u.id, this.game.researches);\n res.toUnlock.push(u);\n res.prices = this.game.genSciencePrice(CONSTS.RES_PRICE_2.times(10));\n this.majorHelperRes.toUnlock.push(res);\n });\n\n this.general.generateBuyAction([\n new Price(this.game.ants.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_2)\n ]);\n this.headquarter.generateBuyAction([\n new Price(this.game.materials.soil, CONSTS.PRICE_2)\n ]);\n this.game.killers.list.forEach(k =>\n k.productionsAll.push(this.general.helpBonus, this.headquarter.helpBonus)\n );\n }\n addWorlds() {\n const majorPre = new World(\"majorPre\");\n const majorSuff = new World(\"majorSuff\");\n [majorPre, majorSuff].forEach(w => {\n w.additionalBugs.push(BugTypes.SUPER_MAJOR);\n });\n World.prefix.push(majorPre);\n World.suffix.push(majorSuff);\n }\n}\n","import { BaseUnit } from \"../baseUnit\";\nimport { CONSTS } from \"../CONSTANTS\";\nimport { FullUnit } from \"../full-unit\";\nimport { Game } from \"../game\";\nimport { Price } from \"../price\";\nimport { ProductionBonus } from \"../production-bonus\";\nimport { Research } from \"../research\";\nimport { UnitGroup } from \"../unit-group\";\nimport { World } from \"../world\";\n\nexport class MalusKiller extends UnitGroup {\n foodMalusKiller: FullUnit;\n soilMalusKiller: FullUnit;\n crystalMalusKiller: FullUnit;\n scienceMalusKiller: FullUnit;\n\n bonusRes: Research;\n\n private readonly price = new Decimal(500);\n\n constructor(game: Game) {\n super(\"军队\", game);\n }\n declareStuff(): void {\n this.foodMalusKiller = new FullUnit(\"F\");\n this.soilMalusKiller = new FullUnit(\"W\");\n this.crystalMalusKiller = new FullUnit(\"C\");\n this.scienceMalusKiller = new FullUnit(\"S\");\n\n this.addUnits([\n this.foodMalusKiller,\n this.soilMalusKiller,\n this.crystalMalusKiller,\n this.scienceMalusKiller\n ]);\n\n this.bonusRes = new Research(\"aow\", this.game.researches);\n }\n setRelations(): void {\n // Production\n this.game.worldMalus.foodMalus1.addProducer(\n this.foodMalusKiller,\n new Decimal(-0.1)\n );\n this.game.worldMalus.soilMalus1.addProducer(\n this.soilMalusKiller,\n new Decimal(-0.1)\n );\n this.game.worldMalus.crystalMalus1.addProducer(\n this.crystalMalusKiller,\n new Decimal(-0.1)\n );\n this.game.worldMalus.scienceMalus1.addProducer(\n this.scienceMalusKiller,\n new Decimal(-0.1)\n );\n\n // Buy actions\n this.foodMalusKiller.generateBuyAction([\n new Price(this.game.materials.food, this.price, 1.1)\n ]);\n this.soilMalusKiller.generateBuyAction([\n new Price(this.game.materials.food, this.price, 1.1)\n ]);\n this.crystalMalusKiller.generateBuyAction([\n new Price(this.game.materials.food, this.price, 1.1)\n ]);\n this.scienceMalusKiller.generateBuyAction([\n new Price(this.game.materials.food, this.price, 1.1)\n ]);\n\n const prodBon = new ProductionBonus(\n this.game.worldBonus.killBonus,\n new Decimal(0.1)\n );\n const prodBon2 = new ProductionBonus(this.bonusRes, new Decimal(0.1));\n this.bonusRes.prices = this.game.genSciencePrice(CONSTS.PRICE_2);\n\n // Team and Twin\n this.list.forEach(u => {\n if (u instanceof FullUnit) {\n this.game.addTeamAction(u, CONSTS.TEAM_PRICE_2);\n this.game.addTwinAction(u, CONSTS.TWIN_PRICE_2);\n u.productionsAll.push(prodBon);\n u.productionsAll.push(prodBon2);\n }\n });\n }\n addWorlds(): void {\n const worldPre = new World(\"mkPre\");\n const worldBio = new World(\"mkBio\");\n const worldSuff = new World(\"mkSuff\");\n\n [worldPre, worldBio, worldSuff].forEach(w => {\n w.productionsAll.push([this.game.worldBonus.killBonus, new Decimal(1)]);\n });\n\n worldPre.startingUnit.push([this.game.helpers.general, new Decimal(0)]);\n worldBio.startingUnit.push([this.game.helpers.headquarter, new Decimal(0)]);\n worldSuff.startingUnlocked.push(this.bonusRes);\n\n World.prefix.push(worldPre);\n World.biome.push(worldBio);\n World.suffix.push(worldSuff);\n }\n}\n","import { CONSTS } from \"../CONSTANTS\";\nimport { FullUnit } from \"../full-unit\";\nimport { Game } from \"../game\";\nimport { Price } from \"../price\";\nimport { UnitGroup } from \"../unit-group\";\nimport { World } from \"../world\";\n\nexport class Materials extends UnitGroup {\n food: FullUnit;\n soil: FullUnit;\n crystal: FullUnit;\n science: FullUnit;\n\n constructor(game: Game) {\n super(\"材料\", game);\n }\n\n declareStuff(): void {\n this.food = new FullUnit(\"f\");\n this.soil = new FullUnit(\"w\");\n this.crystal = new FullUnit(\"c\");\n this.science = new FullUnit(\"s\");\n\n this.food.unlocked = true;\n\n this.addUnits([this.food, this.soil, this.crystal, this.science]);\n this.list.forEach(m => (m.winNonLiner = false));\n }\n addWorlds() {\n const length = this.list.length;\n for (let i = 0; i < length; i++) {\n const world = new World(this.list[i].id + \"Bio\");\n World.biome.push(world);\n }\n }\n}\n","import { EventEmitter } from \"@angular/core\";\nimport { Tags } from \"../bugsTypes\";\nimport { FullUnit } from \"../full-unit\";\nimport { Game } from \"../game\";\nimport { ProductionBonus } from \"../production-bonus\";\nimport { Research } from \"../research\";\n\nexport class Researches {\n researches = new Array();\n toDo: Research[];\n done: Research[];\n\n team1: Research;\n team2: Research;\n twin: Research;\n\n harvesting: Research;\n\n travel: Research;\n\n free1hWarp: Research;\n free2hWarp: Research;\n free3hWarp: Research;\n\n spawn: Research;\n\n /**\n * mastery, a special research\n * never reset\n */\n mastery: Research;\n masteryResDone = 0;\n overNineThousand: Research;\n\n constructor(\n public researchEmitter: EventEmitter,\n public game: Game\n ) {}\n\n declareStuff(): void {\n this.team1 = new Research(\"t\", this);\n this.team2 = new Research(\"T\", this);\n this.twin = new Research(\"W\", this);\n this.travel = new Research(\"r\", this);\n this.mastery = new Research(\"M\", this);\n this.harvesting = new Research(\"h\", this, true);\n\n this.free1hWarp = new Research(\"1\", this);\n this.free2hWarp = new Research(\"2\", this);\n this.free3hWarp = new Research(\"3\", this);\n this.free1hWarp.autoBuyable = false;\n this.free2hWarp.autoBuyable = false;\n this.free3hWarp.autoBuyable = false;\n\n this.spawn = new Research(\"SP\", this, true);\n this.overNineThousand = new Research(\"ont\", this);\n this.overNineThousand.autoBuyable = false;\n\n this.team1.unlocked = true;\n this.reloadLists();\n }\n setRelations(science: FullUnit, game: Game): void {\n this.team1.genPrice(new Decimal(100), science);\n this.team2.genPrice(new Decimal(1e3), science);\n this.twin.genPrice(new Decimal(1e6), science);\n this.travel.genPrice(new Decimal(1e13), science);\n this.mastery.genPrice(new Decimal(1e20), science);\n this.overNineThousand.genPrice(new Decimal(1e20), science);\n this.harvesting.prices = game.genSciencePrice(1e3, 4);\n this.free1hWarp.prices = game.genSciencePrice(1);\n this.free2hWarp.prices = game.genSciencePrice(1);\n this.free3hWarp.prices = game.genSciencePrice(1);\n this.spawn.prices = game.genSciencePrice(1e6, 4);\n\n this.team1.toUnlock.push(this.team2);\n this.team2.toUnlock.push(this.twin);\n\n game.advWorkers.firstResearch.toUnlock.push(this.harvesting);\n const bonus = new ProductionBonus(this.harvesting, new Decimal(1));\n game.gatherers.list.forEach(u => {\n u.productionsEfficiency.push(bonus);\n });\n this.game.buildings.firstResearch.toUnlock.push(this.spawn);\n this.game.engineers.firstResearch.toUnlock.push(this.travel);\n this.travel.toUnlock.push(game.tabs.travel, this.mastery);\n this.mastery.toUnlock.push(game.tabs.mastery, this.overNineThousand);\n\n this.free1hWarp.toUnlock.push(this.free2hWarp);\n this.free1hWarp.onBuy = () => {\n game.warp(3600 * 1000);\n };\n this.free2hWarp.toUnlock.push(this.free3hWarp);\n this.free2hWarp.onBuy = () => {\n game.warp(2 * 3600 * 1000);\n };\n this.free3hWarp.onBuy = () => {\n game.warp(3 * 3600 * 1000);\n };\n\n const larvaeBon = new ProductionBonus(this.spawn, new Decimal(0.5));\n this.game.units\n .filter(u => u.tags.includes(Tags.LARVA))\n .forEach(l => l.productionsBonus.push(larvaeBon));\n }\n reset(science: FullUnit) {\n this.reloadMasteryPrice(science);\n this.researches.forEach(r => {\n r.reset();\n });\n\n this.mastery.reload();\n this.team1.unlocked = true;\n this.reloadLists();\n }\n reloadLists() {\n this.toDo = this.researches.filter(\n r =>\n r.unlocked &&\n (!r.done || (r.unlimited && r.quantity.lt(r.maxAutoBuyLevel)))\n );\n this.done = this.researches.filter(\n r =>\n r.unlocked &&\n r.done &&\n (!r.unlimited || r.quantity.gte(r.maxAutoBuyLevel))\n );\n this.researchEmitter.emit(\"\");\n }\n reloadMasteryPrice(science: FullUnit) {\n this.mastery.genPrice(\n new Decimal(1e18).times(Decimal.pow(2, this.masteryResDone)),\n science\n );\n this.mastery.genPrice(\n new Decimal(1e20).times(Decimal.pow(2, this.masteryResDone)),\n science\n );\n }\n\n //#region Save and load\n getSave(): any {\n return {\n res: this.researches.map(r => r.getSave()),\n mrd: this.masteryResDone\n };\n }\n restore(data: any, science: FullUnit): boolean {\n if (\"res\" in data) {\n for (const r of data.res) {\n const res = this.researches.find(u => u.id === r.i);\n if (res) res.restore(r);\n }\n this.masteryResDone =\n \"mrd\" in data ? data.mrd : this.game.allMateries.totalEarned;\n\n this.reloadMasteryPrice(science);\n this.reloadLists();\n return true;\n } else {\n return false;\n }\n }\n //#endregion\n}\n","import { FullUnit } from \"../full-unit\";\nimport { Game } from \"../game\";\nimport { Price } from \"../price\";\nimport { UnitGroup } from \"../unit-group\";\nimport { World } from \"../world\";\n\nexport class Special extends UnitGroup {\n foodSupply: FullUnit;\n soilSupply: FullUnit;\n crystalSupply: FullUnit;\n\n constructor(game: Game) {\n super(\"特殊\", game);\n }\n declareStuff(): void {\n this.foodSupply = new FullUnit(\"fS\");\n this.soilSupply = new FullUnit(\"wS\");\n this.crystalSupply = new FullUnit(\"cS\");\n\n this.addUnits([this.foodSupply, this.soilSupply, this.crystalSupply]);\n }\n setRelations(): void {\n this.foodSupply.generateBuyAction([\n new Price(this.game.materials.food, new Decimal(1e3), 1.5)\n ]);\n this.soilSupply.generateBuyAction([\n new Price(this.game.materials.soil, new Decimal(1e3), 1.5)\n ]);\n this.crystalSupply.generateBuyAction([\n new Price(this.game.materials.crystal, new Decimal(1e3), 1.5)\n ]);\n\n this.game.materials.food.addProducer(this.foodSupply, new Decimal(30));\n this.game.materials.soil.addProducer(this.soilSupply, new Decimal(30));\n this.game.materials.crystal.addProducer(\n this.crystalSupply,\n new Decimal(30)\n );\n }\n addWorlds() {\n [this.foodSupply, this.soilSupply, this.crystalSupply].forEach(supp => {\n const pre = new World(supp.id + \"Pre\");\n const suff = new World(supp.id + \"Suff\");\n [pre, suff].forEach(w => w.startingUnit.push([supp, new Decimal(1)]));\n World.prefix.push(pre);\n World.suffix.push(suff);\n });\n }\n}\n","import { BugTypes, Tags } from \"../bugsTypes\";\nimport { CONSTS } from \"../CONSTANTS\";\nimport { FullUnit } from \"../full-unit\";\nimport { Game } from \"../game\";\nimport { Price } from \"../price\";\nimport { UnitGroup } from \"../unit-group\";\nimport { World } from \"../world\";\n\nexport class Wasps extends UnitGroup {\n larva: FullUnit;\n queen: FullUnit;\n nest: FullUnit;\n\n constructor(game: Game) {\n super(\"黄蜂\", game);\n }\n\n declareStuff(): void {\n this.larva = new FullUnit(\"y\");\n this.queen = new FullUnit(\"z\");\n this.nest = new FullUnit(\"r\");\n this.addUnits([this.nest, this.queen, this.larva]);\n this.larva.tags.push(Tags.LARVA);\n this.queen.tags.push(Tags.QUEEN);\n this.nest.tags.push(Tags.NEST);\n }\n setRelations(): void {\n this.larva.generateBuyAction(\n [\n new Price(\n this.game.materials.food,\n CONSTS.PRICE_0,\n CONSTS.SWARM_PRICE_GROWRATE\n )\n ],\n [this.queen]\n );\n this.queen.generateBuyAction(\n [\n new Price(\n this.larva,\n CONSTS.PRICE_LARVAE_1,\n CONSTS.SWARM_PRICE_GROWRATE\n ),\n new Price(this.game.materials.food, CONSTS.PRICE_QUEEN)\n ],\n [this.nest]\n );\n this.nest.generateBuyAction([\n new Price(this.queen, CONSTS.PRICE_LARVAE_2, CONSTS.SWARM_PRICE_GROWRATE),\n new Price(this.game.materials.food, CONSTS.PRICE_NEST),\n new Price(this.game.materials.soil, CONSTS.PRICE_NEST)\n ]);\n\n this.larva.addProducer(this.queen, CONSTS.PROD_LARVAE);\n this.queen.addProducer(this.nest, CONSTS.PROD_LARVAE);\n\n this.game.addTeamAction(this.queen, CONSTS.TEAM_PRICE_2);\n this.game.addTeamAction(this.nest, CONSTS.TEAM_PRICE_3);\n\n this.game.addTwinAction(this.queen, CONSTS.TWIN_PRICE_2);\n this.game.addTwinAction(this.nest, CONSTS.TWIN_PRICE_3);\n\n this.list.forEach(u => u.setBugType(BugTypes.WASP));\n }\n addWorlds() {\n const waspPre = new World(\"waspPre\");\n const waspBio = new World(\"waspBio\");\n const waspSuff = new World(\"waspSuff\");\n [waspBio, waspPre, waspSuff].forEach(w => {\n w.additionalBugs.push(BugTypes.WASP);\n w.winConditions.push(\n new Price(this.nest, CONSTS.BASE_WIN_CONDITION_OTHER.times(1.75))\n );\n });\n World.prefix.push(waspPre);\n World.suffix.push(waspSuff);\n World.biome.push(waspBio);\n }\n}\n","import { BugTypes, Tags } from \"../bugsTypes\";\nimport { CONSTS } from \"../CONSTANTS\";\nimport { FullUnit } from \"../full-unit\";\nimport { Game } from \"../game\";\nimport { MasteryTypes } from \"../masteries/mastery\";\nimport { Price } from \"../price\";\nimport { ProductionBonus } from \"../production-bonus\";\nimport { Research } from \"../research\";\nimport { UnitGroup } from \"../unit-group\";\n\nexport class Workers extends UnitGroup {\n farmer: FullUnit;\n carpenter: FullUnit;\n miner: FullUnit;\n scientist: FullUnit;\n\n scientificMethod1: Research;\n\n beeFarmer: FullUnit;\n beeCarpenter: FullUnit;\n beeMiner: FullUnit;\n beeScientist: FullUnit;\n\n waspFarmer: FullUnit;\n waspCarpenter: FullUnit;\n waspMiner: FullUnit;\n waspScientist: FullUnit;\n\n betterWorkers: Research;\n efficientWorkers: Research;\n\n constructor(game: Game) {\n super(\"工人\", game);\n }\n\n declareStuff(): void {\n this.farmer = new FullUnit(\"a\");\n this.farmer.tags.push(Tags.FARMER);\n this.carpenter = new FullUnit(\"b\");\n this.carpenter.tags.push(Tags.SOIL_G);\n this.miner = new FullUnit(\"m\");\n this.miner.tags.push(Tags.MINER);\n this.scientist = new FullUnit(\"d\");\n\n this.beeFarmer = new FullUnit(\"A\");\n this.beeFarmer.bugType = BugTypes.BEE;\n this.beeFarmer.tags.push(Tags.FARMER);\n this.beeCarpenter = new FullUnit(\"B\");\n this.beeCarpenter.bugType = BugTypes.BEE;\n this.beeCarpenter.tags.push(Tags.SOIL_G);\n this.beeMiner = new FullUnit(\"E\");\n this.beeMiner.bugType = BugTypes.BEE;\n this.beeMiner.tags.push(Tags.MINER);\n this.beeScientist = new FullUnit(\"D\");\n this.beeScientist.bugType = BugTypes.BEE;\n\n this.waspFarmer = new FullUnit(\"v\");\n this.waspFarmer.bugType = BugTypes.WASP;\n this.waspFarmer.tags.push(Tags.FARMER);\n this.waspCarpenter = new FullUnit(\"V\");\n this.waspCarpenter.bugType = BugTypes.WASP;\n this.waspCarpenter.tags.push(Tags.SOIL_G);\n this.waspMiner = new FullUnit(\"o\");\n this.waspMiner.bugType = BugTypes.WASP;\n this.waspMiner.tags.push(Tags.MINER);\n this.waspScientist = new FullUnit(\"p\");\n this.waspScientist.bugType = BugTypes.WASP;\n\n this.scientificMethod1 = new Research(\"scie1\", this.game.researches, true);\n\n this.addUnits([\n this.farmer,\n this.carpenter,\n this.miner,\n this.scientist,\n this.beeFarmer,\n this.beeCarpenter,\n this.beeMiner,\n this.beeScientist,\n this.waspFarmer,\n this.waspCarpenter,\n this.waspMiner,\n this.waspScientist\n ]);\n\n this.firstResearch = new Research(\"w\", this.game.researches);\n this.list.forEach(u => {\n const res = new Research(u.id, this.game.researches);\n res.toUnlock = [u];\n res.bugType = u.bugType;\n this.researchList.push(res);\n });\n\n this.betterWorkers = new Research(\"wo\", this.game.researches, true);\n this.efficientWorkers = new Research(\"we\", this.game.researches, true);\n }\n setRelations(): void {\n this.farmer.generateBuyAction([\n new Price(this.game.ants.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1),\n new Price(this.game.materials.crystal, CONSTS.PRICE_1)\n ]);\n this.carpenter.generateBuyAction([\n new Price(this.game.ants.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1.times(2))\n ]);\n this.miner.generateBuyAction([\n new Price(this.game.ants.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1),\n new Price(this.game.materials.soil, CONSTS.PRICE_1)\n ]);\n this.scientist.generateBuyAction([\n new Price(this.game.ants.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1),\n new Price(this.game.materials.crystal, CONSTS.PRICE_1)\n ]);\n this.game.materials.food.addProducer(this.farmer, CONSTS.PROD_1);\n this.game.materials.crystal.addProducer(this.farmer, CONSTS.CONSUME_1);\n\n this.game.materials.soil.addProducer(this.carpenter, CONSTS.PROD_1);\n this.game.materials.food.addProducer(this.carpenter, CONSTS.CONSUME_1);\n\n this.game.materials.crystal.addProducer(this.miner, CONSTS.PROD_1);\n this.game.materials.soil.addProducer(this.miner, CONSTS.CONSUME_1);\n\n this.game.materials.science.addProducer(this.scientist, CONSTS.PROD_1);\n this.game.materials.crystal.addProducer(this.scientist, CONSTS.CONSUME_1);\n\n //#region Bees\n this.beeFarmer.generateBuyAction([\n new Price(this.game.bees.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1),\n new Price(this.game.materials.crystal, CONSTS.PRICE_1)\n ]);\n this.beeCarpenter.generateBuyAction([\n new Price(this.game.bees.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1.times(2))\n ]);\n this.beeMiner.generateBuyAction([\n new Price(this.game.bees.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1),\n new Price(this.game.materials.soil, CONSTS.PRICE_1)\n ]);\n this.beeScientist.generateBuyAction([\n new Price(this.game.bees.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1),\n new Price(this.game.materials.crystal, CONSTS.PRICE_1)\n ]);\n this.game.materials.food.addProducer(this.beeFarmer, CONSTS.PROD_1);\n this.game.materials.soil.addProducer(this.beeFarmer, CONSTS.CONSUME_1);\n\n this.game.materials.soil.addProducer(this.beeCarpenter, CONSTS.PROD_1);\n this.game.materials.food.addProducer(this.beeCarpenter, CONSTS.CONSUME_1);\n\n this.game.materials.crystal.addProducer(this.beeMiner, CONSTS.PROD_1);\n this.game.materials.food.addProducer(this.beeMiner, CONSTS.CONSUME_1);\n\n this.game.materials.science.addProducer(this.beeScientist, CONSTS.PROD_1);\n this.game.materials.crystal.addProducer(\n this.beeScientist,\n CONSTS.CONSUME_1\n );\n //#endregion\n //#region Wasps\n this.waspFarmer.generateBuyAction([\n new Price(this.game.wasps.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1),\n new Price(this.game.materials.crystal, CONSTS.PRICE_1)\n ]);\n this.waspCarpenter.generateBuyAction([\n new Price(this.game.wasps.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1.times(2))\n ]);\n this.waspMiner.generateBuyAction([\n new Price(this.game.wasps.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1),\n new Price(this.game.materials.soil, CONSTS.PRICE_1)\n ]);\n this.waspScientist.generateBuyAction([\n new Price(this.game.wasps.larva, CONSTS.PRICE_LARVAE_0, 1),\n new Price(this.game.materials.food, CONSTS.PRICE_1),\n new Price(this.game.materials.crystal, CONSTS.PRICE_1)\n ]);\n this.game.materials.food.addProducer(this.waspFarmer, CONSTS.PROD_1);\n this.game.materials.soil.addProducer(this.waspFarmer, CONSTS.CONSUME_1);\n\n this.game.materials.soil.addProducer(this.waspCarpenter, CONSTS.PROD_1);\n this.game.materials.food.addProducer(this.waspCarpenter, CONSTS.CONSUME_1);\n\n this.game.materials.crystal.addProducer(this.waspMiner, CONSTS.PROD_1);\n this.game.materials.food.addProducer(this.waspMiner, CONSTS.CONSUME_1);\n\n this.game.materials.science.addProducer(this.waspScientist, CONSTS.PROD_1);\n this.game.materials.crystal.addProducer(\n this.waspScientist,\n CONSTS.CONSUME_1\n );\n //#endregion\n\n this.list.forEach(u => {\n if (u instanceof FullUnit) {\n this.game.addTeamAction(u, CONSTS.TEAM_PRICE_1);\n this.game.addTwinAction(u, CONSTS.TWIN_PRICE_2);\n }\n });\n\n this.firstResearch.prices = this.game.genSciencePrice(new Decimal(1e3));\n this.researchList.forEach(\n r => (r.prices = this.game.genSciencePrice(CONSTS.RES_PRICE_1))\n );\n this.firstResearch.toUnlock = this.researchList;\n\n this.scientificMethod1.prices = this.game.genSciencePrice(1e4, 10);\n this.researchList[3].toUnlock.push(this.scientificMethod1);\n\n const scieMetBon = new ProductionBonus(\n this.scientificMethod1,\n new Decimal(0.5)\n );\n scieMetBon.getMultiplier = () => {\n return new Decimal(\n 1 + this.game.allMateries.getSum(MasteryTypes.SCIENTIFIC_METHOD)\n );\n };\n this.game.materials.science.productionsBonus.push(scieMetBon);\n\n this.betterWorkers.prices = this.game.genSciencePrice(1e4, 4);\n this.efficientWorkers.prices = this.game.genSciencePrice(5e4, 5);\n\n const bonusWo = new ProductionBonus(this.betterWorkers, new Decimal(0.3));\n this.list.forEach(u => {\n u.productionsAll.push(bonusWo);\n });\n const bonusEff = new ProductionBonus(\n this.efficientWorkers,\n new Decimal(0.1)\n );\n this.list.forEach(u => {\n u.productionsEfficiency.push(bonusEff);\n });\n\n this.firstResearch.toUnlock.push(this.betterWorkers, this.efficientWorkers);\n\n this.setBugType();\n }\n}\n","import { BaseUnit } from \"../baseUnit\";\nimport { Game } from \"../game\";\nimport { ProductionBonus } from \"../production-bonus\";\nimport { World } from \"../world\";\n\nexport class WorldBonus {\n static bonusValue = new Decimal(0.3);\n\n foodBonus: BaseUnit;\n soilBonus: BaseUnit;\n crystalBonus: BaseUnit;\n scienceBonus: BaseUnit;\n killBonus: BaseUnit;\n\n bonusList: BaseUnit[];\n\n declareStuff(): void {\n this.foodBonus = new BaseUnit(\"1\");\n this.soilBonus = new BaseUnit(\"2\");\n this.crystalBonus = new BaseUnit(\"3\");\n this.scienceBonus = new BaseUnit(\"4\");\n this.killBonus = new BaseUnit(\"5\");\n\n this.bonusList = [\n this.foodBonus,\n this.soilBonus,\n this.crystalBonus,\n this.scienceBonus,\n this.killBonus\n ];\n }\n setRelations(game: Game): void {\n game.materials.food.productionsBonus.push(\n new ProductionBonus(this.foodBonus, WorldBonus.bonusValue)\n );\n game.materials.soil.productionsBonus.push(\n new ProductionBonus(this.soilBonus, WorldBonus.bonusValue)\n );\n game.materials.crystal.productionsBonus.push(\n new ProductionBonus(this.crystalBonus, WorldBonus.bonusValue)\n );\n game.materials.science.productionsBonus.push(\n new ProductionBonus(this.scienceBonus, WorldBonus.bonusValue)\n );\n }\n reset() {\n this.bonusList.forEach(b => {\n b.unlocked = false;\n b.quantity = new Decimal(0);\n });\n }\n addWorlds(): void {\n [\n this.foodBonus,\n this.soilBonus,\n this.crystalBonus,\n this.scienceBonus\n ].forEach(b => {\n const pre = new World(b.id + \"Pre\");\n pre.productionsBonus = [[b, new Decimal(1)]];\n World.prefix.push(pre);\n\n const suff = new World(b.id + \"Suf\");\n suff.productionsBonus = [[b, new Decimal(1)]];\n World.suffix.push(suff);\n });\n }\n}\n","import { Game } from \"../game\";\nimport { Malus } from \"../malus\";\nimport { UnitGroup } from \"../unit-group\";\n\nexport class WorldMalus extends UnitGroup {\n foodMalus1: Malus;\n foodMalus2: Malus;\n foodMalus3: Malus;\n\n soilMalus1: Malus;\n soilMalus2: Malus;\n soilMalus3: Malus;\n\n crystalMalus1: Malus;\n crystalMalus2: Malus;\n crystalMalus3: Malus;\n\n scienceMalus1: Malus;\n scienceMalus2: Malus;\n scienceMalus3: Malus;\n\n constructor(game: Game) {\n super(\"敌人\", game);\n }\n\n declareStuff(): void {\n this.foodMalus1 = new Malus(\"Mf1\");\n this.foodMalus2 = new Malus(\"Mf2\");\n this.foodMalus3 = new Malus(\"Mf3\");\n\n this.soilMalus1 = new Malus(\"Mw1\");\n this.soilMalus2 = new Malus(\"Mw2\");\n this.soilMalus3 = new Malus(\"Mw3\");\n\n this.crystalMalus1 = new Malus(\"Mc1\");\n this.crystalMalus2 = new Malus(\"Mc2\");\n this.crystalMalus3 = new Malus(\"Mc3\");\n\n this.scienceMalus1 = new Malus(\"Ms1\");\n this.scienceMalus2 = new Malus(\"Ms2\");\n this.scienceMalus3 = new Malus(\"Ms3\");\n\n this.foodMalus1.first = true;\n this.soilMalus1.first = true;\n this.crystalMalus1.first = true;\n this.scienceMalus1.first = true;\n\n this.addUnits([\n this.foodMalus3,\n this.foodMalus2,\n this.foodMalus1,\n this.soilMalus3,\n this.soilMalus2,\n this.soilMalus1,\n this.crystalMalus3,\n this.crystalMalus2,\n this.crystalMalus1,\n this.scienceMalus3,\n this.scienceMalus2,\n this.scienceMalus1\n ]);\n }\n setRelations(): void {\n this.foodMalus1.addProducer(this.foodMalus2, new Decimal(0.01));\n this.foodMalus2.addProducer(this.foodMalus3, new Decimal(0.01));\n\n this.soilMalus1.addProducer(this.soilMalus2, new Decimal(0.01));\n this.soilMalus2.addProducer(this.soilMalus3, new Decimal(0.01));\n\n this.crystalMalus1.addProducer(this.crystalMalus2, new Decimal(0.01));\n this.crystalMalus2.addProducer(this.crystalMalus3, new Decimal(0.01));\n\n this.scienceMalus1.addProducer(this.scienceMalus2, new Decimal(0.01));\n this.scienceMalus2.addProducer(this.scienceMalus3, new Decimal(0.01));\n\n this.foodMalus1.malusType = this.game.materials.food;\n this.soilMalus1.malusType = this.game.materials.soil;\n this.crystalMalus1.malusType = this.game.materials.crystal;\n this.scienceMalus1.malusType = this.game.materials.science;\n\n this.game.materials.food.malus = this.foodMalus1;\n this.game.materials.soil.malus = this.soilMalus1;\n this.game.materials.crystal.malus = this.crystalMalus1;\n this.game.materials.science.malus = this.scienceMalus1;\n }\n}\n","import { ClrDatagridComparatorInterface } from \"@clr/angular\";\nimport { BaseUnit } from \"./baseUnit\";\nimport { BugTypes } from \"./bugsTypes\";\nimport { FullUnit } from \"./full-unit\";\nimport { Production } from \"./production\";\nimport { Run } from \"./stats/run\";\nimport { STRINGS } from \"./strings\";\n\nexport class Utility {\n static getBugName(bug: BugTypes) {\n return STRINGS.bug[bug];\n }\n static random(min: Decimal = new Decimal(0), max: Decimal = new Decimal(1)) {\n return min.plus(max.minus(min).times(Math.random()));\n }\n /**\n * Solve an equation, up to cubic equation ax^3 + bx^2 + cx + d = 0\n *\n * @param a x^3\n * @param b x^2\n * @param c x\n * @param d constant\n * @returns solutions, real roots only\n */\n static solveEquation(\n a: Decimal,\n b: Decimal,\n c: Decimal,\n d: Decimal\n ): Decimal[] {\n // Thanks to:\n // https://stackoverflow.com/questions/27176423/function-to-solve-cubic-equation-analytically\n // http://www.wolframalpha.com/calculators/equation-solver/\n\n if (a.abs().lt(Number.EPSILON)) {\n a = b;\n b = c;\n c = d;\n if (a.abs().lt(Number.EPSILON)) {\n // Linear case, ax+b=0\n a = b;\n b = c;\n if (a.abs().lt(Number.EPSILON)) {\n // Degenerate case\n return [];\n }\n\n return [b.times(-1).div(a)];\n }\n\n const D = b.pow(2).minus(a.times(c).times(4));\n if (D.abs().lt(Number.EPSILON)) {\n return [b.times(-1).div(a.times(2))];\n } else if (D.gt(0)) {\n return [\n D.sqrt()\n .minus(b)\n .div(a.times(2)),\n D.sqrt()\n .plus(b)\n .times(-1)\n .div(a.times(2))\n ];\n }\n\n return [];\n }\n return Utility.solveCubic(a, b, c, d);\n }\n\n static convertToRoman(num: number): string {\n const roman = {\n M: 1000,\n CM: 900,\n D: 500,\n CD: 400,\n C: 100,\n XC: 90,\n L: 50,\n XL: 40,\n X: 10,\n IX: 9,\n V: 5,\n IV: 4,\n I: 1\n };\n let str = \"\";\n\n for (const i of Object.keys(roman)) {\n const q = Math.floor(num / roman[i]);\n num -= q * roman[i];\n str += i.repeat(q);\n }\n\n return str;\n }\n /**\n * Solve an equation, cubic only\n *\n * @param a x^3\n * @param b x^2\n * @param c x\n * @param d constant\n * @returns solutions, real roots only\n */\n private static solveCubic(\n a: Decimal,\n b: Decimal,\n c: Decimal,\n d: Decimal\n ): Decimal[] {\n const p = a\n .times(c)\n .times(3)\n .minus(b.pow(2))\n .div(3)\n .div(a)\n .div(a);\n const q = b\n .pow(3)\n .times(2)\n .minus(\n a\n .times(b)\n .times(c)\n .times(9)\n )\n .plus(\n a\n .times(a)\n .times(d)\n .times(27)\n )\n .div(a.pow(3).times(27));\n let roots: Decimal[];\n\n if (p.abs().lt(Number.EPSILON)) {\n roots = [q.times(-1).cbrt()];\n } else if (q.abs().lt(Number.EPSILON)) {\n roots = [new Decimal(0)].concat(\n p.lt(0)\n ? [\n p.times(-1).sqrt(),\n p\n .times(-1)\n .sqrt()\n .times(-1)\n ]\n : []\n );\n } else {\n const D = q\n .pow(2)\n .div(4)\n .plus(p.pow(3).div(27));\n\n if (D.abs().lt(Number.EPSILON)) {\n // D = 0 -> two roots\n roots = [q.times(-1.5).div(p), new Decimal(3).times(q).times(p)];\n } else if (D.gt(0)) {\n // Only one real root\n const first = q.times(-0.5);\n const second = D.sqrt();\n const q3 = first.minus(second);\n\n // workaround for aproximation\n if (q3.toNumber() === 0) {\n // q3 = new Decimal(1).div(\n // Decimal.max(a.abs(), b.abs())\n // .max(c.abs())\n // .max(d.abs())\n // );\n\n return [d.div(a.abs()).cbrt()];\n }\n const u = Decimal.cbrt(q3);\n roots = [u.minus(p.div(u.times(3)))];\n } else {\n // D < 0, three roots, but needs to use complex numbers/trigonometric solution\n const u = new Decimal(2).times(Decimal.sqrt(p.times(-1).div(3)));\n\n let acos = new Decimal(q);\n acos = acos.div(p);\n acos = acos.div(u);\n acos = acos.times(3);\n // workaround for aproximation\n if (acos.lt(-1)) {\n return [];\n }\n\n // workaround for aproximation 2\n const acos2 = Decimal.max(Decimal.min(acos, 1), -1).toNumber();\n const t = new Decimal(Math.acos(acos2) / 3);\n\n // const t = Math.acos(3 * q / p / u) / 3; // D < 0 implies p < 0 and acos argument in [-1..1]\n const k = new Decimal(2).times(Math.PI).div(3);\n roots = [\n u.times(Math.cos(t.toNumber())),\n u.times(Math.cos(t.minus(k).toNumber())),\n u.times(Math.cos(t.minus(k.times(2)).toNumber()))\n ];\n }\n }\n\n // Convert back from depressed cubic\n for (let i = 0; i < roots.length; i++) {\n roots[i] = roots[i].minus(b.div(a.times(3)));\n }\n\n return roots;\n }\n}\n\n//#region Clarity Datagrid custom sorterer\n// tslint:disable-next-line:max-classes-per-file\nexport class ProductionSorter\n implements ClrDatagridComparatorInterface {\n compare(a: Production, b: Production) {\n return a.prodPerSec.cmp(b.prodPerSec);\n }\n}\n// tslint:disable-next-line:max-classes-per-file\nexport class TotalProductionSorter\n implements ClrDatagridComparatorInterface {\n compare(a: Production, b: Production) {\n return a.prodPerSec\n .times(a.producer.quantity)\n .cmp(b.prodPerSec.times(b.producer.quantity));\n }\n}\n// tslint:disable-next-line:max-classes-per-file\nexport class UnitQuantitySorter\n implements ClrDatagridComparatorInterface {\n compare(a: BaseUnit, b: BaseUnit) {\n return a.quantity.cmp(b.quantity);\n }\n}\n// tslint:disable-next-line:max-classes-per-file\nexport class UnitBoughtSorter\n implements ClrDatagridComparatorInterface {\n compare(a: FullUnit, b: FullUnit) {\n return a.buyAction.quantity.cmp(b.buyAction.quantity);\n }\n}\n// tslint:disable-next-line:max-classes-per-file\nexport class UnitTeamSorter\n implements ClrDatagridComparatorInterface {\n compare(a: FullUnit, b: FullUnit) {\n return a.teamAction.quantity.cmp(b.teamAction.quantity);\n }\n}\n// tslint:disable-next-line:max-classes-per-file\nexport class UnitTwinSorter\n implements ClrDatagridComparatorInterface {\n compare(a: FullUnit, b: FullUnit) {\n return a.twinAction.quantity.cmp(b.twinAction.quantity);\n }\n}\n\n// tslint:disable-next-line:max-classes-per-file\nexport class UnitAutoHatchSorter\n implements ClrDatagridComparatorInterface {\n compare(a: FullUnit, b: FullUnit) {\n return a.buyAction.autoBuyer.quantity.cmp(b.buyAction.autoBuyer.quantity);\n }\n}\n// tslint:disable-next-line:max-classes-per-file\nexport class UnitAutoTeamSorter\n implements ClrDatagridComparatorInterface {\n compare(a: FullUnit, b: FullUnit) {\n return a.teamAction.autoBuyer.quantity.cmp(b.teamAction.autoBuyer.quantity);\n }\n}\n// tslint:disable-next-line:max-classes-per-file\nexport class UnitAutoTwinSorter\n implements ClrDatagridComparatorInterface {\n compare(a: FullUnit, b: FullUnit) {\n return a.twinAction.autoBuyer.quantity.cmp(b.twinAction.autoBuyer.quantity);\n }\n}\n\n// tslint:disable-next-line:max-classes-per-file\nexport class RunExpSorter implements ClrDatagridComparatorInterface {\n compare(a: Run, b: Run) {\n return a.experience.cmp(b.experience);\n }\n}\n// tslint:disable-next-line:max-classes-per-file\nexport class RunExpPerSecSorter implements ClrDatagridComparatorInterface {\n compare(a: Run, b: Run) {\n return a.expPerSec.cmp(b.expPerSec);\n }\n}\n//#endregion\n","import sample from \"lodash-es/sample\";\nimport uniq from \"lodash-es/uniq\";\nimport { BaseUnit } from \"./baseUnit\";\nimport { BugTypes } from \"./bugsTypes\";\nimport { CONSTS } from \"./CONSTANTS\";\nimport { FullUnit } from \"./full-unit\";\nimport { Game } from \"./game\";\nimport { Malus } from \"./malus\";\nimport { MasteryTypes } from \"./masteries/mastery\";\nimport { Price } from \"./price\";\nimport { Research } from \"./research\";\nimport { STRINGS } from \"./strings\";\nimport { Utility } from \"./utility\";\n\nexport class World {\n static prefix = new Array();\n static biome = new Array();\n static suffix = new Array();\n\n name = \"\";\n level = new Decimal(1);\n prestige = new Decimal(10);\n\n // Productions Bonus/Malus\n productionsBonus = new Array<[BaseUnit, Decimal]>();\n productionsEfficiency = new Array<[BaseUnit, Decimal]>();\n productionsAll = new Array<[BaseUnit, Decimal]>();\n\n // Unlocked stuff\n startingUnlocked = new Array();\n\n // Starting stuff\n // Unit, Quantity\n startingUnit = new Array<[FullUnit, Decimal]>();\n\n // Wining condition\n winConditions = new Array();\n // This resources must be zero\n notWinConditions = new Array();\n\n // Additional bug\n additionalBugs = new Array();\n\n constructor(public id = \"\") {\n if (id !== \"\") this.name = STRINGS.worlds[this.id];\n }\n\n setLevel(level: Decimal, game: Game) {\n this.winConditions.push(\n new Price(game.ants.nest, CONSTS.BASE_WIN_CONDITION_OTHER)\n );\n this.additionalBugs.push(BugTypes.ANT);\n\n this.level = new Decimal(level).floor();\n\n const multi = this.level.div(5).plus(1);\n this.productionsBonus.forEach(b => (b[1] = b[1].times(multi)));\n this.productionsEfficiency.forEach(b => (b[1] = b[1].times(multi)));\n this.productionsAll.forEach(b => (b[1] = b[1].times(multi)));\n this.startingUnit.forEach(b => (b[1] = b[1].times(multi)));\n\n const masteryReduction =\n game.allMateries.getSum(MasteryTypes.WORLD_LEVEL) * 0.015;\n\n this.winConditions.forEach(w => {\n w.price = w.price.times(multi);\n\n w.price = w.base.winNonLiner\n ? w.price.pow(0.7 - masteryReduction)\n : w.price.times(Decimal.pow(4, multi)).pow(0.95);\n\n w.price = w.price.floor();\n });\n\n this.prestige = this.level\n .times(10)\n .times(this.level.plus(10).log10())\n .floor();\n\n if (this.level.gte(5) && this.notWinConditions.length < 1) {\n const malus = [\n game.worldMalus.foodMalus1,\n game.worldMalus.soilMalus1,\n game.worldMalus.crystalMalus1,\n game.worldMalus.scienceMalus1\n ];\n this.notWinConditions.push(sample(malus));\n }\n\n // Apply Prestige bonus\n let multiBonus = game.allPrestige.worldPrestige.betterWorlds.quantity.times(\n 0.1\n );\n multiBonus = multiBonus.times(\n 1 + game.allMateries.getSum(MasteryTypes.BETTER_WORLD) * 0.2\n );\n multiBonus = multiBonus.plus(1);\n\n if (multiBonus.gt(1)) {\n [\n this.productionsBonus,\n this.productionsEfficiency,\n this.productionsAll\n ].forEach(prod => {\n prod.forEach(p => {\n p[1] = p[1].times(multiBonus);\n });\n });\n }\n }\n canTravel(): boolean {\n this.winConditions.forEach(p => {\n p.canBuy = p.base.quantity.gte(p.price);\n });\n return !(\n this.winConditions.findIndex(p => !p.canBuy) > -1 ||\n this.notWinConditions.findIndex(n => !n.isKilled) > -1\n );\n }\n setMalus() {\n this.notWinConditions.forEach(n => {\n n.quantity = new Decimal(this.level.times(5));\n n.producedBy.find(u => u.ratio.lt(0)).producer.unlock();\n const n2 = n.producedBy.find(u => u.ratio.gt(0)).producer;\n const n3 = n2.producedBy.find(u => u.ratio.gt(0)).producer;\n\n n2.quantity = n.quantity.div(3.5);\n\n if (n2.quantity.gt(0.1)) {\n n2.unlock();\n // tslint:disable-next-line:prettier\n n3.quantity = n.quantity.div(1.5).pow(0.9);\n if (n3.quantity.gt(0.1)) {\n n3.unlock();\n } else {\n n3.quantity = new Decimal(0);\n }\n } else {\n n2.quantity = new Decimal(0);\n }\n });\n }\n setGame() {\n this.setMalus();\n this.startingUnit.forEach(s => {\n s[0].unlock();\n s[0].quantity = s[1];\n });\n }\n\n //#region Save and Load\n getSave(): any {\n return {\n n: this.name,\n l: this.level,\n pb: this.productionsBonus.map(b => [b[0].id, b[1]]),\n pe: this.productionsEfficiency.map(b => [b[0].id, b[1]]),\n pa: this.productionsAll.map(b => [b[0].id, b[1]]),\n wc: this.winConditions.map(w => [w.base.id, w.price]),\n nwc: this.notWinConditions.map(n => n.id),\n adb: this.additionalBugs,\n k: this.prestige\n };\n }\n restore(data: any, game: Game) {\n if (\"n\" in data) this.name = data.n;\n if (\"l\" in data) this.level = new Decimal(data.l);\n if (\"pb\" in data) {\n this.productionsBonus = data.pb.map(b => [\n this.findBonus(b[0], game),\n new Decimal(b[1])\n ]);\n }\n if (\"pe\" in data) {\n this.productionsEfficiency = data.pe.map(b => [\n this.findBonus(b[0], game),\n new Decimal(b[1])\n ]);\n }\n if (\"pa\" in data) {\n this.productionsAll = data.pa.map(b => [\n this.findBonus(b[0], game),\n new Decimal(b[1])\n ]);\n }\n if (\"wc\" in data) {\n this.winConditions = data.wc.map(\n w =>\n new Price(game.units.find(u => u.id === w[0]), new Decimal(w[1]), 1)\n );\n }\n if (\"nwc\" in data) {\n this.notWinConditions = data.nwc.map(nwc =>\n game.units.find(u => u.id === nwc)\n );\n }\n if (\"adb\" in data) {\n this.additionalBugs = data.adb;\n }\n this.prestige =\n \"k\" in data\n ? new Decimal(data.k)\n : this.level\n .times(10)\n .times(this.level.plus(10).log10())\n .floor();\n }\n findBonus(id: string, game: Game): BaseUnit {\n return game.worldBonus.bonusList.find(b => b.id === id);\n }\n //#endregion\n\n // tslint:disable-next-line:member-ordering\n static merge(worlds: World[]): World {\n const retWorld = new World();\n\n retWorld.name = worlds.map(w => w.name).reduce((p, c) => p + \" \" + c);\n\n worlds.forEach(w => {\n w.productionsBonus.forEach(a => {\n const prod = retWorld.productionsBonus.find(p => p[0].id === a[0].id);\n if (!prod) retWorld.productionsBonus.push([a[0], new Decimal(a[1])]);\n else prod[1] = prod[1].plus(a[1]);\n });\n w.productionsEfficiency.forEach(a => {\n const prod = retWorld.productionsEfficiency.find(\n p => p[0].id === a[0].id\n );\n if (!prod) {\n retWorld.productionsEfficiency.push([a[0], new Decimal(a[1])]);\n } else prod[1] = prod[1].plus(a[1]);\n });\n w.productionsAll.forEach(a => {\n const prod = retWorld.productionsAll.find(p => p[0].id === a[0].id);\n if (!prod) retWorld.productionsAll.push([a[0], new Decimal(a[1])]);\n else prod[1] = prod[1].plus(a[1]);\n });\n // Starting\n w.startingUnit.forEach(a => {\n const un = retWorld.startingUnit.find(p => p[0].id === a[0].id);\n if (!un) retWorld.startingUnit.push([a[0], new Decimal(a[1])]);\n else un[1] = un[1].plus(a[1]);\n });\n // Win\n w.winConditions.forEach(a => {\n const win = retWorld.winConditions.find(p => p.base.id === a.base.id);\n if (!win) retWorld.winConditions.push(new Price(a.base, a.price, 1));\n else win.price = win.price.plus(a.price.div(3));\n });\n });\n\n // Unlocked\n retWorld.startingUnlocked = uniq(\n [].concat.apply([], worlds.map(w => w.startingUnlocked))\n );\n // Malus\n retWorld.notWinConditions = uniq(\n [].concat.apply([], worlds.map(w => w.notWinConditions))\n );\n // Bugs\n retWorld.additionalBugs = uniq(\n [].concat.apply([], worlds.map(w => w.additionalBugs))\n );\n\n return retWorld;\n }\n // tslint:disable-next-line:member-ordering\n static getRandomWorld(min: Decimal, max: Decimal, game: Game): World {\n const toMerge: World[] = [];\n if (\n game.allMateries.getSum(MasteryTypes.DOUBLE_PREFIX) > 0 &&\n Math.random() > 0.3\n ) {\n toMerge.push(sample(World.prefix));\n }\n toMerge.push(\n sample(World.prefix),\n sample(World.biome),\n sample(World.suffix)\n );\n if (\n game.allMateries.getSum(MasteryTypes.DOUBLE_SUFFIX) > 0 &&\n Math.random() > 0.3\n ) {\n toMerge.push(sample(World.suffix));\n }\n const world = World.merge(toMerge);\n world.setLevel(Utility.random(min, max), game);\n\n return world;\n }\n}\n","module.exports = \"\\n\\n \\n\\n \\n \\n {{unitGroup.name}}\\n \\n \\n \\n \\n\\n \\n\\n \\n \\n \\n\\n \\n \\n\\n\\n\\n\\n\"","module.exports = \":host /deep/ app-unit-line .nav-link {\\n padding-left: 0.5rem !important;\\n padding-right: 0.35rem !important; }\\n\\n.qta {\\n float: right; }\\n\\n.fullWidth {\\n width: 100% !important; }\\n\\n:host /deep/ .clr-treenode-children {\\n margin-left: 0; }\\n\\n@media only screen and (min-width: 768px) {\\n .clr-vertical-nav {\\n width: 330px; } }\\n\\n:host /deep/ .clr-vertical-nav .nav-group-content .nav-text,\\n.clr-vertical-nav .nav-link {\\n padding-left: 0.35rem !important; }\\n\\n:host /deep/ .nav-text {\\n overflow: visible !important; }\\n\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../main.service\";\nimport { BaseUnit } from \"../model/baseUnit\";\nimport { FullUnit } from \"../model/full-unit\";\nimport { Malus } from \"../model/malus\";\nimport { UnitGroup } from \"../model/unit-group\";\ndeclare let preventScroll;\n\n@Component({\n selector: \"app-nav\",\n templateUrl: \"./nav.component.html\",\n styleUrls: [\"./nav.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-container]\": \"true\"\n }\n})\nexport class NavComponent implements OnInit, AfterViewInit {\n sub: any;\n\n constructor(public ms: MainService, private cd: ChangeDetectorRef) {}\n\n ngAfterViewInit(): void {\n if (typeof preventScroll === typeof Function) preventScroll();\n }\n ngOnInit() {\n this.sub = this.ms.updateEmitter.subscribe(m => this.cd.markForCheck());\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n\n getListId(index, list: UnitGroup) {\n return list.name;\n }\n getUnitId(index, base: BaseUnit) {\n return base.id;\n }\n isMalus(unit: FullUnit): boolean {\n return unit instanceof Malus;\n }\n}\n","module.exports = \"\\n\\n \\n \\n {{name}}\\n \\n \\n \\n \\n \\n\\n \\n \\n {{quantity | format}}\\n \\n \\n \\n {{perSec | format}}/s\\n \\n  \\n \\n \\n\\n\"","module.exports = \"@media only screen and (max-width: 768px) {\\n .resName {\\n display: inline-block;\\n padding-right: 0.5rem; }\\n a {\\n padding-left: 0.3rem; }\\n .clr-treenode-content clr-icon,\\n .clr-treenode-content .clr-icon {\\n margin-right: 0; }\\n .clr-col-xs-12 {\\n padding-left: 0 !important;\\n padding-right: 0 !important; } }\\n\\n@media only screen and (min-width: 768px) {\\n .resName {\\n display: inline-block;\\n width: 50%; }\\n a {\\n padding-left: 0.5rem; } }\\n\\n.perSec {\\n text-align: right;\\n width: 25%; }\\n\\n:host /deep/ .nav-link {\\n height: 1.1rem;\\n line-height: 1.1rem; }\\n\"","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit\n} from \"@angular/core\";\nimport { FullUnit } from \"../../model/full-unit\";\nimport { OptionsService } from \"../../options.service\";\n\n@Component({\n selector: \"app-unit-line\",\n templateUrl: \"./unit-line.component.html\",\n styleUrls: [\"./unit-line.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.fullWidth]\": \"true\"\n }\n})\nexport class UnitLineComponent implements OnInit {\n @Input()\n id: string;\n @Input()\n name: string;\n @Input()\n quantity: Decimal;\n @Input()\n perSec: Decimal;\n @Input()\n isNew: boolean;\n @Input()\n isEnding: boolean;\n @Input()\n isStopped: boolean;\n @Input()\n unit: FullUnit;\n @Input()\n team: boolean;\n @Input()\n twin: boolean;\n @Input()\n isMalus = false;\n\n constructor(public os: OptionsService) {\n //Nothing\n }\n ngOnInit() {\n //\n }\n}\n","module.exports = \"

关于

\\n

\\n 蚂蚁放置2 是一款关于蚂蚁的休闲放置游戏。\\n
游戏使用了 Angular 6 和 Clarity Design System.\\n 游戏使用的开发工具包列表.\\n

\\n\\n\\n\"","module.exports = \"\"","import { ChangeDetectionStrategy, Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"app-credits\",\n templateUrl: \"./credits.component.html\",\n styleUrls: [\"./credits.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-area]\": \"true\"\n }\n})\nexport class CreditsComponent implements OnInit {\n constructor() {}\n\n ngOnInit() {}\n}\n","module.exports = \"\\n\\n \\n \\n 保存\\n \\n \\n \\n 界面\\n \\n \\n \\n 统计\\n \\n \\n \\n 关于\\n \\n\\n\"","module.exports = \"\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n OnInit\n} from \"@angular/core\";\ndeclare let preventScroll;\n\n@Component({\n selector: \"app-options-nav\",\n templateUrl: \"./options-nav.component.html\",\n styleUrls: [\"./options-nav.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-container]\": \"true\"\n }\n})\nexport class OptionsNavComponent implements OnInit, AfterViewInit {\n constructor() {\n //Nothing\n }\n ngAfterViewInit(): void {\n if (typeof preventScroll === typeof Function) preventScroll();\n }\n ngOnInit() {\n //Nothing\n }\n}\n","module.exports = \"

保存

\\n\\n\\n \\n
\\n \\n 云存储是实验性的!建议导出备份。\\n \\n
\\n
\\n
\\n
\\n\\n
\\n \\n \\n \\n
\\n\\n
\\n \\n \\n \\n
\\n

\\n
\\n 每5分钟自动保存一次。\\n
\\n 上次保存时间: {{serv.lastSave | date:'medium' }}\\n

\\n

导出 / 导入存档

\\n\\n
\\n \\n \\n
\\n

自动保存设置

\\n
\\n \\n \\n
\\n
\\n更新日志\\n\\n\\n\\n

重置

\\n
\\n

你确定要删除所有游戏进度?

\\n
\\n
\\n \\n \\n
\\n
\\n\"","module.exports = \"\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnDestroy,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../../main.service\";\ndeclare let preventScroll;\n\n@Component({\n selector: \"app-save\",\n templateUrl: \"./save.component.html\",\n styleUrls: [\"./save.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-area]\": \"true\"\n }\n})\nexport class SaveComponent implements OnInit, OnDestroy, AfterViewInit {\n clearModal = false;\n exp = \"\";\n saveSub: any;\n\n constructor(public serv: MainService, private cd: ChangeDetectorRef) {\n //Nothing\n }\n ngAfterViewInit(): void {\n if (typeof preventScroll === typeof Function) preventScroll();\n }\n ngOnInit() {\n this.saveSub = this.serv.saveEmitter.subscribe(s => this.cd.markForCheck());\n }\n ngOnDestroy(): void {\n this.saveSub.unsubscribe();\n }\n export() {\n this.exp = this.serv.getSave();\n }\n import() {\n this.serv.import(this.exp.trim());\n }\n}\n","module.exports = \"

统计

\\n
\\n
\\n
总计:
\\n
    \\n \\n
  • \\n 经验获得总数:\\n {{ms.game.stats.totalExperience | format:true}}\\n
  • \\n
  • \\n 累计获得的能力:\\n {{ms.game.allMateries.totalEarned}}\\n
  • \\n
  • \\n 完成的世界:\\n {{ms.game.stats.completedWorld | format:true}}\\n
  • \\n
  • \\n 最佳经验/秒:\\n {{ms.game.stats.bestExpS}}\\n
  • \\n
  • \\n 游戏开始时间:\\n {{ms.game.stats.worldStartDate | date:'medium'}}\\n
  • \\n
\\n\\n
\\n
\\n
最近10个世界:
\\n \\n 开始时间\\n 结束时间\\n 名称\\n 经验\\n 经验/秒\\n 已完成\\n\\n \\n {{run.startDate | date:'medium'}}\\n {{run.endDate | date:'medium'}}\\n {{run.worldName}}\\n {{run.experience | format:true}}\\n {{run.expPerSec | format}}\\n {{run.completed}}\\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\"","module.exports = \"\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewChild\n} from \"@angular/core\";\nimport { MainService } from \"../../main.service\";\nimport { RunExpPerSecSorter, RunExpSorter } from \"../../model/utility\";\ndeclare let Chart;\ndeclare let preventScroll;\n\n@Component({\n selector: \"app-stats\",\n templateUrl: \"./stats.component.html\",\n styleUrls: [\"./stats.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-area]\": \"true\"\n }\n})\nexport class StatsComponent implements AfterViewInit {\n runExpSorter = new RunExpSorter();\n runExpPerSecSorter = new RunExpPerSecSorter();\n @ViewChild(\"chart\")\n chartRef: ElementRef;\n chart: any;\n\n constructor(public ms: MainService) {}\n\n ngAfterViewInit() {\n if (typeof preventScroll === typeof Function) preventScroll();\n setTimeout(() => {\n const chartCtx = this.chartRef.nativeElement.getContext(\"2d\");\n const totalExp = this.ms.game.stats.runs\n .map(r => r.experience)\n .reduce((a, b) => a.plus(b), new Decimal(0))\n .max(1);\n const totalTime = Math.max(\n this.ms.game.stats.runs\n .map(r => r.endDate.getTime() - r.startDate.getTime())\n .reduce((a, b) => a + b, 0),\n 1\n );\n const reverseRun = this.ms.game.stats.runs.slice().reverse();\n\n this.chart = new Chart(chartCtx, {\n type: \"bar\",\n data: {\n labels: reverseRun.map(r => r.worldName),\n datasets: [\n {\n label: \"经验 %\",\n data: reverseRun.map(r =>\n Math.floor(r.experience.div(totalExp).toNumber() * 100)\n ),\n backgroundColor: \"rgba(255, 99, 132, 0.3)\",\n borderColor: \"rgba(255,99,132,1)\",\n borderWidth: 0\n },\n {\n label: \"花费时间 %\",\n data: reverseRun.map(r =>\n Math.floor(\n ((r.endDate.getTime() - r.startDate.getTime()) * 100) /\n totalTime\n )\n ),\n backgroundColor: \"rgba(54, 162, 235, 0.3)\",\n borderColor: \"rgba(54, 162, 235, 0.3)\",\n borderWidth: 0\n }\n ]\n },\n options: {\n responsive: true,\n maintainAspectRatio: false,\n scaleShowValues: true,\n scales: {\n yAxes: [\n {\n ticks: {\n beginAtZero: true\n }\n }\n ],\n xAxes: [\n {\n ticks: {\n autoSkip: false\n }\n }\n ]\n }\n }\n });\n }, 0);\n }\n}\n","module.exports = \"

选项

\\n
\\n\\n
\\n \\n
\\n \\n \\n
\\n
\\n\\n
\\n \\n
\\n \\n
\\n
\\n\\n
\\n \\n
\\n \\n \\n
\\n
\\n\\n
\\n \\n
\\n \\n
\\n
\\n\\n
\\n \\n
\\n \\n
\\n
\\n\\n
\\n \\n
\\n \\n \\n
\\n
\\n\\n
\\n \\n
\\n \\n \\n
\\n
\\n\\n
\\n \\n
\\n \\n \\n
\\n
\\n\\n
\\n \\n
\\n \\n \\n
\\n
\\n\\n
\\n\"","module.exports = \"\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../../main.service\";\nimport { OptionsService } from \"../../options.service\";\ndeclare let preventScroll;\n\n@Component({\n selector: \"app-ui-options\",\n templateUrl: \"./ui-options.component.html\",\n styleUrls: [\"./ui-options.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-area]\": \"true\"\n }\n})\nexport class UiOptionsComponent implements OnInit, AfterViewInit {\n constructor(public ms: MainService, public os: OptionsService) {\n //\n }\n ngAfterViewInit(): void {\n if (typeof preventScroll === typeof Function) preventScroll();\n }\n ngOnInit() {\n //\n }\n onChangeMaterialPos() {\n this.ms.game.buildLists();\n }\n}\n","import { EventEmitter, Injectable } from \"@angular/core\";\ndeclare let numberformat;\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class OptionsService {\n usaFormat = true;\n numFormat = \"scientific\";\n autosaveNotification = true;\n dark = false;\n header = 6;\n materialPosition = 1;\n showI = true;\n noResourceEndPopUp = false;\n noWarpNotification = true;\n timeFormatDetail = false;\n\n formatter: any;\n formatEmitter: EventEmitter = new EventEmitter();\n headerEmitter: EventEmitter = new EventEmitter();\n\n constructor() {\n try {\n const n = 1.1;\n const separator = n.toLocaleString().substring(1, 2);\n if (separator === \",\") this.usaFormat = false;\n } catch (ex) {}\n\n this.generateFormatter();\n }\n generateFormatter() {\n try {\n this.formatter = new numberformat.Formatter({\n format: this.numFormat,\n flavor: \"short\"\n });\n } catch (ex) {\n console.log(\"Error generateFormatter:\" + ex);\n }\n if (!!this.formatEmitter) this.formatEmitter.emit(1);\n }\n\n //#regin Save and Load\n getSave(): any {\n return {\n u: this.usaFormat,\n n: this.numFormat,\n s: this.autosaveNotification,\n d: this.dark,\n h: this.header,\n m: this.materialPosition,\n i: this.showI,\n p: this.noResourceEndPopUp,\n w: this.noWarpNotification,\n t: this.timeFormatDetail\n };\n }\n restore(data: any) {\n if (\"u\" in data) this.usaFormat = data.u;\n if (\"n\" in data) this.numFormat = data.n;\n if (\"s\" in data) this.autosaveNotification = data.s;\n if (\"d\" in data) this.dark = data.d;\n if (\"h\" in data) this.header = data.h;\n if (\"m\" in data) this.materialPosition = data.m;\n if (\"i\" in data) this.showI = data.i;\n if (\"p\" in data) this.noResourceEndPopUp = data.p;\n if (\"w\" in data) this.noWarpNotification = data.w;\n if (\"t\" in data) this.timeFormatDetail = data.t;\n this.generateFormatter();\n }\n //#endregion\n}\n","module.exports = \"\\n \\n {{a | format}}/s\\n 3\\n \\n \\n +\\n {{b | format}}/s\\n 2\\n \\n \\n +\\n {{c | format}}/s \\n\\n\"","module.exports = \"sup {\\n left: -0.6em; }\\n\"","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit\n} from \"@angular/core\";\n/**\n * Display polynom\n * a t^3 + b t^2 + ct\n *\n * @export\n * @class PolynomComponent\n * @implements {OnInit}\n */\n@Component({\n selector: \"app-polynom\",\n templateUrl: \"./polynom.component.html\",\n styleUrls: [\"./polynom.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PolynomComponent implements OnInit {\n @Input()\n a: Decimal;\n @Input()\n b: Decimal;\n @Input()\n c: Decimal;\n\n constructor() {\n //Nothing\n }\n\n ngOnInit() {\n //Nothing\n }\n}\n","module.exports = \"
\\n \\n
\\n\"","module.exports = \"\"","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../main.service\";\nimport { Prestige } from \"../model/prestige/prestige\";\nimport { Price } from \"../model/price\";\n\n@Component({\n selector: \"app-prestige-buy\",\n templateUrl: \"./prestige-buy.component.html\",\n styleUrls: [\"./prestige-buy.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.card]\": \"true\"\n }\n})\nexport class PrestigeBuyComponent implements OnInit {\n @Input()\n prestige: Prestige;\n sub: any;\n\n constructor(public ms: MainService, private cd: ChangeDetectorRef) {}\n\n ngOnInit() {\n if (this.prestige) this.prestige.reload();\n this.sub = this.ms.updateEmitter.subscribe(m => {\n this.prestige.reload();\n this.prestige.reloadUserPrices();\n this.cd.markForCheck();\n });\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n getPriceId(index, price: Price) {\n return price.base.id;\n }\n}\n","module.exports = \"
\\n

\\n {{prestigeGroup.name}}\\n

\\n
\\n \\n
\\n
\\n\"","module.exports = \"\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n OnInit\n} from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { MainService } from \"../main.service\";\nimport { Prestige } from \"../model/prestige/prestige\";\nimport { PrestigeGroup } from \"../model/prestige/prestige-group\";\ndeclare let preventScroll;\n\n@Component({\n selector: \"app-prestige-group\",\n templateUrl: \"./prestige-group.component.html\",\n styleUrls: [\"./prestige-group.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-area]\": \"true\"\n }\n})\nexport class PrestigeGroupComponent\n implements OnInit, OnDestroy, AfterViewInit {\n paramsSub: any;\n prestigeGroup: PrestigeGroup;\n\n constructor(public ms: MainService, private route: ActivatedRoute) {}\n ngAfterViewInit(): void {\n if (typeof preventScroll === typeof Function) preventScroll();\n }\n ngOnInit() {\n this.paramsSub = this.route.params.subscribe(this.getGroup.bind(this));\n }\n ngOnDestroy() {\n this.paramsSub.unsubscribe();\n }\n\n getGroup(params: any) {\n let id = params.id;\n if (id === undefined) id = \"fol\";\n const grp = this.ms.game.allPrestige.prestigeGroups.find(g => g.id === id);\n this.prestigeGroup = !!grp\n ? grp\n : this.ms.game.allPrestige.prestigeGroups[0];\n }\n\n getPretId(index: number, prestige: Prestige) {\n return index + prestige.id;\n }\n}\n","module.exports = \"\\n\\n\\n\\n \\n 经验:\\n {{ms.game.experience.quantity | format}}\\n \\n\\n \\n \\n {{gr.name}}\\n \\n\\n\"","module.exports = \"\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../main.service\";\nimport { PrestigeGroup } from \"../model/prestige/prestige-group\";\ndeclare let preventScroll;\n@Component({\n selector: \"app-prestige-nav\",\n templateUrl: \"./prestige-nav.component.html\",\n styleUrls: [\"./prestige-nav.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-container]\": \"true\"\n }\n})\nexport class PrestigeNavComponent implements OnInit, AfterViewInit {\n constructor(public ms: MainService) {\n //\n }\n ngAfterViewInit(): void {\n if (typeof preventScroll === typeof Function) preventScroll();\n }\n ngOnInit() {\n //\n }\n getGroupId(index: number, group: PrestigeGroup) {\n return index + group.list[0].id;\n }\n}\n","module.exports = \"
\\n\\n \\n \\n\\n

旅行到一个新世界\\n \\n

\\n\\n \\n
\\n \\n 旅行需要先完成研究旅行科技。\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n

\\n 你需要:\\n

\\n
\\n
\\n {{price.base.name}}\\n \\n {{price.base.quantity | format:true}}/{{price.price | format:true}}\\n \\n
\\n\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n\\n
0\\\">\\n
\\n
\\n

\\n 你必须杀死:\\n

\\n
    \\n
  • \\n \\n \\n {{malus.name}}\\n \\n
  • \\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n
\\n\"","module.exports = \"h6 {\\n margin-top: 0.1rem; }\\n\\n.malusIcon {\\n height: 1.5rem;\\n width: 1.5rem; }\\n\\n.ok {\\n color: #318700; }\\n\\n.no {\\n color: #e62700; }\\n\\n.winLabel {\\n margin-bottom: 0.4rem; }\\n\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnDestroy,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../main.service\";\nimport { Malus } from \"../model/malus\";\nimport { Price } from \"../model/price\";\ndeclare let preventScroll;\n\n@Component({\n selector: \"app-prestige\",\n templateUrl: \"./prestige.component.html\",\n styleUrls: [\"./prestige.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-container]\": \"true\"\n }\n})\nexport class PrestigeComponent implements OnInit, OnDestroy, AfterViewInit {\n sub: any;\n skip = false;\n\n constructor(public ms: MainService, private cd: ChangeDetectorRef) {}\n\n ngAfterViewInit(): void {\n if (typeof preventScroll === typeof Function) preventScroll();\n }\n ngOnInit() {\n this.sub = this.ms.updateEmitter.subscribe(() => {\n this.ms.game.currentWorld.winConditions.forEach(w => w.reloadPercent());\n this.cd.markForCheck();\n });\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n getPriceId(index: number, price: Price) {\n return \"\" + index + price.base.id;\n }\n getMalusId(index: number, malus: Malus) {\n return \"\" + index + malus.id;\n }\n}\n","module.exports = \"\\n \\n

{{production.product.name}}:

\\n
    \\n
  • \\n 基础产量: {{production.ratio | format}}\\n
  • \\n
  • \\n 可操作性: {{production.producer.efficiency}}%\\n
  • \\n
  • \\n 团队加成: +{{production.producer.bonus.times(100) | format}}%\\n
  • \\n
\\n
0\\\">\\n
附加奖励:
\\n
    \\n
  • \\n {{bon.unit.name}}: +{{bon.getBonusPercent() | format }}%\\n
  • \\n
  • \\n {{bon.unit.name}}: +{{bon.getBonusPercent() | format }}%\\n
  • \\n
  • \\n {{bon.unit.name}}: +{{bon.getBonusPercent() | format }}%\\n
  • \\n
\\n
\\n
\\n
\\n\"","module.exports = \"button {\\n line-height: 0.9rem; }\\n\\n:host /deep/ .list {\\n margin-top: 0; }\\n\"","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../main.service\";\nimport { Production } from \"../model/production\";\nimport { ProductionBonus } from \"../model/production-bonus\";\n\n@Component({\n selector: \"app-production-signposts\",\n templateUrl: \"./production-signposts.component.html\",\n styleUrls: [\"./production-signposts.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProductionSignpostsComponent implements OnInit {\n @Input()\n production: Production;\n open = false;\n\n productionsAll = new Array();\n productionsEfficiency = new Array();\n productionsBonus = new Array();\n\n constructor(public ms: MainService) {\n //\n }\n\n ngOnInit() {\n this.productionsAll = new Array();\n this.productionsEfficiency = new Array();\n this.productionsBonus = new Array();\n\n if (this.production) {\n this.productionsAll = this.production.producer.productionsAll.filter(bn =>\n bn.isActive()\n );\n if (this.production.ratio.gt(0)) {\n this.productionsEfficiency = this.production.producer.productionsEfficiency.filter(\n bn => bn.isActive()\n );\n this.productionsBonus = this.production.product.productionsBonus.filter(\n bn => bn.isActive()\n );\n }\n }\n }\n\n getProdID(index, bon: ProductionBonus) {\n return bon.unit.id + bon.quantity.toNumber();\n }\n}\n","module.exports = \"\\n {{name}}\\n\\n\\n {{quantity | roman}}\\n\\n\\n {{quantity | format:true}}\\n\\n\"","module.exports = \"\"","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit\n} from \"@angular/core\";\n\n@Component({\n selector: \"app-name\",\n templateUrl: \"./name.component.html\",\n styleUrls: [\"./name.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NameComponent implements OnInit {\n @Input()\n name = \"\";\n @Input()\n unlimited = false;\n @Input()\n quantity = new Decimal(0);\n\n constructor() {\n //\n }\n\n ngOnInit() {\n //\n }\n}\n","module.exports = \"
\\n
\\n \\n
\\n
\\n {{research.description}}\\n
\\n
\\n 花费: \\n \\n \\n\\n
\\n \\n \\n
\\n\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n\"","module.exports = \"\"","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../main.service\";\nimport { Price } from \"../model/price\";\nimport { Research } from \"../model/research\";\n\n@Component({\n selector: \"app-research\",\n templateUrl: \"./research.component.html\",\n styleUrls: [\"./research.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.card]\": \"true\"\n }\n})\nexport class ResearchComponent implements OnInit, OnDestroy {\n @Input()\n research: Research;\n sub: any;\n\n minuteSkip = 1;\n canSkip = false;\n\n constructor(public ms: MainService, private cd: ChangeDetectorRef) {\n //Nothing\n }\n\n ngOnInit() {\n this.checkSkip();\n this.sub = this.ms.updateEmitter.subscribe(m => {\n this.research.reloadUserPrices();\n this.research.reloadAvailableTime();\n this.checkSkip();\n this.cd.markForCheck();\n });\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n getPriceId(index, price: Price) {\n return price.base.id;\n }\n checkSkip() {\n this.canSkip = false;\n\n if (!this.research.canBuy) {\n this.minuteSkip = Math.ceil(\n Math.max(this.research.availableIn / 60000, 1)\n );\n this.canSkip = this.ms.game.time.quantity.gt(this.minuteSkip * 60);\n }\n }\n skip() {\n if (this.canSkip) this.ms.game.actMin.buy(new Decimal(this.minuteSkip));\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { Utility } from \"./model/utility\";\n\n@Pipe({\n name: \"roman\"\n})\nexport class RomanPipe implements PipeTransform {\n transform(num: Decimal, args?: any): any {\n num = num.floor();\n return Utility.convertToRoman(num.toNumber());\n }\n}\n","module.exports = \"
{{title}}
\\n
\\n \\n
\\n\"","module.exports = \"\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n ViewChild\n} from \"@angular/core\";\nimport { MainService } from \"../../main.service\";\nimport { CONSTS } from \"../../model/CONSTANTS\";\nimport { FullUnit } from \"../../model/full-unit\";\ndeclare let Chart;\n\n@Component({\n selector: \"app-made-by-chart\",\n templateUrl: \"./made-by-chart.component.html\",\n styleUrls: [\"./made-by-chart.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MadeByChartComponent\n implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n @Input()\n unit: FullUnit;\n @Input()\n consumers = false;\n\n @ViewChild(\"chart\")\n chartRef: ElementRef;\n @ViewChild(\"pieContainer\")\n pieContainerRef: ElementRef;\n chart: any;\n sub: any;\n title = \"\";\n\n constructor(public ms: MainService, private cd: ChangeDetectorRef) {\n //\n }\n\n ngOnInit() {\n this.sub = this.ms.updateEmitter.subscribe(m => this.updateData);\n }\n ngOnDestroy(): void {\n this.sub.unsubscribe();\n }\n\n ngOnChanges() {\n this.title =\n (this.consumers ? \"消耗比例\" : \"生产比例\") + \" % 关于 \" + this.unit.name;\n this.updateData(true);\n }\n\n ngAfterViewInit() {\n setTimeout(this.initChart.bind(this), 0.1);\n }\n initChart() {\n this.chartRef.nativeElement.width = this.pieContainerRef.nativeElement.clientWidth;\n this.chartRef.nativeElement.height = this.pieContainerRef.nativeElement.clientHeight;\n const canvas = this.chartRef.nativeElement;\n canvas.width = canvas.height * (canvas.clientWidth / canvas.clientHeight);\n Chart.defaults.global.tooltips.enabled = false;\n const chartCtx = this.chartRef.nativeElement.getContext(\"2d\");\n\n this.chart = new Chart(chartCtx, {\n type: \"pie\",\n data: {\n labels: [],\n datasets: [\n {\n data: [],\n backgroundColor: CONSTS.CHART_COLORS.backgroundColor,\n borderColor: CONSTS.CHART_COLORS.borderColor,\n borderWidth: 0\n }\n ]\n },\n options: {\n responsive: true,\n maintainAspectRatio: false,\n legend: { position: \"right\" }\n }\n });\n this.updateData();\n }\n\n updateData(force = false) {\n if (!this.chart) return;\n\n const activeProducer = this.unit.producedBy.filter(\n p =>\n p.producer.unlocked &&\n p.producer.quantity.gt(0) &&\n ((!this.consumers && p.ratio.gt(0)) ||\n (this.consumers && p.ratio.lt(0)))\n );\n\n const labels = activeProducer.map(p => p.producer.name);\n if (this.chart.data.labels.length !== labels.length || force) {\n this.chart.data.labels = labels;\n }\n const total = activeProducer\n .map(p => p.prodPerSec.times(p.producer.quantity))\n .reduce((p, n) => p.plus(n), new Decimal(0));\n\n const data = activeProducer.map(p =>\n Math.floor(\n p.prodPerSec\n .times(p.producer.quantity)\n .div(total)\n .toNumber() * 100\n )\n );\n\n if (data.length !== this.chart.data.datasets[0].data || force) {\n this.chart.data.datasets[0].data = data;\n this.chart.update();\n this.cd.markForCheck();\n } else {\n const len = data.length;\n let i = 0;\n for (i = 0; i < len; i++) {\n if (data[i] !== this.chart.data.datasets[0].data) break;\n }\n if (i < len) {\n this.chart.data.datasets[0].data = data;\n this.chart.update();\n this.cd.markForCheck();\n }\n }\n }\n}\n","module.exports = \"
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\"","module.exports = \"\"","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../../main.service\";\nimport { AutoBuy } from \"../../model/autoBuy/auto-buy\";\nimport { FullUnit } from \"../../model/full-unit\";\n\n@Component({\n selector: \"app-unit-auto-buy\",\n templateUrl: \"./unit-auto-buy.component.html\",\n styleUrls: [\"./unit-auto-buy.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UnitAutoBuyComponent implements OnInit, OnChanges {\n @Input()\n unit: FullUnit;\n autoBuyers = Array();\n\n constructor(public ms: MainService) {\n this.ms.lastTab = 2;\n }\n\n ngOnInit() {\n //\n }\n\n ngOnChanges() {\n this.autoBuyers = [];\n if (\n this.unit.buyAction &&\n this.unit.buyAction.autoBuyer &&\n this.ms.game.allPrestige.autoBuyUnlock.autoBuyQuantity.done\n ) {\n this.autoBuyers.push(this.unit.buyAction.autoBuyer);\n }\n\n if (\n this.unit.teamAction &&\n this.unit.teamAction.autoBuyer &&\n this.ms.game.allPrestige.autoBuyUnlock.autoBuyTeam.done\n ) {\n this.autoBuyers.push(this.unit.teamAction.autoBuyer);\n }\n\n if (\n this.unit.twinAction &&\n this.unit.twinAction.autoBuyer &&\n this.ms.game.allPrestige.autoBuyUnlock.autoBuyTwin.done\n ) {\n this.autoBuyers.push(this.unit.twinAction.autoBuyer);\n }\n }\n\n getAutoBuyId(index: number, autoBuy: AutoBuy) {\n return autoBuy.id;\n }\n}\n","module.exports = \"

{{unit.name}}

\\n\\n\\n\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n\\n\\n\"","module.exports = \":host /deep/ clr-tabs ul {\\n margin-top: -0.4rem; }\\n\"","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnInit\n} from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { MainService } from \"../main.service\";\nimport { FullUnit } from \"../model/full-unit\";\ndeclare let preventScroll;\n\n@Component({\n selector: \"app-unit-tabs\",\n templateUrl: \"./unit-tabs.component.html\",\n styleUrls: [\"./unit-tabs.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.content-area]\": \"true\"\n }\n})\nexport class UnitTabsComponent implements OnInit, AfterViewInit {\n overviewActive = true;\n paramsSub: any;\n sub: any;\n unit: FullUnit;\n constructor(\n public ms: MainService,\n private route: ActivatedRoute,\n private cd: ChangeDetectorRef\n ) {\n this.ms.overviewTaActive = this.ms.lastTab === 0;\n this.ms.prestigeTaActive = this.ms.lastTab !== 0;\n }\n ngAfterViewInit(): void {\n if (typeof preventScroll === typeof Function) preventScroll();\n }\n ngOnInit() {\n this.paramsSub = this.route.params.subscribe(this.getUnit.bind(this));\n this.sub = this.ms.updateEmitter.subscribe(() => this.cd.markForCheck());\n }\n ngOnDestroy() {\n this.paramsSub.unsubscribe();\n this.sub.unsubscribe();\n }\n getUnit(params: any) {\n let id = params.id;\n if (id === undefined) {\n id = this.ms.game.materials.food.id;\n }\n const b = this.ms.game.units.find(u => u.id === id);\n if (b instanceof FullUnit) {\n this.unit = b;\n this.unit.isNew = false;\n this.ms.game.lastUnitUrl = \"nav/unit/\" + b.id;\n this.unit.getRandomDescription();\n }\n this.cd.markForCheck();\n }\n}\n","module.exports = \"
\\n
\\n
\\n\\n
{{unit.description}}
\\n\\n

0\\\">\\n 你购买了这个 {{unit.buyAction.quantity | format}} 次; 奖励加成: + {{unit.bonus.times(100) | format}}%\\n

\\n\\n

\\n 产量:\\n \\n

\\n\\n \\n \\n \\n 耗尽: {{unit.endIn | endIn}}\\n \\n \\n \\n\\n \\n \\n \\n {{malus.name}} 正在导致\\n {{malus.priceMultiplier.minus(1).times(100) | format}} %\\n \\n \\n \\n {{malus.malusType.name}}\\n \\n 价格增长.\\n \\n \\n \\n\\n
0 && !malus\\\">\\n 工作者比例: {{unit.efficiency | format}} %\\n\\n \\n
\\n\\n \\n \\n \\n\\n
\\n \\n \\n
\\n\\n
\\n
\\n
0\\\">\\n
\\n {{unit.name}} 生产:\\n
\\n \\n 名称\\n 每个单位的产量/秒\\n 总产量\\n\\n \\n \\n \\n {{product.product.name}}\\n \\n \\n \\n \\n {{product.prodPerSec | format}}\\n \\n \\n \\n \\n {{product.prodPerSec.times(unit.quantity) | format}}\\n \\n \\n \\n\\n \\n \\n {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} of {{pagination.totalItems}}\\n \\n \\n\\n \\n
\\n\\n
0\\\">\\n
\\n {{unit.name}} 产量来自:\\n
\\n \\n 名字\\n 每个单位的产量/秒\\n 总产量\\n\\n \\n \\n \\n {{producer.producer.name}}\\n \\n \\n \\n \\n {{producer.prodPerSec | format}}\\n \\n \\n \\n \\n {{producer.prodPerSec.times(producer.producer.quantity) | format}}\\n \\n \\n\\n \\n \\n {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} of {{pagination.totalItems}}\\n \\n \\n\\n \\n
\\n\\n
\\n
\\n
\\n\"","module.exports = \".clr-row {\\n margin-left: 0;\\n margin-right: 0; }\\n\\napp-production-signposts {\\n float: right;\\n margin-bottom: -0.45rem;\\n margin-top: -0.45rem; }\\n\\n.inline {\\n display: inline; }\\n\\nh5 {\\n margin-bottom: 8px;\\n margin-top: 8px; }\\n\"","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnChanges,\n OnDestroy,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../../main.service\";\nimport { Action } from \"../../model/action\";\nimport { FullUnit } from \"../../model/full-unit\";\nimport { Helper } from \"../../model/helper\";\nimport { Malus } from \"../../model/malus\";\nimport { Production } from \"../../model/production\";\nimport { ProductionSorter, TotalProductionSorter } from \"../../model/utility\";\n\n@Component({\n selector: \"app-unit\",\n templateUrl: \"./unit.component.html\",\n styleUrls: [\"./unit.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UnitComponent implements OnInit, OnDestroy, OnChanges {\n @Input()\n unit: FullUnit;\n\n paramsSub: any;\n sub: any;\n malus: Malus;\n helper: Helper;\n prodSorter = new ProductionSorter();\n totalProdSorter = new TotalProductionSorter();\n\n activeProduct = new Array();\n activeProducer = new Array();\n\n autoBuyModal = false;\n madeChart = false;\n\n constructor(public ms: MainService, private cd: ChangeDetectorRef) {\n this.ms.lastTab = 0;\n }\n\n ngOnInit() {\n // this.paramsSub = this.route.params.subscribe(this.getUnit.bind(this));\n this.sub = this.ms.updateEmitter.subscribe(() => this.cd.markForCheck());\n }\n ngOnDestroy() {\n // this.paramsSub.unsubscribe();\n this.sub.unsubscribe();\n }\n ngOnChanges() {\n this.getUnit();\n }\n getUnit() {\n if (this.unit instanceof FullUnit) {\n this.unit.isNew = false;\n this.malus = this.unit instanceof Malus ? this.unit : null;\n this.helper = this.unit instanceof Helper ? this.unit : null;\n\n this.activeProduct = this.unit.produces.filter(p => p.product.unlocked);\n this.activeProducer = this.unit.producedBy.filter(\n p => p.producer.unlocked\n );\n if (this.unit.buyAction) this.unit.buyAction.reloadUserPrices();\n if (this.unit.teamAction && this.ms.game.researches.team2.done) {\n this.unit.teamAction.reloadUserPrices();\n }\n if (this.unit.twinAction && this.ms.game.researches.twin.done) {\n this.unit.twinAction.reloadUserPrices();\n }\n }\n this.madeChart = this.ms.game.materials.list.includes(this.unit);\n this.cd.markForCheck();\n }\n getActId(action: Action) {\n return action.id + this.unit.id;\n }\n openAutoBuyModal() {\n this.autoBuyModal = true;\n }\n}\n","module.exports = \"
\\n

{{world.name}} ({{world.level |format:true}})

\\n 经验:\\n {{world.prestige | format:true}}\\n \\n
    \\n
  • \\n {{getBugName(bug)}}\\n
  • \\n
  • \\n {{bon[0].name }} + {{bon[0].usedForProductionBonus[0].getBonusPercentForNum(bon[1]) |format }}%\\n
  • \\n
  • \\n {{bon[0].name }} + {{bon[0].usedForProductionBonus[0].getBonusPercentForNum(bon[1]) |format }}%\\n
  • \\n
  • \\n {{bon[0].name }} + {{bon[0].usedForProductionBonus[0].getBonusPercentForNum(bon[1]) |format }}%\\n
  • \\n
  • \\n {{unl.name}} 可用.\\n
  • \\n
  • \\n {{start[1] | format}} x {{start[0].name}}\\n {{start[0].name}} 可用。\\n
  • \\n
\\n\\n 胜利条件:\\n
    \\n
  • \\n {{win.price | format:true}} {{win.base.name}}\\n
  • \\n
\\n\\n
0\\\">\\n 敌人:\\n
    \\n
  • \\n {{mal.name}}\\n
  • \\n
\\n
\\n\\n
\\n\"","module.exports = \"\"","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit\n} from \"@angular/core\";\nimport { MainService } from \"../main.service\";\nimport { BaseUnit } from \"../model/baseUnit\";\nimport { BugTypes } from \"../model/bugsTypes\";\nimport { FullUnit } from \"../model/full-unit\";\nimport { Malus } from \"../model/malus\";\nimport { Price } from \"../model/price\";\nimport { Research } from \"../model/research\";\nimport { STRINGS } from \"../model/strings\";\nimport { World } from \"../model/world\";\n\n@Component({\n selector: \"app-world\",\n templateUrl: \"./world.component.html\",\n styleUrls: [\"./world.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n \"[class.card]\": \"true\",\n \"[class.clickable]\": \"cantTravel\"\n }\n})\nexport class WorldComponent implements OnInit {\n @Input()\n world: World;\n @Input()\n cantTravel = true;\n\n travelMessage = false;\n\n constructor(public ms: MainService) {\n //\n }\n\n ngOnInit() {\n //\n }\n\n openModal() {\n if (this.cantTravel) this.ms.worldEmitter.emit(this.world);\n }\n getBugName(bug: BugTypes) {\n return bug in STRINGS.bug ? STRINGS.bug[bug] : \"\";\n }\n\n getBonusId(index, bonus: [BaseUnit, Decimal]) {\n return bonus[0].id + bonus[1].toNumber();\n }\n getResearchId(index, resarch: Research) {\n return index + resarch.id;\n }\n getStartId(index, bonus: [FullUnit, Decimal]) {\n return bonus[0].id + bonus[1].toNumber();\n }\n getWinId(index, price: Price) {\n return index + price.base.id + price.price.toString();\n }\n getMalusId(index, malus: Malus) {\n return index + malus.id;\n }\n getBugId(index, bug: BugTypes) {\n return index + bug;\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * In development mode, to ignore zone related error stack frames such as\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\n * import the following file, but please comment it out in production mode\n * because it will have performance impact when throw error\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from \"@angular/core\";\nimport { platformBrowserDynamic } from \"@angular/platform-browser-dynamic\";\n\nimport { AppModule } from \"./app/app.module\";\nimport { environment } from \"./environments/environment\";\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n // tslint:disable-next-line:no-console\n .catch(err => console.log(err));\n"],"sourceRoot":""}