Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
050a642982 | ||
|
|
6a8483efa5 | ||
|
|
e8f8d9d195 | ||
|
|
eec8c10de4 | ||
|
|
f51f351e06 | ||
|
|
7d60ec6da3 | ||
|
|
1eec0fba6c | ||
|
|
b137aec60a | ||
|
|
f3deba9b30 | ||
|
|
ca00911fd7 | ||
|
|
3b34148f77 | ||
|
|
cae212f5a9 | ||
|
|
3988151ccf | ||
|
|
94eff683a6 | ||
|
|
8ba224680f | ||
|
|
5f3dac6eef | ||
|
|
03dd9529e0 | ||
|
|
abd1186280 | ||
|
|
4f65bc33b4 | ||
|
|
3f17cef2f3 | ||
|
|
83b57db47c |
@@ -6,15 +6,20 @@ release_job:
|
||||
stage: release # It only runs when *both* jobs in the test stage complete successfully.
|
||||
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||
|
||||
rules:
|
||||
- if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH"
|
||||
- if: $CI_COMMIT_TAG
|
||||
when: never
|
||||
- if:
|
||||
changes:
|
||||
- data/**/*
|
||||
- modinfo.lua
|
||||
- thumb.png
|
||||
only:
|
||||
# - if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH"
|
||||
refs:
|
||||
- main
|
||||
- ^tags
|
||||
changes:
|
||||
- ^README.md
|
||||
- ^CHANGELOG
|
||||
- ^.gitattribute
|
||||
- ^.gitignore
|
||||
- ^.gitlab-ci.yml
|
||||
- data/**/*
|
||||
- modinfo.lua
|
||||
- thumb.png
|
||||
|
||||
script:
|
||||
- echo "Release WPE 2.0_$CI_COMMIT_SHORT_SHA"
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"ExpandedNodes": [
|
||||
""
|
||||
],
|
||||
"SelectedNode": "\\C:\\Users\\riksl\\Source\\Repos\\weapon-project-extended",
|
||||
"PreviewInSolutionExplorer": false
|
||||
}
|
||||
BIN
.vs/slnx.sqlite
@@ -1,7 +1,5 @@
|
||||
[](http://gl.beaconborn.ru/bacon/weapon-project-extended/-/commits/main)
|
||||
# weapon project extended
|
||||
|
||||
|
||||
[](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
|
||||
|
||||
@@ -11,4 +9,4 @@ That mod for Avorion original writed [Alive!](https://steamcommunity.com/id/CasK
|
||||
* Hookgun
|
||||
* Smart-cannon
|
||||
* Heavy Cannon
|
||||
* Diffuser
|
||||
* Diffuser
|
||||
|
||||
@@ -1,92 +1,153 @@
|
||||
# ========== /mods/WPE2/data/scripts/lib/weapongenerator.lua ==========
|
||||
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
msgctxt "Weapon Name"
|
||||
msgid "Smart Cannon"
|
||||
# ========== 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 "SmartCannon"
|
||||
msgstr ""
|
||||
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/turretgenerator.lua:
|
||||
msgctxt "Weapon Prefix"
|
||||
msgid "Ionized"
|
||||
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/weapongenerator.lua:
|
||||
msgctxt "Weapon Prefix"
|
||||
msgid "SmartCannon"
|
||||
msgstr "Умная пушка"
|
||||
|
||||
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
msgctxt "Weapon Prefix"
|
||||
msgid "Smart Cannon"
|
||||
#: 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 "Diffusor"
|
||||
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/weapongenerator.lua ==========
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
msgctxt "Weapon Name"
|
||||
msgid "SmartCannon"
|
||||
msgstr "Умная пушка"
|
||||
|
||||
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
msgctxt "Weapon Name"
|
||||
msgid "Heavy Cannon"
|
||||
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 "Кумулятивная тяжелая пушка"
|
||||
msgid "Cumulative"
|
||||
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 "Heavy Cannon"
|
||||
msgstr "Тяжелая Пушка"
|
||||
|
||||
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
msgctxt "Weapon Name"
|
||||
msgid "Diffuser"
|
||||
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 "Diffuser"
|
||||
msgstr "Диффузор"
|
||||
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
msgctxt "Weapon Name"
|
||||
msgid "Harpoon"
|
||||
msgstr ""
|
||||
|
||||
# ========== /mods/WPE2/data/scripts/lib/weapontype.lua ==========
|
||||
#: /mods/WPE2/data/scripts/lib/weapontype.lua:
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapongenerator.lua:
|
||||
msgctxt "Weapon Prefix"
|
||||
msgid "Harpoon"
|
||||
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 "Auto Сannon"
|
||||
msgstr "Автопушка"
|
||||
msgid "Smart Сannon"
|
||||
msgstr ""
|
||||
|
||||
#: /mods/WPE2/data/scripts/lib/weapontype.lua:
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/lib/weapontype.lua:
|
||||
msgctxt "Weapon Type"
|
||||
msgid "Heavy Cannon"
|
||||
msgstr "Тяжелая Пушка"
|
||||
|
||||
#: /mods/WPE2/data/scripts/lib/weapontype.lua:
|
||||
#: 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 ""
|
||||
|
||||
# ========== /mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua ==========
|
||||
#: /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 ==========
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
|
||||
msgid "WPE Turrets"
|
||||
msgstr "Расширенный пак оружия"
|
||||
|
||||
#: /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 "Intro"
|
||||
msgstr "Вступление"
|
||||
|
||||
#: /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 "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:
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
|
||||
msgid "Autocannon"
|
||||
msgstr "Автопушка"
|
||||
|
||||
#: /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 "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:
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
|
||||
msgid "Heavy Cannon"
|
||||
msgstr "Тяжелая Пушка"
|
||||
|
||||
#: /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 "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:
|
||||
#: C:/Users/riksl/AppData/Roaming/Avorion/mods/WPE2/data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
|
||||
msgid "Energy diffuser"
|
||||
msgstr "Энегретический диффузор"
|
||||
|
||||
#: /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 "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"
|
||||
|
||||
#: 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 ""
|
||||
|
||||
|
||||
# ========== old ==========
|
||||
# msgctxt "Weapon Type"
|
||||
# msgid "Auto Сannon"
|
||||
# msgstr "Автопушка"
|
||||
|
||||
# msgctxt "Weapon Prefix"
|
||||
# msgid "Cumulative Heavy Cannon"
|
||||
# msgstr "Кумулятивная тяжелая пушка"
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
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.Diffuser] = {d = 0.6, p = 1.0}
|
||||
weaponProbabilities[WeaponType.Harpoon] = {d = 0.6, p = 1.0}
|
||||
weaponProbabilities[WeaponType.Hookgun] = {d = 0.6, p = 1.0}
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
valueWeights[WeaponType.SmartCannon ] = 2
|
||||
valueWeights[WeaponType.HeavyCannon ] = 1.7
|
||||
valueWeights[WeaponType.Diffuser ] = 2.1
|
||||
valueWeights[WeaponType.Hookgun ] = 2.1
|
||||
valueWeights[WeaponType.HeavyCannon ] = 2.5
|
||||
valueWeights[WeaponType.Diffuser ] = 1.7
|
||||
valueWeights[WeaponType.Hookgun ] = 1.5
|
||||
|
||||
@@ -118,10 +118,22 @@ function TurretGenerator.generateSmartCannonTurret(rand, dps, tech, material, ra
|
||||
TurretGenerator.createStandardCooling(result, coolingTime, shootingTime)
|
||||
|
||||
TurretGenerator.scale(rand, result, WeaponType.SmartCannon, tech, 0.6)
|
||||
TurretGenerator.addSpecialties(rand, result, WeaponType.SmartCannon)
|
||||
local specialties = TurretGenerator.addSpecialties(rand, result, WeaponType.SmartCannon)
|
||||
|
||||
result.slotType = TurretSlotType.Armed
|
||||
result:updateStaticStats()
|
||||
|
||||
local name = "SmartCannon /* weapon name*/"%_T
|
||||
|
||||
local dmgAdjective, outerAdjective, barrel, multishot, coax, serial = makeTitleParts(rand, specialties, result, DamageType.Physical)
|
||||
|
||||
result.title = Format("%1%%2%%3%%4%%5%%6%%7% /* [outer-adjective][barrel][coax][dmg-adjective][multishot][name][serial], e.g. Enduring Dual Coaxial Plasmatic Tri-R-Mining Laser T-F */"%_T, outerAdjective, barrel, coax, dmgAdjective, multishot, name, serial)
|
||||
local specType = 1
|
||||
if specType > 0 then
|
||||
weapon.prefix = "Ionized /* Weapon Prefix*/"%_t
|
||||
weapon.shieldPenetration = 1
|
||||
end
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
@@ -152,10 +164,22 @@ function TurretGenerator.generateHeavyCannonTurret(rand, dps, tech, material, ra
|
||||
TurretGenerator.createStandardCooling(result, coolingTime, shootingTime)
|
||||
|
||||
TurretGenerator.scale(rand, result, WeaponType.HeavyCannon, tech, 0.6)
|
||||
TurretGenerator.addSpecialties(rand, result, WeaponType.HeavyCannon)
|
||||
local specialties = TurretGenerator.addSpecialties(rand, result, WeaponType.HeavyCannon)
|
||||
|
||||
result.slotType = TurretSlotType.Armed
|
||||
result:updateStaticStats()
|
||||
|
||||
local name = "Heavy Cannon /* weapon name*/"%_T
|
||||
|
||||
local Pen = rand:getInt(0, rarity.value)
|
||||
if Pen > 0 then
|
||||
weapon.blockPenetration = Pen
|
||||
weapon.prefix = "Cumulative /* Weapon Prefix*/"%_t
|
||||
end
|
||||
|
||||
local dmgAdjective, outerAdjective, barrel, multishot, coax, serial = makeTitleParts(rand, specialties, result, DamageType.Physical)
|
||||
result.title = Format("%1%%2%%3%%4%%5%%6%%7% /* [outer-adjective][barrel][coax][dmg-adjective][multishot][name][serial], e.g. Enduring Dual Coaxial Plasmatic Tri-R-Mining Laser T-F */"%_T, outerAdjective, barrel, coax, dmgAdjective, multishot, name, serial)
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
@@ -186,10 +210,16 @@ function TurretGenerator.generateDiffuserTurret(rand, dps, tech, material, rarit
|
||||
|
||||
|
||||
TurretGenerator.scale(rand, result, WeaponType.Diffuser, tech, 0.75)
|
||||
TurretGenerator.addSpecialties(rand, result, WeaponType.Diffuser)
|
||||
local specialties = TurretGenerator.addSpecialties(rand, result, WeaponType.Diffuser)
|
||||
|
||||
result.slotType = TurretSlotType.Armed
|
||||
result:updateStaticStats()
|
||||
|
||||
local name = "Diffusor /* 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], e.g. Enduring Dual Coaxial Plasmatic Tri-R-Mining Laser T-F */"%_T, outerAdjective, barrel, coax, dmgAdjective, multishot, name, serial)
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
@@ -220,10 +250,16 @@ function TurretGenerator.generateHookgunTurret(rand, dps, tech, material, rarity
|
||||
|
||||
|
||||
TurretGenerator.scale(rand, result, WeaponType.Hookgun, tech, 0.75)
|
||||
TurretGenerator.addSpecialties(rand, result, WeaponType.Hookgun)
|
||||
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)
|
||||
result.title = Format("%1%%2%%3%%4%%5%%6%%7% /* [outer-adjective][barrel][coax][dmg-adjective][multishot][name][serial], e.g. Enduring Dual Coaxial Plasmatic Tri-R-Mining Laser T-F */"%_T, outerAdjective, barrel, coax, dmgAdjective, multishot, name, serial)
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ TurretIngredients[WeaponType.SmartCannon] =
|
||||
-- {name = "Targeting System", amount = 0, investable = 2, minimum = 0, turretStat = "automatic", investFactor = 1, changeType = StatChanges.Flat},
|
||||
}
|
||||
|
||||
TurretIngredients[WeaponType.SmartCannon] =
|
||||
TurretIngredients[WeaponType.HeavyCannon] =
|
||||
{
|
||||
{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", },
|
||||
|
||||
@@ -1,201 +1,194 @@
|
||||
|
||||
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
|
||||
|
||||
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 = 1
|
||||
weapon.appearance = WeaponAppearance.Cannon
|
||||
weapon.name = "SmartCannon /* Weapon Name*/"%_t
|
||||
weapon.prefix = "SmartCannon /* 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(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)
|
||||
|
||||
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
|
||||
|
||||
-- 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
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 19 KiB |
BIN
data/textures/icons/hive.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
data/textures/icons/hookgun.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
data/textures/icons/railgun.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
data/textures/icons/smartcannon.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
@@ -10,17 +10,17 @@ meta =
|
||||
name = "Weapon_Pack_Extended2",
|
||||
|
||||
-- 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 = "Adds some new weapon to the game.",
|
||||
|
||||
-- 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)
|
||||
-- This will be used to check for unmet dependencies or incompatibilities
|
||||
version = "1.3",
|
||||
version = "2.0",
|
||||
|
||||
-- If your mod requires dependencies, enter them here. The game will check that all dependencies given here are met.
|
||||
-- Possible attributes:
|
||||
@@ -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/",
|
||||
contact = "https://steamcommunity.com/id/CasKepler2/", "https://steamcommunity.com/id/baconborn/",
|
||||
}
|
||||
|
||||