mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-28 01:55:38 -05:00
Merge branch 'master' into production
This commit is contained in:
commit
181842e97b
75 changed files with 1003 additions and 927 deletions
|
@ -1,344 +1,533 @@
|
|||
module.exports.thangNames = thangNames =
|
||||
'Soldier M': [
|
||||
'Duke'
|
||||
'William'
|
||||
'Lucas'
|
||||
'Marcus'
|
||||
'Robert'
|
||||
'Gordon'
|
||||
'Kirin'
|
||||
'Theo'
|
||||
'Roger'
|
||||
'Roderick'
|
||||
'Samson'
|
||||
'Silas'
|
||||
'Richard'
|
||||
'Max'
|
||||
'Jax'
|
||||
'Dax'
|
||||
'Mischa'
|
||||
'Ronald'
|
||||
'Tyrone'
|
||||
'Thelonious'
|
||||
'Miles'
|
||||
'Bill'
|
||||
'Kumar'
|
||||
'Ricardo'
|
||||
'Maxwell'
|
||||
'Jonah'
|
||||
'Leopold'
|
||||
'Phineas'
|
||||
'Ferb'
|
||||
'Felix'
|
||||
'Ezra'
|
||||
'Lucian'
|
||||
'Augustus'
|
||||
'Ronan'
|
||||
'Pierce'
|
||||
'Harry'
|
||||
'Hirium'
|
||||
'Hugo'
|
||||
'Cecil'
|
||||
'Barron'
|
||||
'Huburt'
|
||||
'Sterling'
|
||||
'Aaron'
|
||||
'Adam'
|
||||
'Alan'
|
||||
'Albert'
|
||||
'Alistair'
|
||||
'Cid'
|
||||
'Remy'
|
||||
'Stormy'
|
||||
'Halle'
|
||||
'Sage'
|
||||
'Ryan'
|
||||
'Andrew'
|
||||
'Anthony'
|
||||
'Antonio'
|
||||
'Arthur'
|
||||
'Augustus'
|
||||
'Barron'
|
||||
'Benjamin'
|
||||
'Bill'
|
||||
'Billy'
|
||||
'Bobby'
|
||||
'Bond'
|
||||
'Philippian'
|
||||
'Malcolm'
|
||||
'Orion'
|
||||
'Brandon'
|
||||
'Brian'
|
||||
'Bruce'
|
||||
'Carl'
|
||||
'Carlos'
|
||||
'Cecil'
|
||||
'Charles'
|
||||
'Chris'
|
||||
'Christopher'
|
||||
'Cid'
|
||||
'Clarence'
|
||||
'Craig'
|
||||
'Daniel'
|
||||
'David'
|
||||
'Dax'
|
||||
'Dennis'
|
||||
'Donald'
|
||||
'Douglas'
|
||||
'Duke'
|
||||
'Earl'
|
||||
'Edward'
|
||||
'Eric'
|
||||
'Ernest'
|
||||
'Eugene'
|
||||
'Ezra'
|
||||
'Felix'
|
||||
'Ferb'
|
||||
'Frank'
|
||||
'Fred'
|
||||
'Gary'
|
||||
'Gatsby'
|
||||
'George'
|
||||
'Gerald'
|
||||
'Gordon'
|
||||
'Gregory'
|
||||
'Halle'
|
||||
'Harold'
|
||||
'Harry'
|
||||
'Henry'
|
||||
'Hirium'
|
||||
'Howard'
|
||||
'Huburt'
|
||||
'Hugo'
|
||||
'Jack'
|
||||
'James'
|
||||
'Jason'
|
||||
'Jax'
|
||||
'Jeffrey'
|
||||
'Jeremy'
|
||||
'Jerry'
|
||||
'Jesse'
|
||||
'Jimmy'
|
||||
'Joe'
|
||||
'John'
|
||||
'Johnny'
|
||||
'Jonah'
|
||||
'Jonathan'
|
||||
'Jose'
|
||||
'Joseph'
|
||||
'Joshua'
|
||||
'Juan'
|
||||
'Justin'
|
||||
'Keith'
|
||||
'Kenneth'
|
||||
'Kevin'
|
||||
'Kirin'
|
||||
'Kumar'
|
||||
'Larry'
|
||||
'Lawrence'
|
||||
'Leopold'
|
||||
'Louis'
|
||||
'Lucas'
|
||||
'Lucian'
|
||||
'Malcolm'
|
||||
'Marcus'
|
||||
'Mark'
|
||||
'Martin'
|
||||
'Matthew'
|
||||
'Max'
|
||||
'Maxwell'
|
||||
'Michael'
|
||||
'Miles'
|
||||
'Mischa'
|
||||
'Nicholas'
|
||||
'Orion'
|
||||
'Patrick'
|
||||
'Paul'
|
||||
'Peter'
|
||||
'Philip'
|
||||
'Philippian'
|
||||
'Phillip'
|
||||
'Phineas'
|
||||
'Pierce'
|
||||
'Ralph'
|
||||
'Randy'
|
||||
'Raymond'
|
||||
'Remy'
|
||||
'Ricardo'
|
||||
'Richard'
|
||||
'Robert'
|
||||
'Roderick'
|
||||
'Roger'
|
||||
'Ronald'
|
||||
'Ronan'
|
||||
'Roy'
|
||||
'Russell'
|
||||
'Ryan'
|
||||
'Sage'
|
||||
'Samson'
|
||||
'Samuel'
|
||||
'Scott'
|
||||
'Sean'
|
||||
'Shawn'
|
||||
'Silas'
|
||||
'Stephen'
|
||||
'Sterling'
|
||||
'Steve'
|
||||
'Steven'
|
||||
'Stormy'
|
||||
'Terry'
|
||||
'Thelonious'
|
||||
'Theo'
|
||||
'Thomas'
|
||||
'Timothy'
|
||||
'Todd'
|
||||
'Tyrone'
|
||||
'Victor'
|
||||
'Walter'
|
||||
'Wayne'
|
||||
'William'
|
||||
'Willie'
|
||||
]
|
||||
'Soldier F': [
|
||||
'Sarah'
|
||||
'Alexandra'
|
||||
'Holly'
|
||||
'Trinity'
|
||||
'Nikita'
|
||||
'Alana'
|
||||
'Lana'
|
||||
'Joan'
|
||||
'Helga'
|
||||
'Annie'
|
||||
'Lukaz'
|
||||
'Gorgin'
|
||||
'Coco'
|
||||
'Buffy'
|
||||
'Alexandra'
|
||||
'Alice'
|
||||
'Allankrita'
|
||||
'Kay'
|
||||
'Shannon'
|
||||
'Scarlett'
|
||||
'Natasha'
|
||||
'Amanda'
|
||||
'Amy'
|
||||
'Andrea'
|
||||
'Angela'
|
||||
'Ann'
|
||||
'Anna'
|
||||
'Anne'
|
||||
'Annie'
|
||||
'Aphrodite'
|
||||
'Ashley'
|
||||
'Barbara'
|
||||
'Betty'
|
||||
'Beverly'
|
||||
'Bonnie'
|
||||
'Brenda'
|
||||
'Buffy'
|
||||
'Carol'
|
||||
'Carolyn'
|
||||
'Catherine'
|
||||
'Cheryl'
|
||||
'Christina'
|
||||
'Christine'
|
||||
'Coco'
|
||||
'Cynthia'
|
||||
'Deborah'
|
||||
'Debra'
|
||||
'Denise'
|
||||
'Diana'
|
||||
'Diane'
|
||||
'Donna'
|
||||
'Doris'
|
||||
'Dorothy'
|
||||
'Elizabeth'
|
||||
'Emily'
|
||||
'Evelyn'
|
||||
'Frances'
|
||||
'Gabrielle'
|
||||
'Gloria'
|
||||
'Gorgin'
|
||||
'Heather'
|
||||
'Helen'
|
||||
'Helga'
|
||||
'Holly'
|
||||
'Imani'
|
||||
'Irene'
|
||||
'Jacqueline'
|
||||
'Jane'
|
||||
'Janet'
|
||||
'Janice'
|
||||
'Jean'
|
||||
'Jennifer'
|
||||
'Jessica'
|
||||
'Joan'
|
||||
'Joyce'
|
||||
'Judith'
|
||||
'Judy'
|
||||
'Julia'
|
||||
'Julie'
|
||||
'Karen'
|
||||
'Katherine'
|
||||
'Kathleen'
|
||||
'Kathryn'
|
||||
'Kathy'
|
||||
'Kay'
|
||||
'Kelly'
|
||||
'Kimberly'
|
||||
'Lana'
|
||||
'Laura'
|
||||
'Lillian'
|
||||
'Linda'
|
||||
'Lisa'
|
||||
'Lois'
|
||||
'Lori'
|
||||
'Louise'
|
||||
'Lukaz'
|
||||
'Margaret'
|
||||
'Maria'
|
||||
'Marie'
|
||||
'Marilyn'
|
||||
'Martha'
|
||||
'Mary'
|
||||
'Melissa'
|
||||
'Michelle'
|
||||
'Mildred'
|
||||
'Nancy'
|
||||
'Natasha'
|
||||
'Nicole'
|
||||
'Nikita'
|
||||
'Norma'
|
||||
'Pamela'
|
||||
'Patricia'
|
||||
'Paula'
|
||||
'Phyllis'
|
||||
'Rachel'
|
||||
'Rebecca'
|
||||
'Robin'
|
||||
'Rose'
|
||||
'Ruby'
|
||||
'Ruth'
|
||||
'Sandra'
|
||||
'Sara'
|
||||
'Sarah'
|
||||
'Scarlett'
|
||||
'Shannon'
|
||||
'Sharon'
|
||||
'Shirley'
|
||||
'Stephanie'
|
||||
'Susan'
|
||||
'Tammy'
|
||||
'Teresa'
|
||||
'Theresa'
|
||||
'Tina'
|
||||
'Trinity'
|
||||
'Virginia'
|
||||
'Wanda'
|
||||
]
|
||||
'Peasant M': [
|
||||
'Yorik'
|
||||
'Hector'
|
||||
'Thad'
|
||||
'Victor'
|
||||
'Lyle'
|
||||
'Charles'
|
||||
'Yusef'
|
||||
'Hingle'
|
||||
'Azgot'
|
||||
'Piers'
|
||||
'Brom'
|
||||
'Carlton'
|
||||
'Hershell'
|
||||
'Gawain'
|
||||
'Charles'
|
||||
'Durfkor'
|
||||
'Paps'
|
||||
'Fendrel'
|
||||
'Gawain'
|
||||
'Hector'
|
||||
'Hershell'
|
||||
'Hingle'
|
||||
'Hodor'
|
||||
'James'
|
||||
'Lyle'
|
||||
'Merek'
|
||||
'Brom'
|
||||
'Paps'
|
||||
'Piers'
|
||||
'Thad'
|
||||
'Tybalt'
|
||||
'Fendrel'
|
||||
'Victor'
|
||||
'Yorik'
|
||||
'Yusef'
|
||||
]
|
||||
'Peasant F': [
|
||||
'Hilda'
|
||||
'Icey'
|
||||
'Matilda'
|
||||
'Mertia'
|
||||
'Mary'
|
||||
'Brandy'
|
||||
'Gwendolin'
|
||||
'Tabitha'
|
||||
'Regan'
|
||||
'Giselle'
|
||||
'Bernadette'
|
||||
'Millicent'
|
||||
'Anastas'
|
||||
'Thea'
|
||||
'Ellyn'
|
||||
'Alexia'
|
||||
'Alianor'
|
||||
'Anastas'
|
||||
'Anastas'
|
||||
'Bernadette'
|
||||
'Brandy'
|
||||
'Cristiana'
|
||||
'Ellyn'
|
||||
'Giselle'
|
||||
'Gwendolin'
|
||||
'Helena'
|
||||
'Alexia'
|
||||
'Hilda'
|
||||
'Icey'
|
||||
'Katelyn'
|
||||
'Mary'
|
||||
'Matilda'
|
||||
'Mertia'
|
||||
'Millicent'
|
||||
'Regan'
|
||||
'Rose'
|
||||
|
||||
'Tabitha'
|
||||
'Thea'
|
||||
]
|
||||
'Archer F': [
|
||||
'Phoebe'
|
||||
'Mira'
|
||||
'Agapi'
|
||||
'Cecily'
|
||||
'Tansy'
|
||||
'Ivy'
|
||||
'Gemma'
|
||||
'Keturah'
|
||||
'Korra'
|
||||
'Kim'
|
||||
'Odette'
|
||||
'Orly'
|
||||
'Mercedes'
|
||||
'Rosaline'
|
||||
'Vesper'
|
||||
'Beverly'
|
||||
'Natalie'
|
||||
'Clare'
|
||||
'Rowan'
|
||||
'Omar'
|
||||
'Alden'
|
||||
'Alleria'
|
||||
'Beatrice'
|
||||
'Beverly'
|
||||
'Cairn'
|
||||
'Cecily'
|
||||
'Clare'
|
||||
'Gemma'
|
||||
'Ivy'
|
||||
'Jensen'
|
||||
'Yilitha'
|
||||
'Mirana'
|
||||
'Keturah'
|
||||
'Kim'
|
||||
'Korra'
|
||||
'Lina'
|
||||
'Luna'
|
||||
'Alleria'
|
||||
'Mercedes'
|
||||
'Mira'
|
||||
'Mirana'
|
||||
'Natalie'
|
||||
'Odette'
|
||||
'Omar'
|
||||
'Orly'
|
||||
'Phoebe'
|
||||
'Rosaline'
|
||||
'Rowan'
|
||||
'Tansy'
|
||||
'Vereesa'
|
||||
'Beatrice'
|
||||
'Vesper'
|
||||
'Yilitha'
|
||||
]
|
||||
'Archer M': [
|
||||
'Arty'
|
||||
'Brian'
|
||||
'Cole'
|
||||
'Roman'
|
||||
'Hunter'
|
||||
'Simon'
|
||||
'Robin'
|
||||
'Quinn'
|
||||
'Arty'
|
||||
'Gimsley'
|
||||
'Fidsdale'
|
||||
'Slyvos'
|
||||
'Logos'
|
||||
'Denin'
|
||||
'Lycan'
|
||||
'Loco'
|
||||
'Vican'
|
||||
'Mars'
|
||||
'Dev'
|
||||
'Fidsdale'
|
||||
'Gimsley'
|
||||
'Hunter'
|
||||
'Loco'
|
||||
'Logos'
|
||||
'Lycan'
|
||||
'Mars'
|
||||
'Oliver'
|
||||
'Quinn'
|
||||
'Robin'
|
||||
'Roman'
|
||||
'Simon'
|
||||
'Slyvos'
|
||||
'Vican'
|
||||
]
|
||||
'Ogre Munchkin M': [
|
||||
'Blob'
|
||||
'Brack'
|
||||
'Gort'
|
||||
'Weeb'
|
||||
'Nerph'
|
||||
'Kratt'
|
||||
'Smerk'
|
||||
'Raack'
|
||||
'Dobo'
|
||||
'Draff'
|
||||
'Zozo'
|
||||
'Kogpole'
|
||||
'Leerer'
|
||||
'Skoggen'
|
||||
'Treg'
|
||||
'Goreball'
|
||||
'Gert'
|
||||
'Thabt'
|
||||
'Snortt'
|
||||
'Goreball'
|
||||
'Gort'
|
||||
'Kog'
|
||||
'Ursa'
|
||||
'Kogpole'
|
||||
'Kratt'
|
||||
'Leerer'
|
||||
'Nerph'
|
||||
'Raack'
|
||||
'Ragtime'
|
||||
'Blob'
|
||||
'Skoggen'
|
||||
'Smerk'
|
||||
'Snortt'
|
||||
'Thabt'
|
||||
'Treg'
|
||||
'Ursa'
|
||||
'Weeb'
|
||||
'Zozo'
|
||||
]
|
||||
'Ogre Munchkin F': [
|
||||
'Dosha'
|
||||
'Gurzunn'
|
||||
'Hoot'
|
||||
'Inski'
|
||||
'Iyert'
|
||||
'Lacos'
|
||||
'Palt'
|
||||
'Shmeal'
|
||||
'Gurzunn'
|
||||
'Yugark'
|
||||
'Dosha'
|
||||
'Inski'
|
||||
'Lacos'
|
||||
'Upfish'
|
||||
'Hoot'
|
||||
'Yugark'
|
||||
]
|
||||
'Ogre Peon M': [
|
||||
'Ba Bo'
|
||||
'Durbo'
|
||||
'Kurger'
|
||||
'Mudwich'
|
||||
'Ba Bo'
|
||||
'Zugger'
|
||||
'Toe Pod'
|
||||
'Zugger'
|
||||
]
|
||||
'Ogre Peon F': [
|
||||
'Greeke'
|
||||
'Iblet'
|
||||
'Lorba'
|
||||
'Zzoya'
|
||||
'Yamra'
|
||||
'Greeke'
|
||||
'Vapa'
|
||||
'Yamra'
|
||||
'Zzoya'
|
||||
]
|
||||
'Ogre M': [
|
||||
'Krogg'
|
||||
'Dronck'
|
||||
'Trogdor'
|
||||
'Kulgor'
|
||||
'Skrungt'
|
||||
'Mak Fod'
|
||||
'Trung'
|
||||
'Axe Ox'
|
||||
'Vargutt'
|
||||
'Dronck'
|
||||
'Grumus'
|
||||
'Gug'
|
||||
'Tarlok'
|
||||
'Gurulax'
|
||||
'Krogg'
|
||||
'Kulgor'
|
||||
'Mak Fod'
|
||||
'Mokrul'
|
||||
'Polifemo'
|
||||
'Muthyala'
|
||||
'Polifemo'
|
||||
'Saltporker'
|
||||
'Skrungt'
|
||||
'Tarlok'
|
||||
'Trogdor'
|
||||
'Trung'
|
||||
'Vargutt'
|
||||
]
|
||||
'Ogre F': [
|
||||
'Nareng'
|
||||
'Morthrug'
|
||||
'Glonc'
|
||||
'Marghurk'
|
||||
'Martha'
|
||||
'Holkam'
|
||||
'Alkaz'
|
||||
'Gar\'ah'
|
||||
'Glonc'
|
||||
'Holkam'
|
||||
'Mak\'rah'
|
||||
'Marghurk'
|
||||
'Marnag'
|
||||
'Martha'
|
||||
'Morthrug'
|
||||
'Nareng'
|
||||
]
|
||||
'Ogre Brawler': [
|
||||
'Grul\'thock'
|
||||
'Boz'
|
||||
'Trod'
|
||||
'Muul'
|
||||
'Grumoll'
|
||||
'Burobb'
|
||||
'Arelt'
|
||||
'Zagurk'
|
||||
'Zeredd'
|
||||
'Borgag'
|
||||
'Boz'
|
||||
'Burobb'
|
||||
'Grognar'
|
||||
'Grul\'thock'
|
||||
'Grumoll'
|
||||
'Haggar'
|
||||
'Ironjaw'
|
||||
'Tuguro'
|
||||
'York'
|
||||
'Muul'
|
||||
'Ork\'han'
|
||||
'Roast Beefy'
|
||||
'Haggar'
|
||||
'Trod'
|
||||
'Tuguro'
|
||||
'York'
|
||||
'Zagurk'
|
||||
'Zeredd'
|
||||
]
|
||||
'Ogre Fangrider': [
|
||||
'Arizard'
|
||||
'Bortrok'
|
||||
'Doralt'
|
||||
'Dreek'
|
||||
'Flarsho'
|
||||
'Mizzy'
|
||||
'Secka'
|
||||
'Arizard'
|
||||
'Morzgret'
|
||||
'Doralt'
|
||||
'Geggret'
|
||||
'Gurzthrot'
|
||||
'Mizzy'
|
||||
'Morzgret'
|
||||
'Murgark'
|
||||
'Muttin'
|
||||
'Bortrok'
|
||||
'Secka'
|
||||
]
|
||||
'Ogre Shaman': [
|
||||
'Sham\'uk'
|
||||
'Il\'Du\'duka'
|
||||
'Ahst\'durante'
|
||||
'Poult'
|
||||
'Aolian\'Tak'
|
||||
'Tuzell'
|
||||
'Yamizeb'
|
||||
'Yerong'
|
||||
'Tuzang'
|
||||
'Varreth'
|
||||
'Yugargen'
|
||||
'Turann'
|
||||
'Ugoki'
|
||||
'Zulabar'
|
||||
'Zo\'Goroth'
|
||||
'Drun'
|
||||
'Ghuk'
|
||||
'Gogg'
|
||||
'Gom'
|
||||
'Grek'
|
||||
'Gror'
|
||||
'Il\'Du\'duka'
|
||||
'Makas'
|
||||
'Mogadishu'
|
||||
'Nazgareth'
|
||||
'Gror'
|
||||
'Grek'
|
||||
'Gom'
|
||||
'Gogg'
|
||||
'Ghuk'
|
||||
'Makas'
|
||||
'Drun'
|
||||
'Poult'
|
||||
'Sham\'uk'
|
||||
'Turann'
|
||||
'Tuzang'
|
||||
'Tuzell'
|
||||
'Ugoki'
|
||||
'Varreth'
|
||||
'Yamizeb'
|
||||
'Yerong'
|
||||
'Yugargen'
|
||||
'Zo\'Goroth'
|
||||
'Zulabar'
|
||||
]
|
||||
'Ogre Thrower': [
|
||||
'Kyrgg'
|
||||
'Drumbaa'
|
||||
'Durnath'
|
||||
'Kraggan'
|
||||
'Gragthar'
|
||||
'Rasha'
|
||||
'Moza'
|
||||
'Vujii'
|
||||
'Esha'
|
||||
'Zara'
|
||||
'Gragthar'
|
||||
'Hamedi'
|
||||
'Jinjin'
|
||||
'Yetu'
|
||||
'Kraggan'
|
||||
'Kyrgg'
|
||||
'Makas'
|
||||
'Rakash'
|
||||
'Drumbaa'
|
||||
'Moza'
|
||||
'Pinakin'
|
||||
'Rakash'
|
||||
'Rasha'
|
||||
'Vujii'
|
||||
'Yetu'
|
||||
'Zara'
|
||||
]
|
||||
'Burl': [
|
||||
'Borlit'
|
||||
|
@ -351,87 +540,86 @@ module.exports.thangNames = thangNames =
|
|||
'Letholdus'
|
||||
]
|
||||
'Potion Master': [
|
||||
'Omar'
|
||||
'Snake'
|
||||
'Amaranth'
|
||||
'Zander'
|
||||
'Arora'
|
||||
'Curie'
|
||||
'Clause'
|
||||
'Vanders'
|
||||
'Kanada'
|
||||
'Artephius'
|
||||
'Clause'
|
||||
'Curie'
|
||||
'Kanada'
|
||||
'Omar'
|
||||
'Paracelsus'
|
||||
'Snake'
|
||||
'Vanders'
|
||||
'Zander'
|
||||
]
|
||||
'Librarian': [
|
||||
'Hushbaum'
|
||||
'Matilda'
|
||||
'Agnes'
|
||||
'Agathe'
|
||||
'Satish'
|
||||
'Agnes'
|
||||
'Hushbaum'
|
||||
'Mariam'
|
||||
'Matilda'
|
||||
'Satish'
|
||||
]
|
||||
'Equestrian': [
|
||||
'Mirial'
|
||||
'Neely'
|
||||
'Reynaldo'
|
||||
'Ryder'
|
||||
'Thoron'
|
||||
'Mirial'
|
||||
'Neely'
|
||||
]
|
||||
'Knight': [
|
||||
'Tharin'
|
||||
'Almeric'
|
||||
'Alphonse'
|
||||
'Arthur'
|
||||
'Galahad'
|
||||
'Mace'
|
||||
'Drake'
|
||||
'Duran'
|
||||
'Almeric'
|
||||
'Hunfray'
|
||||
'Hank'
|
||||
'Jeph'
|
||||
'Neville'
|
||||
'Alphonse'
|
||||
'Edward'
|
||||
'Galahad'
|
||||
'Hank'
|
||||
'Hunfray'
|
||||
'Jeph'
|
||||
'Mace'
|
||||
'Neville'
|
||||
'Shug'
|
||||
|
||||
'Tharin'
|
||||
]
|
||||
'Captain': [
|
||||
'Anya'
|
||||
'Brigette'
|
||||
'Sarre'
|
||||
'Katana'
|
||||
'Lily'
|
||||
'Isa'
|
||||
'Dimia'
|
||||
'Jane'
|
||||
'Lia'
|
||||
'Hardcastle'
|
||||
'Leona'
|
||||
'Jarin'
|
||||
'Helena'
|
||||
'Isa'
|
||||
'Jane'
|
||||
'Jarin'
|
||||
'Katana'
|
||||
'Leona'
|
||||
'Lia'
|
||||
'Lily'
|
||||
'Philips'
|
||||
'Sarre'
|
||||
]
|
||||
'Ninja': [
|
||||
'Amara'
|
||||
'Naruto'
|
||||
'Sasuke'
|
||||
'Minato'
|
||||
'Naruto'
|
||||
'Sakura'
|
||||
'Sasuke'
|
||||
]
|
||||
'Sorcerer': [
|
||||
'Pender'
|
||||
'Gandalf'
|
||||
'Beazer'
|
||||
'Gandalf'
|
||||
'Pender'
|
||||
]
|
||||
'Samurai': [
|
||||
'Hattori'
|
||||
]
|
||||
'Sand Yak': [
|
||||
'Ofgar'
|
||||
'Randall'
|
||||
'Arngotho'
|
||||
'Falthror'
|
||||
'Langthok'
|
||||
'Ofgar'
|
||||
'Randall'
|
||||
]
|
||||
'Ogre Scout M': [
|
||||
'Frandar'
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "ثانيّة"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "български език", englishDescri
|
|||
date: "Дата"
|
||||
# body: "Body"
|
||||
version: "Версия"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "български език", englishDescri
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "секунда"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
|
|||
date: "Data"
|
||||
body: "Cos"
|
||||
version: "Versió"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
|
|||
hard: "Difícil"
|
||||
player: "Jugador"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "segon"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
|
|||
date: "Datum"
|
||||
body: "Tělo"
|
||||
version: "Verze"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
submitter: "Odesílatel"
|
||||
submitted: "Odesláno"
|
||||
commit_msg: "Popisek ukládání"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
|
|||
hard: "Těžké"
|
||||
player: "Hráč"
|
||||
player_level: "Úroveň" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "sekunda"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
|
|||
# date: "Date"
|
||||
body: "krop"
|
||||
version: "version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "ændringsnotat"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
|
|||
hard: "Svær"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
|
|||
date: "Datum"
|
||||
body: "Inhalt"
|
||||
version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
submitter: "Veröffentlicher"
|
||||
submitted: "Veröffentlicht"
|
||||
commit_msg: "Nachricht absenden"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
|
|||
hard: "Schwer"
|
||||
player: "Spieler"
|
||||
player_level: "Spielerlevel" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "Sekunde"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
|
|||
date: "Datum"
|
||||
# body: "Body"
|
||||
version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
|
|||
hard: "Schwer"
|
||||
player: "Spieler"
|
||||
player_level: "Stufe" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "Sekunde"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
|
|||
date: "Datum"
|
||||
body: "Inhalt"
|
||||
version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
submitter: "Übermittler"
|
||||
submitted: "Übermittelt"
|
||||
commit_msg: "Übertrage Nachricht"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
|
|||
hard: "Schwer"
|
||||
player: "Spieler"
|
||||
player_level: "Stufe" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "Sekunde"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
version: "Έκδοση"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre
|
|||
hard: "Δύσκολο"
|
||||
player: "Παίκτης"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "δευτερόλεπτο"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -197,6 +197,9 @@
|
|||
hard: "Hard"
|
||||
player: "Player"
|
||||
player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
warrior: "Warrior"
|
||||
ranger: "Ranger"
|
||||
wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
|
|||
date: "Fecha"
|
||||
body: "Cuerpo"
|
||||
version: "Versión"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
submitter: "Emisor"
|
||||
submitted: "Enviado"
|
||||
commit_msg: "Enviar mensaje"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
|
|||
hard: "Difícil"
|
||||
player: "Jugador"
|
||||
player_level: "Nivel" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "segundo"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
|
|||
date: "Fecha"
|
||||
body: "Cuerpo"
|
||||
version: "Versión"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "Mensaje de Asignación o Commit"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
|
|||
hard: "Difícil"
|
||||
player: "Jugador"
|
||||
player_level: "Nivel" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "segundo"
|
||||
|
@ -483,8 +490,8 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
|
|||
forum_prefix: "Para asuntos públicos, por favor usa "
|
||||
forum_page: "nuestro foro"
|
||||
forum_suffix: " en su lugar."
|
||||
# faq_prefix: "There's also a"
|
||||
# faq: "FAQ"
|
||||
faq_prefix: "Tambien existe un"
|
||||
faq: "FAQ"
|
||||
subscribe_prefix: "Si necesitas ayuda para resolver el nivel, por favor"
|
||||
subscribe: "compra una subscripción de CodeCombat"
|
||||
subscribe_suffix: "y estaremos encantados de ayudarte con tu código."
|
||||
|
@ -574,22 +581,22 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
|
|||
classes:
|
||||
archmage_title: "Archimago"
|
||||
archmage_title_description: "(Programador)"
|
||||
# archmage_summary: "If you are a developer interested in coding educational games, become an archmage to help us build CodeCombat!"
|
||||
archmage_summary: "¡Si eres un desarrollador interesado en crear juegos educacionales, conviértete en un Archimago y ayuda a la construcción de CodeCombat!"
|
||||
artisan_title: "Artesano"
|
||||
artisan_title_description: "(Diseñador de Niveles)"
|
||||
# artisan_summary: "Build and share levels for you and your friends to play. Become an Artisan to learn the art of teaching others to program."
|
||||
artisan_summary: "Construye y comparte niveles para que puedas jugar tu y tus amigos. Conviértete en un Artesano para aprender el arte de enseñar a otros a programar."
|
||||
adventurer_title: "Aventurero"
|
||||
adventurer_title_description: "(Tester de Niveles)"
|
||||
# adventurer_summary: "Get our new levels (even our subscriber content) for free one week early and help us work out bugs before our public release."
|
||||
adventurer_summary: "Consigue una semana antes y gratis, los nuevos niveles (incluso aquellos que requieren subscripción) y ayúdanos a solucionar bugs (fallos) antes de que se publiquen los niveles."
|
||||
scribe_title: "Escriba"
|
||||
scribe_title_description: "(Editor de Artículos)"
|
||||
# scribe_summary: "Good code needs good documentation. Write, edit, and improve the docs read by millions of players across the globe."
|
||||
scribe_summary: "El buen código requiere de buena documentación. Escribe, edita, y mejora la documentación leída por millones de jugadores a lo largo del globo."
|
||||
diplomat_title: "Diplomático"
|
||||
diplomat_title_description: "(Traductor)"
|
||||
# diplomat_summary: "CodeCombat is localized in 45+ languages by our Diplomats. Help us out and contribute translations."
|
||||
diplomat_summary: "CodeCombat está traducido a más de 45 idiomas por nuestros Diplomáticos. Ayúdanos realizando traducciones."
|
||||
ambassador_title: "Embajador"
|
||||
ambassador_title_description: "(Soporte)"
|
||||
# ambassador_summary: "Tame our forum users and provide direction for those with questions. Our ambassadors represent CodeCombat to the world."
|
||||
ambassador_summary: "Amansa a los usuarios de nuestro foro y guía a aquellos que tengan preguntas. Nuestros Embajadores representan a CodeCombat frente al mundo."
|
||||
|
||||
editor:
|
||||
main_title: "Editores de CodeCombat"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
date: "Date"
|
||||
body: "Corps"
|
||||
version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
submitter: "Soumissionnaire"
|
||||
submitted: "Soumis"
|
||||
commit_msg: "Message de mise à jour"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
hard: "Difficile"
|
||||
player: "Joueur"
|
||||
player_level: "Niveau" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "seconde"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr
|
|||
date: "Data"
|
||||
body: "Corpo"
|
||||
version: "Versión"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "Mensaxe de Asignación ou Commit"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr
|
|||
hard: "Difícil"
|
||||
player: "Xogador"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "segundo"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
|
|||
date: "Dátum"
|
||||
body: "Test"
|
||||
version: "Verzió"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "Üzenet feladása"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
|
|||
hard: "Nehéz"
|
||||
player: "Játékos"
|
||||
player_level: "Szint" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "másodperc"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
date: "Data"
|
||||
body: "Testo"
|
||||
version: "Versione"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "Messaggio di commit"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
hard: "Difficile"
|
||||
player: "Giocatore"
|
||||
player_level: "Livello" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "secondo"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
# date: "Date"
|
||||
body: "구성"
|
||||
version: "버전"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "커밋 메세지"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
hard: "상급"
|
||||
player: "플레이어"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Македонски", englishDescription:
|
|||
date: "Датум"
|
||||
body: "Тело"
|
||||
version: "Верзија"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
submitter: "Подносител"
|
||||
submitted: "Поднесено"
|
||||
commit_msg: "Порака за поднесокот"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Македонски", englishDescription:
|
|||
hard: "Тешко"
|
||||
player: "Играч"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "секунда"
|
||||
|
@ -474,7 +481,7 @@ module.exports = nativeDescription: "Македонски", englishDescription:
|
|||
new_major_version: "Нова поголема(major) верзија"
|
||||
cla_prefix: "За да ги зачуваш промените, мораш да го прифатиш нашиот"
|
||||
cla_url: "CLA"
|
||||
cla_suffix: "(договор за тие што допринесуваат)." # Short explanation for CLA in macedonian
|
||||
cla_suffix: "(договор за тие што допринесуваат)."
|
||||
cla_agree: "ПРИФАЌАМ"
|
||||
|
||||
# contact:
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
version: "Versi"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "Mesej Commit"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
|
|||
date: "Dato"
|
||||
body: "Kropp"
|
||||
version: "Versjon"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "Commit-melding"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
|
|||
hard: "Vanskelig"
|
||||
player: "Spiller"
|
||||
player_level: "Nivå" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "sekund"
|
||||
|
|
|
@ -4,7 +4,6 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
|
|||
no_ie: "CodeCombat werkt niet in IE8 of ouder. Sorry!" # Warning that only shows up in IE8 and older
|
||||
no_mobile: "CodeCombat is niet gemaakt voor mobiele apparaten en werkt misschien niet!" # Warning that shows up on mobile devices
|
||||
play: "Speel" # The big play button that opens up the campaign view.
|
||||
try_it: "Probeer het" # Alternate wording for Play button
|
||||
old_browser: "Uh oh, jouw browser is te oud om CodeCombat te kunnen spelen, Sorry!" # Warning that shows up on really old Firefox/Chrome/Safari
|
||||
old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!"
|
||||
ipad_browser: "Slecht nieuws: CodeCombat werkt niet op een iPad in de browser. Goed nieuws: onze eigen iPad-app wacht op goedkeuring van Apple."
|
||||
|
@ -160,6 +159,10 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
|
|||
# date: "Date"
|
||||
body: "Inhoud"
|
||||
version: "Versie"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "Commit Bericht"
|
||||
|
@ -194,6 +197,9 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
|
|||
hard: "Moeilijk"
|
||||
player: "Speler"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "seconde"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
|
|||
date: "Datum"
|
||||
body: "Inhoud"
|
||||
version: "Versie"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "Commit Bericht"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
|
|||
hard: "Moeilijk"
|
||||
player: "Speler"
|
||||
player_level: "Niveau" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "seconde"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
# date: "Date"
|
||||
body: "Zawartość"
|
||||
version: "Wersja"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "Wiadomość do commitu"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
hard: "Trudny"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription:
|
|||
date: "Data"
|
||||
body: "Principal"
|
||||
version: "Versão"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
submitted: "Enviado"
|
||||
commit_msg: "Mensagem de Submissão"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription:
|
|||
hard: "Difícil"
|
||||
player: "Jogador"
|
||||
player_level: "Nível" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "segundo"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
|
|||
date: "Data"
|
||||
body: "Corpo"
|
||||
version: "Versão"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
submitter: "Submissor"
|
||||
submitted: "Submeteu"
|
||||
commit_msg: "Mensagem da Submissão"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
|
|||
hard: "Difícil"
|
||||
player: "Jogador"
|
||||
player_level: "Nível" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "segundo"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
# date: "Date"
|
||||
body: "Corp"
|
||||
version: "Versiune"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "Înregistrează Mesajul"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
hard: "Greu"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "secundă"
|
||||
|
|
|
@ -197,6 +197,9 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
hard: "Сложно"
|
||||
player: "Игрок"
|
||||
player_level: "Уровень" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "секунда"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
date: "Datum"
|
||||
body: "Kropp"
|
||||
version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "Förbindelsemeddelande"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
hard: "Svår"
|
||||
player: "Spelare"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "sekund"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "วินาที"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
|
|||
date: "Tarih"
|
||||
body: "Gövde"
|
||||
version: "Sürüm"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "Gönderme İletisi"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
|
|||
hard: "Zor"
|
||||
player: "Oyuncu"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "saniye"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Українська", englishDescription:
|
|||
date: "Дата"
|
||||
body: "Тіло"
|
||||
version: "Версія"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "Доручити повідомлення"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Українська", englishDescription:
|
|||
hard: "Важкий"
|
||||
player: "Гравець"
|
||||
player_level: "Рівень" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "Секунда"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
date: "Ngày"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
hard: "Khó"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "giây"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
|
|||
date: "日期"
|
||||
body: "正文"
|
||||
version: "版本"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
submitter: "提交者"
|
||||
submitted: "已提交"
|
||||
commit_msg: "提交信息"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
|
|||
hard: "困难"
|
||||
player: "玩家"
|
||||
player_level: "等级" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "秒"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
|
|||
date: "日期"
|
||||
# body: "Body"
|
||||
version: "版本"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "送出訊息"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
|
|||
hard: "困難"
|
||||
player: "玩家"
|
||||
player_level: "等級" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "秒"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
|
|||
# date: "Date"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
|
|||
# hard: "Hard"
|
||||
# player: "Player"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
# units:
|
||||
# second: "second"
|
||||
|
|
|
@ -159,6 +159,10 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
|
|||
# date: "Date"
|
||||
body: "正文"
|
||||
version: "版本"
|
||||
# pending: "Pending"
|
||||
# accepted: "Accepted"
|
||||
# rejected: "Rejected"
|
||||
# withdrawn: "Withdrawn"
|
||||
# submitter: "Submitter"
|
||||
# submitted: "Submitted"
|
||||
commit_msg: "提交訊息"
|
||||
|
@ -193,6 +197,9 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
|
|||
hard: "煩難"
|
||||
player: "來個人"
|
||||
# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
|
||||
# warrior: "Warrior"
|
||||
# ranger: "Ranger"
|
||||
# wizard: "Wizard"
|
||||
|
||||
units:
|
||||
second: "秒"
|
||||
|
|
|
@ -22,7 +22,8 @@ class CocoModel extends Backbone.Model
|
|||
@usesVersions = @schema()?.properties?.version?
|
||||
|
||||
backupKey: ->
|
||||
if @usesVersions then @id else @id + ':' + @attributes.__v # TODO: doesn't work because __v doesn't actually increment. #2061
|
||||
if @usesVersions then @id else @id # + ':' + @attributes.__v # TODO: doesn't work because __v doesn't actually increment. #2061
|
||||
# if fixed, RevertModal will also need the fix
|
||||
|
||||
setProjection: (project) ->
|
||||
return if project is @project
|
||||
|
|
|
@ -126,6 +126,7 @@ module.exports = class Level extends CocoModel
|
|||
else if placeholderConfig.voiceRange # Pull in voiceRange
|
||||
levelThangComponent.config ?= {}
|
||||
levelThangComponent.config.voiceRange = placeholderConfig.voiceRange
|
||||
levelThangComponent.config.cooldown = placeholderConfig.cooldown
|
||||
|
||||
if isHero
|
||||
if equips = _.find levelThang.components, {original: LevelComponent.EquipsID}
|
||||
|
|
|
@ -417,8 +417,10 @@ module.exports = class ThangType extends CocoModel
|
|||
|
||||
if i18nKey
|
||||
name = $.i18n.t 'choose_hero.' + i18nKey
|
||||
matchedShortName = true
|
||||
else
|
||||
name = _.string.humanize name
|
||||
matchedShortName = false
|
||||
|
||||
format = ''
|
||||
format = 'm' if /(range|radius|distance|vision)$/i.test name
|
||||
|
@ -437,7 +439,7 @@ module.exports = class ThangType extends CocoModel
|
|||
display.push "x#{modifiers.factor}" if modifiers.factor? and modifiers.factor isnt 1
|
||||
display = display.join ', '
|
||||
display = display.replace /9001m?/, 'Infinity'
|
||||
name: name, display: display
|
||||
name: name, display: display, matchedShortName: matchedShortName
|
||||
|
||||
isSilhouettedItem: ->
|
||||
return console.error "Trying to determine whether #{@get('name')} should be a silhouetted item, but it has no gem cost." unless @get('gems') or @get('tier')
|
||||
|
|
|
@ -237,6 +237,28 @@ $gameControlMargin: 30px
|
|||
&:hover
|
||||
text-decoration: none
|
||||
|
||||
.next-level-line
|
||||
transform-origin: 0 100%
|
||||
height: 8px
|
||||
position: absolute
|
||||
|
||||
.line
|
||||
width: calc(100% - 12px - 10px)
|
||||
float: left
|
||||
margin-top: 2px
|
||||
margin-bottom: 2px
|
||||
height: 4px
|
||||
background: repeating-linear-gradient(-45deg, #AF9F7D, #DFC89C 5px, #F1EAC0 5px, #AF9F7D 10px)
|
||||
box-shadow: 0px 0px 4px black
|
||||
|
||||
.point
|
||||
width: 12px
|
||||
float: left
|
||||
margin-top: -4px
|
||||
border-top: 8px solid transparent
|
||||
border-bottom: 8px solid transparent
|
||||
border-left: 12px solid lighten(#F1EAC0, 10%)
|
||||
|
||||
.game-controls
|
||||
position: absolute
|
||||
right: 1%
|
||||
|
|
|
@ -50,6 +50,7 @@ body:not(.dialogue-view-active)
|
|||
.spell-palette-popover.popover
|
||||
right: 45%
|
||||
min-width: 500px
|
||||
margin-top: -17%
|
||||
|
||||
.spell-palette-popover.popover
|
||||
// Only those popovers which are our direct children (spell documentation)
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
position: relative
|
||||
font-size: 20px
|
||||
font-weight: bold
|
||||
|
||||
|
||||
.stat-label
|
||||
position: absolute
|
||||
left: 54px
|
||||
|
@ -82,6 +82,16 @@
|
|||
left: 150px
|
||||
color: rgb(42,38,28)
|
||||
|
||||
&:not(.short-name)
|
||||
text-align: center
|
||||
|
||||
.stat-label, .stat
|
||||
position: initial
|
||||
display: inline-block
|
||||
|
||||
.stat-label
|
||||
margin-right: 8px
|
||||
|
||||
.item-description
|
||||
margin: 15px 15px 0 25px
|
||||
|
||||
|
@ -106,17 +116,3 @@
|
|||
|
||||
.unequippable
|
||||
position: absolute
|
||||
|
||||
|
||||
body:not([lang^='en'])
|
||||
#item-details-view
|
||||
#item-details-body
|
||||
.stat-row
|
||||
text-align: center
|
||||
|
||||
.stat-label, .stat
|
||||
position: initial
|
||||
display: inline-block
|
||||
|
||||
.stat-label
|
||||
margin-right: 8px
|
||||
|
|
|
@ -111,6 +111,29 @@
|
|||
color: white
|
||||
|
||||
|
||||
//- Hero Type Select
|
||||
|
||||
#hero-type-select
|
||||
position: absolute
|
||||
top: 102px
|
||||
left: 177px
|
||||
background: rgb(26,21,17)
|
||||
padding: 2px 0
|
||||
z-index: 3
|
||||
border-radius: 2px
|
||||
|
||||
label
|
||||
background: rgb(58,47,38)
|
||||
color: rgb(195,153,124)
|
||||
border: 2px solid rgb(85,70,57)
|
||||
margin: 0 2px
|
||||
|
||||
&.active
|
||||
background: rgb(33,28,21)
|
||||
border: 2px solid rgb(64,53,41)
|
||||
color: white
|
||||
|
||||
|
||||
//- Item List
|
||||
|
||||
.tab-content
|
||||
|
@ -120,7 +143,19 @@
|
|||
width: 669px
|
||||
height: 507px
|
||||
overflow: hidden
|
||||
|
||||
&.filter-warrior
|
||||
.item.Ranger, .item.Wizard
|
||||
display: none
|
||||
|
||||
&.filter-ranger
|
||||
.item.Warrior, .item.Wizard
|
||||
display: none
|
||||
|
||||
&.filter-wizard
|
||||
.item.Ranger, .item.Warrior
|
||||
display: none
|
||||
|
||||
.tab-pane
|
||||
height: 100%
|
||||
|
||||
|
|
|
@ -1,495 +0,0 @@
|
|||
@import "app/styles/mixins"
|
||||
@import "app/styles/bootstrap/variables"
|
||||
|
||||
$mapHeight: 1536
|
||||
$forestMapWidth: 2500
|
||||
$dungeonMapWidth: 2350
|
||||
$desertMapWidth: 2350
|
||||
$desertMapSeaBackground: rgba(113, 186, 208, 1)
|
||||
$desertMapSeaBackgroundTransparent: rgba(113, 186, 208, 0)
|
||||
$forestMapSeaBackground: rgba(113, 186, 208, 1)
|
||||
$forestMapSeaBackgroundTransparent: rgba(113, 186, 208, 0)
|
||||
$dungeonMapCaveBackground: rgba(68, 54, 45, 1)
|
||||
$dungeonMapCaveBackgroundTransparent: rgba(68, 54, 45, 0)
|
||||
$levelDotWidth: 2%
|
||||
$levelDotHeight: $levelDotWidth * $forestMapWidth / $mapHeight
|
||||
$levelDotZ: $levelDotHeight * 0.25
|
||||
$levelDotHoverZ: $levelDotZ * 2
|
||||
$levelDotShadowWidth: 0.8 * $levelDotWidth
|
||||
$levelDotShadowHeight: 0.8 * $levelDotHeight
|
||||
$levelClickRadius: 40px
|
||||
$gameControlSize: 80px
|
||||
$gameControlMargin: 30px
|
||||
|
||||
+keyframes(levelStartedPulse)
|
||||
from
|
||||
@include box-shadow(0px 0px 4px #333)
|
||||
margin-bottom: -$levelDotHeight / 3 + $levelDotZ
|
||||
50%
|
||||
@include box-shadow(0px 0px 22px skyblue)
|
||||
margin-bottom: -$levelDotHeight / 3 + ($levelDotHoverZ + $levelDotZ) / 2
|
||||
to
|
||||
@include box-shadow(0px 0px 4px #333)
|
||||
margin-bottom: -$levelDotHeight / 3 + $levelDotZ
|
||||
|
||||
#world-map-view
|
||||
width: 100%
|
||||
height: 100%
|
||||
position: absolute
|
||||
|
||||
.gradient
|
||||
position: absolute
|
||||
z-index: 0
|
||||
|
||||
&.horizontal-gradient
|
||||
left: 0
|
||||
right: 0
|
||||
height: 3%
|
||||
|
||||
&.vertical-gradient
|
||||
top: 0
|
||||
bottom: 0
|
||||
width: 3%
|
||||
|
||||
&.top-gradient
|
||||
top: 0
|
||||
|
||||
&.right-gradient
|
||||
right: 0
|
||||
|
||||
&.bottom-gradient
|
||||
bottom: 0
|
||||
|
||||
&.left-gradient
|
||||
left: 0
|
||||
|
||||
&.desert
|
||||
background-color: $desertMapSeaBackground
|
||||
|
||||
.top-gradient
|
||||
background: linear-gradient(to bottom, $desertMapSeaBackground 0%, $desertMapSeaBackgroundTransparent 100%)
|
||||
|
||||
.right-gradient
|
||||
background: linear-gradient(to left, $desertMapSeaBackground 0%, $desertMapSeaBackgroundTransparent 100%)
|
||||
|
||||
.bottom-gradient
|
||||
background: linear-gradient(to top, $desertMapSeaBackground 0%, $desertMapSeaBackgroundTransparent 100%)
|
||||
|
||||
.left-gradient
|
||||
background: linear-gradient(to right, $desertMapSeaBackground 0%, $desertMapSeaBackgroundTransparent 100%)
|
||||
|
||||
&.forest
|
||||
background-color: $forestMapSeaBackground
|
||||
|
||||
.top-gradient
|
||||
background: linear-gradient(to bottom, $forestMapSeaBackground 0%, $forestMapSeaBackgroundTransparent 100%)
|
||||
|
||||
.right-gradient
|
||||
background: linear-gradient(to left, $forestMapSeaBackground 0%, $forestMapSeaBackgroundTransparent 100%)
|
||||
|
||||
.bottom-gradient
|
||||
background: linear-gradient(to top, $forestMapSeaBackground 0%, $forestMapSeaBackgroundTransparent 100%)
|
||||
|
||||
.left-gradient
|
||||
background: linear-gradient(to right, $forestMapSeaBackground 0%, $forestMapSeaBackgroundTransparent 100%)
|
||||
|
||||
&.dungeon
|
||||
background-color: $dungeonMapCaveBackground
|
||||
|
||||
.top-gradient
|
||||
background: linear-gradient(to bottom, $dungeonMapCaveBackground 0%, $dungeonMapCaveBackgroundTransparent 100%)
|
||||
|
||||
.right-gradient
|
||||
background: linear-gradient(to left, $dungeonMapCaveBackground 0%, $dungeonMapCaveBackgroundTransparent 100%)
|
||||
|
||||
.bottom-gradient
|
||||
background: linear-gradient(to top, $dungeonMapCaveBackground 0%, $dungeonMapCaveBackgroundTransparent 100%)
|
||||
|
||||
.left-gradient
|
||||
background: linear-gradient(to right, $dungeonMapCaveBackground 0%, $dungeonMapCaveBackgroundTransparent 100%)
|
||||
|
||||
.map
|
||||
position: relative
|
||||
|
||||
.map-background
|
||||
width: 100%
|
||||
height: 100%
|
||||
background-size: 100%
|
||||
@include user-select(none)
|
||||
|
||||
&.map-dungeon
|
||||
background-image: url('/images/pages/play/map_dungeon_1920.jpg')
|
||||
@media screen and ( max-width: 1366px )
|
||||
background-image: url('/images/pages/play/map_dungeon_1366.jpg')
|
||||
|
||||
&.map-forest
|
||||
background-image: url('/images/pages/play/map_forest_1920.jpg')
|
||||
@media screen and ( max-width: 1366px )
|
||||
background-image: url('/images/pages/play/map_forest_1366.jpg')
|
||||
|
||||
&.map-desert
|
||||
background-image: url('/images/pages/play/map_desert_1920.jpg')
|
||||
@media screen and ( max-width: 1366px )
|
||||
background-image: url('/images/pages/play/map_desert_1366.jpg')
|
||||
|
||||
.level, .level-shadow
|
||||
position: absolute
|
||||
border-radius: 100%
|
||||
-webkit-transform: scaleY(0.75)
|
||||
transform: scaleY(0.75)
|
||||
|
||||
.level
|
||||
z-index: 2
|
||||
width: $levelDotWidth
|
||||
height: $levelDotHeight
|
||||
margin-left: -0.5 * $levelDotWidth
|
||||
margin-bottom: -$levelDotHeight / 3 + $levelDotZ
|
||||
border: 2px groove white
|
||||
@include transition(margin-bottom 0.5s ease)
|
||||
|
||||
&.disabled, &.locked
|
||||
background-image: url(/images/pages/game-menu/lock.png)
|
||||
background-size: 75%
|
||||
background-repeat: no-repeat
|
||||
background-position: 50% 50%
|
||||
opacity: 0.7
|
||||
|
||||
a
|
||||
cursor: default
|
||||
|
||||
&.next
|
||||
width: 2 * $levelDotWidth
|
||||
height: 2 * $levelDotHeight
|
||||
margin-left: -0.5 * 2 * $levelDotWidth
|
||||
margin-bottom: -2 * $levelDotHeight / 3 + 2 * $levelDotZ
|
||||
|
||||
&.started, &.next
|
||||
border: 3px solid lightgreen
|
||||
@include box-shadow(0px 0px 35px skyblue)
|
||||
|
||||
// Would be cool, but kills performance, since we have to re-render all the time.
|
||||
//&:not(:hover)
|
||||
// -webkit-animation-name: levelStartedPulse
|
||||
// -webkit-animation-duration: 3s
|
||||
// -webkit-animation-iteration-count: infinite
|
||||
|
||||
&.complete
|
||||
border: 3px solid gold
|
||||
@include box-shadow(0px 0px 35px skyblue)
|
||||
|
||||
img.banner
|
||||
position: absolute
|
||||
bottom: 38%
|
||||
left: -50%
|
||||
width: 200%
|
||||
pointer-events: none
|
||||
|
||||
img.star
|
||||
width: 100%
|
||||
bottom: 7%
|
||||
position: absolute
|
||||
pointer-events: none
|
||||
|
||||
.glyphicon-star
|
||||
position: absolute
|
||||
color: lightblue
|
||||
font-size: 21px
|
||||
left: 1.5px
|
||||
|
||||
&.started .glyphicon-star
|
||||
left: 0.5px
|
||||
|
||||
img.hero-portrait
|
||||
width: 120%
|
||||
position: absolute
|
||||
bottom: 75%
|
||||
left: 75%
|
||||
border: 1px solid black
|
||||
border-radius: 100%
|
||||
background: white
|
||||
|
||||
|
||||
.level-shadow
|
||||
z-index: 1
|
||||
width: $levelDotShadowWidth
|
||||
height: $levelDotShadowHeight
|
||||
margin-left: -0.5 * $levelDotShadowWidth
|
||||
margin-bottom: -$levelDotShadowHeight / 3
|
||||
background-color: black
|
||||
@include box-shadow(0px 0px 10px black)
|
||||
@include opacity(0.75)
|
||||
|
||||
&.next
|
||||
width: 2 * $levelDotShadowWidth
|
||||
height: 2 * $levelDotShadowHeight
|
||||
margin-left: -0.5 * 2 * $levelDotShadowWidth
|
||||
margin-bottom: -2 * $levelDotShadowHeight / 3
|
||||
|
||||
.level:hover
|
||||
// TODO: This rotate stops Firefox from flickering, but also disables the scaleY(0.75)
|
||||
// TODO: The dot looks like it's jumping.
|
||||
// TODO: -moz-transform: scaleY(0.75) didn't do anything
|
||||
// TODO: Does not break Chrome's oval.
|
||||
-moz-transform: rotate(0)
|
||||
margin-bottom: -$levelDotHeight / 3 + $levelDotHoverZ
|
||||
@include box-shadow(0px 0px 35px skyblue)
|
||||
|
||||
&.next
|
||||
margin-bottom: -2 * $levelDotHeight / 3 + 2 * $levelDotHoverZ
|
||||
|
||||
.level
|
||||
a
|
||||
display: block
|
||||
padding: $levelClickRadius
|
||||
margin-left: -0.5 * $levelClickRadius
|
||||
margin-top: -0.5 * $levelClickRadius
|
||||
border-radius: $levelClickRadius
|
||||
|
||||
&.next a
|
||||
padding: 2 * $levelClickRadius
|
||||
margin-left: 2 * -0.5 * $levelClickRadius
|
||||
margin-top: 2 * -0.5 * $levelClickRadius
|
||||
border-radius: 2 * $levelClickRadius
|
||||
|
||||
.tooltip
|
||||
z-index: 2
|
||||
|
||||
.level-info-container
|
||||
display: none
|
||||
position: absolute
|
||||
z-index: 3
|
||||
padding: 10px
|
||||
border-width: 16px 12px
|
||||
// Using modernizr-mixin for compat detection
|
||||
@include yep(borderimage)
|
||||
border-style: solid
|
||||
border-image: url(/images/level/popover_border_background.png) 16 12 fill round
|
||||
@include nope(borderimage)
|
||||
background-color: rgb(247, 242, 218)
|
||||
|
||||
.level-info.complete h3:after
|
||||
content: " - Complete!"
|
||||
color: green
|
||||
|
||||
.level-info.started h3:after
|
||||
content: " - Started"
|
||||
color: desaturate(green, 50%)
|
||||
|
||||
.level-info
|
||||
h3
|
||||
margin-top: 0
|
||||
margin-bottom: 0px
|
||||
|
||||
.level-description
|
||||
color: black
|
||||
text-shadow: 0 1px 0 white
|
||||
|
||||
.campaign-label
|
||||
text-shadow: 0 1px 0 white
|
||||
|
||||
.start-level
|
||||
display: block
|
||||
margin: 10px auto 0 auto
|
||||
width: 200px
|
||||
|
||||
.campaign-switch
|
||||
color: purple
|
||||
position: absolute
|
||||
z-index: 1
|
||||
font-size: 2vw
|
||||
text-shadow: 0 0 0.3vw white, 0 0 0.3vw white
|
||||
|
||||
&:hover
|
||||
text-decoration: none
|
||||
|
||||
&#desert-link
|
||||
left: 90%
|
||||
top: 18.5%
|
||||
transform: scaleY(-1.5) scaleX(1.5)
|
||||
|
||||
&#forest-back-link
|
||||
left: 2%
|
||||
top: 70.5%
|
||||
transform: rotate(216deg)
|
||||
|
||||
&#forest-link
|
||||
left: 94.5%
|
||||
top: 7%
|
||||
transform: rotate(-35deg)
|
||||
|
||||
&#dungeon-link
|
||||
left: 9%
|
||||
top: 54.5%
|
||||
transform: rotate(180deg)
|
||||
color: fuchsia
|
||||
|
||||
.game-controls
|
||||
position: absolute
|
||||
right: 1%
|
||||
bottom: 1%
|
||||
z-index: 3
|
||||
|
||||
.btn
|
||||
&:not(:first-child)
|
||||
margin-left: $gameControlMargin
|
||||
width: $gameControlSize
|
||||
height: $gameControlSize
|
||||
|
||||
background: url(/images/pages/play/menu_icons.png) no-repeat
|
||||
|
||||
position: relative
|
||||
img
|
||||
position: absolute
|
||||
left: 0
|
||||
top: 0
|
||||
width: 100%
|
||||
height: 100%
|
||||
|
||||
background-size: cover
|
||||
@include transition(0.5s ease)
|
||||
@include box-shadow(2px 2px 4px black)
|
||||
border: 0
|
||||
border-radius: 12px
|
||||
// IE9 shows a blank white button with this MS gradient filter in place
|
||||
filter: none
|
||||
|
||||
&:hover
|
||||
@include box-shadow(0 0 12px #bbf)
|
||||
|
||||
&:active
|
||||
@include box-shadow(0 0 20px white)
|
||||
|
||||
&.heroes
|
||||
background-position: (-1 * $gameControlSize) 0px
|
||||
&.achievements
|
||||
background-position: (-2 * $gameControlSize) 0px
|
||||
&.account
|
||||
background-position: (-3 * $gameControlSize) 0px
|
||||
&.settings
|
||||
background-position: (-4 * $gameControlSize) 0px
|
||||
&.gems
|
||||
background-position: (-5 * $gameControlSize) 0px
|
||||
|
||||
.tooltip
|
||||
font-size: 24px
|
||||
|
||||
.tooltip-arrow
|
||||
display: none
|
||||
|
||||
.user-status
|
||||
position: absolute
|
||||
bottom: 16px
|
||||
left: 8px
|
||||
text-align: center
|
||||
font-size: 24px
|
||||
color: white
|
||||
text-shadow: 0px 2px 1px black, 0px -2px 1px black, -2px 0px 1px black, 2px 0px 1px black
|
||||
height: 32px
|
||||
line-height: 32px
|
||||
|
||||
.user-status-line
|
||||
position: relative
|
||||
|
||||
button.btn.btn-illustrated
|
||||
margin-left: 10px
|
||||
min-width: 90px
|
||||
height: 32px
|
||||
color: white
|
||||
|
||||
.gem, .player-level-icon, .player-hero-icon
|
||||
position: absolute
|
||||
top: 1px
|
||||
|
||||
#gems-count
|
||||
margin-left: 40px
|
||||
|
||||
.player-level
|
||||
margin-left: 34px
|
||||
|
||||
.player-name
|
||||
margin-left: 45px
|
||||
|
||||
$spriteSheetSize: 30px
|
||||
|
||||
.player-level-icon, .player-hero-icon
|
||||
background: transparent url(/images/pages/play/play-spritesheet.png)
|
||||
background-size: cover
|
||||
background-position: (-2 * $spriteSheetSize) 0
|
||||
display: inline-block
|
||||
width: 30px
|
||||
height: 30px
|
||||
margin: 0px 2px
|
||||
|
||||
.player-hero-icon
|
||||
margin-left: 10px
|
||||
background-position: (-4 * $spriteSheetSize) 0
|
||||
|
||||
&.knight
|
||||
background-position: (-5 * $spriteSheetSize) 0
|
||||
&.librarian
|
||||
background-position: (-6 * $spriteSheetSize) 0
|
||||
&.ninja
|
||||
background-position: (-7 * $spriteSheetSize) 0
|
||||
&.potion-master
|
||||
background-position: (-8 * $spriteSheetSize) 0
|
||||
&.samurai
|
||||
background-position: (-9 * $spriteSheetSize) 0
|
||||
&.trapper
|
||||
background-position: (-10 * $spriteSheetSize) 0
|
||||
&.forest-archer
|
||||
background-position: (-11 * $spriteSheetSize) 0
|
||||
&.sorcerer
|
||||
background-position: (-12 * $spriteSheetSize) 0
|
||||
|
||||
|
||||
#volume-button
|
||||
position: absolute
|
||||
left: 1%
|
||||
top: 1%
|
||||
padding: 3px 8px
|
||||
@include opacity(0.75)
|
||||
|
||||
&:hover
|
||||
@include opacity(1.0)
|
||||
|
||||
.glyphicon
|
||||
display: none
|
||||
font-size: 32px
|
||||
|
||||
&.vol-up .glyphicon.glyphicon-volume-up
|
||||
display: inline-block
|
||||
|
||||
&.vol-off .glyphicon.glyphicon-volume-off
|
||||
display: inline-block
|
||||
@include opacity(0.50)
|
||||
&:hover
|
||||
@include opacity(0.75)
|
||||
|
||||
&.vol-down .glyphicon.glyphicon-volume-down
|
||||
display: inline-block
|
||||
|
||||
#campaign-status
|
||||
position: absolute
|
||||
left: 0
|
||||
top: 15px
|
||||
width: 100%
|
||||
margin: 0
|
||||
text-align: center
|
||||
color: rgb(254,188,68)
|
||||
font-size: 30px
|
||||
text-shadow: black 2px 2px 0, black -2px -2px 0, black 2px -2px 0, black -2px 2px 0, black 2px 0px 0, black 0px -2px 0, black -2px 0px 0, black 0px 2px 0
|
||||
|
||||
|
||||
body:not(.ipad) #world-map-view
|
||||
.level-info-container
|
||||
pointer-events: none
|
||||
|
||||
|
||||
|
||||
body.ipad #world-map-view
|
||||
// iPad only supports up to Kithgard Gates for now.
|
||||
.campaign-switch
|
||||
display: none
|
||||
|
||||
.old-levels
|
||||
display: none
|
|
@ -24,13 +24,13 @@ block header
|
|||
a(data-toggle='dropdown')
|
||||
span.glyphicon-chevron-down.glyphicon
|
||||
ul.dropdown-menu
|
||||
li.dropdown-header Actions
|
||||
li.dropdown-header(data-i18n="common.actions") Actions
|
||||
li(class=anonymous ? "disabled": "")
|
||||
a(data-toggle="coco-modal", data-target="modal/RevertModal", data-i18n="editor.revert")#revert-button Revert
|
||||
li(class=anonymous ? "disabled": "")
|
||||
a(data-i18n="editor.pop_i18n")#pop-level-i18n-button Populate i18n
|
||||
li.divider
|
||||
li.dropdown-header Info
|
||||
li.dropdown-header(data-i18n="common.info") Info
|
||||
|
||||
block outer_content
|
||||
.outer-content
|
||||
|
|
|
@ -5,7 +5,7 @@ block modal-header-content
|
|||
|
||||
block modal-body-content
|
||||
if !modelsToSave.models.length
|
||||
.alert.alert-info No changes
|
||||
.alert.alert-info(data-i18n="delta.no_changes") No changes
|
||||
|
||||
for model in modelsToSave.models
|
||||
.panel.panel-default
|
||||
|
@ -18,4 +18,4 @@ block modal-body-content
|
|||
block modal-footer
|
||||
.modal-footer
|
||||
button(data-dismiss="modal", data-i18n="common.cancel").btn Cancel
|
||||
button.btn.btn-primary#save-button Save
|
||||
button.btn.btn-primary(data-i18n="common.save")#save-button Save
|
||||
|
|
|
@ -44,7 +44,7 @@ div#columns.row
|
|||
a(href="/play/level/#{level.get('slug') || level.id}?team=#{team.otherTeam}&opponent=#{session.id}")
|
||||
span(data-i18n="ladder.fight") Fight!
|
||||
if teamIndex == 1
|
||||
.btn.btn-sm.load-more-ladder-entries More
|
||||
.btn.btn-sm.load-more-ladder-entries(data-i18n="editor.more") More
|
||||
|
||||
div.column.col-md-4
|
||||
h4.friends-header(data-i18n="ladder.friends_playing") Friends Playing
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
img.hr(src="/images/pages/play/modal/hr.png", draggable="false")
|
||||
|
||||
for stat in stats
|
||||
div.stat-row.big-font
|
||||
div(class="stat-row big-font" + (/^en/.test(me.get('preferredLanguage')) && stat.matchedShortName ? " short-name" : ""))
|
||||
div.stat-label= stat.name
|
||||
div.stat= stat.display
|
||||
img.hr(src="/images/pages/play/modal/hr.png", class=stat.isLast ? "" : "faded", draggable="false")
|
||||
|
|
|
@ -17,8 +17,21 @@
|
|||
a.one-line(href="#item-category-" + category, data-toggle="tab")
|
||||
img.tab-icon(src="/images/pages/play/modal/item-icon-"+category+".png", draggable="false")
|
||||
span.big-font= itemCategoryNames[index]
|
||||
|
||||
|
||||
|
||||
#hero-type-select.btn-group(data-toggle="buttons")
|
||||
label.btn.active#all
|
||||
input(type="radio", name="hero-class-select", autocomplete="off")
|
||||
span(data-i18n="editor.level_tab_thangs_all")
|
||||
label.btn#warrior
|
||||
input(type="radio", name="hero-class-select", autocomplete="off")
|
||||
span(data-i18n="general.warrior")
|
||||
label.btn#ranger
|
||||
input(type="radio", name="hero-class-select", autocomplete="off")
|
||||
span(data-i18n="general.ranger")
|
||||
label.btn#wizard
|
||||
input(type="radio", name="hero-class-select", autocomplete="off")
|
||||
span(data-i18n="general.wizard")
|
||||
|
||||
.tab-content
|
||||
for category, index in itemCategories
|
||||
.tab-pane(id="item-category-" + category, class=index ? "" : "active")
|
||||
|
@ -27,7 +40,7 @@
|
|||
for item in itemCategoryCollections[category].models
|
||||
- var hidden = item.comingSoon && !me.isAdmin()
|
||||
- hidden = hidden || (!item.get('gems') && !item.owned)
|
||||
div(class="item" + (hidden ? " hide" : "") + (item.silhouetted && !item.owned ? " silhouetted" : ""), data-item-id=item.id)
|
||||
div(class="item " + item.get('heroClass') + (hidden ? " hide" : "") + (item.silhouetted && !item.owned ? " silhouetted" : ""), data-item-id=item.id)
|
||||
if item.silhouetted && !item.owned
|
||||
span.glyphicon.glyphicon-lock.bolder
|
||||
span.glyphicon.glyphicon-lock
|
||||
|
|
|
@ -1,106 +0,0 @@
|
|||
.map
|
||||
.gradient.horizontal-gradient.top-gradient
|
||||
.gradient.vertical-gradient.right-gradient
|
||||
.gradient.horizontal-gradient.bottom-gradient
|
||||
.gradient.vertical-gradient.left-gradient
|
||||
.map-background(class="map-"+mapType alt="", draggable="false")
|
||||
|
||||
- var seenNext = nextLevel;
|
||||
each level in campaign.levels
|
||||
if !level.hidden
|
||||
- var next = level.id == nextLevel || (!seenNext && levelStatusMap[level.id] != "complete" && !level.locked && !level.disabled && !editorMode);
|
||||
- seenNext = seenNext || next;
|
||||
div(style="left: #{level.x}%; bottom: #{level.y}%; background-color: #{level.color}", class="level" + (next ? " next" : "") + (level.disabled ? " disabled" : "") + (level.locked ? " locked" : "") + " " + levelStatusMap[level.id] || "", data-level-id=level.id, title=level.name + (level.disabled ? ' (Coming Soon to Adventurers)' : ''))
|
||||
if level.unlocksHero && !level.unlockedHero
|
||||
img.hero-portrait(src=level.unlocksHero.img)
|
||||
a(href=level.type == 'hero' ? '#' : level.disabled ? "/play" : "/play/#{level.levelPath || 'level'}/#{level.id}", disabled=level.disabled, data-level-id=level.id, data-level-path=level.levelPath || 'level', data-level-name=level.name)
|
||||
if level.requiresSubscription
|
||||
img.star(src="/images/pages/play/star.png")
|
||||
if levelStatusMap[level.id] === 'complete'
|
||||
img.banner(src="/images/pages/play/level-banner-complete.png")
|
||||
if levelStatusMap[level.id] === 'started'
|
||||
img.banner(src="/images/pages/play/level-banner-started.png")
|
||||
div(style="left: #{level.x}%; bottom: #{level.y}%", class="level-shadow" + (next ? " next" : "") + " " + levelStatusMap[level.id] || "")
|
||||
.level-info-container(data-level-id=level.id, data-level-path=level.levelPath || 'level', data-level-name=level.name)
|
||||
div(class="level-info " + (levelStatusMap[level.id] || ""))
|
||||
h3= level.name + (level.disabled ? " (Coming soon!)" : (level.locked ? " (Locked)" : ""))
|
||||
.level-description= level.description
|
||||
if level.disabled
|
||||
p
|
||||
span.spr(data-i18n="play.awaiting_levels_adventurer_prefix") We release five levels per week.
|
||||
a.spr(href="/contribute/adventurer")
|
||||
strong(data-i18n="play.awaiting_levels_adventurer") Sign up as an Adventurer
|
||||
span.spl(data-i18n="play.awaiting_levels_adventurer_suffix") to be the first to play new levels.
|
||||
|
||||
- var playCount = levelPlayCountMap[level.id]
|
||||
if playCount && playCount.sessions > 20
|
||||
div
|
||||
span.spr #{playCount.sessions}
|
||||
span(data-i18n="play.players") players
|
||||
span.spr , #{Math.round(playCount.playtime / 3600)}
|
||||
span(data-i18n="play.hours_played") hours played
|
||||
.campaign-label(style="color: #{campaign.color}")= campaign.name
|
||||
if isIPadApp && !level.disabled && !level.locked
|
||||
button.btn.btn-success.btn-lg.start-level(data-i18n="common.play") Play
|
||||
if mapType === 'dungeon' && forestIsAvailable
|
||||
a#forest-link.glyphicon.glyphicon-share-alt.campaign-switch(href="/play/forest", data-i18n="[title]play.campaign_forest")
|
||||
if mapType === 'forest'
|
||||
a#dungeon-link.glyphicon.glyphicon-share-alt.campaign-switch(href="/play/dungeon", data-i18n="[title]play.campaign_dungeon")
|
||||
if desertIsAvailable
|
||||
a#desert-link.glyphicon.glyphicon-share-alt.campaign-switch(href="/play/desert", data-i18n="[title]play.campaign_desert")
|
||||
if mapType === 'desert'
|
||||
a#forest-back-link.glyphicon.glyphicon-share-alt.campaign-switch(href="/play/forest", data-i18n="[title]play.campaign_forest")
|
||||
|
||||
|
||||
.game-controls.header-font
|
||||
button.btn.items(data-toggle='coco-modal', data-target='play/modal/PlayItemsModal', data-i18n="[title]play.items")
|
||||
button.btn.heroes(data-toggle='coco-modal', data-target='play/modal/PlayHeroesModal', data-i18n="[title]play.heroes")
|
||||
button.btn.achievements(data-toggle='coco-modal', data-target='play/modal/PlayAchievementsModal', data-i18n="[title]play.achievements")
|
||||
if me.get('anonymous') === false || me.get('iosIdentifierForVendor') || isIPadApp
|
||||
button.btn.gems(data-toggle='coco-modal', data-target='play/modal/BuyGemsModal', data-i18n="[title]play.buy_gems")
|
||||
if me.isAdmin()
|
||||
button.btn.account(data-toggle='coco-modal', data-target='play/modal/PlayAccountModal', data-i18n="[title]play.account")
|
||||
button.btn.settings(data-toggle='coco-modal', data-target='play/modal/PlaySettingsModal', data-i18n="[title]play.settings")
|
||||
else if me.get('anonymous', true)
|
||||
button.btn.settings(data-toggle='coco-modal', data-target='core/AuthModal', data-i18n="[title]play.settings")
|
||||
// Don't show these things, they are bad and take us out of the game. Just wait until the new ones work.
|
||||
//else
|
||||
// a.btn.achievements(href="/user/#{me.getSlugOrID()}/stats", data-i18n="[title]play.achievements")
|
||||
// a.btn.account(href="/user/#{me.getSlugOrID()}", data-i18n="[title]play.account")
|
||||
// a.btn.settings(href='/account', data-i18n="[title]play.settings")
|
||||
|
||||
.user-status.header-font
|
||||
.user-status-line
|
||||
span.gem.gem-30
|
||||
span#gems-count.spr= me.gems()
|
||||
span.player-level-icon
|
||||
span.player-level.spr= me.level()
|
||||
span.player-hero-icon
|
||||
if me.get('anonymous')
|
||||
span.player-name.spr(data-i18n="play.anonymous") Anonymous Player
|
||||
button.btn.btn-illustrated.login-button.btn-warning(data-i18n="login.log_in")
|
||||
button.btn.btn-illustrated.signup-button.btn-danger(data-i18n="signup.sign_up")
|
||||
else
|
||||
span.player-name.spr= me.get('name')
|
||||
button#logout-button.btn.btn-illustrated.btn-warning(data-i18n="login.log_out") Log Out
|
||||
if me.isPremium()
|
||||
button.btn.btn-illustrated.btn-primary(data-i18n="nav.contact", data-toggle="coco-modal", data-target="core/ContactModal") Contact
|
||||
|
||||
|
||||
button.btn.btn-lg.btn-inverse#volume-button(title="Adjust volume")
|
||||
.glyphicon.glyphicon-volume-off
|
||||
.glyphicon.glyphicon-volume-down
|
||||
.glyphicon.glyphicon-volume-up
|
||||
|
||||
//h1#campaign-status
|
||||
// if mapType == 'dungeon'
|
||||
// span.spr(data-i18n="play.campaign_dungeon")
|
||||
// else if mapType == 'forest'
|
||||
// span.spr(data-i18n="play.campaign_forest")
|
||||
// | -
|
||||
// if requiresSubscription
|
||||
// span.spl(data-i18n="play.subscription_required")
|
||||
// else if mapType == 'dungeon'
|
||||
// span.spl(data-i18n="play.free")
|
||||
// else
|
||||
// span.spl(data-i18n="play.subscribed")
|
|
@ -47,7 +47,7 @@ module.exports = class CampaignEditorView extends RootView
|
|||
@listenToOnce @levels, 'sync', @onFundamentalLoaded
|
||||
@listenToOnce @achievements, 'sync', @onFundamentalLoaded
|
||||
|
||||
_.delay @getCampaignCompletions, 1000
|
||||
#_.delay @getCampaignCompletions, 1000 # Roughly never finishes loading, nearly kills server.
|
||||
|
||||
loadThangTypeNames: ->
|
||||
# Load the names of the ThangTypes that this level's Treema nodes might want to display.
|
||||
|
|
|
@ -159,7 +159,7 @@ module.exports = class LevelEditView extends RootView
|
|||
Backbone.Mediator.publish 'editor:view-switched', {}
|
||||
|
||||
startCommittingLevel: (e) ->
|
||||
@openModalView new SaveLevelModal level: @level, supermodel: @supermodel
|
||||
@openModalView new SaveLevelModal level: @level, supermodel: @supermodel, buildTime: @levelBuildTime
|
||||
Backbone.Mediator.publish 'editor:view-switched', {}
|
||||
|
||||
startForking: (e) ->
|
||||
|
@ -200,4 +200,5 @@ module.exports = class LevelEditView extends RootView
|
|||
|
||||
incrementBuildTime: =>
|
||||
return if application.userIsIdle
|
||||
@level.set('buildTime', (@level.get('buildTime') ? 0) + 1)
|
||||
@levelBuildTime ?= @level.get('buildTime')
|
||||
++@levelBuildTime
|
||||
|
|
|
@ -20,6 +20,7 @@ module.exports = class SaveLevelModal extends SaveVersionModal
|
|||
constructor: (options) ->
|
||||
super options
|
||||
@level = options.level
|
||||
@buildTime = options.buildTime
|
||||
|
||||
getRenderData: (context={}) ->
|
||||
context = super(context)
|
||||
|
@ -60,6 +61,7 @@ module.exports = class SaveLevelModal extends SaveVersionModal
|
|||
|
||||
commitLevel: (e) ->
|
||||
e.preventDefault()
|
||||
@level.set 'buildTime', @buildTime
|
||||
modelsToSave = []
|
||||
formsToSave = []
|
||||
for form in @$el.find('form')
|
||||
|
|
|
@ -146,8 +146,10 @@ module.exports = class CampaignView extends RootView
|
|||
level.unlockedHero = level.unlocksHero.originalID in (me.get('earned')?.heroes or [])
|
||||
level.hidden = level.locked
|
||||
|
||||
@determineNextLevel context.levels if @sessions.loaded
|
||||
# put lower levels in last, so in the world map they layer over one another properly.
|
||||
context.campaign.levels = (_.sortBy context.campaign.levels, (l) -> l.position.y).reverse()
|
||||
context.levels = (_.sortBy context.levels, (l) -> l.position.y).reverse()
|
||||
@campaign.renderedLevels = context.levels
|
||||
|
||||
context.levelStatusMap = @levelStatusMap
|
||||
context.levelPlayCountMap = @levelPlayCountMap
|
||||
|
@ -155,8 +157,8 @@ module.exports = class CampaignView extends RootView
|
|||
context.mapType = _.string.slugify @terrain
|
||||
context.requiresSubscription = @requiresSubscription
|
||||
context.editorMode = @editorMode
|
||||
context.adjacentCampaigns = _.filter _.values(_.cloneDeep(@campaign.get('adjacentCampaigns') or {})), (ac) ->
|
||||
return false if ac.showIfUnlocked and ac.showIfUnlocked not in me.levels()
|
||||
context.adjacentCampaigns = _.filter _.values(_.cloneDeep(@campaign.get('adjacentCampaigns') or {})), (ac) =>
|
||||
return false if ac.showIfUnlocked and (ac.showIfUnlocked not in me.levels()) and not @editorMode
|
||||
ac.name = utils.i18n ac, 'name'
|
||||
ac.description = utils.i18n ac, 'description'
|
||||
styles = []
|
||||
|
@ -188,6 +190,11 @@ module.exports = class CampaignView extends RootView
|
|||
@updateHero()
|
||||
unless window.currentModal or not @fullyRendered
|
||||
@highlightElement '.level.next', delay: 500, duration: 60000, rotation: 0, sides: ['top']
|
||||
if @editorMode
|
||||
for level in @campaign.renderedLevels
|
||||
for nextLevelOriginal in level.nextLevels
|
||||
if nextLevel = _.find(@campaign.renderedLevels, original: nextLevelOriginal)
|
||||
@createLine level.position, nextLevel.position
|
||||
@applyCampaignStyles()
|
||||
|
||||
afterInsert: ->
|
||||
|
@ -199,6 +206,29 @@ module.exports = class CampaignView extends RootView
|
|||
authModal.mode = 'signup'
|
||||
@openModalView authModal
|
||||
|
||||
determineNextLevel: (levels) ->
|
||||
foundNext = false
|
||||
for level in levels
|
||||
level.nextLevels = (reward.level for reward in level.rewards when reward.level)
|
||||
unless foundNext
|
||||
for nextLevelOriginal in level.nextLevels
|
||||
nextLevel = _.find levels, original: nextLevelOriginal
|
||||
if nextLevel and not nextLevel.locked and @levelStatusMap[nextLevel.slug] isnt 'complete' and (me.isPremium() or not nextLevel.requiresSubscription)
|
||||
nextLevel.next = true
|
||||
foundNext = true
|
||||
break
|
||||
if not foundNext and levels[0] and not levels[0].locked and @levelStatusMap[levels[0].slug] isnt 'complete'
|
||||
levels[0].next = true
|
||||
|
||||
createLine: (o1, o2) ->
|
||||
p1 = x: o1.x, y: 0.66 * o1.y + 0.5
|
||||
p2 = x: o2.x, y: 0.66 * o2.y + 0.5
|
||||
length = Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y))
|
||||
angle = Math.atan2(p1.y - p2.y, p2.x - p1.x) * 180 / Math.PI
|
||||
transform = "rotate(#{angle}deg)"
|
||||
line = $('<div>').appendTo('.map').addClass('next-level-line').css(transform: transform, width: length + '%', left: o1.x + '%', bottom: (o1.y + 0.5) + '%')
|
||||
line.append($('<div class="line">')).append($('<div class="point">'))
|
||||
|
||||
applyCampaignStyles: ->
|
||||
return unless @campaign.loaded
|
||||
if (backgrounds = @campaign.get 'backgroundImage') and backgrounds.length
|
||||
|
@ -221,7 +251,6 @@ module.exports = class CampaignView extends RootView
|
|||
return if @editorMode
|
||||
for session in @sessions.models
|
||||
@levelStatusMap[session.get('levelID')] = if session.get('state')?.complete then 'complete' else 'started'
|
||||
# TODO: add level.next = true for the next level they should do
|
||||
@render()
|
||||
|
||||
onClickMap: (e) ->
|
||||
|
|
|
@ -81,21 +81,25 @@ module.exports = class HeroVictoryModal extends ModalView
|
|||
@newEarnedAchievements.push ea
|
||||
@listenToOnce ea, 'sync', ->
|
||||
if _.all((ea.id for ea in @newEarnedAchievements))
|
||||
@newEarnedAchievementsResource.markLoaded()
|
||||
@listenToOnce me, 'sync', ->
|
||||
@readyToContinue = true
|
||||
@updateSavingProgressStatus()
|
||||
me.fetch cache: false unless me.loading
|
||||
|
||||
@readyToContinue = true if not @achievements.models.length
|
||||
|
||||
# have to use a something resource because addModelResource doesn't handle models being upserted/fetched via POST like we're doing here
|
||||
@newEarnedAchievementsResource = @supermodel.addSomethingResource('earned achievements') if @newEarnedAchievements.length
|
||||
|
||||
getRenderData: ->
|
||||
c = super()
|
||||
c.levelName = utils.i18n @level.attributes, 'name'
|
||||
earnedAchievementMap = _.indexBy(@earnedAchievements?.models or [], (ea) -> ea.get('achievement'))
|
||||
earnedAchievementMap = _.indexBy(@newEarnedAchievements or [], (ea) -> ea.get('achievement'))
|
||||
for achievement in @achievements.models
|
||||
earnedAchievement = earnedAchievementMap[achievement.id]
|
||||
if earnedAchievement
|
||||
achievement.completedAWhileAgo = new Date() - Date.parse(earnedAchievement.get('created')) > 30 * 1000
|
||||
achievement.completedAWhileAgo = new Date().getTime() - Date.parse(earnedAchievement.get('created')) > 30 * 1000
|
||||
achievement.worth = achievement.get 'worth', true
|
||||
achievement.gems = achievement.get('rewards')?.gems
|
||||
c.achievements = @achievements.models.slice()
|
||||
|
|
|
@ -52,6 +52,7 @@ module.exports = class PlayItemsModal extends ModalView
|
|||
'click #close-modal': 'hide'
|
||||
'click': 'onClickedSomewhere'
|
||||
'update .tab-pane .nano': 'onScrollItemPane'
|
||||
'click #hero-type-select label': 'onClickHeroTypeSelect'
|
||||
|
||||
constructor: (options) ->
|
||||
@onScrollItemPane = _.throttle(_.bind(@onScrollItemPane, @), 200)
|
||||
|
@ -162,6 +163,12 @@ module.exports = class PlayItemsModal extends ModalView
|
|||
item = @idToItem[itemEl.data('item-id')]
|
||||
itemEl.find('.item-silhouette, .item-img').attr('src', item.getPortraitURL())
|
||||
|
||||
onClickHeroTypeSelect: (e) ->
|
||||
value = $(e.target).closest('label').attr('id')
|
||||
tabContent = @$el.find('.tab-content')
|
||||
tabContent.removeClass('filter-wizard filter-ranger filter-warrior')
|
||||
tabContent.addClass("filter-#{value}") if value isnt 'all'
|
||||
|
||||
onUnlockButtonClicked: (e) ->
|
||||
e.stopPropagation()
|
||||
button = $(e.target).closest('button')
|
||||
|
|
|
@ -9,24 +9,24 @@ module.exports.setup = (app) ->
|
|||
app.all '/file*', (req, res) ->
|
||||
return fileGet(req, res) if req.route.method is 'get'
|
||||
return filePost(req, res) if req.route.method is 'post'
|
||||
return errors.badMethod(res, ['GET', 'POST'])
|
||||
return fileDelete(req, res) if req.route.method is 'delete'
|
||||
return errors.badMethod(res, ['GET', 'POST', 'DELETE'])
|
||||
|
||||
fileDelete = (req, res) ->
|
||||
return errors.forbidden(res) unless req.user
|
||||
query = parsePathIntoQuery(req.path)
|
||||
return errors.badInput(res) if not query.filename
|
||||
Grid.gfs.collection('media').findOne query, (err, filedata) =>
|
||||
return errors.notFound(res) if not filedata
|
||||
return errors.forbidden(res) unless userCanEditFile(req.user, filedata)
|
||||
Grid.gfs.remove {_id: filedata._id, root: 'media'}, (err) ->
|
||||
return errors.serverError(res) if err
|
||||
return res.end()
|
||||
|
||||
fileGet = (req, res) ->
|
||||
path = req.path[6..]
|
||||
path = decodeURI path
|
||||
isFolder = false
|
||||
try
|
||||
objectId = mongoose.Types.ObjectId(path)
|
||||
query = objectId
|
||||
catch e
|
||||
path = path.split('/')
|
||||
filename = path[path.length-1]
|
||||
path = path[...path.length-1].join('/')
|
||||
query =
|
||||
'metadata.path': path
|
||||
if filename then query.filename = filename else isFolder = true
|
||||
query = parsePathIntoQuery(req.path)
|
||||
|
||||
if isFolder
|
||||
if not query.filename # it's a folder, return folder contents
|
||||
Grid.gfs.collection('media').find query, (err, cursor) ->
|
||||
return errors.serverError(res) if err
|
||||
results = cursor.toArray (err, results) ->
|
||||
|
@ -35,7 +35,7 @@ fileGet = (req, res) ->
|
|||
res.send(results)
|
||||
res.end()
|
||||
|
||||
else
|
||||
else # it's a single file
|
||||
Grid.gfs.collection('media').findOne query, (err, filedata) =>
|
||||
return errors.notFound(res) if not filedata
|
||||
readstream = Grid.gfs.createReadStream({_id: filedata._id, root: 'media'})
|
||||
|
@ -48,6 +48,22 @@ fileGet = (req, res) ->
|
|||
res.setHeader('Cache-Control', 'public')
|
||||
readstream.pipe(res)
|
||||
handleStreamEnd(res, res)
|
||||
|
||||
parsePathIntoQuery = (path) ->
|
||||
path = path[6..]
|
||||
path = decodeURI path
|
||||
try
|
||||
objectId = mongoose.Types.ObjectId(path)
|
||||
query = objectId
|
||||
catch e
|
||||
path = path.split('/')
|
||||
filename = path[path.length-1]
|
||||
path = path[...path.length-1].join('/')
|
||||
query =
|
||||
'metadata.path': path
|
||||
query.filename = filename if filename
|
||||
|
||||
query
|
||||
|
||||
postFileSchema =
|
||||
type: 'object'
|
||||
|
|
|
@ -224,8 +224,10 @@ UserSchema.methods.saveActiveUser = (event, done=null) ->
|
|||
done?()
|
||||
|
||||
UserSchema.pre('save', (next) ->
|
||||
@set('emailLower', @get('email')?.toLowerCase())
|
||||
@set('nameLower', @get('name')?.toLowerCase())
|
||||
if email = @get('email')
|
||||
@set('emailLower', email.toLowerCase())
|
||||
if name = @get('name')
|
||||
@set('nameLower', name.toLowerCase())
|
||||
pwd = @get('password')
|
||||
if @get('password')
|
||||
@set('passwordHash', User.hashPassword(pwd))
|
||||
|
@ -265,6 +267,8 @@ UserSchema.statics.editableProperties = [
|
|||
|
||||
UserSchema.plugin plugins.NamedPlugin
|
||||
UserSchema.index({'stripe.subscriptionID':1}, {unique: true, sparse: true})
|
||||
UserSchema.index({'emailLower':1}, {unique: true, sparse: true, name: 'emailLower_1'})
|
||||
UserSchema.index({'nameLower':1}, {unique: true, sparse: true, name: 'nameLower_1'})
|
||||
|
||||
module.exports = User = mongoose.model('User', UserSchema)
|
||||
|
||||
|
|
Loading…
Reference in a new issue