Compare commits

..

63 Commits

Author SHA1 Message Date
Slava
e0a322ae86 Update file ru.po 2023-09-02 21:29:33 +00:00
bacon
ab3aaa88ee remove unused 2023-09-03 00:19:08 +03:00
bacon
7c23013cfb mask encyclopedia 2023-09-03 00:19:08 +03:00
bacon
58374c979c reset localization 2023-09-03 00:19:08 +03:00
Alex
5b5f424f95 Update file weapongenerator.lua 2023-09-02 21:04:38 +00:00
Alex
ee72127b0a Update file inventoryitemprice.lua 2023-09-02 20:59:09 +00:00
Alex
29928558d3 Replace thumb.png 2023-09-02 20:47:48 +00:00
Alex
101d4e1c44 Update file weapongenerator.lua 2023-09-02 20:47:34 +00:00
Alex
314e65c4bc Update 2 files
- /data/scripts/lib/turretgenerator.lua
- /data/scripts/lib/weapongenerator.lua
2023-09-02 20:31:32 +00:00
Alex
577378ae36 Update 2 files
- /data/scripts/lib/turretgenerator.lua
- /data/scripts/lib/weapongenerator.lua
2023-09-02 20:07:13 +00:00
Alex
59c5f2cb36 Replace thumb.png 2023-09-02 20:01:13 +00:00
Slava
138f510ea2 Update 2 files
- /data/scripts/player/ui/encyclopedia/encyclopedia.lua
- /data/scripts/player/ui/encyclopedia/_encyclopedia.lua
2023-09-02 19:39:31 +00:00
Slava
d6ea8f534e Update file README.md 2023-09-02 19:35:58 +00:00
Alex
85889377c9 Replace thumb.png 2023-09-02 19:32:57 +00:00
Alex
f37108304e Update file turretgenerator.lua 2023-09-02 18:56:12 +00:00
Alex
d72a2b701e Update file turretgenerator.lua 2023-09-02 18:55:23 +00:00
Alex
c0b7a4ef83 Update file turretgenerator.lua 2023-09-02 18:55:09 +00:00
Alex
8e63f249a7 Update file turretgenerator.lua 2023-09-02 18:54:06 +00:00
Alex
9a56e21c2a Update file turretgenerator.lua 2023-09-02 18:49:04 +00:00
Alex
32fc8f43ea Update 3 files
- /data/scripts/lib/weapongenerator.lua
- /data/scripts/lib/turretgenerator.lua
- /data/scripts/lib/turretingredients.lua
2023-09-02 18:19:34 +00:00
Weblate Admin
b7351d174a Translated using Weblate (Russian)
Currently translated at 59.2% (16 of 27 strings)

Translation: WPE-2/ru
2023-09-02 07:30:17 +00:00
Weblate Admin
f4ca4afa45 Added translation using Weblate (Russian) 2023-09-01 03:33:57 +00:00
Alex
863e00a5d0 Update file weapongenerator.lua 2023-08-30 20:17:50 +00:00
Alex
f258093ca3 Update file weapongenerator.lua 2023-08-30 19:19:23 +00:00
Slava
a0a45906a1 Delete ru.po 2023-08-30 18:40:03 +00:00
Alex
0a3f032d56 Update file turretgenerator.lua 2023-08-30 18:37:08 +00:00
Alex
e531517104 Update file turretgenerator.lua 2023-08-30 18:30:44 +00:00
Alex
c2d09f1cc2 Update file turretgenerator.lua 2023-08-30 18:22:54 +00:00
Alex
c232b70341 Update 5 files
- /data/scripts/lib/inventoryitemprice.lua
- /data/scripts/lib/galaxy.lua
- /data/scripts/lib/turretingredients.lua
- /data/scripts/lib/weapongenerator.lua
- /data/scripts/lib/turretgenerator.lua
2023-08-30 18:21:10 +00:00
Alex
f7d95dab9d Update file turretgenerator.lua 2023-08-30 06:41:01 +00:00
Weblate
fa2efb38ff Merge branch 'origin/main' into Weblate. 2023-08-29 23:10:52 +00:00
Weblate Admin
0dc950077d Translated using Weblate (Russian)
Currently translated at 100.0% (27 of 27 strings)

Translation: WPE-2/ru
Translate-URL: http://weblate.beaconborn.ru/projects/wpe-2/ru/ru/
2023-08-29 23:10:51 +00:00
Weblate Admin
b2f7d58187 Translated using Weblate (Russian)
Currently translated at 100.0% (27 of 27 strings)

Translation: WPE-2/ru
Translate-URL: http://weblate.beaconborn.ru/projects/wpe-2/ru/ru/
2023-08-29 23:08:58 +00:00
Weblate Admin
425e3fc101 Translated using Weblate (Russian)
Currently translated at 100.0% (27 of 27 strings)

Translation: WPE-2/ru
Translate-URL: http://weblate.beaconborn.ru/projects/wpe-2/ru/ru/
2023-08-29 23:06:18 +00:00
Slava
ad6bcf30dc Update file ru.po 2023-08-29 21:38:15 +00:00
Weblate Admin
b35cfba58e Translated using Weblate (Russian)
Currently translated at 100.0% (27 of 27 strings)

Translation: WPE-2/ru
Translate-URL: http://weblate.beaconborn.ru/projects/wpe-2/ru/ru/
2023-08-29 21:28:43 +00:00
Weblate Admin
899f3702c7 Translated using Weblate (Russian)
Currently translated at 100.0% (27 of 27 strings)

Translation: WPE-2/ru
Translate-URL: http://weblate.beaconborn.ru/projects/wpe-2/ru/ru/
2023-08-29 21:08:14 +00:00
Weblate Admin
cfdb5e445d Translated using Weblate (Russian)
Currently translated at 100.0% (27 of 27 strings)

Translation: WPE-2/ru
Translate-URL: http://weblate.beaconborn.ru/projects/wpe-2/ru/ru/
2023-08-29 21:02:10 +00:00
Slava
de517a1b5b Update 2 files
- /data/localization/template.pot
- /data/localization/ru.po
2023-08-29 20:52:08 +00:00
Slava
b5036334b1 Update 3 files
- /data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua
- /data/localization/ru.po
- /data/localization/template.pot
2023-08-29 20:48:31 +00:00
Slava
385608bb7a Update 3 files
- /data/localization/template.pot
- /data/localization/ru.po
- /data/scripts/lib/turretgenerator.lua
2023-08-29 19:21:40 +00:00
Slava
357d46cd1f Reset Translate 2023-08-29 19:03:58 +00:00
Slava
3cd1e2d575 Add translation template file 2023-08-29 15:31:29 +00:00
Alex
9111bf856e Update 2 files
- /data/scripts/lib/weapongenerator.lua
- /data/scripts/lib/turretgenerator.lua
2023-08-29 15:11:13 +00:00
bacon
f74138d77b changed main 2023-08-29 02:06:55 +03:00
Slava
cbcc5ae680 Update file .gitattributes 2023-08-28 21:01:26 +00:00
Alex
fc351d2555 Update 2 files
- /data/textures/icons/hive.png
- /data/textures/icons/hivelauncher.png
2023-08-28 20:08:36 +00:00
Alex
e90ff8f1e2 Update file weapongenerator.lua 2023-08-28 20:08:13 +00:00
Alex
13a688edb3 Update 2 files
- /data/scripts/lib/turretgenerator.lua
- /data/scripts/lib/weapongenerator.lua
2023-08-28 20:07:43 +00:00
Slava
0880b82677 Update 6 files
- /data/scripts/lib/galaxy.lua
- /data/scripts/lib/inventoryitemprice.lua
- /data/scripts/lib/turretgenerator.lua
- /data/scripts/lib/turretingredients.lua
- /data/scripts/lib/weapongenerator.lua
- /data/scripts/lib/weapontype.lua
2023-08-28 18:50:20 +00:00
bacon
050a642982 - retexture 2023-08-28 01:09:23 +03:00
bacon
6a8483efa5 Merge branch 'HEAD' of git@gl.beaconborn.ru:bacon/weapon-project-extended.git 2023-08-28 00:52:40 +03:00
bacon
e8f8d9d195 - retexture
- rebalance
2023-08-28 00:48:41 +03:00
Alex
eec8c10de4 Update file modinfo.lua 2023-08-27 21:38:49 +00:00
Alex
f51f351e06 Update file modinfo.lua 2023-08-27 21:38:08 +00:00
bacon
7d60ec6da3 Merge remote-tracking branch 'origin/main' 2023-08-27 20:02:13 +03:00
bacon
1eec0fba6c up 2023-08-27 20:01:07 +03:00
Slava
b137aec60a Update file weapongenerator.lua 2023-08-27 17:00:17 +00:00
bacon
f3deba9b30 fixed 2023-08-27 19:46:14 +03:00
Slava
ca00911fd7 Update 2 files
- /data/localization/ru.po
- /data/scripts/lib/weapongenerator.lua
2023-08-27 16:41:44 +00:00
Slava
3b34148f77 Updated balance 2023-08-27 16:32:58 +00:00
Slava
cae212f5a9 Merge branch 'alive-main-patch-16741' into 'main'
Upload New File

See merge request bacon/weapon-project-extended!1
2023-08-27 16:31:14 +00:00
Alex
3988151ccf Upload New File 2023-08-27 16:29:28 +00:00
24 changed files with 1013 additions and 582 deletions

2
.gitattributes vendored
View File

@@ -4,4 +4,4 @@ CHANGELOG export-ignore
.gitlab-ci.yml export-ignore .gitlab-ci.yml export-ignore
.git export-ignore .git export-ignore
.vs export-ignore .vs export-ignore
.gitignore exsport-ignore .gitignore export-ignore

View File

@@ -1,40 +1,28 @@
stages: stages: # List of stages for jobs, and their order of execution
- prepare # List of stages for jobs, and their order of execution
- release - release
image: python:3.10
release_job:
prepare_job:
stage: prepare
script:
- 'pip install requests'
- 'git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@gl.beaconborn.ru/bacon/translation-generator.git'
- 'python3 translation-generator/main.py $CI_PROJECT_DIR/WPE-2/data/'
- 'ls -al'
- cat test.txt
release_job:
needs:
- prepare_job
stage: release # It only runs when *both* jobs in the test stage complete successfully. stage: release # It only runs when *both* jobs in the test stage complete successfully.
image: registry.gitlab.com/gitlab-org/release-cli:latest image: registry.gitlab.com/gitlab-org/release-cli:latest
only: only:
# - if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH" # - if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH"
refs: refs:
- testing - main
- ^tags - ^tags
changes: changes:
- ^README.md
- ^CHANGELOG
- ^.gitattribute
- ^.gitignore
- ^.gitlab-ci.yml
- data/**/* - data/**/*
- modinfo.lua - modinfo.lua
- thumb.png - thumb.png
- test.txt
script: script:
- echo "Release WPE 2.0_$CI_COMMIT_SHORT_SHA branch $CI_COMMIT_BRANCH" - echo "Release WPE 2.0_$CI_COMMIT_SHORT_SHA"
release: release:
tag_name: v2.0.$CI_PIPELINE_IID tag_name: v2.0.$CI_PIPELINE_IID

View File

@@ -1,6 +1,9 @@
[![pipeline status](http://gl.beaconborn.ru/bacon/weapon-project-extended/badges/main/pipeline.svg)](http://gl.beaconborn.ru/bacon/weapon-project-extended/-/commits/main) [![Latest Release](http://gl.beaconborn.ru/bacon/weapon-project-extended/-/badges/release.svg)](http://gl.beaconborn.ru/bacon/weapon-project-extended/-/releases) [![pipeline status](http://gl.beaconborn.ru/bacon/weapon-project-extended/badges/main/pipeline.svg)](http://gl.beaconborn.ru/bacon/weapon-project-extended/-/commits/main) [![Latest Release](http://gl.beaconborn.ru/bacon/weapon-project-extended/-/badges/release.svg)](http://gl.beaconborn.ru/bacon/weapon-project-extended/-/releases)
# weapon project extended 2.0 # weapon project extended 2.0
![Weapon Pack Extended Remastered](thumb.png)
## Getting started ## Getting started
That mod for Avorion original writed [Alive!](https://steamcommunity.com/id/CasKepler2/) for 0.32 and updated by me with him That mod for Avorion original writed [Alive!](https://steamcommunity.com/id/CasKepler2/) for 0.32 and updated by me with him

View File

@@ -1,92 +1,137 @@
# ========== /mods/WPE2/data/scripts/lib/weapongenerator.lua ========== # ========== C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua ==========
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua: #: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Smart-Cannon"
msgstr "Смарт-Пушка"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgid "Ionized "
msgstr "Ионизирущее "
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "[outer-adjective][barrel][coax][dmg-adjective][multishot][name][serial]"
msgid "%1%%2%%3%%4%%5%%6%%7%"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgid "Cumulative "
msgstr "Кумулятивное"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Heavy Cannon"
msgstr "Тяжелое орудие"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Mass Driver"
msgstr "Электромагнитная катапульта"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Mass Warper"
msgstr "Доставщмк проблем"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Diffuser"
msgstr "Диффузор"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Hookgun"
msgstr "Гарпун"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgid "Stabilizing"
msgstr "Стабилизирующий"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Hive-Launcher"
msgstr "Сотовая ракетная установка"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Swarm-Launcher"
msgstr "Роевая ракетная установка"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgid ""
msgstr ""
# ========== C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua ==========
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name" msgctxt "Weapon Name"
msgid "Smart Cannon" msgid "Smart-Cannon"
msgstr "Умная пушка" msgstr "Смарт-Пушка"
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua: #: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix" msgctxt "Weapon Prefix"
msgid "Smart Cannon" msgid "Smart-Cannon"
msgstr "Умная пушка" msgstr "Смарт-Пушка"
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua: #: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name" msgctxt "Weapon Name"
msgid "Heavy Cannon" msgid "Heavy Cannon"
msgstr "Тяжелая Пушка" msgstr "Тяжелое орудие"
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua: #: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix"
msgid "Cumulative Heavy Cannon"
msgstr "Кумулятивная тяжелая пушка"
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix"
msgid "Heavy Cannon"
msgstr "Тяжелая Пушка"
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name" msgctxt "Weapon Name"
msgid "Diffuser" msgid "Diffuser"
msgstr "Диффузор" msgstr "Диффузор"
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua: #: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix" msgctxt "Weapon Prefix"
msgid "Diffuser" msgid "Diffuser"
msgstr "Диффузор" msgstr "Диффузор"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name"
msgid "Hookgun"
msgstr "Гарпун"
# ========== /mods/WPE2/data/scripts/lib/weapontype.lua ========== #: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
#: /mods/WPE2/data/scripts/lib/weapontype.lua: msgctxt "Weapon Prefix"
msgid "Hookgun"
msgstr "Гарпун"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name"
msgid "Hive-Launcher"
msgstr "Роевая ракетная установка"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix"
msgid "Hive-Launcher"
msgstr "Роевая ракетная установка"
# ========== C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua ==========
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type" msgctxt "Weapon Type"
msgid "Auto Сannon" msgid "Smart-Сannon"
msgstr "Автопушка" msgstr "Смарт-Пушка"
#: /mods/WPE2/data/scripts/lib/weapontype.lua: #: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type" msgctxt "Weapon Type"
msgid "Heavy Cannon" msgid "Heavy Cannon"
msgstr "Тяжелая Пушка" msgstr "Тяжелое орудие"
#: /mods/WPE2/data/scripts/lib/weapontype.lua: #: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type" msgctxt "Weapon Type"
msgid "Diffuser" msgid "Diffuser"
msgstr "Диффузор" msgstr "Диффузор"
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type"
msgid "Hookgun"
msgstr "Гарпун"
# ========== /mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua ========== #: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua:
#: /mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua: msgctxt "Weapon Type"
msgid "WPE Turrets" msgid "Hive-Launcher"
msgstr "Расширенный пак оружия" msgstr "Роевая ракетная установка"
#: /mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Intro"
msgstr "Вступление"
#: /mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "In this part of the encyclopedia you will find a description of the turrets from the Weapon Pack Extended mod.\n\nI recommend using turret models from the collection in the workshop."
msgstr "В этой части энциклопедии вы найдете описание турелей из мода Weapon Pack Extended. \n\nЯ рекомендую использовать модели турелей из коллекции в мастерской"
#: /mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Autocannon"
msgstr "Автопушка"
#: /mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "A lightweight version of the classic cannon.\n\nCompared to conventional cannons:\n+ Increased rate of fire (x2)\n+ Increased projectile speed (x1.5)\n+ A little more damage on the shield (10% - 15%)\n+ Can be equipped with homing missiles.\n- Less damage (x0.75)\n- Shorter damage range (x0.8)"
msgstr "Облегченная версия классической пушки.\n\nПо сравнению с обычными пушками:\n+ Увеличенная скорострельность (x2)\n+ Увеличенная скорость полета снаряда (x1.5)\n+ Немного больший урон по щиту (10% - 15%)\n+ Может оснащаться самонаводящимися ракетами.\n- Меньший урон (x0.75)\n- Меньшая дальность поражения (x0.8)."
#: /mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Heavy Cannon"
msgstr "Тяжелая Пушка"
#: /mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "The cannon of the main caliber. It shoots with heavy explosive shells, the hit of which can displace the enemy ship.\n\n+ High damage\n+ High projectile speed\n+ When hit, push the opponent\n+ Also can have a penetration\n- Low rate of fire\n- Occupies many slots\n- Big size\n- Requires more crew"
msgstr "Пушка главного калибра. Стреляет тяжелыми разрывными снарядами, попадание которых может смести вражеский корабль.\n\n+ Высокий урон\n+ Высокая скорость снаряда\n+ При попадании в цель толкает противника\n+ Также может иметь пробитие\n- Низкая скорострельность\n- Занимает много слотов\n- Большие размеры\n- Требует больше экипажа"
#: /mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Energy diffuser"
msgstr "Энегретический диффузор"
#: /mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Short range combat weapon. Does not cause damage to the hull, but extremely effectively destroys shields. Requires civil slots.\n\nShield Damage x20"
msgstr "Боевое оружие малой дальности. Не наносит повреждений корпусу, но чрезвычайно эффективно разрушает щиты. Требует гражданских слотов.\n\nУрон по щитам x20"

View File

@@ -0,0 +1,183 @@
# ========== C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/_player/ui/encyclopedia/chapters/wpeturrets.lua ==========
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/_player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "WPE Turrets"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/_player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Intro"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/_player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "In this part of the encyclopedia you will find a description of the turrets from the Weapon Pack Extended mod.\n\nI recommend using turret models from the collection in the workshop."
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/_player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Smartcannon"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/_player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "A lightweight version of the classic cannon.\n\nCompared to conventional cannons:\n+ Increased rate of fire (x2)\n+ Increased projectile speed (x1.5)\n+ A little more damage on the shield (10% - 15%)\n+ Can be equipped with homing missiles.\n- Less damage (x0.75)\n- Shorter damage range (x0.8)"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/_player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Heavy Cannon"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/_player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "The cannon of the main caliber. It shoots with heavy explosive shells, the hit of which can displace the enemy ship.\n\n+ High damage\n+ High projectile speed\n+ When hit, push the opponent\n+ Also can have a penetration\n- Low rate of fire\n- Occupies many slots\n- Big size\n- Requires more crew"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/_player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Energy diffuser"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/_player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Short range combat weapon. Does not cause damage to the hull, but extremely effectively destroys shields. Requires civil slots.\n\nShield Damage x20"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/_player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Hookgun"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/_player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Short range combat weapon. Does not cause damage to the shield, but extremely effectively to attrac. Requires 2 gunners slots.\n May have penetration\n"
msgstr ""
# ========== C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua ==========
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Smart-Cannon"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgid "Ionized "
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "[outer-adjective][barrel][coax][dmg-adjective][multishot][name][serial]"
msgid "%1%%2%%3%%4%%5%%6%%7%"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgid "Cumulative "
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Heavy Cannon"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Mass Driver"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Mass Warper"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Diffuser"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Hookgun"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgid "Stabilizing"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Hive-Launcher"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Swarm-Launcher"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
msgid ""
msgstr ""
# ========== C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua ==========
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name"
msgid "Smart-Cannon"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix"
msgid "Smart-Cannon"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name"
msgid "Heavy Cannon"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name"
msgid "Diffuser"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix"
msgid "Diffuser"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name"
msgid "Hookgun"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix"
msgid "Hookgun"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name"
msgid "Hive-Launcher"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix"
msgid "Hive-Launcher"
msgstr ""
# ========== C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua ==========
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type"
msgid "Smart Сannon"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type"
msgid "Heavy Cannon"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type"
msgid "Diffuser"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type"
msgid "Hookgun"
msgstr ""
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type"
msgid "HiveLauncher"
msgstr ""

View File

@@ -14,7 +14,7 @@ category.chapters =
}, },
{ {
title = "Autocannon"%_t, title = "Smartcannon"%_t,
picture = "data/textures/slide/3.png", picture = "data/textures/slide/3.png",
text = "A lightweight version of the classic cannon.\n\nCompared to conventional cannons:\n+ Increased rate of fire (x2)\n+ Increased projectile speed (x1.5)\n+ A little more damage on the shield (10% - 15%)\n+ Can be equipped with homing missiles.\n- Less damage (x0.75)\n- Shorter damage range (x0.8)"%_t, text = "A lightweight version of the classic cannon.\n\nCompared to conventional cannons:\n+ Increased rate of fire (x2)\n+ Increased projectile speed (x1.5)\n+ A little more damage on the shield (10% - 15%)\n+ Can be equipped with homing missiles.\n- Less damage (x0.75)\n- Shorter damage range (x0.8)"%_t,
}, },

View File

@@ -1,5 +1,6 @@
weaponProbabilities[WeaponType.Hookgun] = {d = 0.65, p = 2.0} weaponProbabilities[WeaponType.SmartCannon] = {d = 0.65, p = 2.0}
weaponProbabilities[WeaponType.HeavyCannon] = {d = 0.6, p = 1.0} weaponProbabilities[WeaponType.HeavyCannon] = {d = 0.65, p = 2.0}
weaponProbabilities[WeaponType.Diffuser] = {d = 0.6, p = 1.0} weaponProbabilities[WeaponType.Diffuser] = {d = 0.55, p = 1.0}
weaponProbabilities[WeaponType.Harpoon] = {d = 0.6, p = 1.0} weaponProbabilities[WeaponType.Hookgun] = {d = 0.55, p = 1.0}
weaponProbabilities[WeaponType.HiveLauncher] = {d = 0.6, p = 1.0}

View File

@@ -1,5 +1,6 @@
valueWeights[WeaponType.SmartCannon ] = 2 valueWeights[WeaponType.SmartCannon ] = 1.2
valueWeights[WeaponType.HeavyCannon ] = 1.7 valueWeights[WeaponType.HeavyCannon ] = 1
valueWeights[WeaponType.Diffuser ] = 2.1 valueWeights[WeaponType.Diffuser ] = 2
valueWeights[WeaponType.Hookgun ] = 2.1 valueWeights[WeaponType.Hookgun ] = 1
valueWeights[WeaponType.HiveLauncher] = 1

View File

@@ -1,230 +1,391 @@
scales[WeaponType.SmartCannon] = { scales[WeaponType.SmartCannon] = {
{from = 0, to = 28, size = 1.0, usedSlots = 2}, {from = 0, to = 28, size = 1.0, usedSlots = 2},
{from = 29, to = 38, size = 2.0, usedSlots = 3}, {from = 29, to = 38, size = 1,5, usedSlots = 3},
{from = 39, to = 49, size = 3.0, usedSlots = 4}, {from = 39, to = 49, size = 2.0, usedSlots = 4},
--dummy for cooaxial, add 1 to size and level --dummy for cooaxial, add 1 to size and level
{from = 50, to = 52, size = 4.0, usedSlots = 5}, {from = 50, to = 52, size = 4.0, usedSlots = 5},
} }
scales[WeaponType.HeavyCannon] = { scales[WeaponType.HeavyCannon] = {
{from = 0, to = 28, size = 3.0, usedSlots = 4}, {from = 0, to = 28, size = 3.0, usedSlots = 4},
{from = 29, to = 38, size = 4.0, usedSlots = 5}, {from = 29, to = 38, size = 4.0, usedSlots = 5},
{from = 39, to = 49, size = 5.0, usedSlots = 6}, {from = 39, to = 49, size = 5.0, usedSlots = 6},
--dummy for cooaxial, add 1 to size and level --dummy for cooaxial, add 1 to size and level
{from = 50, to = 52, size = 5, usedSlots = 6}, {from = 50, to = 52, size = 6, usedSlots = 6},
} }
scales[WeaponType.Diffuser] = { scales[WeaponType.Diffuser] = {
{from = 0, to = 46, size = 1.0, usedSlots = 2}, {from = 0, to = 46, size = 1.0, usedSlots = 2},
{from = 47, to = 50, size = 2.0, usedSlots = 4}, {from = 47, to = 50, size = 2.0, usedSlots = 4},
--dummy for cooaxial, add 1 to size and level --dummy for cooaxial, add 1 to size and level
{from = 51, to = 52, size = 3.0, usedSlots = 6}, {from = 51, to = 52, size = 3.0, usedSlots = 6},
} }
scales[WeaponType.Hookgun] = { scales[WeaponType.Hookgun] = {
{from = 0, to = 46, size = 1.0, usedSlots = 2}, {from = 0, to = 46, size = 1.0, usedSlots = 2},
{from = 47, to = 50, size = 2.0, usedSlots = 4}, {from = 47, to = 50, size = 2.0, usedSlots = 4},
--dummy for cooaxial, add 1 to size and level --dummy for cooaxial, add 1 to size and level
{from = 51, to = 52, size = 3.0, usedSlots = 6}, {from = 51, to = 52, size = 4.0, usedSlots = 6},
} }
if GameVersion() >= Version(0, 31, 0) then scales[WeaponType.HiveLauncher] = {
possibleSpecialties[WeaponType.SmartCannon] = { {from = 0, to = 32, size = 1.0, usedSlots = 2},
{specialty = Specialty.HighDamage, probability = 0.2}, {from = 33, to = 40, size = 1.5, usedSlots = 3},
{specialty = Specialty.HighFireRate, probability = 0.3}, {from = 41, to = 50, size = 2.0, usedSlots = 4},
{specialty = Specialty.HighRange, probability = 0.7}, --dummy for cooaxial, add 1 to size and level
-- {specialty = Specialty.HighHullDamage, probability = 0.5}, {from = 51, to = 52, size = 3.0, usedSlots = 6},
-- {specialty = Specialty.LessCoolingTime, probability = 0.4}, }
}
else if GameVersion() >= Version(0, 31, 0) then
possibleSpecialties[WeaponType.SmartCannon] = { possibleSpecialties[WeaponType.SmartCannon] = {
Specialty.HighDamage, {specialty = Specialty.HighDamage, probability = 0.2},
Specialty.HighFireRate, {specialty = Specialty.HighFireRate, probability = 0.3},
Specialty.HighRange, {specialty = Specialty.HighRange, probability = 0.7},
Specialty.HighHullDamage, }
Specialty.LessCoolingTime, else
} possibleSpecialties[WeaponType.SmartCannon] = {
end Specialty.HighDamage,
Specialty.HighFireRate,
if GameVersion() >= Version(0, 31, 0) then Specialty.HighRange,
possibleSpecialties[WeaponType.HeavyCannon] = { Specialty.HighHullDamage,
{specialty = Specialty.HighDamage, probability = 0.2}, Specialty.LessCoolingTime,
{specialty = Specialty.HighRange, probability = 0.35}, }
{specialty = Specialty.HighFireRate, probability = 0.3}, end
-- {specialty = Specialty.HighHullDamage, probability = 0.2},
-- {specialty = Specialty.HighShieldDamage, probability = 0.2}, if GameVersion() >= Version(0, 31, 0) then
-- {specialty = Specialty.LessCoolingTime, probability = 0.2} possibleSpecialties[WeaponType.HeavyCannon] = {
} {specialty = Specialty.HighDamage, probability = 0.2},
else {specialty = Specialty.HighRange, probability = 0.35},
possibleSpecialties[WeaponType.HeavyCannon] = { {specialty = Specialty.HighFireRate, probability = 0.3},
Specialty.HighDamage, }
Specialty.HighFireRate, else
Specialty.HighRange, possibleSpecialties[WeaponType.HeavyCannon] = {
Specialty.HighHullDamage, Specialty.HighDamage,
Specialty.HighShieldDamage, Specialty.HighFireRate,
Specialty.LessCoolingTime, Specialty.HighRange,
} Specialty.HighHullDamage,
end Specialty.HighShieldDamage,
Specialty.LessCoolingTime,
if GameVersion() >= Version(0, 31, 0) then }
possibleSpecialties[WeaponType.Diffuser] = { end
{specialty = Specialty.HighDamage, probability = 0.3},
{specialty = Specialty.HighRange, probability = 0.3}, if GameVersion() >= Version(0, 31, 0) then
-- {specialty = Specialty.FasterRechargeTime, probability = 0.6}, possibleSpecialties[WeaponType.Diffuser] = {
} {specialty = Specialty.HighDamage, probability = 0.3},
else {specialty = Specialty.HighRange, probability = 0.3},
possibleSpecialties[WeaponType.Diffuser] = { }
Specialty.HighDamage, else
Specialty.HighRange, possibleSpecialties[WeaponType.Diffuser] = {
Specialty.FasterRechargeTime, Specialty.HighDamage,
} Specialty.HighRange,
end Specialty.FasterRechargeTime,
}
if GameVersion() >= Version(0, 31, 0) then end
possibleSpecialties[WeaponType.Hookgun] = {
{specialty = Specialty.HighDamage, probability = 0.3}, if GameVersion() >= Version(0, 31, 0) then
{specialty = Specialty.HighRange, probability = 0.3}, possibleSpecialties[WeaponType.Hookgun] = {
-- {specialty = Specialty.FasterRechargeTime, probability = 0.6}, {specialty = Specialty.HighDamage, probability = 0.3},
} {specialty = Specialty.HighRange, probability = 0.3},
else }
possibleSpecialties[WeaponType.Hookgun] = { else
Specialty.HighDamage, possibleSpecialties[WeaponType.Hookgun] = {
Specialty.HighRange, Specialty.HighDamage,
Specialty.FasterRechargeTime, Specialty.HighRange,
} Specialty.FasterRechargeTime,
end }
end
function TurretGenerator.generateSmartCannonTurret(rand, dps, tech, material, rarity)
local result = TurretTemplate() if GameVersion() >= Version(0, 31, 0) then
possibleSpecialties[WeaponType.HiveLauncher] = {
-- generate turret {specialty = Specialty.HighShootingTime, probability = 0.2},
local requiredCrew = TurretGenerator.dpsToRequiredCrew(dps) {specialty = Specialty.HighDamage, probability = 0.15},
local crew = Crew() {specialty = Specialty.HighFireRate, probability = 0.15},
crew:add(requiredCrew, CrewMan(CrewProfessionType.Gunner)) {specialty = Specialty.HighRange, probability = 0.25},
result.crew = crew {specialty = Specialty.BurstFire, probability = 0.1},
}
-- generate weapons else
local numWeapons = rand:getInt(1, 4) possibleSpecialties[WeaponType.HiveLauncher] = {
Specialty.HighDamage,
local weapon = WeaponGenerator.generateSmartCannon(rand, dps, tech, material, rarity) Specialty.HighRange,
weapon.fireDelay = weapon.fireDelay * numWeapons Specialty.FasterRechargeTime,
}
-- attach weapons to turret end
TurretGenerator.attachWeapons(rand, result, weapon, numWeapons)
-- ===========================================================================================================================================================
local shootingTime = 25 * rand:getFloat(0.8, 1.2) function TurretGenerator.generateSmartCannonTurret(rand, dps, tech, material, rarity)
local coolingTime = 15 * rand:getFloat(0.8, 1.2) local result = TurretTemplate()
TurretGenerator.createStandardCooling(result, coolingTime, shootingTime)
-- generate turret
TurretGenerator.scale(rand, result, WeaponType.SmartCannon, tech, 0.6) local requiredCrew = TurretGenerator.dpsToRequiredCrew(dps)
TurretGenerator.addSpecialties(rand, result, WeaponType.SmartCannon) local crew = Crew()
crew:add(requiredCrew, CrewMan(CrewProfessionType.Gunner))
result:updateStaticStats() crew:add(requiredCrew, CrewMan(CrewProfessionType.Pilot))
result.crew = crew
return result
end -- generate weapons
local numWeapons = rand:getInt(1, 4)
generatorFunction[WeaponType.SmartCannon] = TurretGenerator.generateSmartCannonTurret
local weapon = WeaponGenerator.generateSmartCannon(rand, dps, tech, material, rarity)
weapon.fireDelay = weapon.fireDelay * numWeapons
function TurretGenerator.generateHeavyCannonTurret(rand, dps, tech, material, rarity)
local result = TurretTemplate() local specType = rand:getInt(0, 2)
if specType == 1 then
-- generate turret weapon.shieldPenetration = 1
local requiredCrew = TurretGenerator.dpsToRequiredCrew(dps) if rand:getInt(0, 1) then
local crew = Crew() weapon.pcolor = ColorHSV(rand:getFloat(180, 210), 0.8, 0.8)
crew:add(requiredCrew*2, CrewMan(CrewProfessionType.Gunner)) else
crew:add(requiredCrew, CrewMan(CrewProfessionType.Repair)) weapon.pcolor = ColorHSV(rand:getFloat(260, 290), 0.8, 0.8)
result.crew = crew end
elseif specType == 2 then
-- generate weapons weapon.damageType = DamageType.Plasma
local numWeapons = rand:getInt(1, 4) weapon.damage = weapon.damage * 0.9
weapon.pcolor = ColorHSV(rand:getFloat(90, 120), 0.7, 1)
local weapon = WeaponGenerator.generateHeavyCannon(rand, dps, tech, material, rarity) end
weapon.fireDelay = weapon.fireDelay * numWeapons
-- attach weapons to turret
-- attach weapons to turret TurretGenerator.attachWeapons(rand, result, weapon, numWeapons)
TurretGenerator.attachWeapons(rand, result, weapon, numWeapons)
local shootingTime = 25 * rand:getFloat(0.8, 1.2)
local shootingTime = 25 * rand:getFloat(0.8, 1.2) local coolingTime = 15 * rand:getFloat(0.8, 1.2)
local coolingTime = 20 * rand:getFloat(0.8, 1.2) TurretGenerator.createStandardCooling(result, coolingTime, shootingTime)
TurretGenerator.createStandardCooling(result, coolingTime, shootingTime)
TurretGenerator.scale(rand, result, WeaponType.SmartCannon, tech, 0.6)
TurretGenerator.scale(rand, result, WeaponType.HeavyCannon, tech, 0.6) local specialties = TurretGenerator.addSpecialties(rand, result, WeaponType.SmartCannon)
TurretGenerator.addSpecialties(rand, result, WeaponType.HeavyCannon)
result.slotType = TurretSlotType.Armed
result:updateStaticStats() result:updateStaticStats()
return result local name = "Smart-Cannon /* weapon name*/"%_T
end
local dmgAdjective, outerAdjective, barrel, multishot, coax, serial = makeTitleParts(rand, specialties, result, DamageType.Physical)
generatorFunction[WeaponType.HeavyCannon] = TurretGenerator.generateHeavyCannonTurret
if specType == 1 then
outerAdjective = "Ionized "%_T
function TurretGenerator.generateDiffuserTurret(rand, dps, tech, material, rarity) end
local result = TurretTemplate() result.title = Format("%1%%2%%3%%4%%5%%6%%7% /* [outer-adjective][barrel][coax][dmg-adjective][multishot][name][serial] */"%_T, outerAdjective, barrel, coax, dmgAdjective, multishot, name, serial)
-- generate turret return result
local requiredCrew = TurretGenerator.dpsToRequiredCrew(dps) end
local crew = Crew()
crew:add(requiredCrew, CrewMan(CrewProfessionType.Gunner)) generatorFunction[WeaponType.SmartCannon] = TurretGenerator.generateSmartCannonTurret
result.crew = crew
-- generate weapons -- ===========================================================================================================================================================
local numWeapons = rand:getInt(1, 2) function TurretGenerator.generateHeavyCannonTurret(rand, dps, tech, material, rarity)
local result = TurretTemplate()
local weapon = WeaponGenerator.generateDiffuser(rand, dps, tech, material, rarity)
weapon.damage = weapon.damage / numWeapons -- generate turret
local requiredCrew = TurretGenerator.dpsToRequiredCrew(dps)
-- attach weapons to turret local crew = Crew()
TurretGenerator.attachWeapons(rand, result, weapon, numWeapons) crew:add(requiredCrew * 3, CrewMan(CrewProfessionType.Gunner))
crew:add(requiredCrew, CrewMan(CrewProfessionType.Repair))
local rechargeTime = 20 * rand:getFloat(0.8, 1.2) result.crew = crew
local shootingTime = 15 * rand:getFloat(0.8, 1.2)
TurretGenerator.createBatteryChargeCooling(result, rechargeTime, shootingTime) -- generate weapons
local numWeapons = rand:getInt(1, 4)
TurretGenerator.scale(rand, result, WeaponType.Diffuser, tech, 0.75) local weapon = WeaponGenerator.generateHeavyCannon(rand, dps, tech, material, rarity)
TurretGenerator.addSpecialties(rand, result, WeaponType.Diffuser) weapon.fireDelay = weapon.fireDelay * numWeapons
result:updateStaticStats() local Pen = rand:getInt(0, rarity.value)
if Pen > 0 then
return result weapon.blockPenetration = Pen
end outerAdjective = "Cumulative "%_T
end
generatorFunction[WeaponType.Diffuser] = TurretGenerator.generateDiffuserTurret
if result.size >= 4 then
weapon.psize = weapon.psize * 1.5
function TurretGenerator.generateHookgunTurret(rand, dps, tech, material, rarity) weapon.speed = weapon.speed * 2
local result = TurretTemplate() weapon.reach = weapon.reach * 1.2
weapon.pcolor = ColorHSV(rand:getFloat(10, 45), 0.7, 0.7)
-- generate turret end
local requiredCrew = TurretGenerator.dpsToRequiredCrew(dps)
local crew = Crew() if result.size >= 5 then
crew:add(requiredCrew*2, CrewMan(CrewProfessionType.Gunner)) weapon.psize = weapon.psize * 1.5
result.crew = crew weapon.speed = weapon.speed * 2
weapon.reach = weapon.reach * 1.5
-- generate weapons weapon.pcolor = ColorHSV(rand:getFloat(10, 45), 0.7, 0.9)
local numWeapons = rand:getInt(1, 2) end
local weapon = WeaponGenerator.generateHookgun(rand, dps, tech, material, rarity) -- attach weapons to turret
weapon.damage = weapon.damage / numWeapons TurretGenerator.attachWeapons(rand, result, weapon, numWeapons)
-- attach weapons to turret local shootingTime = 25 * rand:getFloat(0.8, 1.2)
TurretGenerator.attachWeapons(rand, result, weapon, numWeapons) local coolingTime = 20 * rand:getFloat(0.8, 1.2)
TurretGenerator.createStandardCooling(result, coolingTime, shootingTime)
local rechargeTime = 4 * rand:getFloat(0.8, 1.2)
local shootingTime = 2 * rand:getFloat(0.8, 1.2) TurretGenerator.scale(rand, result, WeaponType.HeavyCannon, tech, 0.6)
TurretGenerator.createBatteryChargeCooling(result, rechargeTime, shootingTime) local specialties = TurretGenerator.addSpecialties(rand, result, WeaponType.HeavyCannon)
result.slotType = TurretSlotType.Armed
TurretGenerator.scale(rand, result, WeaponType.Hookgun, tech, 0.75) result:updateStaticStats()
TurretGenerator.addSpecialties(rand, result, WeaponType.Hookgun)
local name = "Heavy Cannon /* weapon name*/"%_T
result:updateStaticStats()
local dmgAdjective, outerAdjective, barrel, multishot, coax, serial = makeTitleParts(rand, specialties, result, DamageType.Physical)
return result
end if result.size >= 4 then
name = "Mass Driver /* weapon name*/"%_T
generatorFunction[WeaponType.Hookgun] = TurretGenerator.generateHookgunTurret end
if result.size >= 5 then
name = "Mass Warper /* weapon name*/"%_T
end
result.title = Format("%1%%2%%3%%4%%5%%6%%7% /* [outer-adjective][barrel][coax][dmg-adjective][multishot][name][serial] */"%_T, outerAdjective, barrel, coax, dmgAdjective, multishot, name, serial)
return result
end
generatorFunction[WeaponType.HeavyCannon] = TurretGenerator.generateHeavyCannonTurret
-- ===========================================================================================================================================================
function TurretGenerator.generateDiffuserTurret(rand, dps, tech, material, rarity)
local result = TurretTemplate()
-- generate turret
local requiredCrew = TurretGenerator.dpsToRequiredCrew(dps)
local crew = Crew()
crew:add(requiredCrew, CrewMan(CrewProfessionType.Gunner))
result.crew = crew
-- generate weapons
local numWeapons = rand:getInt(1, 2)
local weapon = WeaponGenerator.generateDiffuser(rand, dps, tech, material, rarity)
weapon.damage = weapon.damage / numWeapons
-- attach weapons to turret
TurretGenerator.attachWeapons(rand, result, weapon, numWeapons)
local rechargeTime = 20 * rand:getFloat(0.8, 1.2)
local shootingTime = 15 * rand:getFloat(0.8, 1.2)
TurretGenerator.createBatteryChargeCooling(result, rechargeTime, shootingTime)
TurretGenerator.scale(rand, result, WeaponType.Diffuser, tech, 0.75)
local specialties = TurretGenerator.addSpecialties(rand, result, WeaponType.Diffuser)
result.slotType = TurretSlotType.Armed
result:updateStaticStats()
local name = "Diffuser /* weapon name*/"%_T
local dmgAdjective, outerAdjective, barrel, multishot, coax, serial = makeTitleParts(rand, specialties, result, DamageType.Energy)
result.title = Format("%1%%2%%3%%4%%5%%6%%7% /* [outer-adjective][barrel][coax][dmg-adjective][multishot][name][serial] */"%_T, outerAdjective, barrel, coax, dmgAdjective, multishot, name, serial)
return result
end
generatorFunction[WeaponType.Diffuser] = TurretGenerator.generateDiffuserTurret
-- ===========================================================================================================================================================
function TurretGenerator.generateHookgunTurret(rand, dps, tech, material, rarity)
local result = TurretTemplate()
-- generate turret
local requiredCrew = TurretGenerator.dpsToRequiredCrew(dps)
local crew = Crew()
crew:add(requiredCrew*2, CrewMan(CrewProfessionType.Gunner))
result.crew = crew
-- generate weapons
local numWeapons = rand:getInt(1, 2)
local weapon = WeaponGenerator.generateHookgun(rand, dps, tech, material, rarity)
weapon.damage = weapon.damage / numWeapons
local spec = rand:getInt(0, 1)
if spec then
weapon.holdingForce = weapon.otherForce * 2
weapon.otherForce = 0
end
-- attach weapons to turret
TurretGenerator.attachWeapons(rand, result, weapon, numWeapons)
local rechargeTime = 4 * rand:getFloat(0.8, 1.2)
local shootingTime = 2 * rand:getFloat(0.8, 1.2)
TurretGenerator.createBatteryChargeCooling(result, rechargeTime, shootingTime)
TurretGenerator.scale(rand, result, WeaponType.Hookgun, tech, 0.75)
local specialties = TurretGenerator.addSpecialties(rand, result, WeaponType.Hookgun)
result.slotType = TurretSlotType.Armed
result:updateStaticStats()
local name = "Hookgun /* weapon name*/"%_T
local dmgAdjective, outerAdjective, barrel, multishot, coax, serial = makeTitleParts(rand, specialties, result, DamageType.Physical)
if spec then
outerAdjective = "Stabilizing"%_T
end
result.title = Format("%1%%2%%3%%4%%5%%6%%7% /* [outer-adjective][barrel][coax][dmg-adjective][multishot][name][serial] */"%_T, outerAdjective, barrel, coax, dmgAdjective, multishot, name, serial)
return result
end
generatorFunction[WeaponType.Hookgun] = TurretGenerator.generateHookgunTurret
-- ===========================================================================================================================================================
function TurretGenerator.generateHiveLauncherTurret(rand, dps, tech, material, rarity)
local result = TurretTemplate()
-- generate turret
local requiredCrew = TurretGenerator.dpsToRequiredCrew(dps)
local crew = Crew()
crew:add(requiredCrew*2, CrewMan(CrewProfessionType.Gunner))
result.crew = crew
-- generate weapons
local numWeapons = rand:getInt(1, 2)
local weapon = WeaponGenerator.generateHiveLauncher(rand, dps, tech, material, rarity)
weapon.damage = weapon.damage / numWeapons
-- attach weapons to turret
local positions = {}
if rand:getBool() then
table.insert(positions, vec3(0, 0.3, 0))
else
table.insert(positions, vec3(0.4, 0.3, 0))
table.insert(positions, vec3(-0.4, 0.3, 0))
end
-- attach
for _, position in pairs(positions) do
weapon.localPosition = position * result.size
result:addWeapon(weapon)
end
local shootingTime = 20 * rand:getFloat(0.8, 1.2)
local coolingTime = 15 * rand:getFloat(0.8, 1.2)
TurretGenerator.createStandardCooling(result, coolingTime, shootingTime)
TurretGenerator.scale(rand, result, WeaponType.RocketLauncher, tech, 0.6, coaxialAllowed)
local specialties = TurretGenerator.addSpecialties(rand, result, WeaponType.RocketLauncher)
result.slotType = TurretSlotType.Armed
result:updateStaticStats()
local name = "Hive-Launcher /* weapon name*/"%_T
if weapon.shotsFired > 20 then
name = "Swarm-Launcher /* weapon name*/"%_T
end
local dmgAdjective, outerAdjective, barrel, multishot, coax, serial = makeTitleParts(rand, specialties, result, DamageType.Physical)
multishot = ""%_T
result.title = Format("%1%%2%%3%%4%%5%%6%%7% /* [outer-adjective][barrel][coax][dmg-adjective][multishot][name][serial] */"%_T, outerAdjective, barrel, coax, dmgAdjective, multishot, name, serial)
return result
end
generatorFunction[WeaponType.HiveLauncher] = TurretGenerator.generateHiveLauncherTurret

View File

@@ -1,45 +1,51 @@
TurretIngredients[WeaponType.SmartCannon] = TurretIngredients[WeaponType.SmartCannon] =
{ {
{name = "Servo", amount = 15, investable = 10, minimum = 5, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage}, {name = "Servo", amount = 15, investable = 10, minimum = 5, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage},
{name = "Warhead", amount = 5, investable = 6, minimum = 1, weaponStat = "damage", }, {name = "Processor", amount = 5, investable = 6, minimum = 1, weaponStat = "damage", },
{name = "High Pressure Tube", amount = 2, investable = 6, minimum = 1, weaponStat = "reach", }, {name = "High Pressure Tube", amount = 2, investable = 6, minimum = 1, weaponStat = "reach", investFactor = 1.5, changeType = StatChanges.Percentage},
{name = "Ammunition M", amount = 2, investable = 4, minimum = 1, weaponStat = "damage", investFactor = 0.5,}, {name = "Ammunition M", amount = 2, investable = 4, minimum = 1, weaponStat = "damage", investFactor = 1, changeType = StatChanges.Percentage},
{name = "Targeting Card", amount = 3, investable = 3, minimum = 0, weaponStat = "seeker", investFactor = 1, changeType = StatChanges.Flat}, {name = "Targeting Card", amount = 3, investable = 3, minimum = 0, weaponStat = "seeker", investFactor = 1, changeType = StatChanges.Flat},
{name = "Steel", amount = 8, investable = 10, minimum = 3,}, {name = "Steel", amount = 8, investable = 10, minimum = 3,},
{name = "Steel Tube", amount = 5, investable = 10, minimum = 3,}, {name = "Steel Tube", amount = 5, investable = 10, minimum = 3,},
-- {name = "Targeting System", amount = 0, investable = 2, minimum = 0, turretStat = "automatic", investFactor = 1, changeType = StatChanges.Flat}, }
}
TurretIngredients[WeaponType.HeavyCannon] =
TurretIngredients[WeaponType.SmartCannon] = {
{ {name = "Servo", amount = 8, investable = 8, minimum = 4, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage},
{name = "Servo", amount = 8, investable = 8, minimum = 4, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage}, {name = "Explosive Charge", amount = 5, investable = 6, minimum = 1, weaponStat = "damage", },
{name = "Warhead", amount = 5, investable = 6, minimum = 1, weaponStat = "damage", }, {name = "High Pressure Tube", amount = 2, investable = 6, minimum = 1, weaponStat = "reach", },
{name = "High Pressure Tube", amount = 2, investable = 6, minimum = 1, weaponStat = "reach", }, {name = "Ammunition L", amount = 5, investable = 10, minimum = 3, weaponStat = "damage", investFactor = 0.2,},
{name = "Ammunition", amount = 5, investable = 10, minimum = 3, weaponStat = "damage", investFactor = 0.2,}, {name = "Steel", amount = 20, investable = 10, minimum = 20,},
{name = "Steel", amount = 20, investable = 10, minimum = 20,}, {name = "Metal Plate", amount = 8, investable = 10, minimum = 10,},
{name = "Metal Plate", amount = 8, investable = 10, minimum = 10,}, }
-- {name = "Targeting System", amount = 0, investable = 2, minimum = 0, turretStat = "automatic", investFactor = 1, changeType = StatChanges.Flat},
} TurretIngredients[WeaponType.Diffuser] =
{
TurretIngredients[WeaponType.Diffuser] = {name = "Plasma Cell", amount = 10, investable = 10, minimum = 10, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage},
{ {name = "High Capacity Lens", amount = 5, investable = 6, minimum = 1, weaponStat = "reach", },
{name = "Plasma Cell", amount = 10, investable = 10, minimum = 10, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage}, {name = "Industrial Tesla Coil",amount = 2, investable = 6, minimum = 1, weaponStat = "damage", },
{name = "High Capacity Lens", amount = 5, investable = 6, minimum = 1, weaponStat = "reach", }, {name = "Steel", amount = 20, investable = 0, minimum = 20,},
{name = "Energy Tube", amount = 2, investable = 6, minimum = 1, weaponStat = "damage", }, {name = "Copper", amount = 10, investable = 0, minimum = 10,},
{name = "Steel", amount = 20, investable = 0, minimum = 20,}, {name = "Silver", amount = 5, investable = 0, minimum = 5,},
{name = "Copper", amount = 10, investable = 0, minimum = 10,}, }
{name = "Silver", amount = 5, investable = 0, minimum = 5,},
-- {name = "Targeting System", amount = 0, investable = 2, minimum = 0, turretStat = "automatic", investFactor = 1, changeType = StatChanges.Flat}, TurretIngredients[WeaponType.Hookgun] =
} {
{name = "Force Generator", amount = 10, investable = 10, minimum = 10, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage},
TurretIngredients[WeaponType.Hookgun] = {name = "Energy Tube", amount = 5, investable = 6, minimum = 1, weaponStat = "reach", },
{ {name = "Power Unit", amount = 2, investable = 6, minimum = 1, weaponStat = "damage", },
{name = "Plasma Cell", amount = 10, investable = 10, minimum = 10, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage}, {name = "Steel", amount = 20, investable = 0, minimum = 20,},
{name = "High Capacity Lens", amount = 5, investable = 6, minimum = 1, weaponStat = "reach", }, {name = "Conductor", amount = 10, investable = 0, minimum = 10,},
{name = "Energy Tube", amount = 2, investable = 6, minimum = 1, weaponStat = "damage", }, }
{name = "Steel", amount = 20, investable = 0, minimum = 20,},
{name = "Copper", amount = 10, investable = 0, minimum = 10,}, TurretIngredients[WeaponType.HiveLauncher] =
{name = "Silver", amount = 5, investable = 0, minimum = 5,}, {
-- {name = "Targeting System", amount = 0, investable = 2, minimum = 0, turretStat = "automatic", investFactor = 1, changeType = StatChanges.Flat}, {name = "Servo", amount = 15, investable = 10, minimum = 5, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage},
} {name = "Rocket", amount = 15, investable = 10, minimum = 15, weaponStat = "damage", investFactor = 0.2, changeType = StatChanges.Percentage},
{name = "High Pressure Tube", amount = 6, investable = 12, minimum = 1, weaponStat = "reach", investFactor = 0.4, changeType = StatChanges.Percentage},
{name = "Fuel", amount = 6, investable = 12, minimum = 1, weaponStat = "reach", investFactor = 0.5, changeType = StatChanges.Percentage},
{name = "Targeting Card", amount = 10, investable = 10, minimum = 0, weaponStat = "seeker", investFactor = 1, changeType = StatChanges.Flat},
{name = "Steel", amount = 8, investable = 10, minimum = 3,},
{name = "Wire", amount = 5, investable = 10, minimum = 3,},
}

View File

@@ -1,201 +1,244 @@
function WeaponGenerator.generateSmartCannon(rand, dps, tech, material, rarity) function WeaponGenerator.generateSmartCannon(rand, dps, tech, material, rarity)
local weapon = Weapon() local weapon = Weapon()
weapon:setProjectile() weapon:setProjectile()
dps = dps * 0.75 dps = dps * 0.9
local fireDelay = rand:getFloat(1.5, 2.5)*0.5 local fireDelay = rand:getFloat(0.6, 1)
local reach = rand:getFloat(1100, 1500)*0.7 local reach = rand:getFloat(1100, 1500)*0.7
local damage = dps * fireDelay local damage = dps * fireDelay
local speed = rand:getFloat(300, 400)*2 local speed = rand:getFloat(300, 400)*4
local existingTime = (reach / speed)*1.2 local existingTime = (reach / speed)*1.2
weapon.fireDelay = fireDelay weapon.fireDelay = fireDelay
weapon.reach = reach weapon.reach = reach
weapon.appearanceSeed = rand:getInt() weapon.appearanceSeed = rand:getInt()
weapon.seeker = rand:test(1 / 2) weapon.seeker = 1
weapon.appearance = WeaponAppearance.Cannon weapon.appearance = WeaponAppearance.Cannon
weapon.name = "Smart Cannon /* Weapon Name*/"%_t weapon.name = "Smart-Cannon /* Weapon Name*/"%_t
weapon.prefix = "Smart Cannon /* Weapon Prefix*/"%_t weapon.prefix = "Smart-Cannon /* Weapon Prefix*/"%_t
weapon.icon = "data/textures/icons/autocannon.png" weapon.icon = "data/textures/icons/smartcannon.png"
weapon.sound = "cannon" weapon.sound = "cannon"
weapon.accuracy = 0.99 - rand:getFloat(0, 0.03) weapon.accuracy = 0.99 - rand:getFloat(0, 0.03)
weapon.damage = damage weapon.damage = damage
weapon.damageType = DamageType.Physical weapon.damageType = DamageType.Physical
weapon.impactParticles = ImpactParticles.Explosion weapon.impactParticles = ImpactParticles.Explosion
weapon.shieldDamageMultiplicator=1.1 + rarity.value * 0.1 weapon.shieldDamageMultiplicator=1.1 + rarity.value * 0.1
weapon.impactSound = 1 weapon.impactSound = 1
weapon.impactExplosion = true weapon.impactExplosion = true
weapon.psize = rand:getFloat(0.2, 0.5)
weapon.pmaximumTime = existingTime weapon.psize = rand:getFloat(0.2, 0.5)
weapon.pvelocity = speed weapon.pmaximumTime = existingTime
weapon.pcolor = ColorHSV(rand:getFloat(10, 60), 0.7, 1) weapon.pvelocity = speed
weapon.pcolor = ColorHSV(rand:getFloat(20, 45), 0.7, 1)
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
-- these have to be assigned after the weapon was adjusted since the damage might be changed
weapon.recoil = weapon.damage * 20 * 0.75 -- these have to be assigned after the weapon was adjusted since the damage might be changed
weapon.explosionRadius = math.sqrt(weapon.damage * 6) weapon.recoil = weapon.damage * 20 * 0.75
weapon.explosionRadius = math.sqrt(weapon.damage * 6)
return weapon
end return weapon
end
generatorFunction[WeaponType.SmartCannon] = WeaponGenerator.generateSmartCannon
generatorFunction[WeaponType.SmartCannon] = WeaponGenerator.generateSmartCannon
function WeaponGenerator.generateHeavyCannon(rand, dps, tech, material, rarity)
local weapon = Weapon()
weapon:setProjectile()
function WeaponGenerator.generateHeavyCannon(rand, dps, tech, material, rarity)
dps = dps * 1.85 local weapon = Weapon()
local fireDelay = rand:getFloat(1.5, 2.0)*1.7 weapon:setProjectile()
local reach = rand:getFloat(1100, 1500)*1.2
local damage = dps * fireDelay dps = dps * 1.85
local speed = rand:getFloat(600, 1000)*1.4 local fireDelay = rand:getFloat(1.5, 2.0)*1.7
local existingTime = (reach / speed)*1.1 local reach = rand:getFloat(1100, 1500)*1.5
local damage = dps * fireDelay
weapon.fireDelay = fireDelay local speed = rand:getFloat(600, 1000)*1.4
weapon.reach = reach local existingTime = (reach / speed)*1.1
weapon.appearanceSeed = rand:getInt()
weapon.appearance = WeaponAppearance.Bolter weapon.fireDelay = fireDelay
weapon.name = "Heavy Cannon /* Weapon Name*/"%_t weapon.reach = reach
weapon.icon = "data/textures/icons/heavycannon.png" weapon.appearanceSeed = rand:getInt()
weapon.sound = "cannon" weapon.appearance = WeaponAppearance.Bolter
weapon.accuracy = 0.95 - rand:getFloat(0, 0.02) weapon.name = "Heavy Cannon /* Weapon Name*/"%_t
weapon.icon = "data/textures/icons/heavycannon.png"
weapon.damage = damage weapon.sound = "cannon"
weapon.damageType = DamageType.Physical weapon.accuracy = 0.99 - rand:getFloat(0, 0.02)
weapon.impactParticles = ImpactParticles.Explosion
weapon.impactSound = 1 weapon.damage = damage
weapon.impactExplosion = true weapon.damageType = DamageType.Physical
weapon.otherForce = dps*math.max(1, rarity.value)*89*5 weapon.impactParticles = ImpactParticles.Explosion
weapon.impactSound = 1
weapon.impactExplosion = true
weapon.psize = rand:getFloat(0.2, 0.5) weapon.otherForce = dps*math.max(1, rarity.value)*89*5
weapon.pmaximumTime = existingTime
weapon.pvelocity = speed
weapon.pcolor = ColorHSV(rand:getFloat(10, 60), 0.7, 1) weapon.psize = rand:getFloat(1.2, 1.5)
weapon.pmaximumTime = existingTime
local Pen = rand:getInt(0, rarity.value) weapon.pvelocity = speed
if Pen > 0 then weapon.pcolor = ColorHSV(rand:getFloat(10, 45), 0.7, 0.4)
weapon.blockPenetration = Pen
weapon.prefix = "Cumulative Heavy Cannon /* Weapon Prefix*/"%_t WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
else
weapon.prefix = "Heavy Cannon /* Weapon Prefix*/"%_t -- these have to be assigned after the weapon was adjusted since the damage might be changed
end weapon.recoil = weapon.damage * 50
weapon.explosionRadius = math.sqrt(weapon.damage * 7)
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity) return weapon
end
-- these have to be assigned after the weapon was adjusted since the damage might be changed
weapon.recoil = weapon.damage * 50 generatorFunction[WeaponType.HeavyCannon] = WeaponGenerator.generateHeavyCannon
weapon.explosionRadius = math.sqrt(weapon.damage * 7)
return weapon
end function WeaponGenerator.generateDiffuser(rand, dps, tech, material, rarity)
local weapon = Weapon()
generatorFunction[WeaponType.HeavyCannon] = WeaponGenerator.generateHeavyCannon weapon:setBeam()
local fireDelay = rand:getFloat(1, 2.5)*0.5
function WeaponGenerator.generateDiffuser(rand, dps, tech, material, rarity) local reach = rand:getFloat(950, 1400)
local weapon = Weapon() local damage = dps * fireDelay
weapon:setBeam()
weapon.fireDelay = fireDelay
local fireDelay = rand:getFloat(1, 2.5)*0.5 weapon.appearanceSeed = rand:getInt()
local reach = rand:getFloat(950, 1400) weapon.reach = reach
local damage = dps * fireDelay weapon.continuousBeam = false
weapon.appearance = WeaponAppearance.Tesla
weapon.fireDelay = fireDelay weapon.name = "Diffuser /* Weapon Name*/"%_t
weapon.appearanceSeed = rand:getInt() weapon.prefix = "Diffuser /* Weapon Prefix*/"%_t
weapon.reach = reach weapon.icon = "data/textures/icons/diffuser.png"
weapon.continuousBeam = false weapon.sound = "railgun"
weapon.appearance = WeaponAppearance.Tesla weapon.accuracy = 0.99 - rand:getFloat(0, 0.02)
weapon.name = "Diffuser /* Weapon Name*/"%_t
weapon.prefix = "Diffuser /* Weapon Prefix*/"%_t weapon.damage = damage
weapon.icon = "data/textures/icons/diffuser.png" weapon.damageType = DamageType.Energy
weapon.sound = "railgun" weapon.impactParticles = ImpactParticles.Energy
weapon.accuracy = 0.99 - rand:getFloat(0, 0.02) weapon.shieldDamageMultiplicator = 20 + rand:getFloat(0, 4) + rarity.value * 3
weapon.stoneDamageMultiplicator = 0
weapon.damage = damage weapon.hullDamageMultiplicator = 0
weapon.damageType = DamageType.Energy weapon.impactSound = 1
weapon.impactParticles = ImpactParticles.Energy
weapon.shieldDamageMultiplicator = 20 + rand:getFloat(0, 4) + rarity.value * 3 weapon.blength = weapon.reach
weapon.stoneDamageMultiplicator = 0 weapon.bshape = BeamShape.Lightning
weapon.hullDamageMultiplicator = 0 weapon.bwidth = 0.5
weapon.impactSound = 1 weapon.bauraWidth = 3
weapon.banimationSpeed = 0
weapon.blength = weapon.reach weapon.banimationAcceleration = 0
weapon.bshape = BeamShape.Lightning weapon.bshapeSize = 13
weapon.bwidth = 0.5
weapon.bauraWidth = 3 -- shades of blue
weapon.banimationSpeed = 0 weapon.bouterColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.5, 1), rand:getFloat(0.1, 0.5))
weapon.banimationAcceleration = 0 weapon.binnerColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.1, 0.5), 1)
weapon.bshapeSize = 13
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
-- shades of blue
weapon.bouterColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.5, 1), rand:getFloat(0.1, 0.5)) weapon.recoil = weapon.damage * 5
weapon.binnerColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.1, 0.5), 1)
return weapon
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity) end
weapon.recoil = weapon.damage * 5 generatorFunction[WeaponType.Diffuser] = WeaponGenerator.generateDiffuser
return weapon
end
function WeaponGenerator.generateHookgun(rand, dps, tech, material, rarity)
generatorFunction[WeaponType.Diffuser] = WeaponGenerator.generateDiffuser local weapon = Weapon()
weapon:setBeam()
local fireDelay = rand:getFloat(0.2, 0.5)
function WeaponGenerator.generateHookgun(rand, dps, tech, material, rarity) local reach = rand:getFloat(500, 900)
local weapon = Weapon() local damage = dps * fireDelay
weapon:setBeam()
weapon.fireDelay = fireDelay
local fireDelay = rand:getFloat(0.2, 0.5) weapon.appearanceSeed = rand:getInt()
local reach = rand:getFloat(500, 900) weapon.reach = reach
local damage = dps * fireDelay weapon.continuousBeam = true
weapon.appearance = WeaponAppearance.Cannon
weapon.fireDelay = fireDelay weapon.name = "Hookgun /* Weapon Name*/"%_t
weapon.appearanceSeed = rand:getInt() weapon.prefix = "Hookgun /* Weapon Prefix*/"%_t
weapon.reach = reach weapon.icon = "data/textures/icons/hookgun.png"
weapon.continuousBeam = true weapon.sound = "cannon"
weapon.appearance = WeaponAppearance.Cannon weapon.accuracy = 0.99 - rand:getFloat(0, 0.02)
weapon.name = "Hookgun /* Weapon Name*/"%_t
weapon.prefix = "Hookgun /* Weapon Prefix*/"%_t weapon.blockPenetration = rand:getInt(0, rarity.value) + 2
weapon.icon = "data/textures/icons/harpoon.png"
weapon.sound = "cannon" weapon.otherForce = -500 * dps * rarity.value
weapon.accuracy = 0.99 - rand:getFloat(0, 0.02)
weapon.damage = damage
weapon.blockPenetration = rand:getInt(0, rarity.value) + 2 weapon.damageType = DamageType.Physical
weapon.impactParticles = ImpactParticles.Physical
weapon.shieldDamageMultiplicator = 0.75
weapon.otherForce = -500 * dps * rarity.value weapon.stoneDamageMultiplicator = 1.2
weapon.hullDamageMultiplicator = 1
weapon.damage = damage weapon.impactSound = 1
weapon.damageType = DamageType.Physical
weapon.impactParticles = ImpactParticles.Physical weapon.blength = weapon.reach
weapon.shieldDamageMultiplicator = 0.75 weapon.bshape = BeamShape.Swirly
weapon.stoneDamageMultiplicator = 1.2 weapon.bwidth = 0.5
weapon.hullDamageMultiplicator = 1 weapon.bauraWidth = 3
weapon.impactSound = 1 weapon.banimationSpeed = 0
weapon.banimationAcceleration = 0
weapon.blength = weapon.reach weapon.bshapeSize = 13
weapon.bshape = BeamShape.Swirly
weapon.bwidth = 0.5 weapon.bouterColor = ColorHSV(rand:getInt(255, 260), 0,75, rand:getFloat(0.2, 0.25))
weapon.bauraWidth = 3 weapon.binnerColor = ColorHSV(rand:getInt(255, 260), 0,75, rand:getFloat(0, 0.15))
weapon.banimationSpeed = 0
weapon.banimationAcceleration = 0 WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
weapon.bshapeSize = 13
return weapon
-- shades of blue end
weapon.bouterColor = ColorHSV(0, 0, rand:getFloat(0.35, 0.65))
weapon.binnerColor = ColorHSV(1, 1, rand:getFloat(0.35, 0.65)) generatorFunction[WeaponType.Hookgun] = WeaponGenerator.generateHookgun
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
function WeaponGenerator.generateHiveLauncher(rand, dps, tech, material, rarity)
return weapon local weapon = Weapon()
end weapon:setProjectile()
generatorFunction[WeaponType.Hookgun] = WeaponGenerator.generateHookgun local fireDelay = rand:getFloat(2.2, 3)
local reach = rand:getFloat(1300, 1800)
local damage = dps * fireDelay
local speed = rand:getFloat(200, 250)
local existingTime = reach / speed
weapon.fireDelay = fireDelay
weapon.reach = reach
weapon.appearanceSeed = rand:getInt()
weapon.seeker = true
weapon.appearance = WeaponAppearance.RocketLauncher
weapon.name = "Hive-Launcher /* Weapon Name*/"%_t
weapon.prefix = "Hive-Launcher /* Weapon Prefix*/"%_t
weapon.icon = "data/textures/icons/hivelauncher.png"
weapon.sound = "cannon"
weapon.accuracy = 0.5 - rand:getFloat(0, 0.02)
weapon.damage = damage
weapon.damageType = DamageType.Physical
weapon.impactParticles = ImpactParticles.Explosion
weapon.impactSound = 1
weapon.impactExplosion = true
weapon.psize = rand:getFloat(0.2, 0.4)
weapon.pmaximumTime = existingTime
weapon.pvelocity = speed
weapon.pcolor = ColorHSV(rand:getFloat(10, 60), 0.8, rand:getFloat(0.25, 0.75))
weapon.pshape = ProjectileShape.Rocket
if rand:test(1) then
local shots = {6, 10, 14, 18, 22, 26, 30}
weapon.shotsFired = shots[rand:getInt(1, #shots)]
weapon.damage = (weapon.damage * 1.5) / weapon.shotsFired
end
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
weapon.recoil = weapon.damage * 2
weapon.explosionRadius = math.sqrt(weapon.damage * 5)
return weapon
end
generatorFunction[WeaponType.HiveLauncher] = WeaponGenerator.generateHiveLauncher

View File

@@ -1,5 +1,6 @@
WeaponTypes.addType("SmartCannon", "Smart Сannon /* Weapon Type */"%_t, armed) WeaponTypes.addType("SmartCannon", "Smart Сannon /* Weapon Type */"%_t, armed)
WeaponTypes.addType("HeavyCannon", "Heavy Cannon /* Weapon Type */"%_t, armed) WeaponTypes.addType("HeavyCannon", "Heavy Cannon /* Weapon Type */"%_t, armed)
WeaponTypes.addType("Diffuser", "Diffuser /* Weapon Type */"%_t, armed) WeaponTypes.addType("Diffuser", "Diffuser /* Weapon Type */"%_t, armed)
WeaponTypes.addType("Hookgun", "Hookgun /* Weapon Type */"%_t, armed) WeaponTypes.addType("Hookgun", "Hookgun /* Weapon Type */"%_t, armed)
WeaponTypes.addType("HiveLauncher", "HiveLauncher /* Weapon Type */"%_t, armed)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -10,13 +10,13 @@ meta =
name = "Weapon_Pack_Extended2", name = "Weapon_Pack_Extended2",
-- Title of your mod that will be displayed to players -- Title of your mod that will be displayed to players
title = "Weapon Pack Extended2", title = "Weapon Pack Extended - Reloaded",
-- Description of your mod that will be displayed to players -- Description of your mod that will be displayed to players
description = "Adds some new weapon to the game.", description = "Adds some new weapon to the game.",
-- Insert all authors into this list -- Insert all authors into this list
authors = {"Alive!"}, authors = {"Casimir Kepler, Baconborn, OmenOs"},
-- Version of your mod, should be in format 1.0.0 (major.minor.patch) or 1.0 (major.minor) -- Version of your mod, should be in format 1.0.0 (major.minor.patch) or 1.0 (major.minor)
-- This will be used to check for unmet dependencies or incompatibilities -- This will be used to check for unmet dependencies or incompatibilities
@@ -52,5 +52,5 @@ meta =
saveGameAltering = false, saveGameAltering = false,
-- Contact info for other users to reach you in case they have questions -- Contact info for other users to reach you in case they have questions
contact = "https://steamcommunity.com/id/CasKepler2/", contact = "https://steamcommunity.com/id/CasKepler2/", "https://steamcommunity.com/id/baconborn/",
} }

View File

@@ -1 +0,0 @@

BIN
thumb.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 344 KiB