Compare commits

..

12 Commits

Author SHA1 Message Date
Slava
ca00911fd7 Update 2 files
- /data/localization/ru.po
- /data/scripts/lib/weapongenerator.lua
2023-08-27 16:41:44 +00:00
Slava
3b34148f77 Updated balance 2023-08-27 16:32:58 +00:00
Slava
cae212f5a9 Merge branch 'alive-main-patch-16741' into 'main'
Upload New File

See merge request bacon/weapon-project-extended!1
2023-08-27 16:31:14 +00:00
Alex
3988151ccf Upload New File 2023-08-27 16:29:28 +00:00
Slava
94eff683a6 Update README.md 2023-08-27 06:42:45 +00:00
Slava
8ba224680f Update README.md 2023-08-26 23:39:09 +00:00
Slava
5f3dac6eef Update file modinfo.lua 2023-08-26 23:38:28 +00:00
Slava
03dd9529e0 Update .gitlab-ci.yml file 2023-08-26 23:37:32 +00:00
Slava
abd1186280 Update .gitlab-ci.yml file 2023-08-26 23:27:42 +00:00
Slava
4f65bc33b4 Update .gitlab-ci.yml file 2023-08-26 23:25:00 +00:00
Slava
3f17cef2f3 Update .gitlab-ci.yml file 2023-08-26 23:24:50 +00:00
Slava
83b57db47c Update 4 files
- /.vs/weapon-project-extended/FileContentIndex/2fe244d5-ef8a-4276-982d-733b681bb951.vsidx
- /.vs/weapon-project-extended/v17/.wsuo
- /.vs/VSWorkspaceState.json
- /.vs/slnx.sqlite
2023-08-26 23:23:44 +00:00
9 changed files with 230 additions and 225 deletions

View File

@@ -6,15 +6,20 @@ release_job:
stage: release # It only runs when *both* jobs in the test stage complete successfully. stage: release # It only runs when *both* jobs in the test stage complete successfully.
image: registry.gitlab.com/gitlab-org/release-cli:latest image: registry.gitlab.com/gitlab-org/release-cli:latest
rules: only:
- if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH" # - if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH"
- if: $CI_COMMIT_TAG refs:
when: never - main
- if: - ^tags
changes: changes:
- data/**/* - ^README.md
- modinfo.lua - ^CHANGELOG
- thumb.png - ^.gitattribute
- ^.gitignore
- ^.gitlab-ci.yml
- data/**/*
- modinfo.lua
- thumb.png
script: script:
- echo "Release WPE 2.0_$CI_COMMIT_SHORT_SHA" - echo "Release WPE 2.0_$CI_COMMIT_SHORT_SHA"

View File

@@ -1,7 +0,0 @@
{
"ExpandedNodes": [
""
],
"SelectedNode": "\\C:\\Users\\riksl\\Source\\Repos\\weapon-project-extended",
"PreviewInSolutionExplorer": false
}

Binary file not shown.

View File

@@ -1,7 +1,5 @@
[![pipeline status](http://gl.beaconborn.ru/bacon/weapon-project-extended/badges/main/pipeline.svg)](http://gl.beaconborn.ru/bacon/weapon-project-extended/-/commits/main) [![pipeline status](http://gl.beaconborn.ru/bacon/weapon-project-extended/badges/main/pipeline.svg)](http://gl.beaconborn.ru/bacon/weapon-project-extended/-/commits/main) [![Latest Release](http://gl.beaconborn.ru/bacon/weapon-project-extended/-/badges/release.svg)](http://gl.beaconborn.ru/bacon/weapon-project-extended/-/releases)
# weapon project extended # weapon project extended 2.0
## Getting started ## Getting started
@@ -11,4 +9,4 @@ That mod for Avorion original writed [Alive!](https://steamcommunity.com/id/CasK
* Hookgun * Hookgun
* Smart-cannon * Smart-cannon
* Heavy Cannon * Heavy Cannon
* Diffuser * Diffuser

View File

@@ -1,12 +1,12 @@
# ========== /mods/WPE2/data/scripts/lib/weapongenerator.lua ========== # ========== /mods/WPE2/data/scripts/lib/weapongenerator.lua ==========
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua: #: /mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name" msgctxt "Weapon Name"
msgid "Smart Cannon" msgid "SmartCannon"
msgstr "Умная пушка" msgstr "Умная пушка"
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua: #: /mods/WPE2/data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix" msgctxt "Weapon Prefix"
msgid "Smart Cannon" msgid "SmartCannon"
msgstr "Умная пушка" msgstr "Умная пушка"
#: /mods/WPE2/data/scripts/lib/weapongenerator.lua: #: /mods/WPE2/data/scripts/lib/weapongenerator.lua:

View File

@@ -1,201 +1,210 @@
function WeaponGenerator.generateSmartCannon(rand, dps, tech, material, rarity) function WeaponGenerator.generateSmartCannon(rand, dps, tech, material, rarity)
local weapon = Weapon() local weapon = Weapon()
weapon:setProjectile() weapon:setProjectile()
dps = dps * 0.75 dps = dps * 0.75
local fireDelay = rand:getFloat(1.5, 2.5)*0.5 local fireDelay = rand:getFloat(1.5, 2.5)*0.5
local reach = rand:getFloat(1100, 1500)*0.7 local reach = rand:getFloat(1100, 1500)*0.7
local damage = dps * fireDelay local damage = dps * fireDelay
local speed = rand:getFloat(300, 400)*2 local speed = rand:getFloat(300, 400)*2
local existingTime = (reach / speed)*1.2 local existingTime = (reach / speed)*1.2
weapon.fireDelay = fireDelay weapon.fireDelay = fireDelay
weapon.reach = reach weapon.reach = reach
weapon.appearanceSeed = rand:getInt() weapon.appearanceSeed = rand:getInt()
weapon.seeker = rand:test(1 / 2) weapon.seeker = 1
weapon.appearance = WeaponAppearance.Cannon weapon.appearance = WeaponAppearance.Cannon
weapon.name = "Smart Cannon /* Weapon Name*/"%_t weapon.name = "SmartCannon /* Weapon Name*/"%_t
weapon.prefix = "Smart Cannon /* Weapon Prefix*/"%_t weapon.prefix = "SmartCannon /* Weapon Prefix*/"%_t
weapon.icon = "data/textures/icons/autocannon.png" weapon.icon = "data/textures/icons/autocannon.png"
weapon.sound = "cannon" weapon.sound = "cannon"
weapon.accuracy = 0.99 - rand:getFloat(0, 0.03) weapon.accuracy = 0.99 - rand:getFloat(0, 0.03)
weapon.damage = damage weapon.damage = damage
weapon.damageType = DamageType.Physical weapon.damageType = DamageType.Physical
weapon.impactParticles = ImpactParticles.Explosion weapon.impactParticles = ImpactParticles.Explosion
weapon.shieldDamageMultiplicator=1.1 + rarity.value * 0.1 weapon.shieldDamageMultiplicator=1.1 + rarity.value * 0.1
weapon.impactSound = 1 weapon.impactSound = 1
weapon.impactExplosion = true weapon.impactExplosion = true
weapon.psize = rand:getFloat(0.2, 0.5) local specType = rand:getInt(0, 1)
weapon.pmaximumTime = existingTime if specType > 0 then
weapon.pvelocity = speed weapon.prefix = "Ionized SmartCannon /* Weapon Prefix*/"%_t
weapon.pcolor = ColorHSV(rand:getFloat(10, 60), 0.7, 1) weapon.shieldPenetration = 1
else
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity) weapon.prefix = "SmartCannon /* Weapon Prefix*/"%_t
end
-- these have to be assigned after the weapon was adjusted since the damage might be changed
weapon.recoil = weapon.damage * 20 * 0.75 weapon.psize = rand:getFloat(0.2, 0.5)
weapon.explosionRadius = math.sqrt(weapon.damage * 6) weapon.pmaximumTime = existingTime
weapon.pvelocity = speed
return weapon weapon.pcolor = ColorHSV(rand:getFloat(10, 60), 0.7, 1)
end
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
generatorFunction[WeaponType.SmartCannon] = WeaponGenerator.generateSmartCannon
-- these have to be assigned after the weapon was adjusted since the damage might be changed
function WeaponGenerator.generateHeavyCannon(rand, dps, tech, material, rarity) weapon.recoil = weapon.damage * 20 * 0.75
local weapon = Weapon() weapon.explosionRadius = math.sqrt(weapon.damage * 6)
weapon:setProjectile()
return weapon
dps = dps * 1.85 end
local fireDelay = rand:getFloat(1.5, 2.0)*1.7
local reach = rand:getFloat(1100, 1500)*1.2 generatorFunction[WeaponType.SmartCannon] = WeaponGenerator.generateSmartCannon
local damage = dps * fireDelay
local speed = rand:getFloat(600, 1000)*1.4
local existingTime = (reach / speed)*1.1 function WeaponGenerator.generateHeavyCannon(rand, dps, tech, material, rarity)
local weapon = Weapon()
weapon.fireDelay = fireDelay weapon:setProjectile()
weapon.reach = reach
weapon.appearanceSeed = rand:getInt() dps = dps * 1.85
weapon.appearance = WeaponAppearance.Bolter local fireDelay = rand:getFloat(1.5, 2.0)*1.7
weapon.name = "Heavy Cannon /* Weapon Name*/"%_t local reach = rand:getFloat(1100, 1500)*1.2
weapon.icon = "data/textures/icons/heavycannon.png" local damage = dps * fireDelay
weapon.sound = "cannon" local speed = rand:getFloat(600, 1000)*1.4
weapon.accuracy = 0.95 - rand:getFloat(0, 0.02) local existingTime = (reach / speed)*1.1
weapon.damage = damage weapon.fireDelay = fireDelay
weapon.damageType = DamageType.Physical weapon.reach = reach
weapon.impactParticles = ImpactParticles.Explosion weapon.appearanceSeed = rand:getInt()
weapon.impactSound = 1 weapon.appearance = WeaponAppearance.Bolter
weapon.impactExplosion = true weapon.name = "Heavy Cannon /* Weapon Name*/"%_t
weapon.otherForce = dps*math.max(1, rarity.value)*89*5 weapon.icon = "data/textures/icons/heavycannon.png"
weapon.sound = "cannon"
weapon.accuracy = 0.95 - rand:getFloat(0, 0.02)
weapon.psize = rand:getFloat(0.2, 0.5)
weapon.pmaximumTime = existingTime weapon.damage = damage
weapon.pvelocity = speed weapon.damageType = DamageType.Physical
weapon.pcolor = ColorHSV(rand:getFloat(10, 60), 0.7, 1) weapon.impactParticles = ImpactParticles.Explosion
weapon.impactSound = 1
local Pen = rand:getInt(0, rarity.value) weapon.impactExplosion = true
if Pen > 0 then weapon.otherForce = dps*math.max(1, rarity.value)*89*5
weapon.blockPenetration = Pen
weapon.prefix = "Cumulative Heavy Cannon /* Weapon Prefix*/"%_t
else weapon.psize = rand:getFloat(0.2, 0.5)
weapon.prefix = "Heavy Cannon /* Weapon Prefix*/"%_t weapon.pmaximumTime = existingTime
end weapon.pvelocity = speed
weapon.pcolor = ColorHSV(rand:getFloat(10, 60), 0.7, 1)
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity) local Pen = rand:getInt(0, rarity.value)
if Pen > 0 then
-- these have to be assigned after the weapon was adjusted since the damage might be changed weapon.blockPenetration = Pen
weapon.recoil = weapon.damage * 50 weapon.prefix = "Cumulative Heavy Cannon /* Weapon Prefix*/"%_t
weapon.explosionRadius = math.sqrt(weapon.damage * 7) else
weapon.prefix = "Heavy Cannon /* Weapon Prefix*/"%_t
return weapon end
end
generatorFunction[WeaponType.HeavyCannon] = WeaponGenerator.generateHeavyCannon WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
-- these have to be assigned after the weapon was adjusted since the damage might be changed
function WeaponGenerator.generateDiffuser(rand, dps, tech, material, rarity) weapon.recoil = weapon.damage * 50
local weapon = Weapon() weapon.explosionRadius = math.sqrt(weapon.damage * 7)
weapon:setBeam()
return weapon
local fireDelay = rand:getFloat(1, 2.5)*0.5 end
local reach = rand:getFloat(950, 1400)
local damage = dps * fireDelay generatorFunction[WeaponType.HeavyCannon] = WeaponGenerator.generateHeavyCannon
weapon.fireDelay = fireDelay
weapon.appearanceSeed = rand:getInt() function WeaponGenerator.generateDiffuser(rand, dps, tech, material, rarity)
weapon.reach = reach local weapon = Weapon()
weapon.continuousBeam = false weapon:setBeam()
weapon.appearance = WeaponAppearance.Tesla
weapon.name = "Diffuser /* Weapon Name*/"%_t local fireDelay = rand:getFloat(1, 2.5)*0.5
weapon.prefix = "Diffuser /* Weapon Prefix*/"%_t local reach = rand:getFloat(950, 1400)
weapon.icon = "data/textures/icons/diffuser.png" local damage = dps * fireDelay
weapon.sound = "railgun"
weapon.accuracy = 0.99 - rand:getFloat(0, 0.02) weapon.fireDelay = fireDelay
weapon.appearanceSeed = rand:getInt()
weapon.damage = damage weapon.reach = reach
weapon.damageType = DamageType.Energy weapon.continuousBeam = false
weapon.impactParticles = ImpactParticles.Energy weapon.appearance = WeaponAppearance.Tesla
weapon.shieldDamageMultiplicator = 20 + rand:getFloat(0, 4) + rarity.value * 3 weapon.name = "Diffuser /* Weapon Name*/"%_t
weapon.stoneDamageMultiplicator = 0 weapon.prefix = "Diffuser /* Weapon Prefix*/"%_t
weapon.hullDamageMultiplicator = 0 weapon.icon = "data/textures/icons/diffuser.png"
weapon.impactSound = 1 weapon.sound = "railgun"
weapon.accuracy = 0.99 - rand:getFloat(0, 0.02)
weapon.blength = weapon.reach
weapon.bshape = BeamShape.Lightning weapon.damage = damage
weapon.bwidth = 0.5 weapon.damageType = DamageType.Energy
weapon.bauraWidth = 3 weapon.impactParticles = ImpactParticles.Energy
weapon.banimationSpeed = 0 weapon.shieldDamageMultiplicator = 20 + rand:getFloat(0, 4) + rarity.value * 3
weapon.banimationAcceleration = 0 weapon.stoneDamageMultiplicator = 0
weapon.bshapeSize = 13 weapon.hullDamageMultiplicator = 0
weapon.impactSound = 1
-- shades of blue
weapon.bouterColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.5, 1), rand:getFloat(0.1, 0.5)) weapon.blength = weapon.reach
weapon.binnerColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.1, 0.5), 1) weapon.bshape = BeamShape.Lightning
weapon.bwidth = 0.5
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity) weapon.bauraWidth = 3
weapon.banimationSpeed = 0
weapon.recoil = weapon.damage * 5 weapon.banimationAcceleration = 0
weapon.bshapeSize = 13
return weapon
end -- shades of blue
weapon.bouterColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.5, 1), rand:getFloat(0.1, 0.5))
generatorFunction[WeaponType.Diffuser] = WeaponGenerator.generateDiffuser weapon.binnerColor = ColorHSV(rand:getFloat(180, 260), rand:getFloat(0.1, 0.5), 1)
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
function WeaponGenerator.generateHookgun(rand, dps, tech, material, rarity) weapon.recoil = weapon.damage * 5
local weapon = Weapon()
weapon:setBeam() return weapon
end
local fireDelay = rand:getFloat(0.2, 0.5)
local reach = rand:getFloat(500, 900) generatorFunction[WeaponType.Diffuser] = WeaponGenerator.generateDiffuser
local damage = dps * fireDelay
weapon.fireDelay = fireDelay
weapon.appearanceSeed = rand:getInt() function WeaponGenerator.generateHarpoon(rand, dps, tech, material, rarity)
weapon.reach = reach local weapon = Weapon()
weapon.continuousBeam = true weapon:setBeam()
weapon.appearance = WeaponAppearance.Cannon
weapon.name = "Hookgun /* Weapon Name*/"%_t local fireDelay = rand:getFloat(0.2, 0.5)
weapon.prefix = "Hookgun /* Weapon Prefix*/"%_t local reach = rand:getFloat(500, 900)
weapon.icon = "data/textures/icons/harpoon.png" local damage = dps * fireDelay
weapon.sound = "cannon"
weapon.accuracy = 0.99 - rand:getFloat(0, 0.02) weapon.fireDelay = fireDelay
weapon.appearanceSeed = rand:getInt()
weapon.blockPenetration = rand:getInt(0, rarity.value) + 2 weapon.reach = reach
weapon.continuousBeam = true
weapon.appearance = WeaponAppearance.Cannon
weapon.otherForce = -500 * dps * rarity.value weapon.name = "Harpoon /* Weapon Name*/"%_t
weapon.prefix = "Harpoon /* Weapon Prefix*/"%_t
weapon.damage = damage weapon.icon = "data/textures/icons/harpoon.png"
weapon.damageType = DamageType.Physical weapon.sound = "cannon"
weapon.impactParticles = ImpactParticles.Physical weapon.accuracy = 0.99 - rand:getFloat(0, 0.02)
weapon.shieldDamageMultiplicator = 0.75
weapon.stoneDamageMultiplicator = 1.2 weapon.blockPenetration = rand:getInt(0, rarity.value) + 2
weapon.hullDamageMultiplicator = 1
weapon.impactSound = 1
weapon.otherForce = -500 * dps * rarity.value
weapon.blength = weapon.reach
weapon.bshape = BeamShape.Swirly weapon.damage = damage
weapon.bwidth = 0.5 weapon.damageType = DamageType.Physical
weapon.bauraWidth = 3 weapon.impactParticles = ImpactParticles.Physical
weapon.banimationSpeed = 0 weapon.shieldDamageMultiplicator = 0.75
weapon.banimationAcceleration = 0 weapon.stoneDamageMultiplicator = 1.2
weapon.bshapeSize = 13 weapon.hullDamageMultiplicator = 1
weapon.impactSound = 1
-- shades of blue
weapon.bouterColor = ColorHSV(0, 0, rand:getFloat(0.35, 0.65)) weapon.blength = weapon.reach
weapon.binnerColor = ColorHSV(1, 1, rand:getFloat(0.35, 0.65)) weapon.bshape = BeamShape.Swirly
weapon.bwidth = 0.5
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity) weapon.bauraWidth = 3
weapon.banimationSpeed = 0
weapon.banimationAcceleration = 0
return weapon weapon.bshapeSize = 13
end
-- shades of blue
generatorFunction[WeaponType.Hookgun] = WeaponGenerator.generateHookgun 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.Harpoon] = WeaponGenerator.generateHarpoon

View File

@@ -20,7 +20,7 @@ meta =
-- Version of your mod, should be in format 1.0.0 (major.minor.patch) or 1.0 (major.minor) -- Version of your mod, should be in format 1.0.0 (major.minor.patch) or 1.0 (major.minor)
-- This will be used to check for unmet dependencies or incompatibilities -- This will be used to check for unmet dependencies or incompatibilities
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. -- If your mod requires dependencies, enter them here. The game will check that all dependencies given here are met.
-- Possible attributes: -- Possible attributes: