Guest User

theme.lua

a guest
Nov 23rd, 2023
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.72 KB | None | 0 0
  1. -- theme.lua
  2.  
  3. themes = {}
  4. themes.registered = {}
  5. themes.registeredByID = {}
  6.  
  7. function themes:registerNew(data)
  8. table.insert(themes.registered, data)
  9.  
  10. themes.registeredByID[data.id] = data
  11. end
  12.  
  13. function themes:registerGenreMatch(themeID, genreID, matchMultiplier)
  14. themes.registeredByID[themeID].match[genreID] = matchMultiplier
  15. end
  16.  
  17. function themes:registerGenreReviewAffector(themeID, genreID, reviewAffector)
  18. themes.registeredByID[themeID].reviewAffector[genreID] = reviewAffector
  19. end
  20.  
  21. function themes:postLoadedMods()
  22. for key, genreData in ipairs(genres.registered) do
  23. local id = genreData.id
  24.  
  25. for key, themeData in ipairs(self.registered) do
  26. if not themeData.match[id] then
  27. themeData.match[id] = 1
  28. end
  29.  
  30. if not themeData.reviewAffector[id] then
  31. themeData.reviewAffector[id] = 1
  32. end
  33. end
  34. end
  35. end
  36.  
  37. function themes:verifyMatchForGenre(genreData)
  38. local id = genreData.id
  39.  
  40. for key, themeData in ipairs(self.registered) do
  41. if not themeData.match[id] then
  42. themeData.match[id] = 1
  43. end
  44.  
  45. if not themeData.reviewAffector[id] then
  46. themeData.reviewAffector[id] = 1
  47. end
  48. end
  49. end
  50.  
  51. function themes:getName(themeID)
  52. return themes.registeredByID[themeID].display
  53. end
  54.  
  55. function themes:getData(themeID)
  56. return themes.registeredByID[themeID]
  57. end
  58.  
  59. function themes:getMatch(gameProj)
  60. local genre, theme = gameProj:getGenre(), gameProj:getTheme()
  61. local themeData = themes.registeredByID[theme]
  62.  
  63. return themeData.match[genre]
  64. end
  65.  
  66. local revealedGenre = {}
  67.  
  68. function themes:getRevealedGenreMatching(genre)
  69. table.clearArray(revealedGenre)
  70.  
  71. for key, themeData in ipairs(themes.registered) do
  72. if studio:isGameQualityMatchRevealed(studio.CONTRIBUTION_REVEAL_TYPES.THEME_MATCHING, themeData.id, genre) then
  73. revealedGenre[#revealedGenre + 1] = themeData
  74. end
  75. end
  76.  
  77. return revealedGenre
  78. end
  79.  
  80. local researchedThemes = {}
  81.  
  82. function themes:getResearchedThemes()
  83. table.clearArray(researchedThemes)
  84.  
  85. for key, themeData in ipairs(themes.registered) do
  86. if studio:isThemeResearched(themeData.id) then
  87. researchedThemes[#researchedThemes + 1] = themeData
  88. end
  89. end
  90.  
  91. return researchedThemes
  92. end
  93.  
  94. local unresearchedThemes = {}
  95.  
  96. function themes:getUnresearchedThemes()
  97. table.clearArray(unresearchedThemes)
  98.  
  99. for key, themeData in ipairs(themes.registered) do
  100. if not studio:isThemeResearched(themeData.id) then
  101. unresearchedThemes[#unresearchedThemes + 1] = themeData
  102. end
  103. end
  104.  
  105. return unresearchedThemes
  106. end
  107.  
  108. local inUseResearchThemes = {}
  109.  
  110. function themes:getValidResearchThemes()
  111. local designTask = task:getData("design_task")
  112.  
  113. for key, employeeObj in ipairs(studio:getEmployees()) do
  114. local task = employeeObj:getTask()
  115.  
  116. if task and task:getID() == designTask.id and task:getDesignType() == designTask.TYPES.THEME then
  117. inUseResearchThemes[task:getResearchID()] = true
  118. end
  119. end
  120.  
  121. table.clearArray(unresearchedThemes)
  122.  
  123. for key, themeData in ipairs(themes.registered) do
  124. if not studio:isThemeResearched(themeData.id) and not inUseResearchThemes[themeData.id] then
  125. unresearchedThemes[#unresearchedThemes + 1] = themeData
  126. end
  127. end
  128.  
  129. table.clear(inUseResearchThemes)
  130.  
  131. return unresearchedThemes
  132. end
  133.  
  134. function themes:areAllThemesResearched()
  135. for key, themeData in ipairs(themes.registered) do
  136. if not studio:isThemeResearched(themeData.id) then
  137. return false
  138. end
  139. end
  140.  
  141. return true
  142. end
  143.  
  144. function themes:preserveOriginalMatches()
  145. self.originalMatches = {}
  146.  
  147. for key, data in ipairs(themes.registered) do
  148. self.originalMatches[data.id] = {}
  149.  
  150. local matchList = self.originalMatches[data.id]
  151. local matching = data.match
  152.  
  153. for key, genreData in ipairs(genres.registered) do
  154. matchList[genreData.id] = matching[genreData.id]
  155. end
  156. end
  157. end
  158.  
  159. function themes:restoreMatches()
  160. for key, data in ipairs(themes.registered) do
  161. local matchList = self.originalMatches[data.id]
  162. local matching = data.match
  163.  
  164. for key, genreData in ipairs(genres.registered) do
  165. matching[genreData.id] = matchList[genreData.id]
  166. end
  167. end
  168. end
  169.  
  170. function themes:randomizeMatches()
  171. self:preserveOriginalMatches()
  172.  
  173. local keyList, matchList, genreMatchCorrelationList = {}, {}, {}
  174.  
  175. for key, data in ipairs(themes.registered) do
  176. for key, genreData in ipairs(genres.registered) do
  177. keyList[#keyList + 1] = genreData.id
  178. matchList[#matchList + 1] = data.match[genreData.id]
  179. genreMatchCorrelationList[#genreMatchCorrelationList + 1] = genreData.id
  180. end
  181.  
  182. data.replacedMatches = {}
  183.  
  184. while #keyList > 0 do
  185. local randomGenre = table.remove(keyList, math.random(1, #keyList))
  186. local randomMatchIndex = math.random(1, #matchList)
  187. local randomMatch = table.remove(matchList, randomMatchIndex)
  188. local selectedGenreReplacement = table.remove(genreMatchCorrelationList, randomMatchIndex)
  189.  
  190. data.match[randomGenre] = randomMatch
  191. data.replacedMatches[#data.replacedMatches + 1] = {
  192. from = selectedGenreReplacement,
  193. to = randomGenre
  194. }
  195. end
  196. end
  197. end
  198.  
  199. function themes:saveMatches()
  200. local saved = {}
  201.  
  202. for key, data in ipairs(themes.registered) do
  203. saved[#saved + 1] = {
  204. id = data.id,
  205. replacedMatches = data.replacedMatches
  206. }
  207. end
  208.  
  209. return saved
  210. end
  211.  
  212. function themes:loadMatches(data)
  213. self:preserveOriginalMatches()
  214.  
  215. for key, themeData in ipairs(data) do
  216. local targetTheme = themes.registeredByID[themeData.id]
  217.  
  218. if targetTheme then
  219. local originalMatches = self.originalMatches[themeData.id]
  220.  
  221. if themeData.replacedMatches then
  222. for key, replacementData in ipairs(themeData.replacedMatches) do
  223. targetTheme.match[replacementData.to] = originalMatches[replacementData.from]
  224. end
  225.  
  226. targetTheme.replacedMatches = themeData.replacedMatches
  227. end
  228. end
  229. end
  230. end
  231.  
  232. themes.MATCH_GOOD = 1.1
  233. themes.MATCH_VERY_GOOD = 1.25
  234. themes.MATCH_PERFECT = 1.35
  235. themes.REVIEW_MATCH_NORMAL = 0
  236. themes.REVIEW_MATCH_GOOD = 0.05
  237. themes.REVIEW_MATCH_VERY_GOOD = 0.1
  238.  
  239. themes:registerNew({
  240. id = "military",
  241. display = _T("THEME_MILITARY", "Military"),
  242. match = {
  243. fighting = 1,
  244. racing = 1,
  245. sandbox = 0.75,
  246. horror = 1,
  247. adventure = 1,
  248. rpg = 0.75,
  249. action = themes.MATCH_VERY_GOOD,
  250. simulation = themes.MATCH_GOOD,
  251. strategy = themes.MATCH_GOOD
  252. },
  253. reviewAffector = {
  254. action = themes.REVIEW_MATCH_VERY_GOOD,
  255. fighting = themes.REVIEW_MATCH_NORMAL,
  256. adventure = themes.REVIEW_MATCH_NORMAL,
  257. horror = themes.REVIEW_MATCH_NORMAL,
  258. simulation = themes.REVIEW_MATCH_GOOD,
  259. strategy = themes.REVIEW_MATCH_GOOD,
  260. rpg = themes.REVIEW_MATCH_NORMAL,
  261. sandbox = themes.REVIEW_MATCH_NORMAL,
  262. racing = themes.REVIEW_MATCH_NORMAL
  263. }
  264. })
  265. themes:registerNew({
  266. id = "government",
  267. display = _T("THEME_GOVERNMENT", "Government"),
  268. match = {
  269. fighting = 1,
  270. racing = 1,
  271. action = 1,
  272. sandbox = 0.75,
  273. strategy = 0.75,
  274. horror = 1,
  275. rpg = 0.75,
  276. adventure = themes.MATCH_VERY_GOOD,
  277. simulation = themes.MATCH_GOOD
  278. },
  279. reviewAffector = {
  280. action = themes.REVIEW_MATCH_NORMAL,
  281. fighting = themes.REVIEW_MATCH_NORMAL,
  282. adventure = themes.REVIEW_MATCH_VERY_GOOD,
  283. horror = themes.REVIEW_MATCH_NORMAL,
  284. simulation = themes.REVIEW_MATCH_GOOD,
  285. strategy = themes.REVIEW_MATCH_NORMAL,
  286. rpg = themes.REVIEW_MATCH_NORMAL,
  287. sandbox = themes.REVIEW_MATCH_NORMAL,
  288. racing = themes.REVIEW_MATCH_NORMAL
  289. }
  290. })
  291. themes:registerNew({
  292. id = "undercover",
  293. display = _T("THEME_UNDERCOVER", "Spy thriller"),
  294. match = {
  295. fighting = 1,
  296. racing = 1,
  297. sandbox = 0.75,
  298. strategy = 1,
  299. simulation = 1,
  300. horror = 1,
  301. rpg = 0.75,
  302. action = themes.MATCH_VERY_GOOD,
  303. adventure = themes.MATCH_VERY_GOOD
  304. },
  305. reviewAffector = {
  306. action = themes.REVIEW_MATCH_VERY_GOOD,
  307. fighting = themes.REVIEW_MATCH_NORMAL,
  308. adventure = themes.REVIEW_MATCH_VERY_GOOD,
  309. horror = themes.REVIEW_MATCH_NORMAL,
  310. simulation = themes.REVIEW_MATCH_NORMAL,
  311. strategy = themes.REVIEW_MATCH_NORMAL,
  312. rpg = themes.REVIEW_MATCH_NORMAL,
  313. sandbox = themes.REVIEW_MATCH_NORMAL,
  314. racing = themes.REVIEW_MATCH_NORMAL
  315. }
  316. })
  317. themes:registerNew({
  318. id = "medieval",
  319. display = _T("THEME_MEDIEVAL", "Medieval"),
  320. match = {
  321. fighting = 0.75,
  322. racing = 0.75,
  323. sandbox = 1,
  324. simulation = 1,
  325. horror = 1,
  326. action = themes.MATCH_GOOD,
  327. adventure = themes.MATCH_GOOD,
  328. strategy = themes.MATCH_GOOD,
  329. rpg = themes.MATCH_VERY_GOOD
  330. },
  331. reviewAffector = {
  332. action = themes.REVIEW_MATCH_GOOD,
  333. fighting = themes.REVIEW_MATCH_NORMAL,
  334. adventure = themes.REVIEW_MATCH_GOOD,
  335. horror = themes.REVIEW_MATCH_NORMAL,
  336. simulation = themes.REVIEW_MATCH_NORMAL,
  337. strategy = themes.REVIEW_MATCH_GOOD,
  338. rpg = themes.REVIEW_MATCH_VERY_GOOD,
  339. sandbox = themes.REVIEW_MATCH_NORMAL,
  340. racing = themes.REVIEW_MATCH_NORMAL
  341. }
  342. })
  343. themes:registerNew({
  344. id = "scifi",
  345. display = _T("THEME_SCIFI", "Sci-fi"),
  346. match = {
  347. fighting = 1,
  348. racing = 0.9,
  349. action = 1,
  350. sandbox = 1,
  351. adventure = 0.75,
  352. horror = themes.MATCH_GOOD,
  353. simulation = themes.MATCH_GOOD,
  354. strategy = themes.MATCH_VERY_GOOD,
  355. rpg = themes.MATCH_GOOD
  356. },
  357. reviewAffector = {
  358. action = themes.REVIEW_MATCH_NORMAL,
  359. fighting = themes.REVIEW_MATCH_NORMAL,
  360. adventure = themes.REVIEW_MATCH_NORMAL,
  361. horror = themes.REVIEW_MATCH_GOOD,
  362. simulation = themes.REVIEW_MATCH_GOOD,
  363. strategy = themes.REVIEW_MATCH_VERY_GOOD,
  364. rpg = themes.REVIEW_MATCH_GOOD,
  365. sandbox = themes.REVIEW_MATCH_NORMAL,
  366. racing = themes.REVIEW_MATCH_NORMAL
  367. }
  368. })
  369. themes:registerNew({
  370. id = "fantasy",
  371. display = _T("THEME_FANTASY", "Fantasy"),
  372. match = {
  373. fighting = 1,
  374. racing = 1,
  375. action = 1,
  376. sandbox = 1,
  377. simulation = 1,
  378. horror = 1,
  379. adventure = themes.MATCH_GOOD,
  380. strategy = themes.MATCH_VERY_GOOD,
  381. rpg = themes.MATCH_GOOD
  382. },
  383. reviewAffector = {
  384. action = themes.REVIEW_MATCH_NORMAL,
  385. fighting = themes.REVIEW_MATCH_NORMAL,
  386. adventure = themes.REVIEW_MATCH_GOOD,
  387. horror = themes.REVIEW_MATCH_NORMAL,
  388. simulation = themes.REVIEW_MATCH_NORMAL,
  389. strategy = themes.REVIEW_MATCH_VERY_GOOD,
  390. rpg = themes.REVIEW_MATCH_GOOD,
  391. sandbox = themes.REVIEW_MATCH_NORMAL,
  392. racing = themes.REVIEW_MATCH_NORMAL
  393. }
  394. })
  395. themes:registerNew({
  396. id = "hospital",
  397. display = _T("THEME_HOSPITAL", "Hospital"),
  398. match = {
  399. fighting = 0.75,
  400. racing = 0.75,
  401. action = 0.75,
  402. sandbox = 0.5,
  403. adventure = 1,
  404. rpg = 0.75,
  405. horror = themes.MATCH_VERY_GOOD,
  406. simulation = themes.MATCH_GOOD,
  407. strategy = themes.MATCH_GOOD
  408. },
  409. reviewAffector = {
  410. action = themes.REVIEW_MATCH_NORMAL,
  411. fighting = themes.REVIEW_MATCH_NORMAL,
  412. adventure = themes.REVIEW_MATCH_NORMAL,
  413. horror = themes.REVIEW_MATCH_VERY_GOOD,
  414. simulation = themes.REVIEW_MATCH_GOOD,
  415. strategy = themes.REVIEW_MATCH_GOOD,
  416. rpg = themes.REVIEW_MATCH_NORMAL,
  417. sandbox = themes.REVIEW_MATCH_NORMAL,
  418. racing = themes.REVIEW_MATCH_NORMAL
  419. }
  420. })
  421. themes:registerNew({
  422. id = "wilderness",
  423. display = _T("THEME_WILDERNESS", "Wilderness"),
  424. match = {
  425. fighting = 0.75,
  426. racing = 1,
  427. action = 0.75,
  428. strategy = 1,
  429. simulation = 0.75,
  430. adventure = 1,
  431. rpg = 0.75,
  432. horror = themes.MATCH_GOOD,
  433. sandbox = themes.MATCH_VERY_GOOD
  434. },
  435. reviewAffector = {
  436. action = themes.REVIEW_MATCH_NORMAL,
  437. fighting = themes.REVIEW_MATCH_NORMAL,
  438. adventure = themes.REVIEW_MATCH_NORMAL,
  439. horror = themes.REVIEW_MATCH_GOOD,
  440. simulation = themes.REVIEW_MATCH_NORMAL,
  441. strategy = themes.REVIEW_MATCH_NORMAL,
  442. rpg = themes.REVIEW_MATCH_NORMAL,
  443. sandbox = themes.REVIEW_MATCH_VERY_GOOD,
  444. racing = themes.REVIEW_MATCH_NORMAL
  445. }
  446. })
  447. themes:registerNew({
  448. id = "postapoc",
  449. display = _T("THEME_POSTAPOCALYPTIC", "Post-apocalyptic"),
  450. match = {
  451. fighting = 1,
  452. racing = 1,
  453. strategy = 1,
  454. simulation = 1,
  455. adventure = 1,
  456. action = themes.MATCH_GOOD,
  457. horror = themes.MATCH_GOOD,
  458. rpg = themes.MATCH_GOOD,
  459. sandbox = themes.MATCH_VERY_GOOD
  460. },
  461. reviewAffector = {
  462. action = themes.REVIEW_MATCH_GOOD,
  463. fighting = themes.REVIEW_MATCH_NORMAL,
  464. adventure = themes.REVIEW_MATCH_NORMAL,
  465. horror = themes.REVIEW_MATCH_GOOD,
  466. simulation = themes.REVIEW_MATCH_NORMAL,
  467. strategy = themes.REVIEW_MATCH_NORMAL,
  468. rpg = themes.REVIEW_MATCH_GOOD,
  469. sandbox = themes.REVIEW_MATCH_VERY_GOOD,
  470. racing = themes.REVIEW_MATCH_NORMAL
  471. }
  472. })
  473. themes:registerNew({
  474. id = "urban",
  475. display = _T("THEME_URBAN", "Urban"),
  476. match = {
  477. fighting = 1,
  478. strategy = 1,
  479. horror = 0.75,
  480. adventure = 1,
  481. action = themes.MATCH_GOOD,
  482. simulation = themes.MATCH_VERY_GOOD,
  483. rpg = themes.MATCH_GOOD,
  484. sandbox = themes.MATCH_GOOD,
  485. racing = themes.MATCH_GOOD
  486. },
  487. reviewAffector = {
  488. action = themes.REVIEW_MATCH_GOOD,
  489. fighting = themes.REVIEW_MATCH_NORMAL,
  490. adventure = themes.REVIEW_MATCH_NORMAL,
  491. horror = themes.REVIEW_MATCH_NORMAL,
  492. simulation = themes.REVIEW_MATCH_VERY_GOOD,
  493. strategy = themes.REVIEW_MATCH_NORMAL,
  494. rpg = themes.REVIEW_MATCH_GOOD,
  495. sandbox = themes.REVIEW_MATCH_GOOD,
  496. racing = themes.REVIEW_MATCH_GOOD
  497. }
  498. })
  499. themes:registerNew({
  500. id = "worldwar",
  501. display = _T("THEME_WORLD_WAR", "World war"),
  502. match = {
  503. fighting = 0.75,
  504. racing = 0.75,
  505. sandbox = 1,
  506. simulation = 1,
  507. rpg = 1,
  508. action = themes.MATCH_VERY_GOOD,
  509. adventure = themes.MATCH_GOOD,
  510. horror = themes.MATCH_GOOD,
  511. strategy = themes.MATCH_GOOD
  512. },
  513. reviewAffector = {
  514. action = themes.REVIEW_MATCH_VERY_GOOD,
  515. fighting = themes.REVIEW_MATCH_NORMAL,
  516. adventure = themes.REVIEW_MATCH_GOOD,
  517. horror = themes.REVIEW_MATCH_GOOD,
  518. simulation = themes.REVIEW_MATCH_NORMAL,
  519. strategy = themes.REVIEW_MATCH_GOOD,
  520. rpg = themes.REVIEW_MATCH_NORMAL,
  521. sandbox = themes.REVIEW_MATCH_NORMAL,
  522. racing = themes.REVIEW_MATCH_NORMAL
  523. }
  524. })
  525. themes:registerNew({
  526. id = "gamedev",
  527. display = _T("THEME_GAME_DEV", "Game dev"),
  528. match = {
  529. fighting = 0.75,
  530. racing = 0.75,
  531. action = 1,
  532. sandbox = 1,
  533. rpg = 0.75,
  534. adventure = themes.MATCH_GOOD,
  535. horror = themes.MATCH_VERY_GOOD,
  536. simulation = themes.MATCH_VERY_GOOD,
  537. strategy = themes.MATCH_GOOD
  538. },
  539. reviewAffector = {
  540. action = themes.REVIEW_MATCH_NORMAL,
  541. fighting = themes.REVIEW_MATCH_NORMAL,
  542. adventure = themes.REVIEW_MATCH_GOOD,
  543. horror = themes.REVIEW_MATCH_VERY_GOOD,
  544. simulation = themes.REVIEW_MATCH_VERY_GOOD,
  545. strategy = themes.REVIEW_MATCH_GOOD,
  546. rpg = themes.REVIEW_MATCH_NORMAL,
  547. sandbox = themes.REVIEW_MATCH_NORMAL,
  548. racing = themes.REVIEW_MATCH_NORMAL
  549. }
  550. })
  551. themes:registerNew({
  552. id = "cyberpunk",
  553. display = _T("THEME_CYBERPUNK", "Cyberpunk"),
  554. match = {
  555. fighting = 0.75,
  556. racing = 0.75,
  557. sandbox = 1,
  558. strategy = 1,
  559. simulation = 1,
  560. horror = 1,
  561. action = themes.MATCH_GOOD,
  562. adventure = themes.MATCH_GOOD,
  563. rpg = themes.MATCH_VERY_GOOD
  564. },
  565. reviewAffector = {
  566. action = themes.REVIEW_MATCH_GOOD,
  567. fighting = themes.REVIEW_MATCH_NORMAL,
  568. adventure = themes.REVIEW_MATCH_GOOD,
  569. horror = themes.REVIEW_MATCH_NORMAL,
  570. simulation = themes.REVIEW_MATCH_NORMAL,
  571. strategy = themes.REVIEW_MATCH_NORMAL,
  572. rpg = themes.REVIEW_MATCH_VERY_GOOD,
  573. sandbox = themes.REVIEW_MATCH_NORMAL,
  574. racing = themes.REVIEW_MATCH_NORMAL
  575. }
  576. })
  577. themes:registerNew({
  578. id = "steampunk",
  579. display = _T("THEME_STEAMPUNK", "Steampunk"),
  580. match = {
  581. fighting = 0.75,
  582. racing = 0.6,
  583. sandbox = 1,
  584. simulation = 1,
  585. horror = 1,
  586. adventure = 1,
  587. action = themes.MATCH_GOOD,
  588. strategy = themes.MATCH_GOOD,
  589. rpg = themes.MATCH_VERY_GOOD
  590. },
  591. reviewAffector = {
  592. action = themes.REVIEW_MATCH_GOOD,
  593. fighting = themes.REVIEW_MATCH_NORMAL,
  594. adventure = themes.REVIEW_MATCH_NORMAL,
  595. horror = themes.REVIEW_MATCH_NORMAL,
  596. simulation = themes.REVIEW_MATCH_NORMAL,
  597. strategy = themes.REVIEW_MATCH_GOOD,
  598. rpg = themes.REVIEW_MATCH_VERY_GOOD,
  599. sandbox = themes.REVIEW_MATCH_NORMAL,
  600. racing = themes.REVIEW_MATCH_NORMAL
  601. }
  602. })
  603. themes:registerNew({
  604. id = "ancient",
  605. display = _T("THEME_ANCIENT", "Ancient"),
  606. match = {
  607. fighting = 0.75,
  608. racing = 0.5,
  609. action = 1,
  610. sandbox = 1,
  611. horror = 1,
  612. adventure = 1,
  613. simulation = themes.MATCH_GOOD,
  614. strategy = themes.MATCH_VERY_GOOD,
  615. rpg = themes.MATCH_GOOD
  616. },
  617. reviewAffector = {
  618. action = themes.REVIEW_MATCH_NORMAL,
  619. fighting = themes.REVIEW_MATCH_NORMAL,
  620. adventure = themes.REVIEW_MATCH_NORMAL,
  621. horror = themes.REVIEW_MATCH_NORMAL,
  622. simulation = themes.REVIEW_MATCH_GOOD,
  623. strategy = themes.REVIEW_MATCH_VERY_GOOD,
  624. rpg = themes.REVIEW_MATCH_GOOD,
  625. sandbox = themes.REVIEW_MATCH_NORMAL,
  626. racing = themes.REVIEW_MATCH_NORMAL
  627. }
  628. })
  629. themes:registerNew({
  630. id = "bizarre",
  631. display = _T("THEME_BIZARRE", "Bizarre"),
  632. match = {
  633. racing = 1,
  634. sandbox = 1,
  635. strategy = 0.75,
  636. simulation = 0.75,
  637. adventure = 1,
  638. rpg = 1,
  639. action = themes.MATCH_GOOD,
  640. fighting = themes.MATCH_GOOD,
  641. horror = themes.MATCH_VERY_GOOD
  642. },
  643. reviewAffector = {
  644. action = themes.REVIEW_MATCH_GOOD,
  645. fighting = themes.REVIEW_MATCH_GOOD,
  646. adventure = themes.REVIEW_MATCH_NORMAL,
  647. horror = themes.REVIEW_MATCH_VERY_GOOD,
  648. simulation = themes.REVIEW_MATCH_NORMAL,
  649. strategy = themes.REVIEW_MATCH_NORMAL,
  650. rpg = themes.REVIEW_MATCH_NORMAL,
  651. sandbox = themes.REVIEW_MATCH_NORMAL,
  652. racing = themes.REVIEW_MATCH_NORMAL
  653. }
  654. })
  655. themes:registerNew({
  656. id = "casino",
  657. display = _T("THEME_CASINO", "Casino"),
  658. match = {
  659. fighting = 1,
  660. racing = 0.5,
  661. action = 1,
  662. strategy = 1,
  663. horror = 0.75,
  664. rpg = 0.75,
  665. adventure = themes.MATCH_GOOD,
  666. simulation = themes.MATCH_VERY_GOOD,
  667. sandbox = themes.MATCH_GOOD
  668. },
  669. reviewAffector = {
  670. action = themes.REVIEW_MATCH_NORMAL,
  671. fighting = themes.REVIEW_MATCH_NORMAL,
  672. adventure = themes.REVIEW_MATCH_GOOD,
  673. horror = themes.REVIEW_MATCH_NORMAL,
  674. simulation = themes.REVIEW_MATCH_VERY_GOOD,
  675. strategy = themes.REVIEW_MATCH_NORMAL,
  676. rpg = themes.REVIEW_MATCH_NORMAL,
  677. sandbox = themes.REVIEW_MATCH_GOOD,
  678. racing = themes.REVIEW_MATCH_NORMAL
  679. }
  680. })
  681.  
Add Comment
Please, Sign In to add comment