cookie clicker but bigger
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 

1005 lines
21 KiB

  1. "use strict";
  2. const resourceTypes = {
  3. "food": {
  4. name: "Food"
  5. }
  6. }
  7. const buildings = {
  8. "micro": {
  9. "name": "Micro",
  10. "plural": "Micros",
  11. "desc": "A tasty, squirmy treat.",
  12. "cost": 1e1,
  13. "prod": 1e-1/1,
  14. "icon": "fa-universal-access"
  15. },
  16. "anthro": {
  17. "name": "Anthro",
  18. "plural": "Anthros",
  19. "desc": "Something more substantial to sate your hunger.",
  20. "cost": 1e2,
  21. "prod": 1e0/1.1,
  22. "icon": "fa-male"
  23. },
  24. "car": {
  25. "name": "Car",
  26. "plural": "Cars",
  27. "desc": "Crunchy shell, tasty center.",
  28. "cost": 1.2e3,
  29. "prod": 1e1/1.2,
  30. "icon": "fa-car"
  31. },
  32. "bus": {
  33. "name": "Bus",
  34. "plural": "Buses",
  35. "desc": "Probably the worst place to be when a macro is aroud.",
  36. "cost": 1.4e4,
  37. "prod": 1e2/1.3,
  38. "icon": "fa-bus"
  39. },
  40. "house": {
  41. "name": "House",
  42. "plural": "Houses",
  43. "desc": "Home sweet home - but it doesn't taste sweet?",
  44. "cost": 1.6e5,
  45. "prod": 1e3/1.4,
  46. "icon": "fa-home"
  47. },
  48. "apartment": {
  49. "name": "Apartment",
  50. "plural": "Apartments",
  51. "desc": "More snacks, less packaging.",
  52. "cost": 1.8e6,
  53. "prod": 1e4/1.5,
  54. "icon": "fa-building"
  55. },
  56. "block": {
  57. "name": "Block",
  58. "plural": "Blocks",
  59. "desc": "A whole pile of buildings.",
  60. "cost": 2e7,
  61. "prod": 1e5/1.6,
  62. "icon": "fa-warehouse"
  63. },
  64. "town": {
  65. "name": "Town",
  66. "plural": "Towns",
  67. "desc": "'Tourist trap' has never been this literal.",
  68. "cost": 2.2e8,
  69. "prod": 1e6/1.7,
  70. "icon": "fa-store"
  71. },
  72. "city": {
  73. "name": "City",
  74. "plural": "Cities",
  75. "desc": "Please no sitty on our city.",
  76. "cost": 2.4e9,
  77. "prod": 1e7/1.8,
  78. "icon": "fa-city"
  79. },
  80. "metro": {
  81. "name": "Metropolis",
  82. "plural": "Metropolises",
  83. "desc": "A big ol' city. Tasty, too.",
  84. "cost": 2.6e10,
  85. "prod": 1e8/1.9,
  86. "icon": "fa-landmark"
  87. },
  88. "county": {
  89. "name": "County",
  90. "plural": "Counties",
  91. "desc": "Why salt the land when you can slurp it?",
  92. "cost": 2.8e11,
  93. "prod": 1e9/2,
  94. "icon": "fa-map"
  95. },
  96. "state": {
  97. "name": "State",
  98. "plural": "States",
  99. "desc": "The United States is made up of...43 states - no, 42...",
  100. "cost": 3e12,
  101. "prod": 1e10/2.1,
  102. "icon": "fa-map-signs"
  103. },
  104. "country": {
  105. "name": "Country",
  106. "plural": "Countries",
  107. "desc": "One nation, under paw.",
  108. "cost": 3.2e13,
  109. "prod": 1e11/2.2,
  110. "icon": "fa-flag"
  111. },
  112. "continent": {
  113. "name": "Continent",
  114. "plural": "Continents",
  115. "desc": "Earth-shattering appetite!",
  116. "cost": 3.4e14,
  117. "prod": 1e12/2.3,
  118. "icon": "fa-mountain"
  119. },
  120. "planet": {
  121. "name": "Planet",
  122. "plural": "Planets",
  123. "desc": "Earth appetite!",
  124. "cost": 3.6e15,
  125. "prod": 1e13/2.4,
  126. "icon": "fa-globe-europe"
  127. },
  128. "solar-system": {
  129. "name": "Solar System",
  130. "plural": "Solar Systems",
  131. "desc": "Earths appetite!",
  132. "cost": 3.8e16,
  133. "prod": 1e14/2.5,
  134. "icon": "fa-meteor"
  135. },
  136. "galaxy": {
  137. "name": "Galaxy",
  138. "plural": "Galaxy",
  139. "desc": "In a galaxy far, far down your gullet...",
  140. "cost": 4.0e17,
  141. "prod": 1e15/2.6,
  142. "icon": "fa-sun"
  143. },
  144. "universe": {
  145. "name": "Universe",
  146. "plural": "Universes",
  147. "desc": "Into the you-verse.",
  148. "cost": 4.2e18,
  149. "prod": 1e16/2.7,
  150. "icon": "fa-asterisk"
  151. },
  152. "multiverse": {
  153. "name": "Multiverse",
  154. "plural": "Multiverses",
  155. "desc": "This is getting very silly.",
  156. "cost": 4.4e19,
  157. "prod": 1e17/2.8,
  158. "icon": "fa-infinity"
  159. }
  160. }
  161. const effect_types = {
  162. "prod": {
  163. "apply": function(effect, productivity) {
  164. return productivity * effect.amount;
  165. },
  166. "desc": function(effect) {
  167. return round(effect.amount, 2) + "x food production from " + buildings[effect.target].plural;
  168. }
  169. },
  170. "prod-all": {
  171. "apply": function(effect, productivity) {
  172. return productivity * effect.amount;
  173. },
  174. "desc": function(effect) {
  175. return round((effect.amount - 1) * 100) + "% increase to food production";
  176. }
  177. },
  178. "helper": {
  179. "apply": function(effect, productivity, helperCount) {
  180. return productivity * (1 + effect.amount * helperCount);
  181. },
  182. "desc": function(effect) {
  183. return "+" + round(effect.amount * 100) + "% food/sec from " + buildings[effect.helped].name + " for every " + buildings[effect.helper].name + " owned.";
  184. }
  185. },
  186. "click": {
  187. "apply": function(effect, bonus, productivity) {
  188. return bonus + productivity * effect.amount;
  189. },
  190. "desc": function(effect) {
  191. return round(effect.amount * 100) + "% of food/sec gained per click";
  192. }
  193. },
  194. "click-victim": {
  195. "desc": function(effect) {
  196. return "Devour larger prey";
  197. }
  198. }
  199. }
  200. let upgrades = {
  201. }
  202. function createTemplateUpgrades() {
  203. createProdUpgrades();
  204. createProdAllUpgrades();
  205. createClickUpgrades();
  206. createHelperUpgrades();
  207. createClickVictimUpgrades();
  208. }
  209. const prodUpgradeCounts = [1, 5, 10, 25, 50, 75, 100];
  210. function createProdUpgrades() {
  211. for (const [key, value] of Object.entries(prodUpgradeText)) {
  212. let counter = 1;
  213. let prefix = key + "-prod-";
  214. for (let contents of value) {
  215. upgrades[prefix + counter] = {
  216. "name": contents.name,
  217. "desc": contents.desc,
  218. "icon": buildings[key].icon,
  219. "cost": {
  220. "food": buildings[key].cost * 5 * Math.pow(10,counter - 1)
  221. },
  222. "effects": [
  223. {
  224. "type": "prod",
  225. "amount": 2 + (counter - 1) * 0.25,
  226. "target": key
  227. }
  228. ]
  229. };
  230. upgrades[prefix + counter]["prereqs"] = {};
  231. upgrades[prefix + counter]["prereqs"]["buildings"] = {};
  232. upgrades[prefix + counter]["prereqs"]["buildings"][key] = prodUpgradeCounts[counter - 1];
  233. if (counter > 1) {
  234. upgrades[prefix + counter]["prereqs"]["upgrades"] = [
  235. prefix + (counter - 1)
  236. ];
  237. }
  238. counter += 1;
  239. }
  240. }
  241. }
  242. function createProdAllUpgrades() {
  243. let prefix = "prod-all-"
  244. let counter = 1;
  245. for (let contents of prodAllUpgradeText) {
  246. upgrades[prefix + counter] = {
  247. "name": contents.name,
  248. "desc": contents.desc,
  249. "icon": "fa-cogs",
  250. "cost": {
  251. "food": 5 * Math.pow(10, counter+1)
  252. },
  253. "effects": [
  254. {
  255. "type": "prod-all",
  256. "amount": 1.05
  257. }
  258. ],
  259. "prereqs": {
  260. "productivity": {
  261. "food": Math.pow(10, counter)
  262. }
  263. }
  264. };
  265. if (counter > 1) {
  266. upgrades[prefix + counter]["prereqs"].upgrades = [
  267. prefix + (counter - 1)
  268. ];
  269. }
  270. counter += 1;
  271. }
  272. }
  273. function createClickUpgrades() {
  274. let prefix = "prod-click-";
  275. let counter = 1 ;
  276. for (let contents of clickUpgradeText) {
  277. upgrades[prefix + counter] = {
  278. name: contents.name,
  279. desc: contents.desc,
  280. icon: "fa-hand-pointer",
  281. cost: {
  282. food: Math.pow(10, (counter*2)+1)
  283. },
  284. effects: [
  285. {
  286. type: "click",
  287. amount: 0.01
  288. }
  289. ],
  290. prereqs: {
  291. productivity: {
  292. food: Math.pow(10, counter)
  293. }
  294. }
  295. };
  296. if (counter > 1) {
  297. upgrades[prefix + counter]["prereqs"].upgrades = [
  298. prefix + (counter - 1)
  299. ];
  300. }
  301. counter += 1;
  302. }
  303. }
  304. function createHelperUpgrades() {
  305. const infix = "-help-";
  306. Object.entries(helperUpgradeText).forEach(([helper, helpees]) => {
  307. const prefix = helper;
  308. Object.entries(helpees).forEach(([helped, texts]) => {
  309. const suffix = helped;
  310. let counter = 1;
  311. for (let text of texts) {
  312. const key = prefix + infix + suffix + "-" + counter;
  313. console.log(key);
  314. upgrades[key] = {
  315. "name": text.name,
  316. "desc": text.desc,
  317. "icon": "fa-hand-holding",
  318. "cost": {
  319. "food": buildings[helper].cost * 25 * counter + buildings[helped].cost * 50 * counter
  320. },
  321. "effects": [
  322. {
  323. "type": "helper",
  324. "helper": helper,
  325. "helped": helped,
  326. "amount": 0.01 * counter
  327. }
  328. ],
  329. "prereqs": {
  330. "buildings": {
  331. },
  332. "upgrades": [
  333. helper + "-prod-1"
  334. ]
  335. }
  336. };
  337. upgrades[key]["prereqs"]["buildings"][helper] = 10 * counter;
  338. if (counter > 1) {
  339. upgrades[key]["prereqs"]["upgrades"].push(prefix + infix + suffix + "-" + (counter - 1) )
  340. }
  341. counter += 1;
  342. }
  343. });
  344. });
  345. }
  346. function createClickVictimUpgrades() {
  347. const prefix = "click-";
  348. let counter = 1;
  349. let previous = "micro";
  350. Object.entries(clickVictimUpgradeText).forEach(([key, text]) => {
  351. upgrades[prefix + key] = {
  352. "name": text.name,
  353. "desc": text.desc,
  354. "icon": buildings[key].icon,
  355. "cost": {
  356. "food": 1000 * Math.pow(10, counter)
  357. },
  358. "effects": [
  359. {
  360. "type": "click-victim",
  361. "id": key
  362. }
  363. ],
  364. "prereqs": {
  365. "upgrades": [
  366. ]
  367. }
  368. };
  369. if (counter > 1) {
  370. upgrades[prefix + key].prereqs.upgrades.push(prefix + previous);
  371. }
  372. counter += 1;
  373. previous = key;
  374. });
  375. }
  376. let prodUpgradeText = {
  377. "micro": [
  378. {
  379. "name": "Bigger Micros",
  380. "desc": "A macro micro? It's more filling, for sure.",
  381. },
  382. {
  383. "name": "Beefy Micros",
  384. "desc": "25% more protein, 10% fewer carbs."
  385. },
  386. {
  387. "name": "Delicious Micros",
  388. "desc": "Betcha' can't eat just one."
  389. },
  390. {
  391. "name": "Irresistable Micros",
  392. "desc": "Genetically engineered to be delectable."
  393. },
  394. {
  395. "name": "Exquisite Micros",
  396. "desc": "Dangerously delicious."
  397. }
  398. ],
  399. "anthro": [
  400. {
  401. "name": "Willing Prey",
  402. "desc": "Why bother chasing down your meal?"
  403. },
  404. {
  405. "name": "Fattened Prey",
  406. "desc": "9 calories per gram!"
  407. },
  408. {
  409. "name": "Mesmerized Prey",
  410. "desc": "Why bother walking to your meal?"
  411. },
  412. {
  413. "name": "Food-Safe Lubricant",
  414. "desc": "Ease them down your gullet with ease. Thanks, chemistry!"
  415. },
  416. {
  417. "name": "Mandatory Meal Training",
  418. "desc": "Educating prey on basic food etiquette helps reduce maw congestion and speeds digestion by 27%."
  419. }
  420. ],
  421. "car": [
  422. {
  423. "name": "HOV Lane",
  424. "desc": "Think of the environment! And of your impending digestion, I guess."
  425. },
  426. {
  427. "name": "Lightweight Frames",
  428. "desc": "Although crunchy, the shell around the snacks isn't very appetizing."
  429. },
  430. {
  431. "name": "Traffic Engineering",
  432. "desc": "Maximizing throughput into your gullet."
  433. },
  434. {
  435. "name": "Super Highways",
  436. "desc": "Six lanes! Fresh pavement! A ravenous maw!"
  437. },
  438. {
  439. "name": "Stacked Cars",
  440. "desc": "When we couldn't make the roads any wider, we tried stacking the cars higher."
  441. }
  442. ],
  443. "bus": [
  444. {
  445. "name": "Bus Passes",
  446. "desc": "Save on greenhouse emissions. Save your predator's effort. Everyone wins!"
  447. },
  448. {
  449. "name": "Double Deckers",
  450. "desc": "Stack 'em up! Slurp 'em down!"
  451. },
  452. {
  453. "name": "Articulated Buses",
  454. "desc": "The bend really helps them slip down your throat."
  455. },
  456. {
  457. "name": "Tour Buses",
  458. "desc": "People come from around the world to see your intestinal tract.",
  459. },
  460. {
  461. "name": "Double Double Deckers",
  462. "desc": "Hard to swallow, true, but filling nonetheless."
  463. }
  464. ],
  465. "house": [
  466. {
  467. "name": "Second Story",
  468. "desc": "Twice as many snacks, half as much chewing."
  469. },
  470. {
  471. "name": "Remodeling",
  472. "desc": "Strip out that icky asbestos."
  473. },
  474. {
  475. "name": "Smaller Yards",
  476. "desc": "Less wasted space. More wasted homes."
  477. },
  478. {
  479. "name": "House Parties",
  480. "desc": "More people! More party! More prey!"
  481. },
  482. {
  483. "name": "Suburbia",
  484. "desc": "It's like a buffet line!"
  485. }
  486. ],
  487. "apartment": [
  488. {
  489. "name": "Rent Subsidies",
  490. "desc": "Encourage high-density living. Enjoy the result."
  491. },
  492. {
  493. "name": "High-Rises",
  494. "desc": "These sure are some Tilted Towers..."
  495. },
  496. {
  497. "name": "Reverse Eviction",
  498. "desc": "Forcibly putting people IN your lunch!"
  499. },
  500. {
  501. "name": "Higher High-Rises",
  502. "desc": "Almost as tall as you! Almost."
  503. },
  504. {
  505. "name": "Vertical Beds",
  506. "desc": "You can fit way more people in a studio apartment with this one weird tip..."
  507. }
  508. ],
  509. "block": [
  510. {
  511. "name": "Street Sweepers",
  512. "desc": "Keeps the gunk off the sidewalk, and thus, off your tongue."
  513. },
  514. {
  515. "name": "Zoning Laws",
  516. "desc": "Mandatory prey-per-square-meter requirements."
  517. },
  518. {
  519. "name": "Alleyway Appetizers",
  520. "desc": "You can fit people *between* the buildings."
  521. },
  522. {
  523. "name": "Block Party",
  524. "desc": "Everyone's invited!"
  525. },
  526. {
  527. "name": "Vertical Blocks",
  528. "desc": "There's no reason you can't stack them on top of each other, right?"
  529. }
  530. ],
  531. "town": [
  532. {
  533. "name": "Going to Town",
  534. "desc": "That's where the food is."
  535. },
  536. {
  537. "name": "Going to Town, II: Revelations",
  538. "desc": "That's where the food is, again."
  539. },
  540. {
  541. "name": "Going to Town 0: Origins",
  542. "desc": "That's where the food was."
  543. },
  544. {
  545. "name": "Going to Town III: Revengeance",
  546. "desc": "Look, it's just how nature works. Food gets ate."
  547. },
  548. {
  549. "name": "Going to Town IV: Endgame",
  550. "desc": "Food IS something one considers when eating the universe."
  551. }
  552. ],
  553. "city": [
  554. {
  555. "name": "Gridlock",
  556. "desc": "Keeps people within arm's reach."
  557. },
  558. {
  559. "name": "Skyscrapers",
  560. "desc": "Corn on the cob? Corn on the cob."
  561. },
  562. {
  563. "name": "Protest March",
  564. "desc": "\"We have rights!\" chants the crowd. Unfortunately, they also have calories."
  565. },
  566. {
  567. "name": "Urban Sprawl",
  568. "desc": "What a lovely spread of Hors d'oeuvres!"
  569. },
  570. {
  571. "name": "Sim City",
  572. "desc": "You wouldn't download a city."
  573. }
  574. ],
  575. "metro": [
  576. {
  577. "name": "metro-1",
  578. "desc": ""
  579. },
  580. {
  581. "name": "metro-2",
  582. "desc": ""
  583. },
  584. {
  585. "name": "metro-3",
  586. "desc": ""
  587. },
  588. {
  589. "name": "metro-4",
  590. "desc": ""
  591. },
  592. {
  593. "name": "metro-5",
  594. "desc": ""
  595. }
  596. ],
  597. "county": [
  598. {
  599. "name": "County Roads",
  600. "desc": "Eh, close enough."
  601. },
  602. {
  603. "name": "county-2",
  604. "desc": ""
  605. },
  606. {
  607. "name": "county-3",
  608. "desc": ""
  609. },
  610. {
  611. "name": "county-4",
  612. "desc": ""
  613. },
  614. {
  615. "name": "county-5",
  616. "desc": ""
  617. }
  618. ],
  619. "state": [
  620. {
  621. "name": "state-1",
  622. "desc": ""
  623. },
  624. {
  625. "name": "state-2",
  626. "desc": ""
  627. },
  628. {
  629. "name": "state-3",
  630. "desc": ""
  631. },
  632. {
  633. "name": "state-4",
  634. "desc": ""
  635. },
  636. {
  637. "name": "state-5",
  638. "desc": ""
  639. }
  640. ],
  641. "country": [
  642. {
  643. "name": "Country Roads",
  644. "desc": "Take me hooooooome / to the plaaaaaace / where GULP"
  645. },
  646. {
  647. "name": "country-2",
  648. "desc": ""
  649. },
  650. {
  651. "name": "country-3",
  652. "desc": ""
  653. },
  654. {
  655. "name": "country-4",
  656. "desc": ""
  657. },
  658. {
  659. "name": "country-5",
  660. "desc": ""
  661. }
  662. ],
  663. "continent": [
  664. {
  665. "name": "continent-1",
  666. "desc": ""
  667. },
  668. {
  669. "name": "continent-2",
  670. "desc": ""
  671. },
  672. {
  673. "name": "continent-3",
  674. "desc": ""
  675. },
  676. {
  677. "name": "continent-4",
  678. "desc": ""
  679. },
  680. {
  681. "name": "continent-5",
  682. "desc": ""
  683. }
  684. ],
  685. "planet": [
  686. {
  687. "name": "planet-1",
  688. "desc": ""
  689. },
  690. {
  691. "name": "planet-2",
  692. "desc": ""
  693. },
  694. {
  695. "name": "planet-3",
  696. "desc": ""
  697. },
  698. {
  699. "name": "planet-4",
  700. "desc": ""
  701. },
  702. {
  703. "name": "planet-5",
  704. "desc": ""
  705. }
  706. ],
  707. "solar-system": [
  708. {
  709. "name": "solar-system-1",
  710. "desc": ""
  711. },
  712. {
  713. "name": "solar-system-2",
  714. "desc": ""
  715. },
  716. {
  717. "name": "solar-system-3",
  718. "desc": ""
  719. },
  720. {
  721. "name": "solar-system-4",
  722. "desc": ""
  723. },
  724. {
  725. "name": "solar-system-5",
  726. "desc": ""
  727. }
  728. ],
  729. "galaxy": [
  730. {
  731. "name": "galaxy-1",
  732. "desc": ""
  733. },
  734. {
  735. "name": "galaxy-2",
  736. "desc": ""
  737. },
  738. {
  739. "name": "galaxy-3",
  740. "desc": ""
  741. },
  742. {
  743. "name": "galaxy-4",
  744. "desc": ""
  745. },
  746. {
  747. "name": "galaxy-5",
  748. "desc": ""
  749. }
  750. ],
  751. "universe": [
  752. {
  753. "name": "universe-1",
  754. "desc": ""
  755. },
  756. {
  757. "name": "universe-2",
  758. "desc": ""
  759. },
  760. {
  761. "name": "universe-3",
  762. "desc": ""
  763. },
  764. {
  765. "name": "universe-4",
  766. "desc": ""
  767. },
  768. {
  769. "name": "universe-5",
  770. "desc": ""
  771. }
  772. ],
  773. "multiverse": [
  774. {
  775. "name": "multiverse-1",
  776. "desc": ""
  777. },
  778. {
  779. "name": "multiverse-2",
  780. "desc": ""
  781. },
  782. {
  783. "name": "multiverse-3",
  784. "desc": ""
  785. },
  786. {
  787. "name": "multiverse-4",
  788. "desc": ""
  789. },
  790. {
  791. "name": "multiverse-5",
  792. "desc": ""
  793. }
  794. ],
  795. }
  796. let prodAllUpgradeText = [
  797. {
  798. "name": "Sloth Metabolism",
  799. "desc": "Burn those calories. Eventually."
  800. },
  801. {
  802. "name": "Decent Metabolism",
  803. "desc": "Picking up the pace."
  804. },
  805. {
  806. "name": "Perky Metabolism",
  807. "desc": "Sweat a little."
  808. },
  809. {
  810. "name": "Quick Metabolism",
  811. "desc": "Burn those calories."
  812. },
  813. {
  814. "name": "Speedy Metabolism",
  815. "desc": "More prey, more power."
  816. },
  817. {
  818. "name": "Fast Metabolism",
  819. "desc": "You're a furnace. Fueled by people."
  820. },
  821. {
  822. "name": "Powerful Metabolism",
  823. "desc": "Digest them all."
  824. },
  825. {
  826. "name": "Unbelievable Metabolism",
  827. "desc": "Digest them all and more."
  828. },
  829. {
  830. "name": "Supernatural Metabolism",
  831. "desc": "Digest everything."
  832. },
  833. {
  834. "name": "Godly Metabolism",
  835. "desc": "Digest."
  836. }
  837. ]
  838. const clickUpgradeText = [
  839. {
  840. "name": "Grabby Hands",
  841. "desc": "Gathers prey, opens rooftops"
  842. },
  843. {
  844. "name": "Long Tongue",
  845. "desc": "Catches stragglers, tastes architecture"
  846. },
  847. {
  848. "name": "Sharp Eyes",
  849. "desc": "Spots snacks, probably unblinking"
  850. },
  851. {
  852. "name": "Sensitive Nose",
  853. "desc": "Sniffs meals, savors scents"
  854. },
  855. {
  856. "name": "Sensitive Ears",
  857. "desc": "Hears screams, finds leftovers"
  858. },
  859. {
  860. "name": "Greedy Hands",
  861. "desc": "Hoards prey, no leftovers"
  862. },
  863. {
  864. "name": "Nimble Tongue",
  865. "desc": "Snares snacks, without escape"
  866. },
  867. {
  868. "name": "Eagle Eyes",
  869. "desc": "Scans streets, always keen"
  870. },
  871. {
  872. "name": "Keen Nose",
  873. "desc": "Finds prey, never fooled"
  874. },
  875. {
  876. "name": "Perfect Ears",
  877. "desc": "Senses scuttles, won't relent"
  878. },
  879. ]
  880. const helperUpgradeText = {
  881. "anthro": {
  882. "micro": [
  883. {
  884. "name": "Gatherers",
  885. "desc": "Why bother chasing them, really?"
  886. },
  887. {
  888. "name": "Servants",
  889. "desc": "Why bother walking anywhere, really?"
  890. },
  891. ]
  892. }
  893. }
  894. const clickVictimUpgradeText = {
  895. "anthro": {
  896. "name": "Same-Size Prey",
  897. "desc": "Devour an anthro with every click"
  898. },
  899. "car": {
  900. "name": "Car Crusher",
  901. "desc": "Consume a car with every click"
  902. },
  903. "bus": {
  904. "name": "Bus Buffet",
  905. "desc": "Swallow an entire bus with every click"
  906. },
  907. "house": {
  908. "name": "Homewrecker",
  909. "desc": "Eat a home with every click"
  910. },
  911. "apartment": {
  912. "name": "Rent-Seeker",
  913. "desc": "Guzzle an apartment with every click"
  914. },
  915. "block": {
  916. "name": "Block Breaker",
  917. "desc": "Gulp an entire block with every click"
  918. },
  919. "town": {
  920. "name": "Town Terrorizer",
  921. "desc": "Bolt down a whole town with every click"
  922. },
  923. "city": {
  924. "name": "City Cafe",
  925. "desc": "Feast on an entire city with every click"
  926. },
  927. "metro": {
  928. "name": "Metro Muncher",
  929. "desc": "Polish off a metropolis with every click"
  930. },
  931. "county": {
  932. "name": "County Glurk",
  933. "desc": "Ingest an entire county with every click"
  934. },
  935. "state": {
  936. "name": "Stomached State",
  937. "desc": "Gobble an entire state with every click"
  938. },
  939. "country": {
  940. "name": "Country Chow",
  941. "desc": "Erase a country with every click"
  942. },
  943. "continent": {
  944. "name": "Continental Drift",
  945. "desc": "Chow down on a continent with every click"
  946. },
  947. "planet": {
  948. "name": "Popcorn Planets",
  949. "desc": "Ingest a planet whole with every click"
  950. },
  951. "solar-system": {
  952. "name": "Solar Snacks",
  953. "desc": "Dine on whole solar systems with every click"
  954. },
  955. "galaxy": {
  956. "name": "Galactic Center",
  957. "desc": "Dispatch a galaxy with every click"
  958. },
  959. "universe": {
  960. "name": "Universal Predator",
  961. "desc": "Digest a universe with every click"
  962. },
  963. "multiverse": {
  964. "name": "Omniscience",
  965. "desc": "Gorge on the multiverse"
  966. }
  967. };