diff --git a/species/apex.species.patch b/species/apex.species.patch index dec372c0..09816e15 100644 --- a/species/apex.species.patch +++ b/species/apex.species.patch @@ -8,6 +8,7 @@ ^red;-15% Energy, Weakness: Electric^reset; ^green;+8% speed and +15% jump^reset; ^green;+15% HP bonus^reset; + ^green;Gain additional vitality and protection in jungles^reset; ^green;Immune: Mud tiles, Jungle tiles^reset; ^green;+20% dmg with Hammers and Axes ^reset; ^green;Hammers increase Speed when wielded ^reset; diff --git a/species/avali.species.patch b/species/avali.species.patch index 3c7944a3..91cfd0a4 100644 --- a/species/avali.species.patch +++ b/species/avali.species.patch @@ -6,7 +6,7 @@ { "op": "replace", "path" : "/charCreationTooltip/description" , "value" : "Adorable fuzzy space raptors with wings. - + ^green;In mild to severe winds, gain additional agility^reset; ^red;-10% HP^reset; ^green;+5% Energy^reset; ^green;Immunities: Snow and Cold^reset; diff --git a/species/avian.species.patch b/species/avian.species.patch index 7976bd39..39b43b7b 100644 --- a/species/avian.species.patch +++ b/species/avian.species.patch @@ -9,6 +9,7 @@ ^green;+10% Energy^reset; ^green;Jump Boost^reset; ^green;-65% Fall Damage + Slowed Fall^reset; + ^green;Gain air mobility and additional Slowed Fall in light to moderate wind conditions^reset; ^orange;+5.5% Damage^reset;^green;(increases as your HP depletes)^reset; ^yellow;+20% Wand/Staff damage^reset;" } diff --git a/species/fenerox.species.patch b/species/fenerox.species.patch index 985cc093..88ae5a99 100644 --- a/species/fenerox.species.patch +++ b/species/fenerox.species.patch @@ -9,6 +9,7 @@ ^red;-5% HP^reset; ^red;Weakness: Poison^reset; + ^green;When in a dry grassland, gain +10% Damage^reset; ^red;Needs to eat more often ^green; but gains 6% speed and 11% jump height^reset; ^green;+10% Energy^reset; ^green;Increased damage, speed and health at night^reset; diff --git a/species/floran.species.patch b/species/floran.species.patch index e065a323..b0da1d99 100644 --- a/species/floran.species.patch +++ b/species/floran.species.patch @@ -7,6 +7,7 @@ ^red;-10% HP^reset; ^red;Weakness: Fire^reset; ^green;+15% Energy^reset; + ^green;In forest-like biomes gain additional health and energy^reset; ^green;Regenerate during daylight hours^reset; ^green;Shock Immunity^reset; ^green;Damage increases the hungrier you get^reset; diff --git a/species/hylotl.species.patch b/species/hylotl.species.patch index b8fd43c0..3240326b 100644 --- a/species/hylotl.species.patch +++ b/species/hylotl.species.patch @@ -8,6 +8,7 @@ ^red;Weakness: Electricity^reset; ^green;+10% HP^reset; ^green;Immune: Wet^reset; + ^green;On ocean biomes, gain 20% protection^reset; ^green;Perfect Blocks restore HP (stacks)^reset; ^green;+12% dmg with shortsword and broadsword combo strikes (Stacks)^reset; ^green;+1 protection when using daggers, hammers, axes and spears^reset; diff --git a/stats/effects/fu_racialabilities/raceapex.lua b/stats/effects/fu_racialabilities/raceapex.lua index f9b02e90..53136fbc 100644 --- a/stats/effects/fu_racialabilities/raceapex.lua +++ b/stats/effects/fu_racialabilities/raceapex.lua @@ -8,7 +8,12 @@ function init() local bounds = mcontroller.boundBox() script.setUpdateDelta(10) - + if (world.type() == "jungle") or (world.type() == "thickjungle") or (world.type() == "alien") or (world.type() == "protoworld") or (world.type() == "arboreal") or (world.type() == "arborealdark") then + status.setPersistentEffects("jungleEpic", { + {stat = "protection", baseMultiplier = 1.10}, + {stat = "maxHealth", baseMultiplier = 1.15} + }) + end end function update(dt) @@ -16,5 +21,5 @@ function update(dt) end function uninit() - + status.clearPersistentEffects("jungleEpic") end \ No newline at end of file diff --git a/stats/effects/fu_racialabilities/raceavali.lua b/stats/effects/fu_racialabilities/raceavali.lua index 28e8a5fb..1ab3123a 100644 --- a/stats/effects/fu_racialabilities/raceavali.lua +++ b/stats/effects/fu_racialabilities/raceavali.lua @@ -11,14 +11,26 @@ function init() end function update(dt) - if mcontroller.falling() then - mcontroller.controlParameters(config.getParameter("fallingParameters")) - mcontroller.setYVelocity(math.max(mcontroller.yVelocity(), config.getParameter("maxFallSpeed"))) - end - mcontroller.controlModifiers({ - speedModifier = 1.09, - airJumpModifier = 1.09 - }) + if mcontroller.falling() then + mcontroller.controlParameters(config.getParameter("fallingParameters")) + mcontroller.setYVelocity(math.max(mcontroller.yVelocity(), config.getParameter("maxFallSpeed"))) + end + mcontroller.controlModifiers({ + speedModifier = 1.09, + airJumpModifier = 1.09 + }) + + if (world.windLevel(mcontroller.position()) >= 70 ) then + mcontroller.controlModifiers({ + speedModifier = 1.12, + airJumpModifier = 1.12 + }) + elseif (world.windLevel(mcontroller.position()) >= 20 ) then + mcontroller.controlModifiers({ + speedModifier = 1.15, + airJumpModifier = 1.20 + }) + end end function uninit() diff --git a/stats/effects/fu_racialabilities/raceavian.lua b/stats/effects/fu_racialabilities/raceavian.lua index a5a8790d..fed64931 100644 --- a/stats/effects/fu_racialabilities/raceavian.lua +++ b/stats/effects/fu_racialabilities/raceavian.lua @@ -18,15 +18,45 @@ effect.addStatModifierGroup({{stat = "maxEnergy", amount = baseValue2 }}) end function update(dt) -mcontroller.controlParameters(self.liquidMovementParameter) - if mcontroller.falling() then - mcontroller.controlParameters(config.getParameter("fallingParameters")) - mcontroller.setYVelocity(math.max(mcontroller.yVelocity(), config.getParameter("maxFallSpeed"))) - end + mcontroller.controlParameters(self.liquidMovementParameter) + + if mcontroller.falling() then + mcontroller.controlParameters(config.getParameter("fallingParameters")) + mcontroller.setYVelocity(math.max(mcontroller.yVelocity(), config.getParameter("maxFallSpeed"))) + end + + mcontroller.controlModifiers({ + speedModifier = 1.09, + airJumpModifier = 1.05, + airForce = 56 + }) + + if (world.windLevel(mcontroller.position()) >= 60 ) then + maxFallSpeed = -39 + status.clearPersistentEffects("avianwindbonus") + elseif (world.windLevel(mcontroller.position()) >= 20 ) then + maxFallSpeed = -32 + status.setPersistentEffects("avianwindbonus", { + {stat = "protection", baseMultiplier = 1.10}, + {stat = "maxHealth", baseMultiplier = 1.15} + }) + mcontroller.controlModifiers({ + speedModifier = 1.19, + airJumpModifier = 1.20, + airForce = 86 + }) + + + + + + + + end end function uninit() - + status.clearPersistentEffects("avianwindbonus") end diff --git a/stats/effects/fu_racialabilities/racefenerox.lua b/stats/effects/fu_racialabilities/racefenerox.lua index ec514b07..8e574fa5 100644 --- a/stats/effects/fu_racialabilities/racefenerox.lua +++ b/stats/effects/fu_racialabilities/racefenerox.lua @@ -8,6 +8,11 @@ function init() effect.addStatModifierGroup({{stat = "poisonStatusImmunity", amount = 1}}) local bounds = mcontroller.boundBox() script.setUpdateDelta(10) + if (world.type() == "savannah") then + status.setPersistentEffects("jungleEpic", { + {stat = "powerMultiplier", baseMultiplier = 1.10} + }) + end end function update(dt) @@ -15,5 +20,5 @@ function update(dt) end function uninit() - + status.clearPersistentEffects("jungleEpic") end \ No newline at end of file diff --git a/stats/effects/fu_racialabilities/racefloran.lua b/stats/effects/fu_racialabilities/racefloran.lua index 5ca83c08..8bd9ec95 100644 --- a/stats/effects/fu_racialabilities/racefloran.lua +++ b/stats/effects/fu_racialabilities/racefloran.lua @@ -4,8 +4,13 @@ function init() baseValue2 = config.getParameter("energyBonus",0)*(status.resourceMax("energy")) effect.addStatModifierGroup({{stat = "maxEnergy", amount = baseValue2 }}) effect.addStatModifierGroup({{stat = "electricStatusImmunity", amount = 1}}) -script.setUpdateDelta(0) - + + if (world.type() == "thickjungle") or (world.type() == "forest") or (world.type() == "tundra") or (world.type() == "lush") or (world.type() == "arboreal") then + status.setPersistentEffects("jungleEpic", { + {stat = "maxHealth", baseMultiplier = 1.10}, + {stat = "maxEnergy", baseMultiplier = 1.10} + }) + end end function update(dt) @@ -13,5 +18,5 @@ function update(dt) end function uninit() - + status.clearPersistentEffects("jungleEpic") end \ No newline at end of file diff --git a/stats/effects/fu_racialabilities/racehylotl.lua b/stats/effects/fu_racialabilities/racehylotl.lua index 23dc9efb..74d74f2d 100644 --- a/stats/effects/fu_racialabilities/racehylotl.lua +++ b/stats/effects/fu_racialabilities/racehylotl.lua @@ -10,7 +10,12 @@ function init() effect.addStatModifierGroup({{stat = "breathRegenerationRate", amount = 60}}) effect.addStatModifierGroup({{stat = "wetImmunity", amount = 1}}) script.setUpdateDelta(5) - + + if (world.type() == "ocean") or (world.type() == "oceanfloor") then + status.setPersistentEffects("jungleEpic", { + {stat = "protection", baseMultiplier = 1.20} + }) + end end function isDry() @@ -22,6 +27,7 @@ local mouthPosition = vec2.add(mcontroller.position(), status.statusProperty("mo end function update(dt) + local mouthPosition = vec2.add(mcontroller.position(), status.statusProperty("mouthPosition")) local mouthful = world.liquidAt(mouthposition) if (world.liquidAt(mouthPosition)) and (inWater == 0) and (mcontroller.liquidId()== 1) or (mcontroller.liquidId()== 6) or (mcontroller.liquidId()== 58) or (mcontroller.liquidId()== 12) then @@ -38,4 +44,5 @@ end function uninit() status.clearPersistentEffects("hylotlprotection") + status.clearPersistentEffects("jungleEpic") end \ No newline at end of file diff --git a/stats/effects/fu_racialabilities/racemunari.lua b/stats/effects/fu_racialabilities/racemunari.lua index 821e9e65..0fb0e82d 100644 --- a/stats/effects/fu_racialabilities/racemunari.lua +++ b/stats/effects/fu_racialabilities/racemunari.lua @@ -10,7 +10,14 @@ effect.addStatModifierGroup({{stat = "maxHealth", amount = baseValue }}) baseValue2 = config.getParameter("energyBonus",0)*(status.resourceMax("energy")) effect.addStatModifierGroup({{stat = "maxEnergy", amount = baseValue2 }}) - script.setUpdateDelta(5) + script.setUpdateDelta(5) + + if (world.type() == "ocean") or (world.type() == "oceanfloor") or (world.type() == "tidewater") or (world.type() == "tidewaterfloor") then + status.setPersistentEffects("jungleEpic", { + {stat = "maxHealth", baseMultiplier = 1.10}, + {stat = "maxEnergy", baseMultiplier = 1.10} + }) + end end function isDry() @@ -39,4 +46,5 @@ end function uninit() status.removeEphemeralEffect("regenerationminor",math.huge) status.clearPersistentEffects("munariprotection") + status.clearPersistentEffects("jungleEpic") end diff --git a/stats/effects/fu_racialabilities/raceorcana.lua b/stats/effects/fu_racialabilities/raceorcana.lua index 63f58d78..8dd97c52 100644 --- a/stats/effects/fu_racialabilities/raceorcana.lua +++ b/stats/effects/fu_racialabilities/raceorcana.lua @@ -10,6 +10,13 @@ function init() effect.addStatModifierGroup({{stat = "breathRegenerationRate", amount = 70}}) effect.addStatModifierGroup({{stat = "wetImmunity", amount = 1}}) script.setUpdateDelta(5) + + if (world.type() == "ocean") or (world.type() == "oceanfloor") or (world.type() == "tidewater") or (world.type() == "tidewaterfloor") then + status.setPersistentEffects("jungleEpic", { + {stat = "maxHealth", baseMultiplier = 1.10}, + {stat = "maxEnergy", baseMultiplier = 1.10} + }) + end end function isDry()