Skip to content

Commit

Permalink
1.6.4.1
Browse files Browse the repository at this point in the history
---Props---
- Added Turret Chair Tram.
- Added Small Yellow Alarm.
- Added Small Red Alarm.
- Added Knightfall Bar Set.
- Added Aquarium.
- Added Snail Terrarium.
- Added 3 Munitions Crate types.
- Added 4 Placed Ammunition props.
- Added HE Shell front and back facing props.
- Large ammunition props can now be placed in an upright position.
- Sprite adjustments to the Reinforced and Hazard crate types.
- Slight adjustments to the Glass Door sprite.
- Slight adjustments to the Weapons Locker.
- Numerous icon changes.

---Weapons---
- Added Justicar Zweihander.
- Vortex Shotgun is now available in the Weapons Assembler.
- Removed Swarmguider, Havoc, Hailstorm, Firestarter, and Duskcloud recipes from their respective crafting tables.
- Added Ravage ability to the Ravager.
- Added alt-fire abilities to the Raven, Tomahawk, Foxhound, Snapback, Skyross, Thumper, Shellbourne, Fragmenter, Firestarter, Hoplite, Spitfire, and Orion.
- Buffed Comet base damage.
- Transferred Medicframe Aeroscorn, Bishop, Nebulizer, Medic's Axe, and Medic's Dagger.

---Augments---
- Increased Augmented, Drone, and Berserker thresholds from 25% to 35% health.

---Armor---
- Transferred Medicframe Armor.

---Monsters---
- Added Knightfall Augmented Mother Poptop

---Items---
- Nanite Injector has been renamed to Healing Stims. Heals for 125 health on use.
- Medicframe Grenades now heal for 125 health on detonation. Heals ALL entities in the area.
  • Loading branch information
Nitrosteel committed Feb 20, 2021
1 parent 575f3ce commit 157f300
Show file tree
Hide file tree
Showing 389 changed files with 8,022 additions and 287 deletions.
Binary file added interface/statuses/healing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"itemName" : "knightfall_turretchairtram",
"level" : 1,
"price" : 1000,
"rarity" : "Rare",
"category" : "railPlatform",
"description" : "A chair mounted on a tram used to get operators to a turret's interface.",
"shortdescription" : "Turret Chair",
"twoHanded" : true,
"maxStack" : 10,

"inventoryIcon" : "icon.png",

"scripts" : ["/items/active/unsorted/railplatform/railplatform.lua"],
"animationScripts" : ["/items/active/unsorted/railplatform/placementpreview.lua"],

"placementRange" : 15,
"placementBounds" : [-2.5, -0.25, 2.5, 3.75],
"placementPreviewImage" : "/items/active/vehiclecontroller/knightfall_turretchairtram/knightfall_turretchairtrampreview.png",
"previewOffset" : [0, 2.0],

"platformType" : "knightfall_turretchairtram"
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
77 changes: 77 additions & 0 deletions items/active/weapons/melee/abilities/axe/ravage/ravage-old.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
require "/scripts/util.lua"
require "/items/active/weapons/weapon.lua"

BladeCharge = WeaponAbility:new()

function BladeCharge:init()
BladeCharge:reset()

self.cooldownTimer = 0
end

function BladeCharge:update(dt, fireMode, shiftHeld)
WeaponAbility.update(self, dt, fireMode, shiftHeld)

self.cooldownTimer = math.max(0, self.cooldownTimer - self.dt)

if self.cooldownTimer == 0 and not self.weapon.currentAbility and not status.resourceLocked("energy") and self.fireMode == "alt" then
self:setState(self.windup)
end
end

function BladeCharge:windup()
self.weapon:setStance(self.stances.windup)

animator.setAnimationState("bladeCharge", "charge")
animator.setParticleEmitterActive("bladeCharge", true)

local chargeTimer = self.chargeTime
while self.fireMode == "alt" do

if not animator.animationState("blade"):find("empowered-") then
animator.setAnimationState("blade", "empowered-extend") -- dirtyfix.jayson.mp4
end

chargeTimer = math.max(0, chargeTimer - self.dt)
if chargeTimer == 0 then
animator.setGlobalTag("bladeDirectives", "border=1;"..self.chargeBorder..";00000000")
end

-- stop it from rotating around endlessly
if self.stances.windup.maxArmRotation then
self.weapon.relativeArmRotation = math.min(self.weapon.relativeArmRotation, math.rad(self.stances.windup.maxArmRotation))
end
coroutine.yield()
end

if chargeTimer == 0 and status.overConsumeResource("energy", self.energyUsage) then
self:setState(self.slash)
end
end

function BladeCharge:slash()
self.weapon:setStance(self.stances.slash)
self.weapon:updateAim()

animator.setAnimationState("bladeCharge", "idle")
animator.setParticleEmitterActive("bladeCharge", false)
animator.setAnimationState("swoosh", "slash")
animator.playSound("swing")

util.wait(self.stances.slash.duration, function()
local damageArea = partDamageArea("swoosh")
self.weapon:setDamage(self.damageConfig, damageArea)
end)

self.cooldownTimer = self.cooldownTime
end

function BladeCharge:reset()
animator.setGlobalTag("bladeDirectives", "")
animator.setParticleEmitterActive("bladeCharge", false)
animator.setAnimationState("bladeCharge", "idle")
end

function BladeCharge:uninit()
self:reset()
end
65 changes: 46 additions & 19 deletions items/active/weapons/melee/abilities/axe/ravage/ravage.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@ require "/items/active/weapons/weapon.lua"
BladeCharge = WeaponAbility:new()

function BladeCharge:init()
self.cooldownTimer = self.cooldownTime
BladeCharge:reset()

self.cooldownTimer = 0
end

function BladeCharge:update(dt, fireMode, shiftHeld)
Expand All @@ -28,48 +27,76 @@ function BladeCharge:windup()
local chargeTimer = self.chargeTime
while self.fireMode == "alt" do

if not animator.animationState("blade"):find("empowered") then
if not animator.animationState("blade"):find("empowered-") then
animator.setAnimationState("blade", "empowered-extend") -- dirtyfix.jayson.mp4
end

chargeTimer = math.max(0, chargeTimer - self.dt)
if chargeTimer == 0 then
animator.setGlobalTag("bladeDirectives", "border=1;"..self.chargeBorder..";00000000")
self:slash(1)
end
if chargeTimer == 0 then
animator.setGlobalTag("bladeDirectives", "border=1;"..self.chargeBorder..";00000000")
self:setState(self.slash)
end

-- stop it from rotating around endlessly
if self.stances.windup.maxArmRotation then
self.weapon.relativeArmRotation = math.min(self.weapon.relativeArmRotation, math.rad(self.stances.windup.maxArmRotation))
end
coroutine.yield()
end

if chargeTimer == 0 and status.overConsumeResource("energy", self.energyUsage) then
self:setState(self.slash)
end
end

function BladeCharge:slash(swingIndex)
self.weapon:setStance(self.stances["slash" .. swingIndex])
function BladeCharge:slash()
local slash = coroutine.create(self.slashAction)
coroutine.resume(slash, self)

local movement = function()
mcontroller.controlModifiers({runningSuppressed = true})

if self.hover then
mcontroller.controlApproachYVelocity(self.hoverYSpeed, self.hoverForce)
end
end

while util.parallel(slash, movement) do
coroutine.yield()
end
end

function BladeCharge:slashAction()
local armRotationOffset = math.random(1, #self.armRotationOffsets)
if not status.overConsumeResource("energy", self.energyUsage * (self.stances.windup.duration + self.stances.slash.duration)) then return end

self.weapon:setStance(self.stances.windup)
self.weapon.relativeArmRotation = self.weapon.relativeArmRotation - util.toRadians(self.armRotationOffsets[armRotationOffset])
self.weapon:updateAim()

util.wait(self.stances.windup.duration, function()
return status.resourceLocked("energy")
end)

self.weapon.aimDirection = -self.weapon.aimDirection
mcontroller.controlFace(self.weapon.aimDirection)

self.weapon:setStance(self.stances.slash)
self.weapon.relativeArmRotation = self.weapon.relativeArmRotation + util.toRadians(self.armRotationOffsets[armRotationOffset])
self.weapon:updateAim()

armRotationOffset = armRotationOffset + 1
if armRotationOffset > #self.armRotationOffsets then armRotationOffset = 1 end

animator.setAnimationState("bladeCharge", "idle")
animator.setParticleEmitterActive("bladeCharge", false)
animator.setAnimationState("swoosh", "slash")
animator.playSound("slash1")
animator.playSound("slash2")
animator.playSound("swing")

util.wait(self.stances.slash.duration, function()
local damageArea = partDamageArea("swoosh")
self.weapon:setDamage(self.damageConfig, damageArea)
end)

if swingIndex >= self.swingCount then
self:cooldown()
else
self:slash(swingIndex + 1)
end

self.cooldownTimer = self.cooldownTime
end
Expand All @@ -82,4 +109,4 @@ end

function BladeCharge:uninit()
self:reset()
end
end
Loading

0 comments on commit 157f300

Please sign in to comment.