diff --git a/species/floran.raceeffect b/species/floran.raceeffect index 91a1e7eb0df..b6735f8eee1 100644 --- a/species/floran.raceeffect +++ b/species/floran.raceeffect @@ -9,7 +9,11 @@ { "stat": "shadowResistance", "amount": -0.05 }, { "stat": "bowMastery", "amount": 0.20 }, - { "stat": "spearMastery", "amount": 0.15 } + { "stat": "spearMastery", "amount": 0.15 }, + { + "stat": "fuWaterPlants", + "amount": 1 + } ], "diet" : "carnivore", diff --git a/species/fragmentedruin.raceeffect b/species/fragmentedruin.raceeffect index 50a3b6000f9..04b493c5ae7 100644 --- a/species/fragmentedruin.raceeffect +++ b/species/fragmentedruin.raceeffect @@ -39,6 +39,14 @@ { "stat": "darknessImmunity", "amount": 1 + }, + { + "stat": "fuHealingWaterPoisons", + "amount": 1 + }, + { + "stat": "fuPoisonHeals", + "amount": 1 } ], "diet" : "omnivore", @@ -92,4 +100,4 @@ } ], "scripts": [] -} \ No newline at end of file +} diff --git a/species/glitch.raceeffect b/species/glitch.raceeffect index 280d84c759b..2e4642dfb2e 100644 --- a/species/glitch.raceeffect +++ b/species/glitch.raceeffect @@ -13,7 +13,19 @@ { "stat": "beestingImmunity", "amount": 1 }, { "stat": "hammerMastery", "amount": 0.25 }, - { "stat": "bowMastery", "amount": 0.10 } + { "stat": "bowMastery", "amount": 0.10 }, + { + "stat": "fuElectrifiedPenaltyEnergy", + "amount": 1 + }, + { + "stat": "fuElectrifiedPenaltyDamage", + "amount": 1 + }, + { + "stat": "fuTarHeals", + "amount": 1 + } ], "diet" : [ { "ORGANIC" : false, "ROBOT_PLANT" : true }, { "MEAT_RAW" : true } ], "weaponEffects": [], diff --git a/species/hylotl.raceeffect b/species/hylotl.raceeffect index 01d72b3d7a2..8a1b338a91e 100644 --- a/species/hylotl.raceeffect +++ b/species/hylotl.raceeffect @@ -9,7 +9,11 @@ { "stat": "radioactiveResistance", "amount": 0.12 }, { "stat": "shadowResistance", "amount": -0.10 }, - { "stat": "katanaMastery", "amount": 0.25 } + { "stat": "katanaMastery", "amount": 0.25 }, + { + "stat": "fuFishFood", + "amount": 1 + } ], "diet" : [ { "ORGANIC" : false, "FISH" : true }, { "MEAT_RAW" : true } ], "envEffects": [ diff --git a/species/novakid.raceeffect b/species/novakid.raceeffect index e421c564b79..2bb457d5a5d 100644 --- a/species/novakid.raceeffect +++ b/species/novakid.raceeffect @@ -15,7 +15,11 @@ { "stat": "pistolMastery", "amount": 0.15 }, { "stat": "sniperrifleMastery", "amount": 0.15 }, - { "stat": "shotgunMastery", "amount": 0.15 } + { "stat": "shotgunMastery", "amount": 0.15 }, + { + "stat": "fuRadiationHeal", + "amount": 1 + } ], "diet" : "entity", "controlModifiers": {}, diff --git a/species/novali.raceeffect b/species/novali.raceeffect index d11e21cba80..d0edcea8f8e 100644 --- a/species/novali.raceeffect +++ b/species/novali.raceeffect @@ -59,6 +59,10 @@ { "stat": "radiationburnImmunity", "amount": 1 + }, + { + "stat": "fuRadiationHeal", + "amount": 1 } ], "diet" : "entity", diff --git a/species/radien.raceeffect b/species/radien.raceeffect index 23f58ab71f9..a3b8c4cc3c1 100644 --- a/species/radien.raceeffect +++ b/species/radien.raceeffect @@ -15,7 +15,15 @@ { "stat": "radiationburnImmunity", "amount": 1 }, { "stat": "healingStatusImmunity", "amount": 1 }, - { "stat": "isXi", "amount": 1 } + { "stat": "isXi", "amount": 1 }, + { + "stat": "fuRadiationHeal", + "amount": 1 + }, + { + "stat": "fuDirtBeer", + "amount": 1 + } ], "diet" : "entity", "special" : [ "radienFoodBoost" ], @@ -47,4 +55,4 @@ } ], "tech" : [ "xi_bulb" ] -} \ No newline at end of file +} diff --git a/species/shade.raceeffect b/species/shade.raceeffect index 7b11713adf6..b4e9ad89a0e 100644 --- a/species/shade.raceeffect +++ b/species/shade.raceeffect @@ -16,7 +16,11 @@ {"stat": "darknessImmunity","amount": 1 }, {"stat": "breathProtection","amount": 1 }, - {"stat": "scytheMastery", "amount": 0.25 } + {"stat": "scytheMastery", "amount": 0.25 }, + { + "stat": "fuRadiationHeal", + "amount": 1 + } ], "diet" : "entity", "envEffects": [ @@ -64,4 +68,4 @@ "special": [ "shadowglow1","darkhunternightar" ], "tech" : [ "tenebrhaeburst" ] -} \ No newline at end of file +} diff --git a/species/shadow.raceeffect b/species/shadow.raceeffect index 9ebae9123a0..8f4ac7ed397 100644 --- a/species/shadow.raceeffect +++ b/species/shadow.raceeffect @@ -16,7 +16,11 @@ { "stat": "darknessImmunity", "amount": 1 }, { "stat": "breathProtection", "amount": 1 }, - { "stat": "scytheMastery", "amount": 0.25 } + { "stat": "scytheMastery", "amount": 0.25 }, + { + "stat": "fuRadiationHeal", + "amount": 1 + } ], "diet" : "entity", "envEffects": [ @@ -64,4 +68,4 @@ "special": [ "shadowglow1","darkhunternightar" ], "tech" : [ "tenebrhaeburst" ] -} \ No newline at end of file +} diff --git a/species/slimeperson.raceeffect b/species/slimeperson.raceeffect index 7dd49963a32..347cc31a94f 100644 --- a/species/slimeperson.raceeffect +++ b/species/slimeperson.raceeffect @@ -16,7 +16,11 @@ { "stat": "slimestickImmunity", "amount": 1}, { "stat": "webstickImmunity", "amount": 1}, - { "stat": "whipMastery", "amount": 0.15} + { "stat": "whipMastery", "amount": 0.15}, + { + "stat": "fuSlimeHeals", + "amount": 1 + } ], "diet" : "raw_omnivore", "envEffects": [{ @@ -69,4 +73,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/species/trink.raceeffect b/species/trink.raceeffect index de66961b719..d9e7a810d8b 100644 --- a/species/trink.raceeffect +++ b/species/trink.raceeffect @@ -55,6 +55,10 @@ { "stat": "slushslowImmunity", "amount": 1 + }, + { + "stat": "fuElectrifiedPenaltyEnergy", + "amount": 1 } ], "diet" : "robot", diff --git a/stats/__STAT_LIST.TXT b/stats/__STAT_LIST.TXT index 622a5238269..0eb256081f2 100644 --- a/stats/__STAT_LIST.TXT +++ b/stats/__STAT_LIST.TXT @@ -109,6 +109,16 @@ IMMUNITIES freudBonus [amount] [0-Relative] - see /quests/madness/madnessdata.lua. tl;dr: higher number, madness decays faster. lower number, madness decays slower. aetherImmunity [amount] [Boolean] + fuFishFood [amount] [Boolean] - water restors belly + fuWaterPlants [amount] [Boolean] - water restores health + fuPoisonHeals [amount] [Boolean] - this is self exclamatory + fuRadPlantHeal [amount] [Boolean] - this is self exclamatory + fuRadiationHeal [amount] [Boolean] - this is self exclamatory + fuTarHeals [amount] [Boolean] - this is self exclamatory + fuHealingWaterPoisons [amount] [Boolean] - this is self exclamatory + fuDirtBeer [amount] [Boolean] - beer makes you drunk + fuElectrifiedPenaltyEnergy [amount] [Boolean] - whether you have -50% energy when electrified + fuElectrifiedPenaltyDamage [amount] [Boolean] - whether you have -50% damage when electrified MISC: specialStatusImmunity [amount] [Boolean] - Used almost exclusively on bosses. when 'hard targets' are referred to, it means targets with this. @@ -190,3 +200,5 @@ OTHER: maxFuel [amount] [0-relative. Default: 0] added to base value of max ship fuel fuelEfficiency [amount] [0-relative. Default: 0.0] percentage fuel cost reduction. not actual 'efficiency'. capped at 99%. shipSpeed [amount] [0-relative. Default: 0] flat value increase to ship speed, which is capped around 398 + + isXi [amount] [Boolean] Xi get special modifiers in madness script, gaining bonus genes. diff --git a/stats/effects/electrified/electrified.lua b/stats/effects/electrified/electrified.lua index 8bf6d7cb431..8ede957f0e4 100644 --- a/stats/effects/electrified/electrified.lua +++ b/stats/effects/electrified/electrified.lua @@ -6,16 +6,16 @@ function init() animator.setParticleEmitterOffsetRegion("sparks", mcontroller.boundBox()) animator.setParticleEmitterActive("sparks", true) effect.setParentDirectives("fade=7733AA=0.25") - self.species = status.statusProperty("fr_enabled") and (status.statusProperty("fr_race") or world.entitySpecies(entity.id())) + -- self.species = status.statusProperty("fr_enabled") and (status.statusProperty("fr_race") or world.entitySpecies(entity.id())) -- *** FU additions - if self.species == "glitch" then -- when electrified, glitch lose 50% power and Energy + if status.statPositive("fuElectrifiedPenaltyEnergy") then -- when electrified, glitch lose 50% power and Energy self.statHandler=effect.addStatModifierGroup({ - {stat = "powerMultiplier", baseMultiplier = 0.5 }, + -- {stat = "powerMultiplier", baseMultiplier = 0.5 }, {stat = "maxEnergy", baseMultiplier = 0.5 } }) end - if self.species == "trink" then -- when electrified, trinks lose 50% power + if status.statPositive("fuElectrifiedPenaltyDamage") then -- when electrified, trinks lose 50% power self.statHandler=effect.addStatModifierGroup({ {stat = "powerMultiplier", baseMultiplier = 0.5 } }) diff --git a/stats/effects/fu_effects/radiendirt/radiendirt.lua b/stats/effects/fu_effects/radiendirt/radiendirt.lua index 61f553a085b..a8ee259343e 100644 --- a/stats/effects/fu_effects/radiendirt/radiendirt.lua +++ b/stats/effects/fu_effects/radiendirt/radiendirt.lua @@ -5,14 +5,14 @@ function init() animator.setParticleEmitterEmissionRate("healing", config.getParameter("emissionRate", 3)) animator.setParticleEmitterActive("healing", true) - self.frEnabled=status.statusProperty("fr_enabled") - self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) + -- self.frEnabled=status.statusProperty("fr_enabled") + -- self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) self.didInit=true end function update(dt) if not self.didInit then init() end - if self.frEnabled and (self.species == "radien") then + if status.statPositive("fuDirtBeer") then status.addEphemeralEffect("booze3", 240, entity.id()) status.addEphemeralEffect("slow", 240, entity.id()) status.addEphemeralEffect("maxhealthboostneg20", 240, entity.id()) diff --git a/stats/effects/heal/healradioactive.lua b/stats/effects/heal/healradioactive.lua index 70af4959cae..175b8dce3ba 100644 --- a/stats/effects/heal/healradioactive.lua +++ b/stats/effects/heal/healradioactive.lua @@ -10,9 +10,10 @@ function init() end function update(dt) - local species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) + -- local species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) - if (species == "radien") or (species == "novakid") or (species == "shadow") then + -- if (species == "radien") or (species == "novakid") or (species == "shadow") then + if (status.statPositive("fuRadiationHeal")) then effect.setStatModifierGroup(bonusHandler,{{stat="healthRegen",amount=((self.healingRate*math.max(0, 1 + status.stat("healingBonus") )) - self.penaltyRate)}}) --status.modifyResource("health", (self.healingRate - self.penaltyRate) * dt) else diff --git a/stats/effects/regeneration/regen_healingwater.lua b/stats/effects/regeneration/regen_healingwater.lua index e9eb1ae73bc..aea9368933f 100644 --- a/stats/effects/regeneration/regen_healingwater.lua +++ b/stats/effects/regeneration/regen_healingwater.lua @@ -9,11 +9,11 @@ function init() self.healingRate = 1.0 / config.getParameter("healTime", 60) bonusHandler=bonusHandler or effect.addStatModifierGroup({}) - if self.eType=="player" or self.eType=="npc" then - self.frEnabled=status.statusProperty("fr_enabled") - self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) - end - if self.frEnabled and (self.species == "fragmentedruin") then + -- if self.eType=="player" or self.eType=="npc" then + -- self.frEnabled=status.statusProperty("fr_enabled") + -- self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) + -- end + if status.statPositive("fuHealingWaterPoisons") then animator.setParticleEmitterOffsetRegion("drips", mcontroller.boundBox()) animator.setParticleEmitterActive("drips", true) else @@ -26,7 +26,7 @@ end function update(dt) if (not self.didInit) or (not self.healingRate) then init() end - if self.frEnabled and (self.species == "fragmentedruin") then + if status.statPositive("fuHealingWaterPoisons") then self.tickTimer = self.tickTimer - dt if self.tickTimer <= 0 then self.tickTimer = self.tickTime diff --git a/stats/effects/slimeslow/slimeslow.lua b/stats/effects/slimeslow/slimeslow.lua index 0a6b799fe9f..9e4bb72053d 100644 --- a/stats/effects/slimeslow/slimeslow.lua +++ b/stats/effects/slimeslow/slimeslow.lua @@ -6,15 +6,15 @@ function init() animator.setParticleEmitterActive("drips", true) effect.setParentDirectives("fade=347857=0.8") bonusHandler=effect.addStatModifierGroup({}) - self.frEnabled=status.statusProperty("fr_enabled") - self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) + -- self.frEnabled=status.statusProperty("fr_enabled") + -- self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) self.didInit=true end function update(dt) if not self.didInit then init() end - if self.frEnabled and (self.species == "slimeperson") then + if status.statPositive("fuSlimeHeals") then self.healingRate = 0.025 effect.setStatModifierGroup(bonusHandler,{{stat="healthRegen",amount=status.stat("maxHealth")*self.healingRate*math.max(0,1+status.stat("healingBonus"))}}) applyFilteredModifiers({ diff --git a/stats/effects/tarslow/tarslow.lua b/stats/effects/tarslow/tarslow.lua index bf0935e26a8..0045e5d32b4 100644 --- a/stats/effects/tarslow/tarslow.lua +++ b/stats/effects/tarslow/tarslow.lua @@ -8,8 +8,8 @@ function init() effect.setParentDirectives("fade=300030=0.8") bonusHandler=effect.addStatModifierGroup({}) self.healingRate = 1 - self.frEnabled=status.statusProperty("fr_enabled") - self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) + -- self.frEnabled=status.statusProperty("fr_enabled") + -- self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) self.didInit=true end @@ -17,7 +17,7 @@ function update(dt) if not self.didInit then init() end if not self.didInit then return end - if self.frEnabled and (self.species == "glitch") then + if status.statPositive("fuTarHeals") then self.healingRate = 0.015 effect.setStatModifierGroup(bonusHandler,{{stat="healthRegen",amount=status.stat("maxHealth")*self.healingRate*math.max(0,1+status.stat("healingBonus"))}}) applyFilteredModifiers({ diff --git a/stats/effects/weaknesses/radioactiveplant.lua b/stats/effects/weaknesses/radioactiveplant.lua index ec8d9761502..40aaed3b56e 100644 --- a/stats/effects/weaknesses/radioactiveplant.lua +++ b/stats/effects/weaknesses/radioactiveplant.lua @@ -16,7 +16,7 @@ function init() self.healthRegen = config.getParameter("healthRegen",0) self.frEnabled=status.statusProperty("fr_enabled") - self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) + -- self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) if not self.frEnabled or ((status.stat("isHerbivore")==1 or status.stat("isRobot")==1 or status.stat("isOmnivore")==1 or status.stat("isSugar")==1) and (not(status.stat("isRadien")==1))) then world.sendEntityMessage(entity.id(), "queueRadioMessage", "foodtyperad") end @@ -27,13 +27,13 @@ end function update(dt) if not self.didInit then init() end if not self.didInit then return end - if self.frEnabled and (self.species == "radien" or self.species == "novakid" or self.species == "thelusian") then + if status.statPositive("fuRadPlantHeal") then applyEffects() animator.setParticleEmitterOffsetRegion("healing", mcontroller.boundBox()) animator.setParticleEmitterActive("healing", true) else effect.setStatModifierGroup(self.statHandler,{}) - if (self.frEnabled or (not (self.species == "radien"))) and ((self.tickTimer or 0) <= 0) then + if (self.frEnabled --[[or (not (self.species == "radien"))]]) and ((self.tickTimer or 0) <= 0) then applyPenalty() animator.setParticleEmitterOffsetRegion("drips", mcontroller.boundBox()) animator.setParticleEmitterActive("drips", true) diff --git a/stats/effects/weakpoison/weakpoison.lua b/stats/effects/weakpoison/weakpoison.lua index 2c5f911f1cd..e18d7f5067c 100644 --- a/stats/effects/weakpoison/weakpoison.lua +++ b/stats/effects/weakpoison/weakpoison.lua @@ -1,8 +1,8 @@ function init() if not world.entityType(entity.id()) then return end - self.frEnabled=status.statusProperty("fr_enabled") - self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) - if self.frEnabled and (self.species == "fragmentedruin") then + -- self.frEnabled=status.statusProperty("fr_enabled") + -- self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) + if status.statPositive("fuPoisonHeals") then animator.setParticleEmitterOffsetRegion("healing", mcontroller.boundBox()) animator.setParticleEmitterActive("healing", config.getParameter("particles", true)) else @@ -25,7 +25,7 @@ end function update(dt) if not self.didInit then init() end if not self.didInit then return end - if self.frEnabled and (self.species == "fragmentedruin") then + if status.statPositive("fuPoisonHeals") then --sb.logInfo("weakpoison") effect.setStatModifierGroup(bonusHandler,{{stat="healthRegen",amount=((self.healingRate*( 1 + status.stat("healingBonus") )) - self.penaltyRate)}}) --status.modifyResource("health", (self.healingRate - self.penaltyRate) * dt) @@ -54,4 +54,4 @@ function uninit() if bonusHandler then effect.removeStatModifierGroup(bonusHandler) end -end \ No newline at end of file +end diff --git a/stats/effects/wet/wet.lua b/stats/effects/wet/wet.lua index 6634704c5e8..b6c208698c1 100644 --- a/stats/effects/wet/wet.lua +++ b/stats/effects/wet/wet.lua @@ -6,8 +6,8 @@ function init() -- floran buff self.healingRate = 0.005 bonusHandler=effect.addStatModifierGroup({}) - self.frEnabled=status.statusProperty("fr_enabled") - self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) + -- self.frEnabled=status.statusProperty("fr_enabled") + -- self.species = status.statusProperty("fr_race") or world.entitySpecies(entity.id()) self.didInit=true end @@ -19,13 +19,13 @@ function update(dt) else animator.setParticleEmitterActive("drips", false) end - if self.frEnabled and (self.species == "hylotl") then + if status.statPositive("fuFishFood") then self.foodRate = 0.001 if status.isResource("food") then status.modifyResourcePercentage("food", self.foodRate * dt) end end - if self.frEnabled and (self.species == "floran") then + if status.statPositive("fuWaterPlants") then self.healingRate = 0.001 self.foodRate = 0.001 effect.setStatModifierGroup(bonusHandler,{{stat="healthRegen",amount=status.stat("maxHealth")*self.healingRate*math.max(0,1+status.stat("healingBonus"))}})