Author Topic: TFTD: Tentaculat editing  (Read 5840 times)

Offline Razuka

  • Squaddie
  • *
  • Posts: 6
    • View Profile
TFTD: Tentaculat editing
« on: February 07, 2018, 09:10:58 am »
Hello comrades! Sorry for my English.
I need some help.

How i can edit zombification feature of Tentaculat?
In my opinion, it's not realistic when your Aquanaut has transformation into a zombie unit so fast.
Fast spawn new Tentaculat from dead zombie also does not look realistic.

I tried to change some strings in files "items.rul" and "units.rul" such as:
- spawnUnit,
- damageType,
- battleType

in an ideal, I would like to see the process zobifications about 3-5 turns with the ability to protect against it on the basis of a high level of health or energy.
Are there a possibility to modify Med-Kit for heal infection?
Also I would not want that zombie spawn a new Tentaculat (only maybe after 5-8 turns - incubation period)

I understand that probably it's not so easy to do.
So I would be satisfied if Tentaculat`s weapon will look like Deep One feature, and without Zombification!  :P

Offline ohartenstein23

  • Commander
  • *****
  • Posts: 1933
  • Flamethrowers fry cyberdisk circuits
    • View Profile
Re: TFTD: Tentaculat editing
« Reply #1 on: February 07, 2018, 03:58:46 pm »
There's not a way to postpone/cure zombification in the game, sorry.

Offline Razuka

  • Squaddie
  • *
  • Posts: 6
    • View Profile
Re: TFTD: Tentaculat editing
« Reply #2 on: February 07, 2018, 04:15:49 pm »
I found a way to postpone zombification.
Its not a bad idea for Superhuman difficulty level ))

file: items.rul
type: TENTACULAT_WEAPON
accuracyMelee: 100 by default

I decrease this value to 14 points and testing now for balance.
Tentaculat`s attack now is not always ends with the aquanaut transformation.

Each soldier should have a chance of survival when meeting face to face with this monster.
« Last Edit: February 09, 2018, 12:26:48 pm by Razuka »

Offline The Reaver of Darkness

  • Commander
  • *****
  • Posts: 1512
    • View Profile
Re: TFTD: Tentaculat editing
« Reply #3 on: February 07, 2018, 10:10:10 pm »
Each soldier should have a chance of survival when meeting face to face with this monster.
I strongly agree, and I wish something would be implemented for this. I feel if the attack fails to get through armor and deals no damage, then it should not cause zombification.


One way you can alter it is by making the tentaculats unable to float up. Then you can use Magnetic Ion Armor and stay off the ground as much as possible. But then it's still not chance or skill based, rather you're just pushing an I-WIN button. Which is essentially what the tentaculat is doing when it attacks your soldier.

Offline Razuka

  • Squaddie
  • *
  • Posts: 6
    • View Profile
Re: TFTD: Tentaculat editing
« Reply #4 on: April 02, 2022, 11:32:37 pm »
It's funny to write something in this topic again after 4 years  :)
I decided to remember my youth and play TFTD again... and... yes, the problem with the flying brain still bothered me.
I couldn't come to terms with the fact that the transformation of an aquanaut into a zombie happens very quickly and was inescapable at close contact. This did not prevent me from playing comfortably even at the highest level of difficulty, but I still saw in this game mechanics a certain personal contradiction with my own logic.
And maybe I found 3 options for different solutions in this regard.

I.
At the moment, the main solution for me to the problem of this game mechanics will be the following:
Tentaculat deals only melee damage like as CALCINITE_TERRORIST and does not turn your soldiers into zombies
It will still be a strong opponent with powerful jaws who will be able to kill an inexperienced soldier even in the most advanced armor.
I slightly lowered the accuracy Melee parameter to it, so that you still have a small chance of evading a melee attack, just like in real life.
I also lowered the Reaction parameter for this monster, because sometimes it is very strange to watch how Tentaculat fly to your aquanaut across the entire map, and soldier stands with a full reserve of action points and does not make a shot.
It is important to note that this solution does not violate the description of the game universe. We can assume that the process of using the dead bodies of aquanauts as donors for future TENTACULATs is already taking place outside the framework of active hostilities.

I decided to dig into the game files.
I made changes in only 2 files in the folder "OpenXcom\standard\xcom2":
1) file "items.rul"
Spoiler:
- type: TENTACULAT_WEAPON
    bigSprite: 71
    meleeSound: 42
    strengthApplied: true
    damageType: 7
    accuracyMelee: 90 - I have reduced this parameter to 90
    tuMelee: 15
    battleType: 3
    fixedWeapon: true
    invWidth: 2
    invHeight: 3
    clipSize: -1
    recover: false   
    zombieUnit: STR_ZOMBIE - you should delete this line

2) file "units.rul"
Spoiler:
- type: STR_TENTACULAT_TERRORIST
    race: STR_TENTACULAT
    rank: STR_LIVE_TERRORIST
    stats:
      tu: 99
      stamina: 140
      health: 96
      bravery: 110
      reactions: 30 - I have reduced this parameter to 30
      firing: 50
      throwing: 50
      strength: 100
      psiStrength: 100
      psiSkill: 0
      melee: 80
    armor: TENTACULAT_ARMOR0
    standHeight: 22
    floatHeight: 2
    kneelHeight: 18
    value: 25
    deathSound: 52
    intelligence: 8
    aggression: 2
    livingWeapon: true
    moveSound: 64

II. An alternative option, if you don't want to lose the zombification.
You can try to change the following parameters in the above files at your discretion to find the optimal balance between the TENTACULAT attack and the chance of being infected:
 - accuracyMelee - "hit chance"
 - tuMelee - number of action points per attack

III. Another possible solution that requires an additional test.
Its meaning is that zombification does not turn off, but a zombie cannot be a carrier of a new TENTACULAT.
file "units.rul"
Spoiler:
- type: STR_ZOMBIE
    race: STR_ZOMBIE
    rank: STR_LIVE_TERRORIST
    stats:
      tu: 40
      stamina: 110
      health: 84
      bravery: 110
      reactions: 40
      firing: 0
      throwing: 0
      strength: 120
      psiStrength: 90
      psiSkill: 0
      melee: 80
    armor: ZOMBIE_ARMOR
    standHeight: 18
    kneelHeight: 18
    value: 18
    # Zombies are silent on death, no deathSound
    intelligence: 8
    aggression: 2
    spawnUnit: STR_TENTACULAT_TERRORIST - you can try to delete this line (requires testing)
    livingWeapon: true
« Last Edit: April 03, 2022, 11:46:50 am by Razuka »

Offline Nord

  • Commander
  • *****
  • Posts: 1747
  • The Gate is open.
    • View Profile
Re: TFTD: Tentaculat editing
« Reply #5 on: April 03, 2022, 02:12:23 am »
Allready discussed here many times.
There is a script, preventing zombification if armor is not penetrated.
Spoiler:
extended:
  scripts:
    damageUnit:
      - offset: -41.3
        code: |
          var ptr RuleArmor armorRuleset;
          var int armorSize;
         
          # do nothing if attacked not by a Chryssalid
          if eq to_transform 0;
            return;
          end;
         
          # prevent zombification and exit if no health lost
          if eq to_health 0;
            set to_transform 0;
            return;
          end;
         
          # exit if it's a big unit
          unit.getRuleArmor armorRuleset;
          armorRuleset.getSize armorSize;
          if eq armorSize 2;
            return;
          end;
         
          # otherwise kill the unit immediately
          unit.setHealth 0;
          return;

Offline Razuka

  • Squaddie
  • *
  • Posts: 6
    • View Profile
Re: TFTD: Tentaculat editing
« Reply #6 on: April 03, 2022, 11:59:54 am »
Allready discussed here many times.
There is a script, preventing zombification if armor is not penetrated.
Spoiler:
extended:
  scripts:
    damageUnit:
      - offset: -41.3
        code: |
          var ptr RuleArmor armorRuleset;
          var int armorSize;
         
          # do nothing if attacked not by a Chryssalid
          if eq to_transform 0;
            return;
          end;
         
          # prevent zombification and exit if no health lost
          if eq to_health 0;
            set to_transform 0;
            return;
          end;
         
          # exit if it's a big unit
          unit.getRuleArmor armorRuleset;
          armorRuleset.getSize armorSize;
          if eq armorSize 2;
            return;
          end;
         
          # otherwise kill the unit immediately
          unit.setHealth 0;
          return;

Thank you for comment, but I have a couple of questions.
 - Does this script work for the X-COM: Terror From the Deep?
 - Do I understand correctly that TENTACULAT`s attacks will damage the aquanaut's health if his armor is not penetrated?

Offline Nord

  • Commander
  • *****
  • Posts: 1747
  • The Gate is open.
    • View Profile
Re: TFTD: Tentaculat editing
« Reply #7 on: April 03, 2022, 12:18:39 pm »
 - yes, it works for any unit with zombyfiyng ability.
 - no, if armor is not penetrated, then no damage to health done. If damage to health >0, then we wil have zombie.

Offline Razuka

  • Squaddie
  • *
  • Posts: 6
    • View Profile
Re: TFTD: Tentaculat editing
« Reply #8 on: April 03, 2022, 12:42:26 pm »
  - no, if armor is not penetrated, then no damage to health done. If damage to health >0, then we wil have zombie.
That's the problem.
Then the TENTACULATs become weak opponents, because they will not be able to penetrate the soldier's armor themselves.
It is enough to have a strong armor and calmly walk your pets on a leash  :D

Offline Buscher

  • Colonel
  • ****
  • Posts: 168
    • View Profile
Re: TFTD: Tentaculat editing
« Reply #9 on: April 03, 2022, 07:50:30 pm »
That's the problem.
Then the TENTACULATs become weak opponents, because they will not be able to penetrate the soldier's armor themselves.
It is enough to have a strong armor and calmly walk your pets on a leash  :D

Tentaculats roll for 0-200 on beginner and 0-232 on superhuman. For the 32 refer to strength value as part of `statGrowthMultipliers:` in standard xcom2/difficulty.rul. This means that a Tentaculat will manage to pierce the front armor even of a Magnetic Ion Armor.
.
Tentaculats roll for 50-150 on beginner and 58-174 on superhuman. So there is some chance to pierce the front of a Magnetic Ion Armor (142). The increase is due to statGrowthMultipliers.


Also for a different solution you can check HCAT. You get some time to cure your soldiers, assuming they are not killed outright.

Edit: Forgot that TFTD uses 50-150 by default.
« Last Edit: April 03, 2022, 08:17:12 pm by Buscher »

Offline Razuka

  • Squaddie
  • *
  • Posts: 6
    • View Profile
Re: TFTD: Tentaculat editing
« Reply #10 on: April 04, 2022, 10:22:37 am »
Also for a different solution you can check HCAT. You get some time to cure your soldiers, assuming they are not killed outright.

Hm... This could be interesting.

Spoiler:
Features:
- Chryssalids and Tentaculats infect soldiers
- Infected soldiers turn to zombies whether by the infection itself or by any other damage
- Infected soldiers are indicated with a green color as visible feedback
- Medi-Kit can cure infections (previous painkiller position)
- Cure charges are dependent on research. The more research is done on Chryssalids and Tentaculats the more charges a Medi-Kit gets
- Infected surviving soldiers will be wracked by the parasite. This means that they will lose stats when finishing a mission still infected.
- Depending on research the stats loss will be reduced to 0.

 I will try your mod soon. I hope it is compatible with OpenXcom.
Thanks for your reply.

Offline The Reaver of Darkness

  • Commander
  • *****
  • Posts: 1512
    • View Profile
Re: TFTD: Tentaculat editing
« Reply #11 on: April 12, 2022, 03:59:25 am »
That's the problem.
Then the TENTACULATs become weak opponents, because they will not be able to penetrate the soldier's armor themselves.
It is enough to have a strong armor and calmly walk your pets on a leash  :D

You can adjust the Tentaculat's attack to alter its likelihood of/ability to penetrate armor.

I have been using this script in my mod for a while now. Here is what I have done to the Chryssalid's attack:
Code: [Select]
items:
  - type: CHRYSSALID_WEAPON
    strengthApplied: true
    damageAlter:
      ArmorEffectiveness: 0.8
      ToArmor: 0
      ToArmorPre: 0.15
    damageType: 7
units:
  - type: STR_CHRYSSALID_TERRORIST
    stats:
      strength: 70
In my mod, the Chryssalid's attack applies 70 power worth of melee damage (type 7), which ranges from 52.5 to 87.5 due to my global 75-125% damage range. (Vanilla is 0-200%.) This attack also ignores 20% of the target's armor. For a target with no weakness or resistance to melee, this attack will be able to hit health past 65 - 109 armor. This means that if the target has 110 armor or greater, they will definitely survive, but if they have 65 armor or less, they definitely will not survive. If the unit does survive, then the attack damages their armor for 15% of the incoming damage (5 - 16 armor).

In practice, it means that poorly-armored units are quickly taken out by Chryssalids, moderately-armored units can usually survive a few attacks, and heavily-armored units don't have much to fear from Chryssalids.

You can adjust several different values to achieve desirable results within your own mod. And if you're not sure how to do it, leave a description of what you want to achieve, and I or someone else may explain how to accomplish it.