Author Topic: How do I make Chryssalids not always succeed?  (Read 20794 times)

Offline The Reaver of Darkness

  • Commander
  • *****
  • Posts: 1512
    • View Profile
How do I make Chryssalids not always succeed?
« on: July 15, 2017, 05:47:57 am »
Currently, if a Chryssalid makes an attack against one of your soldiers, it deals damage based on the Chryssalid's strength. If the soldier is killed, a zombie spawns in its place. The Chryssalid may then cease the attack and go for a different soldier. But if the Chryssalid runs out of time units and still has not depleted the soldier's hit points, it will stop attacking and the soldier is killed anyway.

This can be tested with a soldier that has 250 armor, as the Chryssalid will be unable to cause any damage to the soldier. If you set the Chryssalid's attack to 1 TU cost, it will make a very large number of attacks, completely draining its remaining TUs to attack because it consistently fails. However at the end of its turn, the soldier is turned into a zombie anyway.


How do I turn off this function, so that the Chryssalid is required to actually kill the soldier in order to turn them into a zombie?

Offline Warboy1982

  • Administrator
  • Commander
  • *****
  • Posts: 2333
  • Developer
    • View Profile
Re: How do I make Chryssalids not always succeed?
« Reply #1 on: July 15, 2017, 09:54:59 am »
reduce their melee accuracy, they impregnate if they hit, damage is merely a side effect.

Offline Solarius Scorch

  • Global Moderator
  • Commander
  • *****
  • Posts: 11722
  • WE MUST DISSENT
    • View Profile
    • Nocturmal Productions modding studio website
Re: How do I make Chryssalids not always succeed?
« Reply #2 on: July 15, 2017, 12:31:32 pm »
reduce their melee accuracy, they impregnate if they hit, damage is merely a side effect.

I thought it only works if the Chryssalid does damage? (Meaning no zombification it the armour has stopped the attack completely.) Or am I just plain wrong?

Offline 7Saturn

  • Colonel
  • ****
  • Posts: 457
    • View Profile
Re: How do I make Chryssalids not always succeed?
« Reply #3 on: July 15, 2017, 01:02:14 pm »
My impression as well. I know this attack over attack behavior. But at the end, if the armor was thick enough, nothing happens. So AFAIK, it's not guaranteed for Chryssalids to succeed.

Offline Warboy1982

  • Administrator
  • Commander
  • *****
  • Posts: 2333
  • Developer
    • View Profile
Re: How do I make Chryssalids not always succeed?
« Reply #4 on: July 15, 2017, 01:34:09 pm »
see for yourself, in this function:
https://github.com/SupSuper/OpenXcom/blob/master/src/Battlescape/MeleeAttackBState.cpp#L215-L275

line 220: determine if the attack hits
line 239: impregnation
line 244: begin calculating damage
line 271: inflict damage
« Last Edit: July 15, 2017, 02:32:27 pm by Warboy1982 »

Offline The Reaver of Darkness

  • Commander
  • *****
  • Posts: 1512
    • View Profile
Re: How do I make Chryssalids not always succeed?
« Reply #5 on: July 15, 2017, 01:47:28 pm »
They definitely always succeed, regardless of whether or not they deal any damage. They are just willing to use up extra time units if they haven't killed the soldier yet.

reduce their melee accuracy, they impregnate if they hit, damage is merely a side effect.

That doesn't work for me. I want armor to make a difference against chryssalids. Currently, all it does is possibly cost them more time units before they inevitably succeed in the attack. If I lower their melee accuracy, they'll be less potent against unarmored soldiers as well.


« Last Edit: July 15, 2017, 02:01:49 pm by The Reaver of Darkness »

Offline Warboy1982

  • Administrator
  • Commander
  • *****
  • Posts: 2333
  • Developer
    • View Profile
Re: How do I make Chryssalids not always succeed?
« Reply #6 on: July 15, 2017, 02:34:31 pm »
this is why they have their reputation

Offline Yankes

  • Global Moderator
  • Commander
  • *****
  • Posts: 3350
    • View Profile
Re: How do I make Chryssalids not always succeed?
« Reply #7 on: July 15, 2017, 03:01:27 pm »
OXCE can reduce chance to success of special attack.

Offline Solarius Scorch

  • Global Moderator
  • Commander
  • *****
  • Posts: 11722
  • WE MUST DISSENT
    • View Profile
    • Nocturmal Productions modding studio website
Re: How do I make Chryssalids not always succeed?
« Reply #8 on: July 15, 2017, 09:30:54 pm »
Thanks for the explanation, Warboy.

...but isn't it kinda stupid? How do they insert the larva (or whatever) through the armour? :P

Offline The Reaver of Darkness

  • Commander
  • *****
  • Posts: 1512
    • View Profile
Re: How do I make Chryssalids not always succeed?
« Reply #9 on: July 15, 2017, 11:53:49 pm »
this is why they have their reputation
I don't think that's true. If their attack could be stopped by armor, they would still very easily take your troops down until at least the time when you get power suits, and even then they could still rip through your armor. Sometimes they would fail but their damage is high enough to succeed in one hit using UFO damage model, no matter how tough your soldier is. Their time units are so high they would still catch players unaware if they didn't take precautions to prevent chryssalids from ambushing them. Failure wouldn't be the norm, rather it would just be a thing that happened sometimes. One wouldn't find themselves truly dominating chryssalids until they really learned to prevent them having a chance to attack soldiers in the first place.


...but isn't it kinda stupid? How do they insert the larva (or whatever) through the armour? :P
They probably have an ovipositor that is capable of ripping through your strongest armor. But when the hit glances off or fails to break the armor, the eggs should fail to get in.
« Last Edit: July 15, 2017, 11:58:10 pm by The Reaver of Darkness »

Offline Warboy1982

  • Administrator
  • Commander
  • *****
  • Posts: 2333
  • Developer
    • View Profile
Re: How do I make Chryssalids not always succeed?
« Reply #10 on: July 16, 2017, 01:27:56 am »
no, it's true, they got a reputation for being incredibly deadly by... being incredibly deadly.

i'd just like to point out this is a video game, it doesn't have to make sense. it doesn't impregnate your soldiers using real world biology or physics, it impregnates your soldiers by means of "the GM says so"
« Last Edit: July 16, 2017, 01:33:54 am by Warboy1982 »

Offline The Reaver of Darkness

  • Commander
  • *****
  • Posts: 1512
    • View Profile
Re: How do I make Chryssalids not always succeed?
« Reply #11 on: July 16, 2017, 02:25:59 am »
My point is that the change I'm asking for wouldn't significantly affect how deadly they are, especially in the early game when you first meet up with them.


I'm not trying to get realism. I'm trying to get gameplay. Researching armor and paying time, money, and resources to make it in order to have it better protect your soldiers is gameplay. Having an enemy ignore that armor with no explanation other than "this is a scary enemy" is not gameplay, it's fake difficulty. I can balance the attributes of the armor and chryssalid however I want after I get the feature to make it as easy or hard as I like, but not having that option takes away my power as a designer to deliver the game experience I want to give people.

Offline Warboy1982

  • Administrator
  • Commander
  • *****
  • Posts: 2333
  • Developer
    • View Profile
Re: How do I make Chryssalids not always succeed?
« Reply #12 on: July 16, 2017, 03:48:25 am »
fair enough, i was simply explaining why it is the way it is.

currently it's not possible to do what you're describing. if you're using OXCE+ i'd say your best bet would be to pester Meridian to add an armour resistance value specifically for impregnation and work off that.

(as an aside: xcom is full of fake difficulty, it's kinda notorious for it, even)
« Last Edit: July 16, 2017, 03:54:41 am by Warboy1982 »

Offline The Reaver of Darkness

  • Commander
  • *****
  • Posts: 1512
    • View Profile
Re: How do I make Chryssalids not always succeed?
« Reply #13 on: July 16, 2017, 04:03:22 am »
(as an aside: xcom is full of fake difficulty, it's kinda notorious for it, even)
Very true, one of my biggest reasons for wanting to mod it.

Offline Solarius Scorch

  • Global Moderator
  • Commander
  • *****
  • Posts: 11722
  • WE MUST DISSENT
    • View Profile
    • Nocturmal Productions modding studio website
Re: How do I make Chryssalids not always succeed?
« Reply #14 on: July 16, 2017, 12:03:53 pm »
Yeah, I guess I will pester someone to modify this code of the zombification to only work if some damage was dealt...

The present "touch and you're dead" mechanics would be fine in a more abstract system, say in Space Hulk or Templar Batttleforce. But X-Com is more complex and more simulationist than that; such an abstract rule just looks like bad (or should I say lazy) design, not matching the rest.
« Last Edit: July 16, 2017, 12:09:22 pm by Solarius Scorch »