diff --git a/levels/CMakeLists.txt b/levels/CMakeLists.txt index ca284ec9..34c35d04 100644 --- a/levels/CMakeLists.txt +++ b/levels/CMakeLists.txt @@ -89,9 +89,10 @@ function(add_level level_dir) endfunction() -add_level_category(challenges) -add_level_category(exercises) -add_level_category(freemissions) add_level_category(missions) +add_level_category(freemissions) +add_level_category(exercises) +add_level_category(challenges) +add_level_category(battles) install(DIRECTORY other DESTINATION ${LEVEL_INSTALL_DATA_DIR}) diff --git a/levels/battles/chapter001/chaptertitle.txt b/levels/battles/chapter001/chaptertitle.txt new file mode 100644 index 00000000..feeac910 --- /dev/null +++ b/levels/battles/chapter001/chaptertitle.txt @@ -0,0 +1 @@ +Title.E text="Code battle" resume="Code battle" diff --git a/levels/battles/chapter001/level001/po/de.po b/levels/battles/chapter001/level001/po/de.po new file mode 100644 index 00000000..76440e6d --- /dev/null +++ b/levels/battles/chapter001/level001/po/de.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs aliens" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "A map for begginers! Research all needed technologies and build your infrastructure to kill all the aliens on the opposite side of the river - using programming only!" +msgstr "" diff --git a/levels/battles/chapter001/level001/po/fr.po b/levels/battles/chapter001/level001/po/fr.po new file mode 100644 index 00000000..32af066e --- /dev/null +++ b/levels/battles/chapter001/level001/po/fr.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs aliens" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "A map for begginers! Research all needed technologies and build your infrastructure to kill all the aliens on the opposite side of the river - using programming only!" +msgstr "" diff --git a/levels/battles/chapter001/level001/po/free101.pot b/levels/battles/chapter001/level001/po/free101.pot new file mode 100644 index 00000000..42cdb738 --- /dev/null +++ b/levels/battles/chapter001/level001/po/free101.pot @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs aliens" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "A map for begginers! Research all needed technologies and build your infrastructure to kill all the aliens on the opposite side of the river - using programming only!" +msgstr "" diff --git a/levels/battles/chapter001/level001/po/pl.po b/levels/battles/chapter001/level001/po/pl.po new file mode 100644 index 00000000..3e7c1f54 --- /dev/null +++ b/levels/battles/chapter001/level001/po/pl.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs aliens" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "A map for begginers! Research all needed technologies and build your infrastructure to kill all the aliens on the opposite side of the river - using programming only!" +msgstr "" diff --git a/levels/battles/chapter001/level001/po/ru.po b/levels/battles/chapter001/level001/po/ru.po new file mode 100644 index 00000000..04c368f4 --- /dev/null +++ b/levels/battles/chapter001/level001/po/ru.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs aliens" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "A map for begginers! Research all needed technologies and build your infrastructure to kill all the aliens on the opposite side of the river - using programming only!" +msgstr "" diff --git a/levels/battles/chapter001/level001/scene.txt b/levels/battles/chapter001/level001/scene.txt new file mode 100644 index 00000000..1a80ed6d --- /dev/null +++ b/levels/battles/chapter001/level001/scene.txt @@ -0,0 +1,19 @@ +Title.E text="Code battle - vs aliens" +Resume.E text="A map for begginers! Research all needed technologies and build your infrastructure to kill all the aliens on the opposite side of the river - using programming only!" + +#Include file="%cat%/level_common.txt" +Level type=CODE_BATTLE + +BeginObject + +// Team "Blue" (1) +CreateObject pos=0;-40 dir=1.5 type=WheeledGrabber team=1 select=true +CreateObject pos=0;-38.5 type=Titanium +CreateObject pos=0;-57.5 dir=1.5 type=Derrick magnifyDamage=0 selectable=false + +// Team "Red" (2) +// TODO: Put some ants there!!! +CreateObject pos=0;40 dir=0.5 type=AlienAnt + +EndMissionTake pos=0;0 dist=10000 type=AlienAnt min=0 max=0 +EndMissionTake pos=0;0 dist=10000 type=Any team=1 lost=0 diff --git a/levels/battles/chapter001/level002/po/de.po b/levels/battles/chapter001/level002/po/de.po new file mode 100644 index 00000000..cb19c76f --- /dev/null +++ b/levels/battles/chapter001/level002/po/de.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs computer" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your... computer? Actually, challenge the developers! But, for real, this is just a simple enemy program that you can use if you don't have any real opponent" +msgstr "" diff --git a/levels/battles/chapter001/level002/po/fr.po b/levels/battles/chapter001/level002/po/fr.po new file mode 100644 index 00000000..b8f042c5 --- /dev/null +++ b/levels/battles/chapter001/level002/po/fr.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs computer" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your... computer? Actually, challenge the developers! But, for real, this is just a simple enemy program that you can use if you don't have any real opponent" +msgstr "" diff --git a/levels/battles/chapter001/level002/po/free101.pot b/levels/battles/chapter001/level002/po/free101.pot new file mode 100644 index 00000000..d566c6e9 --- /dev/null +++ b/levels/battles/chapter001/level002/po/free101.pot @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs computer" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your... computer? Actually, challenge the developers! But, for real, this is just a simple enemy program that you can use if you don't have any real opponent" +msgstr "" diff --git a/levels/battles/chapter001/level002/po/pl.po b/levels/battles/chapter001/level002/po/pl.po new file mode 100644 index 00000000..5606d5f5 --- /dev/null +++ b/levels/battles/chapter001/level002/po/pl.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs computer" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your... computer? Actually, challenge the developers! But, for real, this is just a simple enemy program that you can use if you don't have any real opponent" +msgstr "" diff --git a/levels/battles/chapter001/level002/po/ru.po b/levels/battles/chapter001/level002/po/ru.po new file mode 100644 index 00000000..e5b9b346 --- /dev/null +++ b/levels/battles/chapter001/level002/po/ru.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs computer" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your... computer? Actually, challenge the developers! But, for real, this is just a simple enemy program that you can use if you don't have any real opponent" +msgstr "" diff --git a/levels/battles/chapter001/level002/program.txt b/levels/battles/chapter001/level002/program.txt new file mode 100644 index 00000000..6f5c4135 --- /dev/null +++ b/levels/battles/chapter001/level002/program.txt @@ -0,0 +1,215 @@ +object RadarFriendly(int cat) +{ + return radar(cat, 0, 360, 0, 1000, 1, FilterFriendly); +} + +object SearchObjectAt(int cat, point pos) +{ + object item = search(Titanium, pos); + if(item == null) return null; + if(distance(pos, item.position) > 0.5) return null; + return item; +} + +public void object::StandardEnemy_Recharge() +{ + object item = RadarFriendly(PowerStation); + goto(item.position); + if(this.load != null && this.load.category == PowerCell) + { + while(this.load.energyLevel < 1) wait(0.05); + } + while(this.energyLevel < 1) wait(0.05); +} + +void object::GetTitanium() +{ + object item; + do + { + item = radar(TitaniumOre, 0, 360, 0, 40); + } + while(item == null); + goto(item.position); + grab(); + item = RadarFriendly(Converter); + goto(item.position); + drop(); + move(-2.5); + point converterPos = item.position; + while((item = SearchObjectAt(Titanium, converterPos)) == null) wait(0.05); + goto(item.position); + grab(); +} + +void object::GetPowerCell() +{ + object item = radar(PowerCell, 0, 360, 0, 40); + if (item != null) + { + goto(item.position); + grab(); + if(item.energyLevel < 1) + { + StandardEnemy_Recharge(); + } + } + else + { + GetTitanium(); + item = RadarFriendly(PowerPlant); + goto(item.position); + drop(); + while(item.energyCell == null || item.energyCell.category != PowerCell) wait(0.05); + grab(); + } +} + +void object::BuildSomewhere(int cat) +{ + GetTitanium(); + goto(flatspace(this.position, 10, 10, 40, 8)); + drop(); + build(cat); +} + +void object::GoResearch(int what) +{ + GetPowerCell(); + object item = RadarFriendly(ResearchCenter); + goto(item.position); + while(item.busy()) wait(0.05); + if (item.energyCell != null) + { + drop(Behind); + grab(); + turn(90); + drop(); + turn(-90); + grab(Behind); + } + drop(); + item.research(what); +} + +void object::FactoryRobot(int cat, string program) +{ + GetTitanium(); + object item = RadarFriendly(BotFactory); + goto(item.position); + drop(); + move(-5); + item.factory(cat, program); + point pos = this.position; + GetPowerCell(); + goto(pos); + turn(direction(item.position)); + while(radar(cat, 0, 45, 0, 10) == null) wait(0.05); + goto(item.position); + drop(); + move(-5); +} + +extern void object::StandardEnemy() +{ + // TODO: Enable after done debugging + //errmode(0); + + build(Converter); + BuildSomewhere(PowerStation); + BuildSomewhere(BotFactory); + BuildSomewhere(PowerPlant); + BuildSomewhere(ResearchCenter); + GoResearch(ResearchWinged); + GoResearch(ResearchShooter); + while(true) + { + if (this.energyCell.energyLevel < 0.25) + { + StandardEnemy_Recharge(); + } + FactoryRobot(WingedShooter, "StandardEnemy_Attack"); + } +} + +public void object::StandardEnemy_Attack() +{ + while(this.energyCell == null) wait(0.05); + while(radar(Any, 180, 45, 0, 5) != null) wait(0.05); + move(-7.5); + + while(true) + { + if(this.energyCell.energyLevel < 0.3 || this.temperature > 0.5) + { + StandardEnemy_Recharge(); + while(this.temperature > 0) wait(0.05); + } + + bool isInFront = true; + object item = radar(Any, 0, 120, 0, 1000, 1, FilterEnemy); + if (item == null) + { + isInFront = false; + item = radar(Any, 0, 360, 0, 1000, 1, FilterEnemy); + if (item == null) + { + wait(0.05); + continue; + } + } + + float targetHeight = topo(this.position); + if(targetHeight < 0) targetHeight = 0; + targetHeight += 9; + + float targetSpeed = distance(this.position, item.position)/40; + if(targetSpeed > 1) targetSpeed = 1; + if(!isInFront) targetSpeed = 1; + + float targetDirection = direction(item.position); + + bool canShoot = true; + if(abs(targetDirection) > 10) canShoot = false; + if(distance(this.position, item.position) > 40) canShoot = false; + + /* + Here we calculate the aim angle + Take a look at this picture: + (yes, I'm terrible at ASCII-art :P) + + \/ target + *** + * *** + H* *** + * angle** \/ robot + ************* + L + */ + float H = item.position.z-this.position.z; + float L = distance2d(this.position, item.position); + float angle = atan(H/L); + if(aim(angle, -targetDirection) != 0) canShoot = false; // funkcja aim() zwraca != 0 jesli cel poza zasiegiem + + if(!canShoot) targetSpeed = 1; + + jet((targetHeight-this.position.z)/4); + if(targetDirection < 0) + { + motor(targetSpeed, targetSpeed+targetDirection/90); + } + else + { + motor(targetSpeed-targetDirection/90, targetSpeed); + } + + if(canShoot) + { + fire(0.1); + } + else + { + wait(0.05); + } + } +} diff --git a/levels/battles/chapter001/level002/scene.txt b/levels/battles/chapter001/level002/scene.txt new file mode 100644 index 00000000..c2ebabfd --- /dev/null +++ b/levels/battles/chapter001/level002/scene.txt @@ -0,0 +1,21 @@ +Title.E text="Code battle - vs computer" +Resume.E text="Challenge your... computer? Actually, challenge the developers! But, for real, this is just a simple enemy program that you can use if you don't have any real opponent" + +#Include file="%cat%/level_common.txt" +Level type=CODE_BATTLE magnifyDamage=10 + +BeginObject + +// Team "Blue" (1) +CreateObject pos=0;-40 dir=1.5 type=WheeledGrabber team=1 select=true +CreateObject pos=0;-38.5 type=Titanium +CreateObject pos=0;-57.5 dir=1.5 type=Derrick magnifyDamage=0 selectable=false + +// Team "Red" (2) +// TODO: selectable=0, but only before start? +CreateObject pos=0;40 dir=0.5 type=WheeledGrabber team=2 script1="%lvl%/program.txt" scriptReadOnly1=true run=1 +CreateObject pos=0;38.5 type=Titanium +CreateObject pos=0;57.5 dir=0.5 type=Derrick magnifyDamage=0 selectable=false + +EndMissionTake pos=0;0 dist=10000 type=Any team=1 lost=0 +EndMissionTake pos=0;0 dist=10000 type=Any team=-1 min=0 max=0 diff --git a/levels/battles/chapter001/level003/po/de.po b/levels/battles/chapter001/level003/po/de.po new file mode 100644 index 00000000..91740d79 --- /dev/null +++ b/levels/battles/chapter001/level003/po/de.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs other player" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your friend!" +msgstr "" diff --git a/levels/battles/chapter001/level003/po/fr.po b/levels/battles/chapter001/level003/po/fr.po new file mode 100644 index 00000000..310f2e54 --- /dev/null +++ b/levels/battles/chapter001/level003/po/fr.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs other player" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your friend!" +msgstr "" diff --git a/levels/battles/chapter001/level003/po/free101.pot b/levels/battles/chapter001/level003/po/free101.pot new file mode 100644 index 00000000..6fcf479c --- /dev/null +++ b/levels/battles/chapter001/level003/po/free101.pot @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs other player" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your friend!" +msgstr "" diff --git a/levels/battles/chapter001/level003/po/pl.po b/levels/battles/chapter001/level003/po/pl.po new file mode 100644 index 00000000..46bb7cfa --- /dev/null +++ b/levels/battles/chapter001/level003/po/pl.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs other player" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your friend!" +msgstr "" diff --git a/levels/battles/chapter001/level003/po/ru.po b/levels/battles/chapter001/level003/po/ru.po new file mode 100644 index 00000000..25204a5f --- /dev/null +++ b/levels/battles/chapter001/level003/po/ru.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Code battle - vs other player" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your friend!" +msgstr "" diff --git a/levels/battles/chapter001/level003/scene.txt b/levels/battles/chapter001/level003/scene.txt new file mode 100644 index 00000000..600fb5f6 --- /dev/null +++ b/levels/battles/chapter001/level003/scene.txt @@ -0,0 +1,20 @@ +Title.E text="Code battle - vs other player" +Resume.E text="Challenge your friend!" + +#Include file="%cat%/level_common.txt" +Level type=CODE_BATTLE magnifyDamage=10 + +BeginObject + +// Team "Blue" (1) +CreateObject pos=0;-40 dir=1.5 type=WheeledGrabber team=1 select=true +CreateObject pos=0;-38.5 type=Titanium +CreateObject pos=0;-57.5 dir=1.5 type=Derrick magnifyDamage=0 selectable=false + +// Team "Red" (2) +CreateObject pos=0;40 dir=0.5 type=WheeledGrabber team=2 +CreateObject pos=0;38.5 type=Titanium +CreateObject pos=0;57.5 dir=0.5 type=Derrick magnifyDamage=0 selectable=false + +EndMissionTake pos=0;0 dist=10000 type=Any team=-1 min=0 max=0 winTeam=1 +EndMissionTake pos=0;0 dist=10000 type=Any team=-2 min=0 max=0 winTeam=2 diff --git a/levels/battles/chapter002/chaptertitle.txt b/levels/battles/chapter002/chaptertitle.txt new file mode 100644 index 00000000..af5bec23 --- /dev/null +++ b/levels/battles/chapter002/chaptertitle.txt @@ -0,0 +1 @@ +Title.E text="Shooting battle" resume="Shooting battle" diff --git a/levels/battles/chapter002/level001/po/de.po b/levels/battles/chapter002/level001/po/de.po new file mode 100644 index 00000000..581756f8 --- /dev/null +++ b/levels/battles/chapter002/level001/po/de.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs static target" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Just aim & shoot! It looks so simple..." +msgstr "" diff --git a/levels/battles/chapter002/level001/po/fr.po b/levels/battles/chapter002/level001/po/fr.po new file mode 100644 index 00000000..379b2d37 --- /dev/null +++ b/levels/battles/chapter002/level001/po/fr.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs static target" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Just aim & shoot! It looks so simple..." +msgstr "" diff --git a/levels/battles/chapter002/level001/po/free101.pot b/levels/battles/chapter002/level001/po/free101.pot new file mode 100644 index 00000000..88354924 --- /dev/null +++ b/levels/battles/chapter002/level001/po/free101.pot @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs static target" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Just aim & shoot! It looks so simple..." +msgstr "" diff --git a/levels/battles/chapter002/level001/po/pl.po b/levels/battles/chapter002/level001/po/pl.po new file mode 100644 index 00000000..3c8b561c --- /dev/null +++ b/levels/battles/chapter002/level001/po/pl.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs static target" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Just aim & shoot! It looks so simple..." +msgstr "" diff --git a/levels/battles/chapter002/level001/po/ru.po b/levels/battles/chapter002/level001/po/ru.po new file mode 100644 index 00000000..2b53a9d2 --- /dev/null +++ b/levels/battles/chapter002/level001/po/ru.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs static target" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Just aim & shoot! It looks so simple..." +msgstr "" diff --git a/levels/battles/chapter002/level001/scene.txt b/levels/battles/chapter002/level001/scene.txt new file mode 100644 index 00000000..51592e46 --- /dev/null +++ b/levels/battles/chapter002/level001/scene.txt @@ -0,0 +1,20 @@ +Title.E text="Shooting battle - vs static target" +Resume.E text="Just aim & shoot! It looks so simple..." + +#Include file="%cat%/level_common.txt" +Level type=CODE_BATTLE magnifyDamage=10 + +BeginObject + +// Team "Blue" (1) +CreateObject pos=0;-40 dir=1.5 type=WingedShooter range=0 power=100 team=1 select=true + +// Team "Red" (2) +// TODO: selectable=0, but only before start? +CreateObject pos=0;40 dir=0.5 type=PracticeBot team=2 script1="flash.txt" scriptReadOnly1=true run=1 + +DoneResearch type=WINGER +DoneResearch type=SHOOTER + +EndMissionTake pos=0;0 dist=10000 type=Any team=1 lost=0 +EndMissionTake pos=0;0 dist=10000 type=Any team=-1 min=0 max=0 diff --git a/levels/battles/chapter002/level002/po/de.po b/levels/battles/chapter002/level002/po/de.po new file mode 100644 index 00000000..5e5af85e --- /dev/null +++ b/levels/battles/chapter002/level002/po/de.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs computer" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "It's getting a bit harder now, isn't it?" +msgstr "" diff --git a/levels/battles/chapter002/level002/po/fr.po b/levels/battles/chapter002/level002/po/fr.po new file mode 100644 index 00000000..1bce39d7 --- /dev/null +++ b/levels/battles/chapter002/level002/po/fr.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs computer" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "It's getting a bit harder now, isn't it?" +msgstr "" diff --git a/levels/battles/chapter002/level002/po/free101.pot b/levels/battles/chapter002/level002/po/free101.pot new file mode 100644 index 00000000..35ca7555 --- /dev/null +++ b/levels/battles/chapter002/level002/po/free101.pot @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs computer" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "It's getting a bit harder now, isn't it?" +msgstr "" diff --git a/levels/battles/chapter002/level002/po/pl.po b/levels/battles/chapter002/level002/po/pl.po new file mode 100644 index 00000000..0b64598d --- /dev/null +++ b/levels/battles/chapter002/level002/po/pl.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs computer" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "It's getting a bit harder now, isn't it?" +msgstr "" diff --git a/levels/battles/chapter002/level002/po/ru.po b/levels/battles/chapter002/level002/po/ru.po new file mode 100644 index 00000000..e68f2a43 --- /dev/null +++ b/levels/battles/chapter002/level002/po/ru.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs computer" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "It's getting a bit harder now, isn't it?" +msgstr "" diff --git a/levels/battles/chapter002/level002/program.txt b/levels/battles/chapter002/level002/program.txt new file mode 100644 index 00000000..484b86f1 --- /dev/null +++ b/levels/battles/chapter002/level002/program.txt @@ -0,0 +1,76 @@ +extern void object::StandardEnemy_Attack() +{ + while(this.energyCell == null) wait(0.05); + while(radar(Any, 180, 45, 0, 5) != null) wait(0.05); + move(-7.5); + + while(true) + { + bool isInFront = true; + object item = radar(Any, 0, 120, 0, 1000, 1, FilterEnemy); + if (item == null) + { + isInFront = false; + item = radar(Any, 0, 360, 0, 1000, 1, FilterEnemy); + if (item == null) + { + wait(0.05); + continue; + } + } + + float targetHeight = topo(this.position); + if(targetHeight < 0) targetHeight = 0; + targetHeight += 9; + + float targetSpeed = distance(this.position, item.position)/40; + if(targetSpeed > 1) targetSpeed = 1; + if(!isInFront) targetSpeed = 1; + + float targetDirection = direction(item.position); + + bool canShoot = true; + if(abs(targetDirection) > 10) canShoot = false; + if(distance(this.position, item.position) > 40) canShoot = false; + + /* + Here we calculate the aim angle + Take a look at this picture: + (yes, I'm terrible at ASCII-art :P) + + \/ target + *** + * *** + H* *** + * angle** \/ robot + ************* + L + */ + float H = item.position.z-this.position.z; + float L = distance2d(this.position, item.position); + float angle = atan(H/L); + if(aim(angle, -targetDirection) != 0) canShoot = false; // funkcja aim() zwraca != 0 jesli cel poza zasiegiem + + if(!canShoot) targetSpeed = 1; + if(distance(this.position, item.position) < 20) targetSpeed = 0; + + jet((targetHeight-this.position.z)/4); + if(targetDirection < 0) + { + motor(targetSpeed, targetSpeed+targetDirection/90); + } + else + { + motor(targetSpeed-targetDirection/90, targetSpeed); + } + + if(canShoot) + { + fire(0.1); + } + else + { + wait(0.05); + } + } +} diff --git a/levels/battles/chapter002/level002/scene.txt b/levels/battles/chapter002/level002/scene.txt new file mode 100644 index 00000000..255ee760 --- /dev/null +++ b/levels/battles/chapter002/level002/scene.txt @@ -0,0 +1,20 @@ +Title.E text="Shooting battle - vs computer" +Resume.E text="It's getting a bit harder now, isn't it?" + +#Include file="%cat%/level_common.txt" +Level type=CODE_BATTLE magnifyDamage=10 + +BeginObject + +// Team "Blue" (1) +CreateObject pos=0;-40 dir=1.5 type=WingedShooter range=0 power=100 team=1 select=true + +// Team "Red" (2) +// TODO: selectable=0, but only before start? +CreateObject pos=0;40 dir=0.5 type=WingedShooter range=0 power=100 team=2 script1="%lvl%/program.txt" scriptReadOnly1=true run=1 + +DoneResearch type=WINGER +DoneResearch type=SHOOTER + +EndMissionTake pos=0;0 dist=10000 type=Any team=1 lost=0 +EndMissionTake pos=0;0 dist=10000 type=Any team=-1 min=0 max=0 diff --git a/levels/battles/chapter002/level003/po/de.po b/levels/battles/chapter002/level003/po/de.po new file mode 100644 index 00000000..f59be064 --- /dev/null +++ b/levels/battles/chapter002/level003/po/de.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs other player" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your friend!" +msgstr "" diff --git a/levels/battles/chapter002/level003/po/fr.po b/levels/battles/chapter002/level003/po/fr.po new file mode 100644 index 00000000..e769c9b5 --- /dev/null +++ b/levels/battles/chapter002/level003/po/fr.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs other player" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your friend!" +msgstr "" diff --git a/levels/battles/chapter002/level003/po/free101.pot b/levels/battles/chapter002/level003/po/free101.pot new file mode 100644 index 00000000..fe893812 --- /dev/null +++ b/levels/battles/chapter002/level003/po/free101.pot @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs other player" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your friend!" +msgstr "" diff --git a/levels/battles/chapter002/level003/po/pl.po b/levels/battles/chapter002/level003/po/pl.po new file mode 100644 index 00000000..3ec25a96 --- /dev/null +++ b/levels/battles/chapter002/level003/po/pl.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs other player" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your friend!" +msgstr "" diff --git a/levels/battles/chapter002/level003/po/ru.po b/levels/battles/chapter002/level003/po/ru.po new file mode 100644 index 00000000..f871f331 --- /dev/null +++ b/levels/battles/chapter002/level003/po/ru.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text +#: ../scene.txt:1 +#, no-wrap +msgid "Shooting battle - vs other player" +msgstr "" + +#. type: Resume-text +#: ../scene.txt:2 +#, no-wrap +msgid "Challenge your friend!" +msgstr "" diff --git a/levels/battles/chapter002/level003/scene.txt b/levels/battles/chapter002/level003/scene.txt new file mode 100644 index 00000000..b047e5a9 --- /dev/null +++ b/levels/battles/chapter002/level003/scene.txt @@ -0,0 +1,16 @@ +Title.E text="Shooting battle - vs other player" +Resume.E text="Challenge your friend!" + +#Include file="%cat%/level_common.txt" +Level type=CODE_BATTLE magnifyDamage=10 + +BeginObject + +// Team "Blue" (1) +CreateObject pos=0;-40 dir=1.5 type=WingedShooter range=0 power=100 team=1 select=true + +// Team "Red" (2) +CreateObject pos=0;40 dir=0.5 type=WingedShooter range=0 power=100 team=2 + +EndMissionTake pos=0;0 dist=10000 type=Any team=-1 min=0 max=0 winTeam=1 +EndMissionTake pos=0;0 dist=10000 type=Any team=-2 min=0 max=0 winTeam=2 diff --git a/levels/battles/level_common.txt b/levels/battles/level_common.txt new file mode 100644 index 00000000..87463bb5 --- /dev/null +++ b/levels/battles/level_common.txt @@ -0,0 +1,109 @@ +HelpFile name="cbot.txt" +EndingFile win=-1 lost=-1 + +AmbientColor air=0.400;0.400;0.400;0.400 water=0.078;0.078;0.078;0.078 // grey +FogColor air=0.816;0.784;0.875;0.000 water=0.369;0.600;0.706;0.000 // magenta +VehicleColor color=0.784;0.769;0.682;0.000 // sable +VehicleColor team=1 color=0;0;1 +VehicleColor team=2 color=1;0;0 +Background up=0.937;0.875;0.878;0.000 down=0.749;0.753;0.875;0.000 cloudUp=0.306;0.306;0.498;0.000 cloudDown=0.306;0.306;0.498; +ForegroundName image="lens5.png" +Planet pos=3.0;0.2 dim=0.35 speed= 0.001 dir=0.4 image="planet03.png" uv1=0.5;0.5 uv2=1.0;1.0 +Planet pos=0.0;0.7 dim=0.20 speed= 0.002 dir=0.3 image="planet03.png" uv1=0.0;0.5 uv2=0.5;1.0 +Planet pos=0.5;0.5 dim=0.15 speed=-0.005 dir=0.5 image="planet03.png" uv1=0.5;0.0 uv2=1.0;0.5 + +TeamName team=1 name="Blue" +TeamName team=2 name="Red" + +TerrainGenerate vision=500.00 depth=1 slope=3.0 hard=0.3 +TerrainWind speed=-2.0;0.0 +TerrainCloud image="cloud02.png" level=87.5 +TerrainRelief image="%cat%/relief.png" factor=1.0 +TerrainResource image="%cat%/res.png" +TerrainWater image="water12.png" level=8.0 moveX=1.0 moveY=0.3 + +TerrainMaterial id=1 image="roca2" u=0.00 v=0.00 up=1 down=1 left=1 right=1 hard=0.8 +TerrainMaterial image="roca2" u=0.25 v=0.00 up=2 down=1 left=1 right=1 hard=0.6 +TerrainMaterial image="roca2" u=0.50 v=0.00 up=1 down=1 left=1 right=2 hard=0.6 +TerrainMaterial image="roca2" u=0.75 v=0.00 up=2 down=1 left=1 right=2 hard=0.6 +TerrainMaterial image="roca2" u=0.00 v=0.25 up=1 down=2 left=1 right=1 hard=0.6 +TerrainMaterial image="roca2" u=0.25 v=0.25 up=2 down=2 left=1 right=1 hard=0.6 +TerrainMaterial image="roca2" u=0.50 v=0.25 up=1 down=2 left=1 right=2 hard=0.6 +TerrainMaterial image="roca2" u=0.75 v=0.25 up=2 down=2 left=1 right=2 hard=0.6 +TerrainMaterial image="roca2" u=0.00 v=0.50 up=1 down=1 left=2 right=1 hard=0.6 +TerrainMaterial image="roca2" u=0.25 v=0.50 up=2 down=1 left=2 right=1 hard=0.6 +TerrainMaterial image="roca2" u=0.50 v=0.50 up=1 down=1 left=2 right=2 hard=0.6 +TerrainMaterial image="roca2" u=0.75 v=0.50 up=2 down=1 left=2 right=2 hard=0.6 +TerrainMaterial image="roca2" u=0.00 v=0.75 up=1 down=2 left=2 right=1 hard=0.6 +TerrainMaterial image="roca2" u=0.25 v=0.75 up=2 down=2 left=2 right=1 hard=0.6 +TerrainMaterial image="roca2" u=0.50 v=0.75 up=1 down=2 left=2 right=2 hard=0.6 +TerrainMaterial id=2 image="roca2" u=0.75 v=0.75 up=2 down=2 left=2 right=2 hard=0.3 + +TerrainMaterial id=3 image="rocb2" u=0.00 v=0.00 up=1 down=1 left=1 right=1 hard=0.8 +TerrainMaterial image="rocb2" u=0.25 v=0.00 up=3 down=1 left=1 right=1 hard=0.4 +TerrainMaterial image="rocb2" u=0.50 v=0.00 up=1 down=1 left=1 right=3 hard=0.4 +TerrainMaterial image="rocb2" u=0.75 v=0.00 up=3 down=1 left=1 right=3 hard=0.4 +TerrainMaterial image="rocb2" u=0.00 v=0.25 up=1 down=3 left=1 right=1 hard=0.4 +TerrainMaterial image="rocb2" u=0.25 v=0.25 up=3 down=3 left=1 right=1 hard=0.4 +TerrainMaterial image="rocb2" u=0.50 v=0.25 up=1 down=3 left=1 right=3 hard=0.4 +TerrainMaterial image="rocb2" u=0.75 v=0.25 up=3 down=3 left=1 right=3 hard=0.4 +TerrainMaterial image="rocb2" u=0.00 v=0.50 up=1 down=1 left=3 right=1 hard=0.4 +TerrainMaterial image="rocb2" u=0.25 v=0.50 up=3 down=1 left=3 right=1 hard=0.4 +TerrainMaterial image="rocb2" u=0.50 v=0.50 up=1 down=1 left=3 right=3 hard=0.4 +TerrainMaterial image="rocb2" u=0.75 v=0.50 up=3 down=1 left=3 right=3 hard=0.4 +TerrainMaterial image="rocb2" u=0.00 v=0.75 up=1 down=3 left=3 right=1 hard=0.4 +TerrainMaterial image="rocb2" u=0.25 v=0.75 up=3 down=3 left=3 right=1 hard=0.4 +TerrainMaterial image="rocb2" u=0.50 v=0.75 up=1 down=3 left=3 right=3 hard=0.4 +TerrainMaterial id=4 image="rocb2" u=0.75 v=0.75 up=3 down=3 left=3 right=3 hard=0.0 + +TerrainInit id=3 +TerrainLevel id=2 min=0.0 max=25.0 slope=100.0 freq=100.0 // grass +TerrainLevel id=4 min=37.5 max=99.0 slope=20.0 freq= 80.0 // snow + +TerrainCreate + +// Normally, objects go here. We'll see if it works in changed order. + +CreateLight dir= 0.0;-1.0; 0.0 color= 0.63; 0.63; 0.63 type=Terrain +CreateLight dir= 1.0; 0.0;-1.0 color=-0.70;-0.70;-0.70 type=Terrain +CreateLight dir=-1.0; 0.0; 1.0 color= 1.40; 1.40; 1.40 type=Terrain +CreateLight dir=-1.0;-1.0; 1.0 color= 0.56; 0.56; 0.56 type=Object +CreateLight dir= 1.0;-1.0; 1.0 color= 0.32; 0.32; 0.32 type=Object +CreateLight dir=-1.0;-1.0;-1.0 color= 0.32; 0.32; 0.32 type=Object +CreateLight dir= 1.0;-1.0;-1.0 color= 0.16; 0.16; 0.16 type=Object +WaterColor color=-0.6;-0.1;-0.1 + +MapColor floor=0.647;0.557;0.420 water=0.604;0.922;1.000 +MapZoom factor=2 + +EnableBuild type=Flag +EnableBuild type=FlatGround +EnableBuild type=BotFactory +EnableBuild type=ResearchCenter +EnableBuild type=RadarStation +EnableBuild type=ExchangePost +EnableBuild type=RepairCenter +EnableBuild type=DefenseTower +EnableBuild type=AutoLab +EnableBuild type=PowerStation +EnableBuild type=PowerPlant +EnableBuild type=NuclearPlant +EnableBuild type=Converter +EnableBuild type=Derrick +EnableBuild type=PowerCaptor + +EnableResearch type=TRACKER +EnableResearch type=WINGER +EnableResearch type=SHOOTER +EnableResearch type=TOWER +EnableResearch type=ATOMIC +EnableResearch type=THUMPER +EnableResearch type=SHIELDER +EnableResearch type=PHAZER +EnableResearch type=iPAW +EnableResearch type=iGUN +EnableResearch type=SUBBER +EnableResearch type=SNIFFER +EnableResearch type=RECYCLER + +Camera eye=0.00;5.00;0.00 lookat=0.00;1.00;0.00 delay=0 diff --git a/levels/battles/po/de.po b/levels/battles/po/de.po new file mode 100644 index 00000000..0ac2f30c --- /dev/null +++ b/levels/battles/po/de.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text, Title-resume +#: ../chapter001/chaptertitle.txt:1 +#, no-wrap +msgid "Code battle" +msgstr "" + +#. type: Title-text, Title-resume +#: ../chapter002/chaptertitle.txt:1 +#, no-wrap +msgid "Shooting battle" +msgstr "" diff --git a/levels/battles/po/fr.po b/levels/battles/po/fr.po new file mode 100644 index 00000000..02dbe3b7 --- /dev/null +++ b/levels/battles/po/fr.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text, Title-resume +#: ../chapter001/chaptertitle.txt:1 +#, no-wrap +msgid "Code battle" +msgstr "" + +#. type: Title-text, Title-resume +#: ../chapter002/chaptertitle.txt:1 +#, no-wrap +msgid "Shooting battle" +msgstr "" diff --git a/levels/battles/po/freemissions.pot b/levels/battles/po/freemissions.pot new file mode 100644 index 00000000..1344294b --- /dev/null +++ b/levels/battles/po/freemissions.pot @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: Title-text, Title-resume +#: ../chapter001/chaptertitle.txt:1 +#, no-wrap +msgid "Code battle" +msgstr "" + +#. type: Title-text, Title-resume +#: ../chapter002/chaptertitle.txt:1 +#, no-wrap +msgid "Shooting battle" +msgstr "" diff --git a/levels/battles/po/pl.po b/levels/battles/po/pl.po new file mode 100644 index 00000000..b1c897fb --- /dev/null +++ b/levels/battles/po/pl.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text, Title-resume +#: ../chapter001/chaptertitle.txt:1 +#, no-wrap +msgid "Code battle" +msgstr "" + +#. type: Title-text, Title-resume +#: ../chapter002/chaptertitle.txt:1 +#, no-wrap +msgid "Shooting battle" +msgstr "" diff --git a/levels/battles/po/ru.po b/levels/battles/po/ru.po new file mode 100644 index 00000000..5e4c3dde --- /dev/null +++ b/levels/battles/po/ru.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: DATE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 1.11.0\n" + +#. type: Title-text, Title-resume +#: ../chapter001/chaptertitle.txt:1 +#, no-wrap +msgid "Code battle" +msgstr "" + +#. type: Title-text, Title-resume +#: ../chapter002/chaptertitle.txt:1 +#, no-wrap +msgid "Shooting battle" +msgstr "" diff --git a/levels/battles/relief.png b/levels/battles/relief.png new file mode 100644 index 00000000..6fef60e1 Binary files /dev/null and b/levels/battles/relief.png differ diff --git a/levels/battles/res.png b/levels/battles/res.png new file mode 100644 index 00000000..930c4908 Binary files /dev/null and b/levels/battles/res.png differ