Author Topic: UFOpaedia-friendly Celatid [UNIT] [OXCE]  (Read 12058 times)

Offline Kzer-Za

  • Colonel
  • ****
  • Posts: 140
    • View Profile
Re: UFOpaedia-friendly Celatid [UNIT] [OXCE]
« Reply #15 on: September 05, 2019, 11:25:53 am »
I think the difficulty is already factored in by the amount of Celatids originally spawned in the map. Where on one level you would encounter 1 Celatid, on another you encounter, say 4. Each of them creates a clone every X turns, so the amount of clones is already proportional to the difficulty level. If I also increase their cloning rate with level, the difference between the levels will be too sharp. What "X" is equal to is another matter, this is debatable. I thought that if I made it less than three, then most players would see Celatids clone themselves too rarely. Besides, now they attack not so often as before, because, as I mentioned in the description, I thought that cloning should take some time, so on the cloning turn they have 50% TUs. But if people think that 3 turns is too frequent, I will decrease it. Perhaps, 5 turns?

Concerning the unused frames: that's a good idea, but can you explain how to use them? Since I can't draw, I didn't bother learning how to use existing sprites either. Also, there is the issue of the embryo sprite for inventory. Ok, for this I can repaint a stun bomb into green, perhaps. But I still would need a PNG of a stun bomb.

Offline Tiny Wisdom

  • Sergeant
  • **
  • Posts: 18
    • View Profile
Re: UFOpaedia-friendly Celatid [UNIT] [OXCE]
« Reply #16 on: September 05, 2019, 09:01:26 pm »
I think the difficulty is already factored in by the amount of Celatids originally spawned in the map. Where on one level you would encounter 1 Celatid, on another you encounter, say 4. Each of them creates a clone every X turns, so the amount of clones is already proportional to the difficulty level.

This is a good point that slipped my mind.

I used the battle generator to test it out but after the 3rd/4th turn the game crashed with the following error:

Code: [Select]
[FATAL] A fatal error has occurred: Invlid surface set 'BIGOBS.PCK' for item 'CELATID_CLONE_WEAPON': not enough frames
Either OXCE-5.6.2-1e89df63f-2019-08-15 isn't enough or you are missing something trivial in CELATID_CLONE_WEAPON.

Concerning the unused frames: that's a good idea, but can you explain how to use them? Since I can't draw, I didn't bother learning how to use existing sprites either. Also, there is the issue of the embryo sprite for inventory.

Download and extract MapView2 (also called OpenXCOM.Tools) from here.

Copy CELATID.PKG & CELATID.TAB from UFO\UNITS (so you are not directly modifying the game files) and open CELATID.PKG with PckView which is bundled with MapView2 (also called OpenXCOM.Tools) by navigating to File > "Open Pck (terrain/unit)".

When you are successful, you'll see something like this.

Now for some technical stuff, Celatids use drawing routine 9 and are in constant animations.

Referencing the relevant code here and here shows that their living sequence is hardcoded to start on frame 0 and end on frame 7 (8 frames altogether), whereas their death sequence simply starts on frame 25 and is limited to 3 frames by default (e.g. the death sequence could probably be from frame 25 to 50).

This means that to create new animation sequences for drawing routine 9, you need to define frames 0 to 7 and then frames 25 to 27 (i.e. frames 8 to 24 can be blank since they will be ignored anyway) and unless you increase the number of death frames (i.e. deathFrames).

PckView is surprisingly powerful and can accomplish this with relative ease.

Ok, for this I can repaint a stun bomb into green, perhaps. But I still would need a PNG of a stun bomb.

PckView lets you paint with pixel precision.

Just copy BIGOBS.PKG & BIGOBS.TAB from UFO\UNITS and open BIGOBS.PKG with with PckView by navigating to File > "Open Pck (bigobs)" where you'll find the stun bomb on frame 38.

Actually, you know what, I made some time and attached some proof of concepts (just to show it can be done). I only consider the repainted stun bomb "final" but the clone animation sequence from the Celatid egg/spore could definitely be more seamless.

Note: I used ImageMagick to turn a sequence of PNG files into GIF format since PckView can't do that. For the game you can just have a custom pair of PCK and TAB files.

Edit: I was able to fix the crash by replacing:

Code: [Select]
    builtInWeapons:
      - CELATID_CLONE_WEAPON

with:

Code: [Select]
    livingWeapon: true
and removing:

Code: [Select]
extraSprites:
  - type: X1.PCK
« Last Edit: September 05, 2019, 11:53:45 pm by Tiny Wisdom »

Offline Kzer-Za

  • Colonel
  • ****
  • Posts: 140
    • View Profile
Re: UFOpaedia-friendly Celatid [UNIT] [OXCE]
« Reply #17 on: September 06, 2019, 10:49:49 am »
Concerning the crash with the CELATID_CLONE_WEAPON; that's strange, I tested  it on a nightly version 5.6.1 (v2019-08-03) and on 5.6.2 (v2019-08-28), both didn't crash. Maybe something was temporarily up with OXCE-5.6.2-1e89df63f-2019-08-15? Besides, I created this weapon by simply copying the rule of the original CELATID_WEAPON and decreasing the power and accuracy, since I wanted the clones to be slightly weaker than full-grown Celatids. So, maybe it was removing of

Code: [Select]
extraSprites:
  - type: X1.PCK

that fixed the issue? Though in my installation I didn't have problems with that. Could you please check if this issue is there with the latest nightly?

And thanks for the explanations on animations! I'll get to it in about a week, when I have some time again.

Offline Meridian

  • Global Moderator
  • Commander
  • *****
  • Posts: 8598
    • View Profile
Re: UFOpaedia-friendly Celatid [UNIT] [OXCE]
« Reply #18 on: September 06, 2019, 11:19:43 am »
Concerning the crash with the CELATID_CLONE_WEAPON; that's strange, I tested  it on a nightly version 5.6.1 (v2019-08-03) and on 5.6.2 (v2019-08-28), both didn't crash. Maybe something was temporarily up with OXCE-5.6.2-1e89df63f-2019-08-15? Besides, I created this weapon by simply copying the rule of the original CELATID_WEAPON and decreasing the power and accuracy, since I wanted the clones to be slightly weaker than full-grown Celatids. So, maybe it was removing of

Code: [Select]
extraSprites:
  - type: X1.PCK

that fixed the issue? Though in my installation I didn't have problems with that. Could you please check if this issue is there with the latest nightly?

And thanks for the explanations on animations! I'll get to it in about a week, when I have some time again.

probably incorrect reuse of bigobs from xcom1, read more here: https://www.ufopaedia.org/index.php/Ruleset_Reference_Nightly_(OpenXcom)#Negative_indices_and_cross-referencing_other_mods

Offline Kzer-Za

  • Colonel
  • ****
  • Posts: 140
    • View Profile
Re: UFOpaedia-friendly Celatid [UNIT] [OXCE]
« Reply #19 on: September 06, 2019, 12:10:28 pm »
Strange that in my case everything is working, but to be on the safe side I replaced in CELATID_CLONE_WEAPON "bigSprite: 60" with "bigSprite: { mod: xcom1, index: 60 }".

Offline Tiny Wisdom

  • Sergeant
  • **
  • Posts: 18
    • View Profile
Re: UFOpaedia-friendly Celatid [UNIT] [OXCE]
« Reply #20 on: September 06, 2019, 08:47:39 pm »
Concerning the crash with the CELATID_CLONE_WEAPON; that's strange, I tested  it on a nightly version 5.6.1 (v2019-08-03) and on 5.6.2 (v2019-08-28), both didn't crash. Maybe something was temporarily up with OXCE-5.6.2-1e89df63f-2019-08-15? Besides, I created this weapon by simply copying the rule of the original CELATID_WEAPON and decreasing the power and accuracy, since I wanted the clones to be slightly weaker than full-grown Celatids. So, maybe it was removing of

Code: [Select]
extraSprites:
  - type: X1.PCK

that fixed the issue? Though in my installation I didn't have problems with that.

Technically what I had were 2 separate crashes with the same reason given.

The first crash happened on the 3rd turn and was fixed by removing the extraSprites section.

After that, the second crash happened on 4th turn and was fixed by defining livingWeapon.

I find it strange myself that this fixed it.

A couple things though... why is the extraSprites section there? X1.PCK contains the grenade animation which isn't used here. From what I see that section should be removed irregardless.

At first glance, the ruleset reference suggests that defining lvingWeapon won't work since it requires the "grenades" be marked as fixedWeapon which mean they can't be dropped but when I tested it, the cloning process still worked.

Could you please check if this issue is there with the latest nightly?

For the record, whatever is linked here is what I consider to be the latest OXCE "nightly". If you are building from scratch or using an unlinked version you'll probably only have a handful of people who will experience your mod as intended.

Which, incidentally, is why when I tested your Chryssalid tweaks, they all spawned dead.

Edit: I did some digging around and found https://lxnt.wtf/oxem/#/Extended which is labeled as "Latest version(s) for Linux" in the main post but also contains builds for Windows.

Either the main post should be updated or anything newer than 5.6.2-1e89df63f-2019-08-15 are "nightly nighties" and it might be a safe assumption that most are not using it.

Strange that in my case everything is working, but to be on the safe side I replaced in CELATID_CLONE_WEAPON "bigSprite: 60" with "bigSprite: { mod: xcom1, index: 60 }".

I reverted my changes and used this instead and everything worked as intended.

I still question the extraSprites section though.

I'll let you know how I fared after I encounter a Celatid.

That said... since I had some times I went quite a few rounds with your Celatids and I think 3 turns might just indeed be balanced.

However, I think the primary Celatids should act more like rear commanders. This means removing psiVision from the primaries and giving it to the clones instead. This prevents the primaries from charging towards possible targets and thus increases the possibility that they'll survive to create more clones.

But to make the primaries somewhat opportunistic, the primaries should be marked with sniper while the clones should be marked with spotter. This means that the primaries could potentially attack what the clones see.

I get that you are want the Celatids to be UFOpedia-friendly so if you are opposed to removing psiVision from them, consider reducing it by a bit less than half (like say 6) and take it as though the primaries are more resistant to human brain waves.

Just my two cents.

Offline Kzer-Za

  • Colonel
  • ****
  • Posts: 140
    • View Profile
Re: UFOpaedia-friendly Celatid [UNIT] [OXCE]
« Reply #21 on: September 07, 2019, 06:07:52 pm »
Maybe extrasprites is not really needed, I added it as a part of the patch that removed explosion animation from the "grenades" when they went off.

About making Celatid clones into spotters I'm apprehensive because, as far as I know, you can't limit spotters to relaying their information to only a certain type of units. I mean, it would be okay if they spotted only for primary Celatids (kind of psi-link between them), but if someone uses a mod in which, e.g. Muton navigators are snipers, then they (navigators) would also get information from the clones. That would, in my opinion, be unreasonable both from the "realism" point of view since Celatids are not sentient, and from the gameplay one since it would essentially give non-Celatid snipers psi-vision too (since Celatids would detect someone with psi-vision and relay that information to snipers).

To make primary Celatids more or less stay in hiding it's not necessary to decrease their psi-vision radius. We can just decrease their aggression to 1 or 0. I think, 1 would be okay, and I made this change, but I won't be able to test it for a week or so.

Offline Tiny Wisdom

  • Sergeant
  • **
  • Posts: 18
    • View Profile
Re: UFOpaedia-friendly Celatid [UNIT] [OXCE]
« Reply #22 on: September 08, 2019, 10:34:07 pm »
About making Celatid clones into spotters I'm apprehensive because, as far as I know, you can't limit spotters to relaying their information to only a certain type of units. I mean, it would be okay if they spotted only for primary Celatids (kind of psi-link between them), but if someone uses a mod in which, e.g. Muton navigators are snipers, then they (navigators) would also get information from the clones. That would, in my opinion, be unreasonable both from the "realism" point of view since Celatids are not sentient, and from the gameplay one since it would essentially give non-Celatid snipers psi-vision too (since Celatids would detect someone with psi-vision and relay that information to snipers).

I knew about this concern but I never experienced it myself so I left my theoretical changes in place until I encountered a Celatid.

And boy, oh boy... it was a slaughter. The clone Celatids took point and the Mutons rained reaction fire. I lost over half my troops (barely taking out 4 aliens in the process) before I noped out of there.

Definitely felt "cheaty".

To make primary Celatids more or less stay in hiding it's not necessary to decrease their psi-vision radius. We can just decrease their aggression to 1 or 0. I think, 1 would be okay, and I made this change, but I won't be able to test it for a week or so.

So yeah, unless the spotter/sniper values can be further restricted that idea is out the window.

I'm going to try reducing the aggression instead as you mentioned.

Offline N7Kopper

  • Captain
  • ***
  • Posts: 59
    • View Profile
Re: UFOpaedia-friendly Celatid [UNIT] [OXCE]
« Reply #23 on: September 24, 2019, 11:31:20 pm »
A further lore-friendliness problem rears its head from the limitations of psiVision: Namely, the inability (unless the Wiki needs updating) to define specific units that can or can't be spotted by specific armour's psiVision at all, or by it in general other than through fearImmune. Celatids can detect human brainwaves according to the 'pedia, but would also be able to psisee dogs, Sectoid hybrids, Tau, elves, or whatever other player units you have in your modpack that are subject to morale rules. (and as an aside, that also means you'd have a harder time of making heroes who are immune to panic but can still be psi sensed, but I'm pretty sure that's possible by tinkering with bravery formulae)

But that is/was a limitation of OXCE, not a problem with this mod. Just wanted to mention it.
« Last Edit: September 24, 2019, 11:33:53 pm by N7Kopper »

Offline Solarius Scorch

  • Global Moderator
  • Commander
  • *****
  • Posts: 11408
  • WE MUST DISSENT
    • View Profile
    • Nocturmal Productions modding studio website
Re: UFOpaedia-friendly Celatid [UNIT] [OXCE]
« Reply #24 on: September 25, 2019, 11:07:32 am »
Seeing people while not seeing elves or dogs reeks of BS anyway. I can't come up with a single explanation for it, apart from magic (probably poorly designed).

Offline Meridian

  • Global Moderator
  • Commander
  • *****
  • Posts: 8598
    • View Profile
Re: UFOpaedia-friendly Celatid [UNIT] [OXCE]
« Reply #25 on: October 01, 2020, 09:58:36 pm »
Stunned celatid clone unit cannot be recovered alive, because the corresponding geoscape item is missing.

You can fix the mod by adding an item like this:

Code: [Select]
  - type: STR_CELATID_CLONE
    size: 0.0
    recover: true
    liveAlien: true
    costSell: 40000

Offline zee_ra

  • Colonel
  • ****
  • Posts: 200
    • View Profile
Re: UFOpaedia-friendly Celatid [UNIT] [OXCE]
« Reply #26 on: April 11, 2023, 06:43:41 pm »
Stunned celatid clone unit cannot be recovered alive, because the corresponding geoscape item is missing.

You can fix the mod by adding an item like this:

Code: [Select]
  - type: STR_CELATID_CLONE
    size: 0.0
    recover: true
    liveAlien: true
    costSell: 40000

Is there a way for me as a modder to know which specific frames in a given pck are missing?  Currently, the debug message states only that some frames are missing, but does not say which.