Jump to content

Hydrocraft Mod


Hydromancerx

Recommended Posts

5 hours ago, gekluma said:

Hey there,

whery nice and cool fixes. Now i build my fishingpond and filled it with water. Well, i tink i made a mistake and filled it with water before upgraded to a nice fishpond. So my question: is it possible to empty the pond again? Or do i need to build a new one?

greets

Yeah it was a bug. Will be fixed next week. Right now the empty pond upgrades to the usable one. It should have been the one filled with water. In short wait until next update.

Link to comment
Share on other sites

I can not make tin ingots. I have double checked everything so I have come to believe that there is an error in the code. Are tin ingots working for anyone else?

 

Nm it works i didnt have the book

Edited by Robshaw
Link to comment
Share on other sites

Hi again! I was sick of getting set on fire even with blacksmith apron and welding mask, so I whipped up a realistic, and decidedly endgame recipe for making the fire resistant suit. (For those that don't know, if you have the firesuit in your inventory, you never get burned by the kiln etc. Ground fire still hurts you).

 

Spoiler

	recipe Make Fireproof Suit
	{
		HCBorax,
		destroy HCWoodenbucketwater,
		HCBlacksmithapron,
		HCWeldingmask,
		Shirt=2,
		Trousers=2,
		keep HCLatexgloves/HCRubberglove,
    	keep HCClaycauldron/HCCauldroniron,
    	CanBeDoneFromFloor:true,
    	Result:HCFiresuit,
    	Time:500,
    	Category:Alchemy,
    	OnCreate:recipe_hcwoodenbucket,
    }

 

This actually follows the guidelines of the national fire association.

Keep in mind, making this suit requires lots of wax, leather, some steel (if using bees), mined resources and rare loot. I think that is balanced enough, considering it took me 12 days + 10 skill foraging + many trips into dangerous areas to make, and that I leveled up first aid to 5 along the way.

 

Secondly, I'd like to discuss weapon diversification. Currently, the pole-arms and hammers have almost no combat purpose. They are inferior to their equivalent tier blade weapons. To remedy this, I propose the following split between fists, pole arms, blades, blunt and axes. (I am currently testing in game):

Fists: Friend of the Friendless

I am not talking about the unarmed push and stomp, which you can still do by using the space key (default) even when armed, I am talking about punching, implemented as a very cheap one handed blunt weapon that anyone can make:

Spoiler

    item HCFists
    {
        MaxRange                    =    0.6,
        MinRange                    =    0.1, /*very close range. Use space if you want to push*/
        WeaponSprite                    =    Knife,
        MinAngle                    =    -0.2, /*Easy to hit with*/
        Type                        =    Weapon,
        MinimumSwingTime                =    0.7,
        SwingTime                    =    0.7,
        KnockBackOnNoDeath                =    TRUE,
        WeaponWeight                    =    0.2,/*Natural weapon, low endurance cost*/
        SwingAmountBeforeImpact                =    0.02,
        Categories                    =    Blunt,
        ConditionLowerChanceOneIn    =    200, /*You always have your fists*/
        ConditionMax                    =    10,
        Weight                        =    0.0,
        SplatNumber                    =    0,
        PushBackMod                    =    0.5,
        KnockdownMod                    =    1, /* Martial Arts */
        MaxDamage                    =    0.2, /*Not very effective vs zombies*/
        MinDamage                    =    0.1,
        SubCategory                    =    Stab,
        MaxHitCount                    =    2,
        DoorDamage                    =    5, /*Kicking it*/
        SwingAnim                    =    Stab,
        DisplayName                    =    Fists,
        SplatBloodOnNoDeath                =    FALSE,
        Icon                        =    HCHoneybee, /* "Float like a butterfly..." */
        RunAnim                        =    Run_Weapon2,
        IdleAnim                    =    Idle_Weapon2,
        BreakSound                      =       PZ_WoodSnap,
        TreeDamage                      =       1,
    }
    
    recipe Make fist bindings
    {
        RippedSheets=2
        Result:HCFists
    }

  • PROS
    • Almost always available. Just need two strips of cloth.
    • Fast
    • Decent Knock down
    • Can punch zombies that are very close (0.1 min range) means you can fight indoors.
    • Mix with base contextual melee (Space bar default) for martial arts action! Push, stomp AND punch!
    • Improves with, and trains, blunt melee skill as opposed to normal unarmed which does not.
    • Very low endurance requirements.
    • Hits multiple opponents
  • NEUTRAL
  • CONS
    • Very short range! You are liable to get scratched or bitten!
    • Very low damage with no CQC! A spoon will kill a zombie faster, but only once.
  • PURPOSE
    • Fists are your final backup, or your first choice, depending on your level of sanity. Their only redeeming features are that they hit 2, can hit them VERY close, and you usually have a pair. An improvement over the default melee alone due to improvement via training, should be mixed with default for maximum effect. (Seriously, it is fun. Dangerous, but very satisfying if you can pull it off.)
  • IDEA
    • Have multiple types of 'fists' weapons defined representing different types/levels of combat, then lock them behind recipes requiring certain levels of blunt accuracy/defense/books/rare items.
    • Current ideas:
      • Karate; Single target, high push back, slightly more range, requires both hands .
      • Boxing; Faster attack speed, slightly more damage, requires both hands.
      • Judo; Single target, high knock down, slower attack speed but more damage, requires both hands
      • Kung fu; Multi target fighting (3), can use one hand, stronger with two
      • Kenpo; Slower attack speed, lower range, but can special attack
      • Claws; Blade skill.

Pole-arm: Friend of the Wanderer

  • PROS
    • Largest range (2.5 to 3.5)
    • Moderate critical chance
    • Simple resources needed in construction (mostly wood with a metal tip)
    • High damage true to real life. (max damage 2 to 3)
  • NEUTRAL
    • Moderate/low weight
    • Moderate durability
    • Moderate knockdown modifier (trip)
    • While most are blades, some are blunt (shovels, quarterstaves)
  • CONS
    • High minimum range (1 to 1.4), means you have to use PUSH (space default) if they get close.
    • Max hit count of 1! Can only attack one zombie at a time.
    • Unwieldy: Cannot use at max endurance
    • High weapon weight. The length of the weapon exacerbates its weight, leading to high endurance usage.
    • Slow swing speed.
    • Cannot use single handed.
    • Low push back modifier
    • Rare. You won't find many pole arms in the modern world, but that is ok, you can make them!
  • PURPOSE
    • The pole-arm is an easy to make, easy to replace, high damage, single target weapon suited to taking down lone zombies at a safe distance without the noise of a firearm. It should be a survivors default weapon choice for starting out, and when traveling outside.
      A survivor should avoid using a pole-arm indoors however, as the high minimum range means you may be unable to hit enemies at close quarters, and the slow swing speed, high endurance cost, and single target limit means they cannot be relied upon to handle even moderately sized hoards.

Blade: Friend of the Scavenger

  • PROS
    • King of CQC. Only blades can perform the close quarters instant kill.
    • Low weight
    • Easy to use. Most blades can be used at maximum endurance
    • High swing speed
    • One handed combat. Most blades can be used to full effect with one hand
    • Highest critical chance.
  • NEUTRAL
    • Moderate damage.
    • Many types of blades.
    • Some can hit more than one target.
    • Simple blades can be found in many locations, making them available early on.
    • When a some blades become blunt, they become a low class club instead of breaking. (need to add. Perhaps chance to destroy? Look at makeshift axe for idea)
    • Some blunted blades can be repaired by sharpening (need to add. Perhaps chance to destroy?)
  • CONS
    • Lowest durability of all weapon types. A blunt blade does significantly less damage.
    • Lowest pushback. Damage is from piercing or slashing, very little gets turned into impact force. If you get overwhelmed, use push (space default).
    • CQC takes a small amount of time. If you are swarmed, you may die if you forget to push.
    • Highest construction requirements. A quality blade takes finesse and resources to make.
    • Lowest range of all equivalent weapons
  • PURPOSE
    • Blades are the weapon of choice for exploring buildings or quickly dispatching small groups of zombies. Their (mostly) one handed usage means that survivors can carry an additional bag etc in their off hand while still fighting effectively. The low range combined with a special attack at point blank makes them perfect for surprise zombies hiding in bathroom/closets/upstairs and for fighting zombies without accidentally smashing windows. A low average weight means that a survivor should always be able to bring a blade with them to compliment their main weapon, or even just a spare.
      Due to the low durability and high resource cost, survivors may choose not to use a blade as their main weapon, and the low range and lack of push back makes blades unsuitable for dealing with hordes in open areas.

 

Blunt: Friend of the Desperate

  • PROS
    • Highest durability. A solid lump of something heavy is still a solid lump of something even if it gets flattened a bit.
    • Highest knock back and knock down. Hit them with something heavy.
    • Multiple targets. Most larger blunt weapons can hit many enemies at once.
    • Easy to find. Many things can be effective blunt weapons if you are desperate enough. Pipe, plank, bat, hammer, chair etc.
    • Useful. Several blunt weapons are also essential building tools.
    • High minimum damage. Total damage may be low, but it is reliable
  • NEUTRAL
    • Moderate resource cost to make. It doesn't take much skill to make a weapon heavy, just a lot of weapon.
    • Weakest part of a blunt weapon is the handle. Replacing the handle can fix many blunt weapons (need to add. Look at makeshift axes.)
    • Upgrade! Several blunt weapons can be upgraded for more damage.
    • Moderate range. You don't need to put your weapon through them, a glancing blow still does damage.
    • Moderate minimum range. Don't get surrounded or you can't knock them all down.
  • CONS
    • Lowest damage per zombie. Compared to all other weapons, blunt weapons do the least dps to individual zombies.
    • Moderate/Low swing speed. Faster than pole arms.
    • Blunt force instruments need to be swung. Cannot use most of them at maximum exertion.
    • While most CAN be used one handed, most blunt weapons are more effective two handed.
    • Uses a different skill set to bladed weapons.
    • Highest weight among comparable weapons.
    • High exertion usage. Slightly more than pole arms.
    • No/low critical chance.
  • PURPOSE
    • Blunt weapons are for escaping from, or if the survivor is touched in the head, fighting, zombie hordes. If your situation is looking desperate, if you woke up surrounded and they're coming through the windows, a good blunt weapon will get you out. The key to this is the large knock back and knock down modifiers, combined with the high multi target capability. A trained survivor with a good blunt weapon can keep a hoard on their backs long enough to kill them all, or run away. In addition, the high durability means they are unlikely to find themselves weaponless during a fight.
      The key weakness of the blunt weapons is their endurance cost. While a survivor wielding a blunt weapon CAN reliably take on a horde, they are going to need a good lie down afterwards. As such, blunt weapons are for emergencies, or planned clearing of an area. Otherwise, a reckless survivor will find themselves exhausted, unable to fight back or run.

Axes: Friend of the Survivor

  • PROS
    • Reliable damage (High minimum damage). Damage is partly due to weight, so even glancing blows do damage.
    • Useful. Axes are a basic tool
    • Moderate/High Durability. Less than blunt, more than pole arms. Axes are designed to withstand punishment
    • Moderate/High Damage. Less than pole arms, more than blades.
    • Moderate/High knock down
    • Repeatedly repairable. Due to the mass of the head, it can be repeatedly sharpened, while the handle can be replaced.
  • NEUTRAL
    • Comes in one handed and two handed versions.
    • Moderate swing speed.
    • Moderate/Low critical chance
    • Moderate knock back.
    • Moderate range. Roughly the same as blunt. More than blades.
  • CONS
    • Rare. Axes are prized but due to their specialized nature, they are far harder to find than blades or blunts.
    • Resource intensive to make. Not only do axes need as much materials as blunt weapons, they need to be sharpened and balanced too.
    • Moderate/High weight. Axes weigh almost as much as blunt weapons.
    • Moderate/High exertion cost. You can swing an axe longer than a similar blunt weapon, but not all day.
    • Dual purpose. Unlike other tools, an axe loses durability when used for its task.
  • PURPOSE
    • The axe is the best general purpose weapon a survivor can have, if they can afford to use it as one. It doesn't have the reach and damage of the pole arm, the CQC advantage of blades or the knock back of blunt weapons, but is still above average in almost all aspects. The problem is finding one, and keeping it. However, survivor should always carry a backup weapon better specialized to deal with situations they find difficult. Or two.

 

Sorry for the wall of text, but I hope you can appreciate the thought that has gone into this. I will be playtesting this myself for a while, please give me your thoughts.

 

Link to comment
Share on other sites

Just for a little bit of information, here is the whole contents of the Hit function in the java core. Note that this is calculated from the perspective of the character who gets hit (usually a zombie).

Some interesting things to note:

Several stats have ceiling and floor checks, knockback for instance.

There are hardcoded references to several weapon categories including:

  • Shoving does NO damage! No matter how often you shove a zombie, you won't hurt it.
  • Unarmed can never do more than 0.7 damage, even after modifiers, unless it critically hits.
  • Axes get a coded 2x bonus to damage, but only to standing enemies.

Then there is the nature of critical hits:

  • You CAN get up to 100% crit chance. None of that 95% limiter some games have.
  • Zombies that are downed give double crit chance.
  • Critical hits do 10x as much damage.

Some oddities that don't show up in this bit but are hidden in the statesmanager:

  • Staggered entities can't take damage and can't be shot at.
  • Others I have forgotten.

Enjoy!

Spoiler

 


 public void Hit(HandWeapon weapon, IsoGameCharacter wielder, float damageSplit, boolean bIgnoreDamage, float modDelta, boolean bRemote) {
    if ((wielder == null) || (weapon == null)) {
      return;
    }
    if (getStateMachine().getCurrent() == StaggerBackState.instance()) {
      return;
    }
    if (this.noDamage) {
      bIgnoreDamage = true;
      this.noDamage = false;
    }

    if (isOnFloor())
    {
      damageSplit = 1.0F;
      modDelta = 2.0F;
      bIgnoreDamage = false;
    }

    if ((wielder.legsSprite.CurrentAnim.name != null) && (wielder.legsSprite.CurrentAnim.name.contains("Shove")))
    {
      bIgnoreDamage = true;

      modDelta *= 1.5F;
    }

    LuaEventManager.triggerEvent("OnWeaponHitCharacter", wielder, this, weapon, Float.valueOf(damageSplit));
    if (LuaHookManager.TriggerHook("HookWeaponHitCharacter", wielder, this, weapon, Float.valueOf(damageSplit))) {
      return;
    }
    if ((this instanceof IsoSurvivor))
    {
      if (!this.EnemyList.contains(wielder))
      {
        this.EnemyList.add(wielder);
      }

    }

    this.staggerTimeMod = (weapon.getPushBackMod() * weapon.getKnockbackMod(wielder) * wielder.getShovingMod());

    if (((this instanceof IsoZombie)) && (Rand.Next(3) == 0))
    {
      this.emitter.playSound(this.hurtSound);
      if (GameServer.bServer) {
        GameServer.sendZombieSound(IsoZombie.ZombieSound.Hurt, (IsoZombie)this);
      }
    }
    WorldSoundManager.instance.addSound(wielder, (int)wielder.x, (int)wielder.y, (int)wielder.z, 5, 1);
    float damage = damageSplit;

    damage *= modDelta;

    float f = damage * weapon.getKnockbackMod(wielder) * wielder.getShovingMod();

    if (f > 1.0F)
      f = 1.0F;
    setHitForce(f);

    if ((wielder.HasTrait("Strong")) && (!weapon.isRanged()))
    {
      setHitForce(getHitForce() * 1.4F);
    }
    if ((wielder.HasTrait("Weak")) && (!weapon.isRanged()))
    {
      setHitForce(getHitForce() * 0.6F);
    }
    this.AttackedBy = wielder;
    float dist = IsoUtils.DistanceTo(wielder.getX(), wielder.getY(), getX(), getY());
    dist -= weapon.getMinRange();
    dist /= weapon.getMaxRange(wielder);
    dist = 1.0F - dist;
    if (dist > 1.0F)
      dist = 1.0F;
    this.hitDir.x = getX();
    this.hitDir.y = getY();
    this.hitDir.x -= wielder.getX();
    this.hitDir.y -= wielder.getY();
    getHitDir().normalize();
    this.hitDir.x *= weapon.getPushBackMod();
    this.hitDir.y *= weapon.getPushBackMod();
    this.hitDir.rotate(weapon.HitAngleMod);
    float del = wielder.stats.endurance;

    del *= wielder.knockbackAttackMod;
    this.hitBy = wielder;

    if (del < 0.5F)
    {
      del *= 1.3F;

      if (del < 0.4F) {
        del = 0.4F;
      }
      setHitForce(getHitForce() * del);
    }

    if (!weapon.isRangeFalloff()) {
      dist = 1.0F;
    }

    if (!weapon.isShareDamage()) {
      damageSplit = 1.0F;
    }

    if ((wielder instanceof IsoPlayer))
    {
      setHitForce(getHitForce() * 2.0F);
    }

    Vector2 oPos = tempVector2_1.set(getX(), getY());
    Vector2 tPos = tempVector2_2.set(wielder.getX(), wielder.getY());
    oPos.x -= tPos.x;
    oPos.y -= tPos.y;

    Vector2 dir = getVectorFromDirection(tempVector2_2);

    oPos.normalize();

    float dot = oPos.dot(dir);
    if (dot > -0.3F)
    {
      damage *= 1.5F;
    }

    if ((this instanceof IsoPlayer))
      damage *= 0.4F;
    else {
      damage *= 1.5F;
    }
    if ((weapon.getCategories() != null) && (weapon.getCategories().contains("Unarmed")) && (damage > 0.7F))
    {
      damage = 0.7F;
    }

    if ((weapon.getCategories().contains("Blade")) || (weapon.getCategories().contains("Axe")))
    {
      switch (wielder.getPerkLevel(PerkFactory.Perks.Axe))
      {
      case 0:
        damage *= 0.3F;
        break;
      case 1:
        damage *= 0.4F;
        break;
      case 2:
        damage *= 0.5F;
        break;
      case 3:
        damage *= 0.6F;
        break;
      case 4:
        damage *= 0.7F;
        break;
      case 5:
        damage *= 0.8F;
        break;
      case 6:
        damage *= 0.9F;
        break;
      case 7:
        damage *= 1.0F;
        break;
      case 8:
        damage *= 1.1F;
        break;
      case 9:
        damage *= 1.2F;
        break;
      case 10:
        damage *= 1.3F;
      }

    }

    if (weapon.getCategories().contains("Blunt"))
    {
      switch (wielder.getPerkLevel(PerkFactory.Perks.Blunt))
      {
      case 0:
        damage *= 0.3F;
        break;
      case 1:
        damage *= 0.4F;
        break;
      case 2:
        damage *= 0.5F;
        break;
      case 3:
        damage *= 0.6F;
        break;
      case 4:
        damage *= 0.7F;
        break;
      case 5:
        damage *= 0.8F;
        break;
      case 6:
        damage *= 0.9F;
        break;
      case 7:
        damage *= 1.0F;
        break;
      case 8:
        damage *= 1.1F;
        break;
      case 9:
        damage *= 1.2F;
        break;
      case 10:
        damage *= 1.3F;
      }

    }

    float critChance = weapon.CriticalChance;
    if (weapon.isRanged()) {
      critChance += weapon.getAimingPerkCritModifier() * (wielder.getPerkLevel(PerkFactory.Perks.Aiming) / 2);
    }
    if (isOnFloor()) {
      critChance *= 2.0F;
    }
    if (critChance > 100.0F) {
      critChance = 100.0F;
    }
    if ((Rand.Next(100) < critChance) && (!bIgnoreDamage)) {
      damage *= 10.0F;
    }

    if ((!isOnFloor()) && (weapon.getScriptItem().Categories.contains("Axe")))
    {
      damage *= 2.0F;
    }

    float KnockdownChance = 12.0F;

    if ((wielder instanceof IsoPlayer))
    {
      int moodleLevel = ((IsoPlayer)wielder).Moodles.getMoodleLevel(MoodleType.Endurance);
      if (moodleLevel == 4)
      {
        KnockdownChance = 50.0F;
      }
      else if (moodleLevel == 3)
      {
        KnockdownChance = 35.0F;
      }
      else if (moodleLevel == 2)
      {
        KnockdownChance = 24.0F;
      }
      else if (moodleLevel == 1)
      {
        KnockdownChance = 16.0F;
      }

    }

    if (weapon.getKnockdownMod() <= 0.0F) {
      weapon.setKnockdownMod(1.0F);
    }
    KnockdownChance /= weapon.getKnockdownMod();

    if (damage < weapon.getMinDamage() / 4.0F) {
      KnockdownChance += 10.0F;
    }
    if (((wielder instanceof IsoPlayer)) && (!weapon.isAimedHandWeapon())) {
      KnockdownChance = (float)(KnockdownChance - ((IsoPlayer)wielder).useChargeDelta * 2.5D);
    }
    if (KnockdownChance < 1.0F) {
      KnockdownChance = 1.0F;
    }
    if (KnockdownChance > 10.0F) {
      KnockdownChance = 10.0F;
    }
    if ((wielder instanceof IsoPlayer)) {
      KnockdownChance = (float)(KnockdownChance - ((IsoPlayer)wielder).Moodles.getMoodleLevel(MoodleType.Panic) * 1.3D);
    }

    boolean bKnockdown = Rand.Next((int)KnockdownChance) == 0;

    if (Core.getInstance().getGameMode().equals("Tutorial")) {
      bKnockdown = true;
    }

    float enduranceTwoHandsWeaponModifier = 0.0F;

    if ((weapon.isTwoHandWeapon()) && ((wielder.getPrimaryHandItem() != weapon) || (wielder.getSecondaryHandItem() != weapon))) {
      enduranceTwoHandsWeaponModifier = weapon.getWeight() / 1.5F / 10.0F;
    }
    float enduranceLoss = (weapon.getWeight() * 0.28F * weapon.getFatigueMod(wielder) * getFatigueMod() * weapon.getEnduranceMod() * 0.3F + enduranceTwoHandsWeaponModifier) * 0.04F;

    float realDmgLeft = damage;
    if (weapon.isAimedFirearm())
      realDmgLeft = damage * 0.7F;
    else {
      realDmgLeft = damage * 0.15F;
    }
    if (getHealth() < damage) {
      realDmgLeft = getHealth();
    }
    float dmgEnduranceModifier = realDmgLeft / weapon.getMaxDamage();

    if (dmgEnduranceModifier > 1.0F) {
      dmgEnduranceModifier = 1.0F;
    }

    if (isCloseKilled()) {
      dmgEnduranceModifier = 0.2F;
    }

    if (weapon.isUseEndurance()) {
      wielder.getStats().endurance -= enduranceLoss * dmgEnduranceModifier;
    }
    hitConsequences(weapon, wielder, bIgnoreDamage, damage, bKnockdown);
  }

  public void hitConsequences(HandWeapon weapon, IsoGameCharacter wielder, boolean bIgnoreDamage, float damage, boolean bKnockdown)
  {
    if ((this instanceof IsoPlayer))
    {
      if (bIgnoreDamage)
      {
        if (GameServer.bServer) {
          sendObjectChange("Shove", new Object[] { "hitDirX", Float.valueOf(getHitDir().getX()), "hitDirY", Float.valueOf(getHitDir().getY()), "force", Float.valueOf(getHitForce()) });
          return;
        }
        wielder.xp.AddXP(PerkFactory.Perks.Strength, 2.0F);
        setHitForce(Math.min(0.5F, getHitForce()));
        this.stateMachine.changeState(StaggerBackState.instance());
        return;
      }

      this.BodyDamage.DamageFromWeapon(weapon);
    }
    else
    {
      if ((wielder instanceof IsoPlayer))
      {
        if (!bIgnoreDamage)
        {
          if (weapon.isAimedFirearm()) {
            this.Health -= damage * 0.7F;
          }
          else {
            this.Health -= damage * 0.15F;
          }

        }

      }
      else if (!bIgnoreDamage)
      {
        if (weapon.isAimedFirearm()) {
          this.Health -= damage * 0.7F;
        }
        else {
          this.Health -= damage * 0.15F;
        }

      }

      if ((this.Health <= 0.0F) || (this.BodyDamage.getHealth() <= 0.0F) || (((weapon.isAlwaysKnockdown()) || (bKnockdown)) && ((this instanceof IsoZombie))))
      {
        DoDeath(weapon, wielder);
      }
      else
      {
        if (weapon.isSplatBloodOnNoDeath()) {
          splatBlood(3, 0.3F);
        }

        if (weapon.isKnockBackOnNoDeath())
        {
          if (wielder.xp != null) {
            wielder.xp.AddXP(PerkFactory.Perks.Strength, 2.0F);
          }
          this.stateMachine.changeState(StaggerBackState.instance());
        }
      }
    }
  }

 

 

Edited by SandyBeaches
Forgot shoving.
Link to comment
Share on other sites

sorry for double post but edit is not working.

 

Knock down is interesting too.

if ((this.Health <= 0.0F) || (this.BodyDamage.getHealth() <= 0.0F) || (((weapon.isAlwaysKnockdown()) || (bKnockdown)) && ((this instanceof IsoZombie))))
      {
        DoDeath(weapon, wielder);
      }

Basically;

  • For a zombie, having knockdown occur while already on the ground is instant death.
  • After a little bit of testing, it seems this is the main way we are actually killing zombies.
  • This is also the primary way a weaponless player kills (stomping) and why it is near impossible to kill zombies at low endurance.
    • Default unarmed does NO damage but has decent pushback and some knockdown.
    • Second knock down on downed zombie kills.
    • First level of exhaustion reduced knockdown chance by 50%!!!
    • Final level reduces knockdown chance to just 16% of normal.
  • Note that a weapon that always knocks down ignores the endurance calculation, and always kills a fallen zombie.
    • MODMAKERS TAKE NOTE! This is why low damage/high knock down weapons are still ridiculously deadly.
      • This has implications for my fist, blunt and pole arm plans.
  • Players are immune to second knockdown kill.

I may start tips thread with all this info in it..

Link to comment
Share on other sites

you know how on the wiki there are lots of items still with unaccounted for locations such as broken bicycle - http://undeniable.info/pz/wiki/item.php?Name=HCJunkbicycle

 

well thats all fixed now, turns out there was even hundreds of these items with no location accounted for but not anymore.
" Possibility of finding Broken Bicycle with the Search Junk Recipe "

and of course also shown on recipe page: http://undeniable.info/pz/wiki/recipe.php?ID=1620

so Now if you see an item with no stated location on the wiki it should be safe to assume that its an admin spawn item only.  that being said I just made this change so I may have overlooked something so let me know if something looks strange or doesnt make sence.

Edited by nolanri
Link to comment
Share on other sites

Tinkering with Weight Benches got me curious, is there a way to que up the activity? I've tried having it in my inventory, or on the ground while having half a dozen water sources but it doesn't seem like it wants to have a 'do multiple times' option. Looking into the past it used to need towels and was repeatable as long as you had clean towels, is there a new way to make it cycle?

Link to comment
Share on other sites

Well, I have been looking for a while and I didn't find an answer for this question so I asking you, there are renewable ignition sources? 

 

I only saw 2 ways, buy lighters in the trading post, but since it has to be spawned with admin privileges it fell like cheat, or then just use notched wooden planks, one for use. I'm missing something?

Link to comment
Share on other sites

35 minutes ago, LinkkuLegend said:

Well, I have been looking for a while and I didn't find an answer for this question so I asking you, there are renewable ignition sources? 

 

I only saw 2 ways, buy lighters in the trading post, but since it has to be spawned with admin privileges it fell like cheat, or then just use notched wooden planks, one for use. I'm missing something?

 

There's always the notched plank. Not fantastic, but it is renewable.

Link to comment
Share on other sites

I'm using for first time the Hydrocraft mod, I'm getting into how the mods works and I think I find out some bugs in recipes:

 

Spoiler

On media/scripts/Blueprints.txt

 

item HCBlueprintproflab
    {
         Weight            =    0.1,
         Type            =    Literature,
         DisplayName        =    Professional Lab Blueprints,
         Icon            =    HCBlueprint,
         TeachedRecipes     =       Build Professional Lab,
         ReplaceOnUse        =       HCBlueprintmeth,
    }

 


item HCBlueprintether
    {
         Weight            =    0.1,
         Type            =    Literature,
         DisplayName        =    Ether Medical Research,
         Icon            =    HCMedicalresearch,
         TeachedRecipes     =       Seperate Ether;Put Ether In Beaker;Soak Ripped Sheet With Selfmade Ether,
         ReplaceOnUse        =       HCBlueprintopium,
    }

 

And also should it be "Separate Ether" instead of "Seperate Ether"?

 

This mod add so much content that is a mess look through all that code haha a really nice job :)

Link to comment
Share on other sites

EEE89560260CDA48997838B771DB90BDF9E240FCB0C89AF32D9361A69DF463216031C1F688658493

 

Hydrocraft v6.9 has been released!

Which includes ...

 

- Fixed Decorate Pond

- Can Bury Trash.

- Can Craft your own Fire Suit.

- Added More Edibles and Littering Mods by Svarog! About half of each the mod has been added so far (more to be added later). However there are some crossover items. Such as Hydrocraft Canned Foods, Candy and Snacks now work like the Littering Mod items do. Also Litter mod cans can now be recycled. All the litter can be found in the Junkyard too!

- Thanks to everyone who helped this week!

 

Enjoy!

Edited by Hydromancerx
Link to comment
Share on other sites

8 hours ago, Hydromancerx said:

EEE89560260CDA48997838B771DB90BDF9E240FCB0C89AF32D9361A69DF463216031C1F688658493

 

Hydrocraft v6.9 has been released!

Which includes ...

 

- Fixed Decorate Pond

- Can Bury Trash.

- Can Craft your own Fire Suit.

- Added More Edibles and Littering Mods by Svarog! About half of each the mod has been added so far (more to be added later). However there are some crossover items. Such as Hydrocraft Canned Foods, Candy and Snacks now work like the Littering Mod items do. Also Litter mod cans can now be recycled. All the litter can be found in the Junkyard too!

- Thanks to everyone who helped this week!

 

Enjoy!

 

Does the litter mod add anything useful, or is it just a time tax?

Link to comment
Share on other sites

30 minutes ago, Lord Gonfalon said:

So now we have more trash on servers and it's harder and more time consuming to destroy said trash?  Not good man. 

I asked him to change it because the old recipe allowed players to repeatedly use the same bag over and over which only leaves it open to abuse. Yes, it makes the law abiding players job a little harder, but also helps to avoid griefing/trolling. Null issue.

Link to comment
Share on other sites

Had this mod forever but never used it, glad I finally put some serious hours into it! I'm wondering though, how does the vanilla generator work as an item? It seems to snap into place as a world object upon dropping. That would make these large objects more tolerable until the whole world object thing gets cracked. Clipping is a big deal breaker for me. Would be sweet if the assorted pallets acted like crates and stacked, too. Wish I'd trolled the forums before I grinded to get solar array before understanding it's purpose, too, lol 

Link to comment
Share on other sites

Ok i have the fire fighters jacket and helmet and i still am getting burned when using the smelter and the blast furnace. how do the hat and jacket work? i have the jacket in the primary slot and the hat in the secondary slot. 

Link to comment
Share on other sites

Anyone managed to find a big hiking bag since the last hydrocraft update? I have not and I had the same problem when build 34 hit IWBUMS and I fixed it by removing... more edibles. I think there is a bug with it and it carried over into hydrocraft.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...