Compare commits
56 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6e6b3aa8a6 | ||
|
|
812a652bed | ||
|
|
19e0acdf6d | ||
|
|
d21c529591 | ||
|
|
7d08a6bdfc | ||
|
|
83dddbea1e | ||
|
|
8c3ff4993b | ||
|
|
34d41c4c5b | ||
|
|
efce751464 | ||
|
|
02a32a81f2 | ||
|
|
90c76900e1 | ||
|
|
4cb196b579 | ||
|
|
30343d47a0 | ||
|
|
7410e3f488 | ||
|
|
36434648d6 | ||
|
|
42c671c3a7 | ||
|
|
aa6c42b840 | ||
|
|
92e0636354 | ||
|
|
f84cc424b1 | ||
|
|
1e11687962 | ||
|
|
07a05df171 | ||
|
|
4c101287bf | ||
|
|
a16f0be550 | ||
|
|
6915961e99 | ||
|
|
1612ba9195 | ||
|
|
44fef51edd | ||
|
|
946a585ec7 | ||
|
|
cd6210888b | ||
|
|
ccf5c37ec8 | ||
|
|
0edade93c1 | ||
|
|
ce80b62b82 | ||
|
|
80d1d57d94 | ||
|
|
1d21757453 | ||
|
|
4644383c73 | ||
|
|
a99b373b25 | ||
|
|
7cf0b95477 | ||
|
|
ae4e872b74 | ||
|
|
4e5f0a0f89 | ||
|
|
599872b114 | ||
|
|
e11ab2dae5 | ||
|
|
d46d044e2d | ||
|
|
b81d07eb49 | ||
|
|
0f744108b0 | ||
|
|
e92fa54cac | ||
|
|
c4a48cbed4 | ||
|
|
cdabe00195 | ||
|
|
60c589fb74 | ||
|
|
5024ed74d4 | ||
|
|
8f1f252601 | ||
|
|
927da67587 | ||
|
|
ce4627919f | ||
|
|
ee48cf94c5 | ||
|
|
3f5c906577 | ||
|
|
d6450e63c0 | ||
|
|
71e17e719b | ||
|
|
d5c9874b2b |
2
.gitattributes
vendored
@@ -4,4 +4,4 @@ CHANGELOG export-ignore
|
||||
.gitlab-ci.yml export-ignore
|
||||
.git export-ignore
|
||||
.vs export-ignore
|
||||
.gitignore export-ignore
|
||||
.gitignore exsport-ignore
|
||||
|
||||
@@ -1,25 +1,37 @@
|
||||
stages: # List of stages for jobs, and their order of execution
|
||||
stages:
|
||||
- prepare # List of stages for jobs, and their order of execution
|
||||
- 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/ > test.txt'
|
||||
- 'ls -al'
|
||||
- cat test.txt
|
||||
|
||||
|
||||
release_job:
|
||||
needs:
|
||||
- prepare_job
|
||||
stage: release # It only runs when *both* jobs in the test stage complete successfully.
|
||||
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||
|
||||
|
||||
only:
|
||||
# - if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH"
|
||||
refs:
|
||||
- main
|
||||
- testing
|
||||
- ^tags
|
||||
changes:
|
||||
- ^README.md
|
||||
- ^CHANGELOG
|
||||
- ^.gitattribute
|
||||
- ^.gitignore
|
||||
- ^.gitlab-ci.yml
|
||||
- data/**/*
|
||||
- modinfo.lua
|
||||
- thumb.png
|
||||
- test.txt
|
||||
|
||||
script:
|
||||
- echo "Release WPE 2.0_$CI_COMMIT_SHORT_SHA"
|
||||
|
||||
28
README.md
@@ -1,9 +1,6 @@
|
||||
[](http://gl.beaconborn.ru/bacon/weapon-project-extended/-/commits/main) [](http://gl.beaconborn.ru/bacon/weapon-project-extended/-/releases)
|
||||
# weapon project extended 2.0
|
||||
|
||||

|
||||
|
||||
|
||||
## Getting started
|
||||
|
||||
That mod for Avorion original writed [Alive!](https://steamcommunity.com/id/CasKepler2/) for 0.32 and updated by me with him
|
||||
@@ -13,28 +10,3 @@ That mod for Avorion original writed [Alive!](https://steamcommunity.com/id/CasK
|
||||
* Smart-cannon
|
||||
* Heavy Cannon
|
||||
* Diffuser
|
||||
|
||||
### Описание
|
||||
|
||||
Возвращение олдсульного мода на сбалансированное оружие!
|
||||
|
||||
WPE-Remastered добавляет несколько новых, хорошо сбалансированных для ванильной игры орудий.
|
||||
|
||||
В отличии от старой (ого, прошло уже больше 4 лет) версии часть орудий была заменена на новые образцы, а остальные доведены до идеала ( но могут быть отредактированы по отзывам пользователей).
|
||||
|
||||
И так, орудия:
|
||||
|
||||
Смарт-пушка:
|
||||
Вариант пушки со снарядами, начиненными всякой электроникой для наведения и уничтожения врага. Да, дороже чем обычно, но поверьте, оно того стоит! [Возможны модификации для пробития щитов и плазменных зарядов]
|
||||
|
||||
Тяжелая пушка:
|
||||
"Большому кораблю нужны большие калибры!" - именно этим девизом руководствовались инженеры разрабатывая данное оружие. Лучший способ доставить противнику **БОЛЬШИЕ** проблемы
|
||||
|
||||
Гарпун:
|
||||
Враг убегает? Не сегодня! Гарпун не даст врагу и шанса улизнуть.
|
||||
|
||||
Рассеиватель энергии:
|
||||
У врага мощный щит? Не проблема! Бюро сверхсовременных разработок нашло решение и этой проблемы: рассеиватель энергии скушает щиты как вкусный тортик (но увы, даже не облизнет корпус).
|
||||
|
||||
Сотовые ракетные установки:
|
||||
Что может быть лучше ракеты? Правильно - много ракет! Пусть по отдельности эти малышки слабы, их рой не оставит врагу и шанса.
|
||||
|
||||
@@ -1,137 +1,92 @@
|
||||
# ========== 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 "%2%%3%%4%%5%%6%%7%%1%"
|
||||
|
||||
#: 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 " Holding"
|
||||
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:
|
||||
# ========== /mods/WPE2/data/scripts/lib/weapongenerator.lua ==========
|
||||
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
msgctxt "Weapon Name"
|
||||
msgid "Smart-Cannon"
|
||||
msgstr "Смарт-Пушка"
|
||||
msgid "Smart Cannon"
|
||||
msgstr "Умная пушка"
|
||||
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
msgctxt "Weapon Prefix"
|
||||
msgid "Smart-Cannon"
|
||||
msgstr "Смарт-Пушка"
|
||||
msgid "Smart Cannon"
|
||||
msgstr "Умная пушка"
|
||||
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
msgctxt "Weapon Name"
|
||||
msgid "Heavy Cannon"
|
||||
msgstr "Тяжелое орудие"
|
||||
msgstr "Тяжелая Пушка"
|
||||
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
#: /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"
|
||||
msgid "Diffuser"
|
||||
msgstr "Диффузор"
|
||||
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
#: /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:
|
||||
# ========== /mods/WPE2/data/scripts/lib/weapontype.lua ==========
|
||||
#: /mods/WPE2/data/scripts/lib/weapontype.lua:
|
||||
msgctxt "Weapon Type"
|
||||
msgid "Smart-Сannon"
|
||||
msgstr "Смарт-Пушка"
|
||||
msgid "Auto Сannon"
|
||||
msgstr "Автопушка"
|
||||
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua:
|
||||
#: /mods/WPE2/data/scripts/lib/weapontype.lua:
|
||||
msgctxt "Weapon Type"
|
||||
msgid "Heavy Cannon"
|
||||
msgstr "Тяжелое орудие"
|
||||
msgstr "Тяжелая Пушка"
|
||||
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua:
|
||||
#: /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 "Hive-Launcher"
|
||||
msgstr "Роевая ракетная установка"
|
||||
# ========== /mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua ==========
|
||||
#: /mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
|
||||
msgid "WPE Turrets"
|
||||
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"
|
||||
|
||||
|
||||
|
||||
@@ -1,183 +0,0 @@
|
||||
# ========== 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 ""
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
|
||||
weaponProbabilities[WeaponType.SmartCannon] = {d = 0.65, p = 2.0}
|
||||
weaponProbabilities[WeaponType.HeavyCannon] = {d = 0.65, p = 2.0}
|
||||
weaponProbabilities[WeaponType.Diffuser] = {d = 0.55, p = 1.0}
|
||||
weaponProbabilities[WeaponType.Hookgun] = {d = 0.55, p = 1.0}
|
||||
weaponProbabilities[WeaponType.HiveLauncher] = {d = 0.6, p = 1.0}
|
||||
|
||||
weaponProbabilities[WeaponType.Hookgun] = {d = 0.65, p = 2.0}
|
||||
weaponProbabilities[WeaponType.HeavyCannon] = {d = 0.6, p = 1.0}
|
||||
weaponProbabilities[WeaponType.Diffuser] = {d = 0.6, p = 1.0}
|
||||
weaponProbabilities[WeaponType.Harpoon] = {d = 0.6, p = 1.0}
|
||||
@@ -1,6 +1,5 @@
|
||||
|
||||
valueWeights[WeaponType.SmartCannon ] = 1.2
|
||||
valueWeights[WeaponType.HeavyCannon ] = 1
|
||||
valueWeights[WeaponType.Diffuser ] = 2
|
||||
valueWeights[WeaponType.Hookgun ] = 1
|
||||
valueWeights[WeaponType.HiveLauncher] = 1
|
||||
|
||||
valueWeights[WeaponType.SmartCannon ] = 2
|
||||
valueWeights[WeaponType.HeavyCannon ] = 1.7
|
||||
valueWeights[WeaponType.Diffuser ] = 2.1
|
||||
valueWeights[WeaponType.Hookgun ] = 2.1
|
||||
|
||||
@@ -1,391 +1,230 @@
|
||||
|
||||
scales[WeaponType.SmartCannon] = {
|
||||
{from = 0, to = 28, size = 1.0, usedSlots = 2},
|
||||
{from = 29, to = 38, size = 1,5, usedSlots = 3},
|
||||
{from = 39, to = 49, size = 2.0, usedSlots = 4},
|
||||
--dummy for cooaxial, add 1 to size and level
|
||||
{from = 50, to = 52, size = 4.0, usedSlots = 5},
|
||||
}
|
||||
|
||||
scales[WeaponType.HeavyCannon] = {
|
||||
{from = 0, to = 28, size = 3.0, usedSlots = 4},
|
||||
{from = 29, to = 38, size = 4.0, usedSlots = 5},
|
||||
{from = 39, to = 49, size = 5.0, usedSlots = 6},
|
||||
--dummy for cooaxial, add 1 to size and level
|
||||
{from = 50, to = 52, size = 6, usedSlots = 6},
|
||||
}
|
||||
|
||||
scales[WeaponType.Diffuser] = {
|
||||
{from = 0, to = 46, size = 1.0, usedSlots = 2},
|
||||
{from = 47, to = 50, size = 2.0, usedSlots = 4},
|
||||
--dummy for cooaxial, add 1 to size and level
|
||||
{from = 51, to = 52, size = 3.0, usedSlots = 6},
|
||||
}
|
||||
|
||||
scales[WeaponType.Hookgun] = {
|
||||
{from = 0, to = 46, size = 1.0, usedSlots = 2},
|
||||
{from = 47, to = 50, size = 2.0, usedSlots = 4},
|
||||
--dummy for cooaxial, add 1 to size and level
|
||||
{from = 51, to = 52, size = 4.0, usedSlots = 6},
|
||||
}
|
||||
|
||||
scales[WeaponType.HiveLauncher] = {
|
||||
{from = 0, to = 32, size = 1.0, usedSlots = 2},
|
||||
{from = 33, to = 40, size = 1.5, usedSlots = 3},
|
||||
{from = 41, to = 50, size = 2.0, usedSlots = 4},
|
||||
--dummy for cooaxial, add 1 to size and level
|
||||
{from = 51, to = 52, size = 3.0, usedSlots = 6},
|
||||
}
|
||||
|
||||
if GameVersion() >= Version(0, 31, 0) then
|
||||
possibleSpecialties[WeaponType.SmartCannon] = {
|
||||
{specialty = Specialty.HighDamage, probability = 0.2},
|
||||
{specialty = Specialty.HighFireRate, probability = 0.3},
|
||||
{specialty = Specialty.HighRange, probability = 0.7},
|
||||
}
|
||||
else
|
||||
possibleSpecialties[WeaponType.SmartCannon] = {
|
||||
Specialty.HighDamage,
|
||||
Specialty.HighFireRate,
|
||||
Specialty.HighRange,
|
||||
Specialty.HighHullDamage,
|
||||
Specialty.LessCoolingTime,
|
||||
}
|
||||
end
|
||||
|
||||
if GameVersion() >= Version(0, 31, 0) then
|
||||
possibleSpecialties[WeaponType.HeavyCannon] = {
|
||||
{specialty = Specialty.HighDamage, probability = 0.2},
|
||||
{specialty = Specialty.HighRange, probability = 0.35},
|
||||
{specialty = Specialty.HighFireRate, probability = 0.3},
|
||||
}
|
||||
else
|
||||
possibleSpecialties[WeaponType.HeavyCannon] = {
|
||||
Specialty.HighDamage,
|
||||
Specialty.HighFireRate,
|
||||
Specialty.HighRange,
|
||||
Specialty.HighHullDamage,
|
||||
Specialty.HighShieldDamage,
|
||||
Specialty.LessCoolingTime,
|
||||
}
|
||||
end
|
||||
|
||||
if GameVersion() >= Version(0, 31, 0) then
|
||||
possibleSpecialties[WeaponType.Diffuser] = {
|
||||
{specialty = Specialty.HighDamage, probability = 0.3},
|
||||
{specialty = Specialty.HighRange, probability = 0.3},
|
||||
}
|
||||
else
|
||||
possibleSpecialties[WeaponType.Diffuser] = {
|
||||
Specialty.HighDamage,
|
||||
Specialty.HighRange,
|
||||
Specialty.FasterRechargeTime,
|
||||
}
|
||||
end
|
||||
|
||||
if GameVersion() >= Version(0, 31, 0) then
|
||||
possibleSpecialties[WeaponType.Hookgun] = {
|
||||
{specialty = Specialty.HighDamage, probability = 0.3},
|
||||
{specialty = Specialty.HighRange, probability = 0.3},
|
||||
}
|
||||
else
|
||||
possibleSpecialties[WeaponType.Hookgun] = {
|
||||
Specialty.HighDamage,
|
||||
Specialty.HighRange,
|
||||
Specialty.FasterRechargeTime,
|
||||
}
|
||||
end
|
||||
|
||||
if GameVersion() >= Version(0, 31, 0) then
|
||||
possibleSpecialties[WeaponType.HiveLauncher] = {
|
||||
{specialty = Specialty.HighShootingTime, probability = 0.2},
|
||||
{specialty = Specialty.HighDamage, probability = 0.15},
|
||||
{specialty = Specialty.HighFireRate, probability = 0.15},
|
||||
{specialty = Specialty.HighRange, probability = 0.25},
|
||||
{specialty = Specialty.BurstFire, probability = 0.1},
|
||||
}
|
||||
else
|
||||
possibleSpecialties[WeaponType.HiveLauncher] = {
|
||||
Specialty.HighDamage,
|
||||
Specialty.HighRange,
|
||||
Specialty.FasterRechargeTime,
|
||||
}
|
||||
end
|
||||
|
||||
-- ===========================================================================================================================================================
|
||||
function TurretGenerator.generateSmartCannonTurret(rand, dps, tech, material, rarity)
|
||||
local result = TurretTemplate()
|
||||
|
||||
-- generate turret
|
||||
local requiredCrew = TurretGenerator.dpsToRequiredCrew(dps)
|
||||
local crew = Crew()
|
||||
crew:add(requiredCrew, CrewMan(CrewProfessionType.Gunner))
|
||||
crew:add(requiredCrew, CrewMan(CrewProfessionType.Pilot))
|
||||
result.crew = crew
|
||||
|
||||
-- generate weapons
|
||||
local numWeapons = rand:getInt(1, 4)
|
||||
|
||||
local weapon = WeaponGenerator.generateSmartCannon(rand, dps, tech, material, rarity)
|
||||
weapon.fireDelay = weapon.fireDelay * numWeapons
|
||||
|
||||
local specType = rand:getInt(0, 2)
|
||||
if specType == 1 then
|
||||
weapon.shieldPenetration = 1
|
||||
if rand:getInt(0, 1) then
|
||||
weapon.pcolor = ColorHSV(rand:getFloat(180, 210), 0.8, 0.8)
|
||||
else
|
||||
weapon.pcolor = ColorHSV(rand:getFloat(260, 290), 0.8, 0.8)
|
||||
end
|
||||
elseif specType == 2 then
|
||||
weapon.damageType = DamageType.Plasma
|
||||
weapon.damage = weapon.damage * 0.9
|
||||
weapon.pcolor = ColorHSV(rand:getFloat(90, 120), 0.7, 1)
|
||||
end
|
||||
|
||||
-- attach weapons to turret
|
||||
TurretGenerator.attachWeapons(rand, result, weapon, numWeapons)
|
||||
|
||||
local shootingTime = 25 * 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.SmartCannon, tech, 0.6)
|
||||
local specialties = TurretGenerator.addSpecialties(rand, result, WeaponType.SmartCannon)
|
||||
|
||||
result.slotType = TurretSlotType.Armed
|
||||
result:updateStaticStats()
|
||||
|
||||
local name = "Smart-Cannon /* weapon name*/"%_T
|
||||
|
||||
local dmgAdjective, outerAdjective, barrel, multishot, coax, serial = makeTitleParts(rand, specialties, result, DamageType.Physical)
|
||||
|
||||
if specType == 1 then
|
||||
outerAdjective = " Ionized"%_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.SmartCannon] = TurretGenerator.generateSmartCannonTurret
|
||||
|
||||
|
||||
-- ===========================================================================================================================================================
|
||||
function TurretGenerator.generateHeavyCannonTurret(rand, dps, tech, material, rarity)
|
||||
local result = TurretTemplate()
|
||||
|
||||
-- generate turret
|
||||
local requiredCrew = TurretGenerator.dpsToRequiredCrew(dps)
|
||||
local crew = Crew()
|
||||
crew:add(requiredCrew * 3, CrewMan(CrewProfessionType.Gunner))
|
||||
crew:add(requiredCrew, CrewMan(CrewProfessionType.Repair))
|
||||
result.crew = crew
|
||||
|
||||
-- generate weapons
|
||||
local numWeapons = rand:getInt(1, 4)
|
||||
|
||||
local weapon = WeaponGenerator.generateHeavyCannon(rand, dps, tech, material, rarity)
|
||||
weapon.fireDelay = weapon.fireDelay * numWeapons
|
||||
|
||||
local Pen = rand:getInt(0, rarity.value)
|
||||
if Pen > 0 then
|
||||
weapon.blockPenetration = Pen
|
||||
outerAdjective = " Cumulative"%_T
|
||||
end
|
||||
|
||||
if result.size >= 4 then
|
||||
weapon.psize = weapon.psize * 1.5
|
||||
weapon.speed = weapon.speed * 2
|
||||
weapon.reach = weapon.reach * 1.2
|
||||
weapon.pcolor = ColorHSV(rand:getFloat(10, 45), 0.7, 0.7)
|
||||
end
|
||||
|
||||
if result.size >= 5 then
|
||||
weapon.psize = weapon.psize * 1.5
|
||||
weapon.speed = weapon.speed * 2
|
||||
weapon.reach = weapon.reach * 1.5
|
||||
weapon.pcolor = ColorHSV(rand:getFloat(10, 45), 0.7, 0.9)
|
||||
end
|
||||
|
||||
-- attach weapons to turret
|
||||
TurretGenerator.attachWeapons(rand, result, weapon, numWeapons)
|
||||
|
||||
local shootingTime = 25 * rand:getFloat(0.8, 1.2)
|
||||
local coolingTime = 20 * rand:getFloat(0.8, 1.2)
|
||||
TurretGenerator.createStandardCooling(result, coolingTime, shootingTime)
|
||||
|
||||
TurretGenerator.scale(rand, result, WeaponType.HeavyCannon, tech, 0.6)
|
||||
local specialties = TurretGenerator.addSpecialties(rand, result, WeaponType.HeavyCannon)
|
||||
|
||||
result.slotType = TurretSlotType.Armed
|
||||
result:updateStaticStats()
|
||||
|
||||
local name = "Heavy Cannon /* weapon name*/"%_T
|
||||
|
||||
local dmgAdjective, outerAdjective, barrel, multishot, coax, serial = makeTitleParts(rand, specialties, result, DamageType.Physical)
|
||||
|
||||
if result.size >= 4 then
|
||||
name = "Mass Driver /* weapon name*/"%_T
|
||||
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 = " Holding"%_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
|
||||
|
||||
scales[WeaponType.SmartCannon] = {
|
||||
{from = 0, to = 28, size = 1.0, usedSlots = 2},
|
||||
{from = 29, to = 38, size = 2.0, usedSlots = 3},
|
||||
{from = 39, to = 49, size = 3.0, usedSlots = 4},
|
||||
--dummy for cooaxial, add 1 to size and level
|
||||
{from = 50, to = 52, size = 4.0, usedSlots = 5},
|
||||
}
|
||||
|
||||
scales[WeaponType.HeavyCannon] = {
|
||||
{from = 0, to = 28, size = 3.0, usedSlots = 4},
|
||||
{from = 29, to = 38, size = 4.0, usedSlots = 5},
|
||||
{from = 39, to = 49, size = 5.0, usedSlots = 6},
|
||||
--dummy for cooaxial, add 1 to size and level
|
||||
{from = 50, to = 52, size = 5, usedSlots = 6},
|
||||
}
|
||||
|
||||
scales[WeaponType.Diffuser] = {
|
||||
{from = 0, to = 46, size = 1.0, usedSlots = 2},
|
||||
{from = 47, to = 50, size = 2.0, usedSlots = 4},
|
||||
--dummy for cooaxial, add 1 to size and level
|
||||
{from = 51, to = 52, size = 3.0, usedSlots = 6},
|
||||
}
|
||||
|
||||
scales[WeaponType.Hookgun] = {
|
||||
{from = 0, to = 46, size = 1.0, usedSlots = 2},
|
||||
{from = 47, to = 50, size = 2.0, usedSlots = 4},
|
||||
--dummy for cooaxial, add 1 to size and level
|
||||
{from = 51, to = 52, size = 3.0, usedSlots = 6},
|
||||
}
|
||||
|
||||
if GameVersion() >= Version(0, 31, 0) then
|
||||
possibleSpecialties[WeaponType.SmartCannon] = {
|
||||
{specialty = Specialty.HighDamage, probability = 0.2},
|
||||
{specialty = Specialty.HighFireRate, probability = 0.3},
|
||||
{specialty = Specialty.HighRange, probability = 0.7},
|
||||
-- {specialty = Specialty.HighHullDamage, probability = 0.5},
|
||||
-- {specialty = Specialty.LessCoolingTime, probability = 0.4},
|
||||
}
|
||||
else
|
||||
possibleSpecialties[WeaponType.SmartCannon] = {
|
||||
Specialty.HighDamage,
|
||||
Specialty.HighFireRate,
|
||||
Specialty.HighRange,
|
||||
Specialty.HighHullDamage,
|
||||
Specialty.LessCoolingTime,
|
||||
}
|
||||
end
|
||||
|
||||
if GameVersion() >= Version(0, 31, 0) then
|
||||
possibleSpecialties[WeaponType.HeavyCannon] = {
|
||||
{specialty = Specialty.HighDamage, probability = 0.2},
|
||||
{specialty = Specialty.HighRange, probability = 0.35},
|
||||
{specialty = Specialty.HighFireRate, probability = 0.3},
|
||||
-- {specialty = Specialty.HighHullDamage, probability = 0.2},
|
||||
-- {specialty = Specialty.HighShieldDamage, probability = 0.2},
|
||||
-- {specialty = Specialty.LessCoolingTime, probability = 0.2}
|
||||
}
|
||||
else
|
||||
possibleSpecialties[WeaponType.HeavyCannon] = {
|
||||
Specialty.HighDamage,
|
||||
Specialty.HighFireRate,
|
||||
Specialty.HighRange,
|
||||
Specialty.HighHullDamage,
|
||||
Specialty.HighShieldDamage,
|
||||
Specialty.LessCoolingTime,
|
||||
}
|
||||
end
|
||||
|
||||
if GameVersion() >= Version(0, 31, 0) then
|
||||
possibleSpecialties[WeaponType.Diffuser] = {
|
||||
{specialty = Specialty.HighDamage, probability = 0.3},
|
||||
{specialty = Specialty.HighRange, probability = 0.3},
|
||||
-- {specialty = Specialty.FasterRechargeTime, probability = 0.6},
|
||||
}
|
||||
else
|
||||
possibleSpecialties[WeaponType.Diffuser] = {
|
||||
Specialty.HighDamage,
|
||||
Specialty.HighRange,
|
||||
Specialty.FasterRechargeTime,
|
||||
}
|
||||
end
|
||||
|
||||
if GameVersion() >= Version(0, 31, 0) then
|
||||
possibleSpecialties[WeaponType.Hookgun] = {
|
||||
{specialty = Specialty.HighDamage, probability = 0.3},
|
||||
{specialty = Specialty.HighRange, probability = 0.3},
|
||||
-- {specialty = Specialty.FasterRechargeTime, probability = 0.6},
|
||||
}
|
||||
else
|
||||
possibleSpecialties[WeaponType.Hookgun] = {
|
||||
Specialty.HighDamage,
|
||||
Specialty.HighRange,
|
||||
Specialty.FasterRechargeTime,
|
||||
}
|
||||
end
|
||||
|
||||
function TurretGenerator.generateSmartCannonTurret(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, 4)
|
||||
|
||||
local weapon = WeaponGenerator.generateSmartCannon(rand, dps, tech, material, rarity)
|
||||
weapon.fireDelay = weapon.fireDelay * numWeapons
|
||||
|
||||
-- attach weapons to turret
|
||||
TurretGenerator.attachWeapons(rand, result, weapon, numWeapons)
|
||||
|
||||
local shootingTime = 25 * 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.SmartCannon, tech, 0.6)
|
||||
TurretGenerator.addSpecialties(rand, result, WeaponType.SmartCannon)
|
||||
|
||||
result:updateStaticStats()
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
generatorFunction[WeaponType.SmartCannon] = TurretGenerator.generateSmartCannonTurret
|
||||
|
||||
|
||||
function TurretGenerator.generateHeavyCannonTurret(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))
|
||||
crew:add(requiredCrew, CrewMan(CrewProfessionType.Repair))
|
||||
result.crew = crew
|
||||
|
||||
-- generate weapons
|
||||
local numWeapons = rand:getInt(1, 4)
|
||||
|
||||
local weapon = WeaponGenerator.generateHeavyCannon(rand, dps, tech, material, rarity)
|
||||
weapon.fireDelay = weapon.fireDelay * numWeapons
|
||||
|
||||
-- attach weapons to turret
|
||||
TurretGenerator.attachWeapons(rand, result, weapon, numWeapons)
|
||||
|
||||
local shootingTime = 25 * rand:getFloat(0.8, 1.2)
|
||||
local coolingTime = 20 * rand:getFloat(0.8, 1.2)
|
||||
TurretGenerator.createStandardCooling(result, coolingTime, shootingTime)
|
||||
|
||||
TurretGenerator.scale(rand, result, WeaponType.HeavyCannon, tech, 0.6)
|
||||
TurretGenerator.addSpecialties(rand, result, WeaponType.HeavyCannon)
|
||||
|
||||
result:updateStaticStats()
|
||||
|
||||
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)
|
||||
TurretGenerator.addSpecialties(rand, result, WeaponType.Diffuser)
|
||||
|
||||
result:updateStaticStats()
|
||||
|
||||
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
|
||||
|
||||
-- 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)
|
||||
TurretGenerator.addSpecialties(rand, result, WeaponType.Hookgun)
|
||||
|
||||
result:updateStaticStats()
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
generatorFunction[WeaponType.Hookgun] = TurretGenerator.generateHookgunTurret
|
||||
|
||||
@@ -1,51 +1,45 @@
|
||||
|
||||
TurretIngredients[WeaponType.SmartCannon] =
|
||||
{
|
||||
{name = "Servo", amount = 15, investable = 10, minimum = 5, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage},
|
||||
{name = "Processor", amount = 5, investable = 6, minimum = 1, weaponStat = "damage", },
|
||||
{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 = 1, changeType = StatChanges.Percentage},
|
||||
{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 Tube", amount = 5, investable = 10, minimum = 3,},
|
||||
}
|
||||
|
||||
TurretIngredients[WeaponType.HeavyCannon] =
|
||||
{
|
||||
{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 = "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 = "Steel", amount = 20, investable = 10, minimum = 20,},
|
||||
{name = "Metal Plate", amount = 8, investable = 10, minimum = 10,},
|
||||
}
|
||||
|
||||
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 = "Industrial Tesla Coil",amount = 2, investable = 6, minimum = 1, weaponStat = "damage", },
|
||||
{name = "Steel", amount = 20, investable = 0, minimum = 20,},
|
||||
{name = "Copper", amount = 10, investable = 0, minimum = 10,},
|
||||
{name = "Silver", amount = 5, investable = 0, minimum = 5,},
|
||||
}
|
||||
|
||||
TurretIngredients[WeaponType.Hookgun] =
|
||||
{
|
||||
{name = "Force Generator", amount = 10, investable = 10, minimum = 10, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage},
|
||||
{name = "Energy Tube", amount = 5, investable = 6, minimum = 1, weaponStat = "reach", },
|
||||
{name = "Power Unit", amount = 2, investable = 6, minimum = 1, weaponStat = "damage", },
|
||||
{name = "Steel", amount = 20, investable = 0, minimum = 20,},
|
||||
{name = "Conductor", amount = 10, investable = 0, minimum = 10,},
|
||||
}
|
||||
|
||||
TurretIngredients[WeaponType.HiveLauncher] =
|
||||
{
|
||||
{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,},
|
||||
}
|
||||
|
||||
TurretIngredients[WeaponType.SmartCannon] =
|
||||
{
|
||||
{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 = "High Pressure Tube", amount = 2, investable = 6, minimum = 1, weaponStat = "reach", },
|
||||
{name = "Ammunition M", amount = 2, investable = 4, minimum = 1, weaponStat = "damage", investFactor = 0.5,},
|
||||
{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 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.SmartCannon] =
|
||||
{
|
||||
{name = "Servo", amount = 8, investable = 8, minimum = 4, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage},
|
||||
{name = "Warhead", amount = 5, investable = 6, minimum = 1, weaponStat = "damage", },
|
||||
{name = "High Pressure Tube", amount = 2, investable = 6, minimum = 1, weaponStat = "reach", },
|
||||
{name = "Ammunition", amount = 5, investable = 10, minimum = 3, weaponStat = "damage", investFactor = 0.2,},
|
||||
{name = "Steel", amount = 20, investable = 10, minimum = 20,},
|
||||
{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] =
|
||||
{
|
||||
{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 = "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,},
|
||||
{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 = "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 = "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,},
|
||||
{name = "Silver", amount = 5, investable = 0, minimum = 5,},
|
||||
-- {name = "Targeting System", amount = 0, investable = 2, minimum = 0, turretStat = "automatic", investFactor = 1, changeType = StatChanges.Flat},
|
||||
}
|
||||
@@ -1,244 +1,201 @@
|
||||
|
||||
function WeaponGenerator.generateSmartCannon(rand, dps, tech, material, rarity)
|
||||
local weapon = Weapon()
|
||||
weapon:setProjectile()
|
||||
|
||||
dps = dps * 0.9
|
||||
local fireDelay = rand:getFloat(0.6, 1)
|
||||
local reach = rand:getFloat(1100, 1500)*0.7
|
||||
local damage = dps * fireDelay
|
||||
local speed = rand:getFloat(300, 400)*4
|
||||
local existingTime = (reach / speed)*1.2
|
||||
|
||||
weapon.fireDelay = fireDelay
|
||||
weapon.reach = reach
|
||||
weapon.appearanceSeed = rand:getInt()
|
||||
weapon.seeker = 1
|
||||
weapon.appearance = WeaponAppearance.Cannon
|
||||
weapon.name = "Smart-Cannon /* Weapon Name*/"%_t
|
||||
weapon.prefix = "Smart-Cannon /* Weapon Prefix*/"%_t
|
||||
weapon.icon = "data/textures/icons/smartcannon.png"
|
||||
weapon.sound = "cannon"
|
||||
weapon.accuracy = 0.99 - rand:getFloat(0, 0.03)
|
||||
|
||||
weapon.damage = damage
|
||||
weapon.damageType = DamageType.Physical
|
||||
weapon.impactParticles = ImpactParticles.Explosion
|
||||
weapon.shieldDamageMultiplicator=1.1 + rarity.value * 0.1
|
||||
weapon.impactSound = 1
|
||||
weapon.impactExplosion = true
|
||||
|
||||
|
||||
weapon.psize = rand:getFloat(0.2, 0.5)
|
||||
weapon.pmaximumTime = existingTime
|
||||
weapon.pvelocity = speed
|
||||
weapon.pcolor = ColorHSV(rand:getFloat(20, 45), 0.7, 1)
|
||||
|
||||
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
|
||||
weapon.explosionRadius = math.sqrt(weapon.damage * 6)
|
||||
|
||||
return weapon
|
||||
end
|
||||
|
||||
generatorFunction[WeaponType.SmartCannon] = WeaponGenerator.generateSmartCannon
|
||||
|
||||
|
||||
|
||||
function WeaponGenerator.generateHeavyCannon(rand, dps, tech, material, rarity)
|
||||
local weapon = Weapon()
|
||||
weapon:setProjectile()
|
||||
|
||||
dps = dps * 1.85
|
||||
local fireDelay = rand:getFloat(1.5, 2.0)*1.7
|
||||
local reach = rand:getFloat(1100, 1500)*1.5
|
||||
local damage = dps * fireDelay
|
||||
local speed = rand:getFloat(600, 1000)*1.4
|
||||
local existingTime = (reach / speed)*1.1
|
||||
|
||||
weapon.fireDelay = fireDelay
|
||||
weapon.reach = reach
|
||||
weapon.appearanceSeed = rand:getInt()
|
||||
weapon.appearance = WeaponAppearance.Bolter
|
||||
weapon.name = "Heavy Cannon /* Weapon Name*/"%_t
|
||||
weapon.icon = "data/textures/icons/heavycannon.png"
|
||||
weapon.sound = "cannon"
|
||||
weapon.accuracy = 0.99 - rand:getFloat(0, 0.02)
|
||||
|
||||
weapon.damage = damage
|
||||
weapon.damageType = DamageType.Physical
|
||||
weapon.impactParticles = ImpactParticles.Explosion
|
||||
weapon.impactSound = 1
|
||||
weapon.impactExplosion = true
|
||||
weapon.otherForce = dps*math.max(1, rarity.value)*89*5
|
||||
|
||||
|
||||
weapon.psize = rand:getFloat(1.2, 1.5)
|
||||
weapon.pmaximumTime = existingTime
|
||||
weapon.pvelocity = speed
|
||||
weapon.pcolor = ColorHSV(rand:getFloat(10, 45), 0.7, 0.4)
|
||||
|
||||
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 * 50
|
||||
weapon.explosionRadius = math.sqrt(weapon.damage * 7)
|
||||
|
||||
return weapon
|
||||
end
|
||||
|
||||
generatorFunction[WeaponType.HeavyCannon] = WeaponGenerator.generateHeavyCannon
|
||||
|
||||
|
||||
|
||||
function WeaponGenerator.generateDiffuser(rand, dps, tech, material, rarity)
|
||||
local weapon = Weapon()
|
||||
weapon:setBeam()
|
||||
|
||||
local fireDelay = rand:getFloat(1, 2.5)*0.5
|
||||
local reach = rand:getFloat(950, 1400)
|
||||
local damage = dps * fireDelay
|
||||
|
||||
weapon.fireDelay = fireDelay
|
||||
weapon.appearanceSeed = rand:getInt()
|
||||
weapon.reach = reach
|
||||
weapon.continuousBeam = false
|
||||
weapon.appearance = WeaponAppearance.Tesla
|
||||
weapon.name = "Diffuser /* Weapon Name*/"%_t
|
||||
weapon.prefix = "Diffuser /* Weapon Prefix*/"%_t
|
||||
weapon.icon = "data/textures/icons/diffuser.png"
|
||||
weapon.sound = "railgun"
|
||||
weapon.accuracy = 0.99 - rand:getFloat(0, 0.02)
|
||||
|
||||
weapon.damage = damage
|
||||
weapon.damageType = DamageType.Energy
|
||||
weapon.impactParticles = ImpactParticles.Energy
|
||||
weapon.shieldDamageMultiplicator = 20 + rand:getFloat(0, 4) + rarity.value * 3
|
||||
weapon.stoneDamageMultiplicator = 0
|
||||
weapon.hullDamageMultiplicator = 0
|
||||
weapon.impactSound = 1
|
||||
|
||||
weapon.blength = weapon.reach
|
||||
weapon.bshape = BeamShape.Lightning
|
||||
weapon.bwidth = 0.5
|
||||
weapon.bauraWidth = 3
|
||||
weapon.banimationSpeed = 0
|
||||
weapon.banimationAcceleration = 0
|
||||
weapon.bshapeSize = 13
|
||||
|
||||
-- shades of blue
|
||||
weapon.bouterColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.5, 1), rand:getFloat(0.1, 0.5))
|
||||
weapon.binnerColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.1, 0.5), 1)
|
||||
|
||||
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
|
||||
|
||||
weapon.recoil = weapon.damage * 5
|
||||
|
||||
return weapon
|
||||
end
|
||||
|
||||
generatorFunction[WeaponType.Diffuser] = WeaponGenerator.generateDiffuser
|
||||
|
||||
|
||||
|
||||
function WeaponGenerator.generateHookgun(rand, dps, tech, material, rarity)
|
||||
local weapon = Weapon()
|
||||
weapon:setBeam()
|
||||
|
||||
local fireDelay = rand:getFloat(0.2, 0.5)
|
||||
local reach = rand:getFloat(500, 900)
|
||||
local damage = dps * fireDelay
|
||||
|
||||
weapon.fireDelay = fireDelay
|
||||
weapon.appearanceSeed = rand:getInt()
|
||||
weapon.reach = reach
|
||||
weapon.continuousBeam = true
|
||||
weapon.appearance = WeaponAppearance.Cannon
|
||||
weapon.name = "Hookgun /* Weapon Name*/"%_t
|
||||
weapon.prefix = "Hookgun /* Weapon Prefix*/"%_t
|
||||
weapon.icon = "data/textures/icons/hookgun.png"
|
||||
weapon.sound = "cannon"
|
||||
weapon.accuracy = 0.99 - rand:getFloat(0, 0.02)
|
||||
|
||||
weapon.blockPenetration = rand:getInt(0, rarity.value) + 2
|
||||
|
||||
weapon.otherForce = -500 * dps * rarity.value
|
||||
|
||||
weapon.damage = damage
|
||||
weapon.damageType = DamageType.Physical
|
||||
weapon.impactParticles = ImpactParticles.Physical
|
||||
weapon.shieldDamageMultiplicator = 0.75
|
||||
weapon.stoneDamageMultiplicator = 1.2
|
||||
weapon.hullDamageMultiplicator = 1
|
||||
weapon.impactSound = 1
|
||||
|
||||
weapon.blength = weapon.reach
|
||||
weapon.bshape = BeamShape.Swirly
|
||||
weapon.bwidth = 0.5
|
||||
weapon.bauraWidth = 3
|
||||
weapon.banimationSpeed = 0
|
||||
weapon.banimationAcceleration = 0
|
||||
weapon.bshapeSize = 13
|
||||
|
||||
weapon.bouterColor = ColorHSV(rand:getInt(255, 260), 0,75, rand:getFloat(0.2, 0.25))
|
||||
weapon.binnerColor = ColorHSV(rand:getInt(255, 260), 0,75, rand:getFloat(0, 0.15))
|
||||
|
||||
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
|
||||
|
||||
return weapon
|
||||
end
|
||||
|
||||
generatorFunction[WeaponType.Hookgun] = WeaponGenerator.generateHookgun
|
||||
|
||||
|
||||
|
||||
function WeaponGenerator.generateHiveLauncher(rand, dps, tech, material, rarity)
|
||||
local weapon = Weapon()
|
||||
weapon:setProjectile()
|
||||
|
||||
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
|
||||
|
||||
function WeaponGenerator.generateSmartCannon(rand, dps, tech, material, rarity)
|
||||
local weapon = Weapon()
|
||||
weapon:setProjectile()
|
||||
|
||||
dps = dps * 0.75
|
||||
local fireDelay = rand:getFloat(1.5, 2.5)*0.5
|
||||
local reach = rand:getFloat(1100, 1500)*0.7
|
||||
local damage = dps * fireDelay
|
||||
local speed = rand:getFloat(300, 400)*2
|
||||
local existingTime = (reach / speed)*1.2
|
||||
|
||||
weapon.fireDelay = fireDelay
|
||||
weapon.reach = reach
|
||||
weapon.appearanceSeed = rand:getInt()
|
||||
weapon.seeker = rand:test(1 / 2)
|
||||
weapon.appearance = WeaponAppearance.Cannon
|
||||
weapon.name = "Smart Cannon /* Weapon Name*/"%_t
|
||||
weapon.prefix = "Smart Cannon /* Weapon Prefix*/"%_t
|
||||
weapon.icon = "data/textures/icons/autocannon.png"
|
||||
weapon.sound = "cannon"
|
||||
weapon.accuracy = 0.99 - rand:getFloat(0, 0.03)
|
||||
|
||||
weapon.damage = damage
|
||||
weapon.damageType = DamageType.Physical
|
||||
weapon.impactParticles = ImpactParticles.Explosion
|
||||
weapon.shieldDamageMultiplicator=1.1 + rarity.value * 0.1
|
||||
weapon.impactSound = 1
|
||||
weapon.impactExplosion = true
|
||||
|
||||
weapon.psize = rand:getFloat(0.2, 0.5)
|
||||
weapon.pmaximumTime = existingTime
|
||||
weapon.pvelocity = speed
|
||||
weapon.pcolor = ColorHSV(rand:getFloat(10, 60), 0.7, 1)
|
||||
|
||||
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
|
||||
weapon.explosionRadius = math.sqrt(weapon.damage * 6)
|
||||
|
||||
return weapon
|
||||
end
|
||||
|
||||
generatorFunction[WeaponType.SmartCannon] = WeaponGenerator.generateSmartCannon
|
||||
|
||||
function WeaponGenerator.generateHeavyCannon(rand, dps, tech, material, rarity)
|
||||
local weapon = Weapon()
|
||||
weapon:setProjectile()
|
||||
|
||||
dps = dps * 1.85
|
||||
local fireDelay = rand:getFloat(1.5, 2.0)*1.7
|
||||
local reach = rand:getFloat(1100, 1500)*1.2
|
||||
local damage = dps * fireDelay
|
||||
local speed = rand:getFloat(600, 1000)*1.4
|
||||
local existingTime = (reach / speed)*1.1
|
||||
|
||||
weapon.fireDelay = fireDelay
|
||||
weapon.reach = reach
|
||||
weapon.appearanceSeed = rand:getInt()
|
||||
weapon.appearance = WeaponAppearance.Bolter
|
||||
weapon.name = "Heavy Cannon /* Weapon Name*/"%_t
|
||||
weapon.icon = "data/textures/icons/heavycannon.png"
|
||||
weapon.sound = "cannon"
|
||||
weapon.accuracy = 0.95 - rand:getFloat(0, 0.02)
|
||||
|
||||
weapon.damage = damage
|
||||
weapon.damageType = DamageType.Physical
|
||||
weapon.impactParticles = ImpactParticles.Explosion
|
||||
weapon.impactSound = 1
|
||||
weapon.impactExplosion = true
|
||||
weapon.otherForce = dps*math.max(1, rarity.value)*89*5
|
||||
|
||||
|
||||
weapon.psize = rand:getFloat(0.2, 0.5)
|
||||
weapon.pmaximumTime = existingTime
|
||||
weapon.pvelocity = speed
|
||||
weapon.pcolor = ColorHSV(rand:getFloat(10, 60), 0.7, 1)
|
||||
|
||||
local Pen = rand:getInt(0, rarity.value)
|
||||
if Pen > 0 then
|
||||
weapon.blockPenetration = Pen
|
||||
weapon.prefix = "Cumulative Heavy Cannon /* Weapon Prefix*/"%_t
|
||||
else
|
||||
weapon.prefix = "Heavy Cannon /* Weapon Prefix*/"%_t
|
||||
end
|
||||
|
||||
|
||||
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 * 50
|
||||
weapon.explosionRadius = math.sqrt(weapon.damage * 7)
|
||||
|
||||
return weapon
|
||||
end
|
||||
|
||||
generatorFunction[WeaponType.HeavyCannon] = WeaponGenerator.generateHeavyCannon
|
||||
|
||||
|
||||
function WeaponGenerator.generateDiffuser(rand, dps, tech, material, rarity)
|
||||
local weapon = Weapon()
|
||||
weapon:setBeam()
|
||||
|
||||
local fireDelay = rand:getFloat(1, 2.5)*0.5
|
||||
local reach = rand:getFloat(950, 1400)
|
||||
local damage = dps * fireDelay
|
||||
|
||||
weapon.fireDelay = fireDelay
|
||||
weapon.appearanceSeed = rand:getInt()
|
||||
weapon.reach = reach
|
||||
weapon.continuousBeam = false
|
||||
weapon.appearance = WeaponAppearance.Tesla
|
||||
weapon.name = "Diffuser /* Weapon Name*/"%_t
|
||||
weapon.prefix = "Diffuser /* Weapon Prefix*/"%_t
|
||||
weapon.icon = "data/textures/icons/diffuser.png"
|
||||
weapon.sound = "railgun"
|
||||
weapon.accuracy = 0.99 - rand:getFloat(0, 0.02)
|
||||
|
||||
weapon.damage = damage
|
||||
weapon.damageType = DamageType.Energy
|
||||
weapon.impactParticles = ImpactParticles.Energy
|
||||
weapon.shieldDamageMultiplicator = 20 + rand:getFloat(0, 4) + rarity.value * 3
|
||||
weapon.stoneDamageMultiplicator = 0
|
||||
weapon.hullDamageMultiplicator = 0
|
||||
weapon.impactSound = 1
|
||||
|
||||
weapon.blength = weapon.reach
|
||||
weapon.bshape = BeamShape.Lightning
|
||||
weapon.bwidth = 0.5
|
||||
weapon.bauraWidth = 3
|
||||
weapon.banimationSpeed = 0
|
||||
weapon.banimationAcceleration = 0
|
||||
weapon.bshapeSize = 13
|
||||
|
||||
-- shades of blue
|
||||
weapon.bouterColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.5, 1), rand:getFloat(0.1, 0.5))
|
||||
weapon.binnerColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.1, 0.5), 1)
|
||||
|
||||
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
|
||||
|
||||
weapon.recoil = weapon.damage * 5
|
||||
|
||||
return weapon
|
||||
end
|
||||
|
||||
generatorFunction[WeaponType.Diffuser] = WeaponGenerator.generateDiffuser
|
||||
|
||||
|
||||
|
||||
function WeaponGenerator.generateHookgun(rand, dps, tech, material, rarity)
|
||||
local weapon = Weapon()
|
||||
weapon:setBeam()
|
||||
|
||||
local fireDelay = rand:getFloat(0.2, 0.5)
|
||||
local reach = rand:getFloat(500, 900)
|
||||
local damage = dps * fireDelay
|
||||
|
||||
weapon.fireDelay = fireDelay
|
||||
weapon.appearanceSeed = rand:getInt()
|
||||
weapon.reach = reach
|
||||
weapon.continuousBeam = true
|
||||
weapon.appearance = WeaponAppearance.Cannon
|
||||
weapon.name = "Hookgun /* Weapon Name*/"%_t
|
||||
weapon.prefix = "Hookgun /* Weapon Prefix*/"%_t
|
||||
weapon.icon = "data/textures/icons/harpoon.png"
|
||||
weapon.sound = "cannon"
|
||||
weapon.accuracy = 0.99 - rand:getFloat(0, 0.02)
|
||||
|
||||
weapon.blockPenetration = rand:getInt(0, rarity.value) + 2
|
||||
|
||||
|
||||
weapon.otherForce = -500 * dps * rarity.value
|
||||
|
||||
weapon.damage = damage
|
||||
weapon.damageType = DamageType.Physical
|
||||
weapon.impactParticles = ImpactParticles.Physical
|
||||
weapon.shieldDamageMultiplicator = 0.75
|
||||
weapon.stoneDamageMultiplicator = 1.2
|
||||
weapon.hullDamageMultiplicator = 1
|
||||
weapon.impactSound = 1
|
||||
|
||||
weapon.blength = weapon.reach
|
||||
weapon.bshape = BeamShape.Swirly
|
||||
weapon.bwidth = 0.5
|
||||
weapon.bauraWidth = 3
|
||||
weapon.banimationSpeed = 0
|
||||
weapon.banimationAcceleration = 0
|
||||
weapon.bshapeSize = 13
|
||||
|
||||
-- shades of blue
|
||||
weapon.bouterColor = ColorHSV(0, 0, rand:getFloat(0.35, 0.65))
|
||||
weapon.binnerColor = ColorHSV(1, 1, rand:getFloat(0.35, 0.65))
|
||||
|
||||
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
|
||||
|
||||
|
||||
return weapon
|
||||
end
|
||||
|
||||
generatorFunction[WeaponType.Hookgun] = WeaponGenerator.generateHookgun
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
|
||||
WeaponTypes.addType("SmartCannon", "Smart-Сannon /* Weapon Type */"%_t, armed)
|
||||
WeaponTypes.addType("HeavyCannon", "Heavy Cannon /* Weapon Type */"%_t, armed)
|
||||
WeaponTypes.addType("Diffuser", "Diffuser /* Weapon Type */"%_t, armed)
|
||||
WeaponTypes.addType("Hookgun", "Hookgun /* Weapon Type */"%_t, armed)
|
||||
WeaponTypes.addType("HiveLauncher", "Hive-Launcher /* Weapon Type */"%_t, armed)
|
||||
|
||||
WeaponTypes.addType("SmartCannon", "Smart Сannon /* Weapon Type */"%_t, armed)
|
||||
WeaponTypes.addType("HeavyCannon", "Heavy Cannon /* Weapon Type */"%_t, armed)
|
||||
WeaponTypes.addType("Diffuser", "Diffuser /* Weapon Type */"%_t, armed)
|
||||
WeaponTypes.addType("Hookgun", "Hookgun /* Weapon Type */"%_t, armed)
|
||||
@@ -14,7 +14,7 @@ category.chapters =
|
||||
},
|
||||
|
||||
{
|
||||
title = "Smartcannon"%_t,
|
||||
title = "Autocannon"%_t,
|
||||
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,
|
||||
},
|
||||
BIN
data/textures/icons/autocannon.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 53 KiB |
BIN
data/textures/icons/harpoon.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 31 KiB |
@@ -10,13 +10,13 @@ meta =
|
||||
name = "Weapon_Pack_Extended2",
|
||||
|
||||
-- Title of your mod that will be displayed to players
|
||||
title = "Weapon Pack Extended - Reloaded",
|
||||
title = "Weapon Pack Extended2",
|
||||
|
||||
-- Description of your mod that will be displayed to players
|
||||
description = "Adds some new weapon to the game.",
|
||||
|
||||
-- Insert all authors into this list
|
||||
authors = {"Casimir Kepler, Baconborn, OmenOs"},
|
||||
authors = {"Alive!"},
|
||||
|
||||
-- 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
|
||||
@@ -52,5 +52,5 @@ meta =
|
||||
saveGameAltering = false,
|
||||
|
||||
-- Contact info for other users to reach you in case they have questions
|
||||
contact = "https://steamcommunity.com/id/CasKepler2/", "https://steamcommunity.com/id/baconborn/",
|
||||
contact = "https://steamcommunity.com/id/CasKepler2/",
|
||||
}
|
||||
|
||||