aliens

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - The Martian

Pages: [1] 2 3 ... 9
1
Could someone please upload the default image used by X-COM: UFO Defense for the customArmorPreviewIndex: image?


I found the one used by TFTD but unfortunately haven't come across the UFO version.

2
Released Mods / [TFTD][OXCE] Increased Alien Randomization
« on: February 09, 2023, 12:19:59 am »
[OpenXcom Extended version 7.8 or newer is required to use this mod] (Get OXCE 'HERE')

This mod will increase the amount of randomization that is being used to determine which alien race is crewing each alien submarine.

Each alien race will still only start appearing during the month they would have first potentially been encountered in the base game.

The Colony Supply Missions are an exception to this and may have more dangerous aliens onboard during earlier months.

Spoiler:
The Transmission Resolver will no longer be able to tell you exactly which race is piloting an alien craft, but it will give you an idea about the range of the threat level that 'could' be onboard instead.

Changelog:
(V1-1)
- Fixed a problem with aliens attacking X-Com bases not using the correct races.

Download:
- Increased Alien Randomization TFTD (V1-1).zip
- Increased Alien Randomization TFTD (V1-0).zip

3
OpenXcom Extended version: 7.8 (v2022-10-29)

I've been trying to use alienDeployments: genMissionRaceFromAlienBase: false to cause an alien base's colony supply mission to use the alienMissions: raceWeights: settings to assign the UFO's race instead of the base itself.

Code: [Select]
alienDeployments:

# [=] Fleet Supply Cruiser [=]
  - &STR_FLEET_SUPPLY_CRUISER
    type: STR_FLEET_SUPPLY_CRUISER
    genMissionRaceFromAlienBase: false    # true (default) = take race from base (vanilla behavior); false = take from mission 'raceWeights' if not empty (if empty take from base)

Code: [Select]
alienMissions:

# [=] Alien Supply [=]
  - &STR_ALIEN_SUPPLY
    type: STR_ALIEN_SUPPLY
    points: 0
    objective: 5
#    raceWeights: {} #Special case, race comes from base.
    raceWeights:
      0:
          STR_IAR_EXTREME_THREAT: 100
    waves:
      - ufo: STR_FLEET_SUPPLY_CRUISER
        count: 1
        trajectory: P9
        timer: 6000
        objective: true

Unfortunately instead of the race being "Extreme Threat" I keep getting other races assigned like "Intermediate Threat" and "Low Threat" which makes me think that it is still inheriting its race from the base that is spawning the mission.


Using the saved game attached to this post the Colony Supply Mission will appear on either 31st Aug 2040 (Sub-147) or 6th Aug 2040 (Sub-134) depending on if you've turned on debug mode while still in July.


Loaded save without re-activating debug in July: Alien Sub-147 31st Aug 2040
Spoiler:

Loaded save and re-activated debug in July: Alien Sub-134 6th Aug 2040
Spoiler:


Am I using genMissionRaceFromAlienBase: incorrectly?

4
If I understand how genMissionRaceFromAlienBase: and huntMissionRaceFromAlienBase: work they override the assignment of a UFO's crew so that instead of being from the base launching them it uses the raceWeights: settings in the related alienMissions: entry.

What I suggest is that a true / false variable is added to alienDeployments: that is similar to those two except that it causes the UFO to be assigned the race matching the alienDeployments: race: or randomRace: variable's result while it is on the Geoscape so that the Hyper-wave Decoder / Transmission Resolver can accurately list the race crewing that UFO.

To give an example of why that could be useful I've been trying to code a mod that makes use of randomRace: to cause all UFOs in the same wave to randomize their crews. However as a result the Hyper-wave Decoder no longer will produce accurate results. To alleviate this inaccuracy I've been trying to use placeholder races that represent the range of what could spawn. Unfortunately the negative of this is that the worth of building the Hyper-wave Decoder is reduced for the player which was not my intent.

5
Help / Retaliation missions are spawning with unexpected results?
« on: February 02, 2023, 12:00:13 am »
(OXCE V7.8 - Increased Alien Randomization TFTD V0.3 mod)

I have encountered something unexpected involving the 'Retaliation / Floating Base Attack' missions.

Crafts that should spawn with the a placeholder race of "High Threat" are instead being crewed by "Low Threat" race.

Spoiler:

In that battlescape it spawned as a Lobster which confirms it really was the "High Threat" and the wrong race had been assigned.

Spoiler:

All UFOs & Mission types should match with the 'threat level' placeholder race matching either the normal, advanced or elite UFO. I've temporarily placed an 'A' after the name for all advanced Sub Type / Mission and an 'E' for the elites to make debugging easier using a Transmission Resolver.

My guess was that the UFO was inheriting the race of the base that was launching it so I added the following code to all alienDeployments: entries:
Code: [Select]
    genMissionRaceFromAlienBase: false    # true (default) = take race from base (vanilla behavior); false = take from mission 'raceWeights' if not empty (if empty take from base)
    huntMissionRaceFromAlienBase: false
And that did clear up a similar problem with other UFOs but unfortunately the retaliation UFOs continued to be crewed by the wrong race.

I have the elite retaliation missions in alienMissions: setup to only have the "High Threat" race in its raceWeights: so I'm not sure how it is assigning any race outside of that list.
Code: [Select]
alienMissions:

# [=] Alien Retaliation [=] <Elite>
  - type: STR_ALIEN_RETALIATION_ELITE
    refNode: *STR_ALIEN_RETALIATION
    raceWeights:
      0:
          STR_IAR_HIGH_THREAT: 100
    waves:
      - ufo: STR_SURVEY_SHIP_ELITE
        count: 1
        trajectory: P8
        timer: 3000
      - ufo: STR_ESCORT_ELITE
        count: 2
        trajectory: P8
        timer: 3000
      - ufo: STR_CRUISER_ELITE
        count: 3
        trajectory: P8
        timer: 3000
      - ufo: STR_DREADNOUGHT_ELITE
        count: 2
        trajectory: P8
        timer: 3000

Are 'Alien Retaliation / Floating Base Attack' missions configured differently than the rest since they can be spawned as a result to X-Com's activity?

There hadn't been any alien craft shot down when I was debugging so I was not expecting to see retaliation missions yet and I don't think enough time had passed to trip any of the difficulty retaliation mission scripts. It is possible that using Debug mode turned on the researchRetaliation mission script due to granting all research, but that entry should also have spawned an elite ship with the matching placeholder 'High Threat' race.

I'm stepping through the code to see if I've accidently misconfigured one the retaliation missions but so far everything seems to have the right race assigned. Does huntMissionRaceFromAlienBase: & genMissionRaceFromAlienBase: not effect retaliation missions?


For convenience an updated version of the mod and a save file with the Alien Sub-30 from the screenshot is attached to this post.

6
Help / UFOs unexpectedly stop spawning after the month of May?
« on: January 29, 2023, 09:46:09 pm »
After Solarius Scorch suggested using the alienDeployments: to control which alien race will be fought during the Battlescape I set to work creating a mod to up the encounter variety for TFTD using the randomRace: variable, and it works! (At least it appears to be, I haven't tested it thoroughly.)

Unfortunately what doesn't work is that after the month of May the aliens stop spawning most UFOs. (Colony Supply & Terror missions keep occurring, the rest stop completely.)

I'm still missing something crucial about how UFO spawns are setup, I think the problem is in the missionScripts: file but I'm not sure.

How I've got it setup is so that the original 'recon' missionScript: ends and is followed by 'reconAdvanced' which then also ends and is succeeded by 'reconElite'. However it seems that after the 'recon' missionScript: stops running the others are not starting.

I suspect that the 'recurringTerror' 'recurringTerrorAdvanced' 'recurringTerrorElite' missionScript: are also encountering the same problem.


Could someone please take a quick look and see if you spot something?


Mod Download:
Increased Alien Randomization TFTD (V0-1).zip

7
OXCE Support / [Solved] UFOs in the same wave with different races?
« on: January 27, 2023, 04:38:53 pm »
My current understanding is that when a alienMissions: entry starts its waves: all UFOs share the same alien race.

Is there a variable I can assign or something script related that would allow for each UFO in a wave to have a different alien race?

Fighting the same alien until the end of the month can be a bit repetitive, if possible I'd like to increase the variety of aliens in the same month.


If this functionality doesn't already exist please consider this a feature request.

Perhaps something like being able to also assign the race weights to the UFO sets in the waves: section and having just those UFOs re-roll the crew's race and override the waves currently assigned race with the rest of the wave continuing to spawn using the one that was picked when that mission first started.

Code: [Select]
  - type: STR_ALIEN_PROBE_MISSION
    RaceWeights:
      0:
          STR_AQUATOID: 50
          STR_GILLMAN: 50
    waves:
      - ufo: STR_SURVEY_SHIP
        count: 1
        trajectory: P0
        timer: 9000
      - ufo: STR_ESCORT
        count: 1
        trajectory: P2
        timer: 7800
        RaceWeights:
          0:
              STR_AQUATOID: 25
              STR_GILLMAN: 20
              STR_LOBSTERMAN: 20
              STR_TASOTH: 35
      - ufo: STR_CRUISER
        count: 2
        trajectory: P4
        timer: 9000
      - ufo: STR_LOBSTER_CRUISER_OF_DOOM
        count: 2
        trajectory: P4
        timer: 9000
        RaceWeights:
          0:
              STR_LOBSTER: 100




8
OXCE Support / [Solved] HK soft lock
« on: January 20, 2023, 07:23:02 am »
2. HKs can instantly destroy defenseless craft when player presses the red self-destruct button.

Defenseless means:
- slower than the UFO
- has no more ammo left
- there are no more active (still flying) projectiles
Spoiler:

(OpenXcom Extended 7.8)

I'm softlocked in the interception screen.

While testing the hunter killer feature I threw an unarmed Triton at an unarmed alien UFO.

As as expected the only available option was to click the red button in the upper left corner to activate self-destruct.

However nothing happens no matter how long I wait. Pressing the button again displays the message Self-Destruct Cancelled.

Once self-destruct is activated what do I need to press to confirm it and destroy the X-Com craft?

I also could not escape by pressing ESC to bring up the menu to abandon the game or close the program.
Spoiler:

9
OXCE Support / [Solved] Debug Mode: Score?
« on: January 19, 2023, 11:09:27 am »
Is there a debug key that gives the player infinite score or something like that?

I did not spot one on the OpenXcom 'Debug mode' section of the UFOpaedia.org site.

Having to shoot down unrelated UFOs and deal with missions is eating up a lot of my time while I'm testing new code.

10
Help / Controlling UFO spawns?
« on: January 19, 2023, 10:49:15 am »
I've been trying to learn how the spawning of UFOs work but the exact method of controlling it is still escaping me.

To test this I've setup a small testing mod that has several races and also has all of the default alienMissions: and missionScripts: deleted. The regions: have also been altered to change the missionWeights: settings.

(Edit: Found the mistake in my code causing Cruisers to spawn. They still aren't spawning very often though.)
With that I thought I had it but the UFOs are not spawning correctly so I am missing something and despite setting all the alienMissions: to spawn only STR_SURVEY_SHIP I'm still getting Cruisers and the UFOs are also not spawning very often even though the waves: timer: was set to a low number.

Spoiler:


I'm not totally sure how missionScripts: 'recon' & 'invasion' work as they are mostly empty compared to the other entries:

Code: [Select]
  - type: recon
    firstMonth: 1
  - type: invasion
    firstMonth: 6

My theory is that 'recon' starts all UFOs spawning and 'invasion' is the same as 'recon' and that both will run at the same time doubling the amount of spawned UFOs starting at month 6.

The race of the aliens crewing the UFOs did not seem to change very often until I reduced the number of ships in each alienMissions:  waves: to 1. Is the race of the craft only selected when the beginning of a waves: starts and is then used for all the other ships that will appear in that wave?


Any help would be appreciated, what am I missing here?

11
Tools / Art Testing Kit
« on: December 23, 2022, 11:27:20 am »
[OpenXcom Extended version 7.5.7 or newer is required to use this mod] (Get OXCE 'HERE')


This mod is not built to be played, instead it is a tool for allowing quick access to all of the X-COM: UFO Defense drawing routines.

To use this tool select "New Battle" from the main menu then "Equip Craft" followed by "Armor".

You will find that there are now several new armors that can be equipped, these correspond to the various X-Com and Alien units.

Before the name of each armor is the drawing routine used for that sprite sheet, for example dR: 1 is drawingRoutine: 1 used by the alien Floater unit.

My hope is that this can save a bit of time as this mod's .png image files can quickly be swapped with your own sprite sheets to check how that unit will look while walking around ingame.

If your sprite sheet is a different height or width than the sprite sheet you are replacing it with then you also need to modify the extraSprites_ATK.rul file's code to match the new image size.

The values that need to be changed are width: & height: for the related entry in the [====] Units / Armors [====] section of the extraSprites_ATK.rul file.

For example if you wanted to swap the Muton.png sprite sheet with a new image file that has a size of of 512 by 720 you would need to change this code in the extraSprites_ATK.rul file.

Code: [Select]
  - type: ATK_MUTON.PCK
    width: 512
    height: 680
    subX: 32
    subY: 40
    files:
      0: Resources/Unit/drawingRoutine_10_Muton/Muton.png

So that the width & height variables matched your new file's image size:

Code: [Select]
  - type: ATK_MUTON.PCK
    width: 512
    height: 720 # <====
    subX: 32
    subY: 40
    files:
      0: Resources/Unit/drawingRoutine_10_Muton/Muton.png

There are also one and two handed weapons available at the top of the equipment menu:



Supported drawing routines are:
0 = Soldier, Sectoid
1 = Floater
2 = HWP
3 = Cyberdisk
4 = Civilian, Ethereal, Zombie
5 = Sectopod, Reaper
6 = Snakeman
7 = Chryssalid
8 = Silacoid
9 = Celatid
10 = Muton
11 = Coelacanth, Displacer
12 = Hallucinoid
14 = Lobster Man
16 = Bio-Drone
19 = Tentaculat
20 = Triscene
21 = Xarquid
22 = Inverted Cyberdisc (Propulsion animation on top)


Changelog:
(V1-8)
- Added drawing routine 20. (Triscene)

(V1-7)
- Added drawing routine 11. (Coelacanth & Displacer)

(V1-6)
- Added drawing routine 21. (Xarquid)

(V1-5)
- Added drawing routine 12. (Hallucinoid)
- Equipment HandOb images now display at the correct height. (Effected: Sectoid, Floater, Ethereal, Snakeman, Muton, Lobster man)

(V1-4)
- Added drawing routine 16. (Bio-Drone)
- Added a one handed and a two handed weapon.

(V1-3)
. Added drawing routine 14. (Lobster Man)

(V1-2)
- Prevented a crash when female X-Com soldiers used the Muton drawing routine. (Female torso frames added)
- Inventory is now allowed for all armors, however many aliens now share the X-Com Power Suit's inventory image as a place holder since they have none of their own.
- All armors can now hold equipment.

(V1-1)
- Added drawing routine 19. (Tentaculat)
- Included better instructions about mismatched unit sprite sheet heights and widths.

Download:
- Art Testing Kit V1-8
- Art Testing Kit V1-7
- Art Testing Kit V1-6
- Art Testing Kit V1-5
- Art Testing Kit V1-4
- Art Testing Kit V1-3
- Art Testing Kit V1-2
- Art Testing Kit V1-1
- Art Testing Kit V1-0

12
Help / A few questions about raceWeights:
« on: December 19, 2022, 06:07:52 am »
I'm trying to make every UFO potentially be crewed by a different set of aliens with an equal chance of any specific race being used.

At first I thought this could be achieved just by using raceWeights: but from what I've read the alien crew race can also be set to match the occupants of the base that launched it.

So as more alien bases are added to the map more non-randomized UFO crews will be generated.

I think that to prevent this the variable genMissionRaceFromAlienBase: can be set to false which will cause all UFOs to use the raceWeights: values to determine their crew instead of using the race of their origin base.

Spoiler:
Code: [Select]
alienMissions:

# [=] Example Mission [=]
  - type: STR_EXAMPLE_MISSION
    points: 0
    genMissionRaceFromAlienBase: false # <-- Now it will pick one of the four below options instead of the base's race
    raceWeights:
      0:
          STR_AQUATOID: 25
          STR_GILLMAN: 25
          STR_LOBSTERMAN: 25
          STR_TASOTH: 25
    waves:
      - ufo: STR_SURVEY_SHIP
        count: 1
        trajectory: P0
        timer: 9000
      - ufo: STR_ESCORT
        count: 1
        trajectory: P2
        timer: 7800
      - ufo: STR_CRUISER
        count: 2
        trajectory: P4
        timer: 9000

I'm unsure of exactly how raceWeights: functions though.

For example when making all aliens have an equal chance of spawning if there are ten different possible entries in the raceWeights: section do the combined values all need to add up to 100%?

Spoiler:
Code: [Select]
alienMissions:

# [=] Example Mission [=]
  - type: STR_EXAMPLE_MISSION
    points: 0
    raceWeights:
      0:
          STR_ALIEN_ONE: 10
          STR_ALIEN_TWO: 10
          STR_ALIEN_THREE: 10
          STR_ALIEN_FOUR: 10
          STR_ALIEN_FIVE: 10
          STR_ALIEN_SIX: 10
          STR_ALIEN_SEVEN: 10
          STR_ALIEN_EIGHT: 10
          STR_ALIEN_NINE: 10
          STR_ALIEN_TEN: 10
    waves:
      - ufo: STR_SURVEY_SHIP
        count: 1
        trajectory: P0
        timer: 9000
      - ufo: STR_ESCORT
        count: 1
        trajectory: P2
        timer: 7800
      - ufo: STR_CRUISER
        count: 2
        trajectory: P4
        timer: 9000

Or should they all be set at 50 for 50% chance of each race being picked?

Spoiler:
Code: [Select]
alienMissions:

# [=] Example Mission [=]
  - type: STR_EXAMPLE_MISSION
    points: 0
    raceWeights:
      0:
          STR_ALIEN_ONE: 50
          STR_ALIEN_TWO: 50
          STR_ALIEN_THREE: 50
          STR_ALIEN_FOUR: 50
          STR_ALIEN_FIVE: 50
          STR_ALIEN_SIX: 50
          STR_ALIEN_SEVEN: 50
          STR_ALIEN_EIGHT: 50
          STR_ALIEN_NINE: 50
          STR_ALIEN_TEN: 50
    waves:
      - ufo: STR_SURVEY_SHIP
        count: 1
        trajectory: P0
        timer: 9000
      - ufo: STR_ESCORT
        count: 1
        trajectory: P2
        timer: 7800
      - ufo: STR_CRUISER
        count: 2
        trajectory: P4
        timer: 9000

Also if each has a 50% chance wouldn't the entries higher on a list have more of a chance of being chosen then the lower ones as the coin toss would need to be lost by the previous entries before later ones are considered for their own shot at 50% odds?

13
Help / An alien unit that is always displayed at maximum light level?
« on: December 01, 2022, 01:59:57 pm »
I have an alien unit using "alwaysVisible: true" on its armor and it works, the alien unit can be seen by all friendly X-Com units and is displayed on the map.

However the alien unit's image is pitch black due to there being no light at its current location.

I'm hoping that it can be setup so that the unit renders as if it is in full daylight at all times.

For example Yankes's script to animate armor adjusted the colour on a darkened unit to make it glow briefly.
Code: [Select]
      recolorUnitSprite: |
        var int reg0;
        var int reg1;
        var int color;
       
        get_color color new_pixel;
        get_shade reg0 new_pixel;
       
        if or eq color COLOR_X1_PURPLE0 eq color COLOR_X1_PURPLE1;
          set reg1 anim_frame;
          wavegen_tri reg1 8 4 4;
          add reg0 reg1;
          limit_upper reg0 15;
          set_shade new_pixel reg0;
        end;
       
        add_shade new_pixel shade; #add environment shade
        return new_pixel;


14
OpenXcom Extended 7.5.7 (v2022-03-07)

I've noticed that if in units: the alien makes use of spawnUnit: and also has been setup to auto-surrender no live alien items are recovered in mission end loot screen if that alien auto-surrenders.

At least that appeared to be the case when I tested it in using the "New Battle" feature from the main menu.

Code: [Select]
    spawnUnit: STR_UNIT_NAME
    capturable: true
    canSurrender: true
    autoSurrender: true

Example:
Code: [Select]
# [====] Items [====]
items:


# [=] Alien Corpse [=]
  - type: STR_AQUATOID_CORPSE
    size: 0.4
    costSell: 20000
    weight: 30
    bigSprite: 46
    floorSprite: 42
    invWidth: 2
    invHeight: 3
    recoveryPoints: 5
    battleType: 11
    armor: 26
    listOrder: 901776
    recoveryTransformations:
      STR_AQUATOID_CORPSE: [1]
      STR_SONIC_BLASTA_RIFLE: [1]


# [=] Live Alien #1 [=]
  - type: STR_ALIEN_UNIT_1
    size: 0.0
    recover: true
    liveAlien: true
    costSell: 40000
    recoveryTransformations:
      STR_AQUATOID_CORPSE: [1]
      STR_SONIC_BLASTA_RIFLE: [1]


# [=] Live Alien #2 [=]
  - type: STR_ALIEN_UNIT_2
    size: 0.0
    recover: true
    liveAlien: true
    costSell: 40000
    recoveryTransformations:
      STR_AQUATOID_CORPSE: [1]
      STR_SONIC_BLASTA_RIFLE: [1]



# [====] Units [====]
units:


# [=] Alien Template [=]
  - &STR_AQUATOID_TEMPLATE_UNIT
    type: STR_AQUATOID_TEMPLATE_UNIT
    race: STR_AQUATOID
    rank: STR_LIVE_SOLDIER
    stats:
      tu: 54
      stamina: 90
      health: 30
      bravery: 80
      reactions: 63
      firing: 52
      throwing: 58
      strength: 30
      psiStrength: 35
      psiSkill: 0
      melee: 76
    armor: AQUATOID_ARMOR0
    standHeight: 16
    kneelHeight: 12
    value: 10
    deathSound: 50
    intelligence: 3
    aggression: 2


# [=] Alien Unit #1 [=]
  - type: STR_ALIEN_UNIT_1
    refNode: *STR_AQUATOID_TEMPLATE_UNIT
    armor: AQUATOID_ARMOR0
    spawnUnit: STR_ALIEN_UNIT_2
    stats:
      mana: 90
      tu: 90
      stamina: 90
      health: 90
      bravery: 90
      reactions: 90
      firing: 90
      throwing: 90
      strength: 90
      psiStrength: 90
      psiSkill: 0
      melee: 90
    capturable: true
    canSurrender: true
    autoSurrender: true
    builtInWeaponSets:
      - - STR_SONIC_BLASTA_RIFLE
        - STR_BLASTA_POWER_CLIP
      - - STR_SONIC_BLASTA_RIFLE
        - STR_BLASTA_POWER_CLIP
      - - STR_SONIC_BLASTA_RIFLE
        - STR_BLASTA_POWER_CLIP


# [=] Alien Unit #2 [=]
  - type: STR_ALIEN_UNIT_2
    refNode: *STR_AQUATOID_TEMPLATE_UNIT
    armor: AQUATOID_ARMOR0
    builtInWeaponSets:
      - - STR_SONIC_BLASTA_RIFLE
        - STR_BLASTA_POWER_CLIP
      - - STR_SONIC_BLASTA_RIFLE
        - STR_BLASTA_POWER_CLIP
      - - STR_SONIC_BLASTA_RIFLE
        - STR_BLASTA_POWER_CLIP


15
If someone has a method could you please convert the two attached images into their correct frame split for use with Drawing Routine 5 (Sectopod), it would be of great help.

Both images are in Falko's HWP template layout and use the Terror From The Deep palette format.


Spoiler:



It appears that Falko's Modding Tool site is down so sadly I can't make use of that excellent HWP tool.

He did upload his source files HERE ( falkooxc2.zip ), but unfortunately hwpbuild.html didn't just run when I opened the html file.


UnitSprite Studio looks like it has support for drawing routine 5 (Sectopod) but I can't run the program from this computer.


My other thought was to reverse the operation of Buscher's "Merge 2x2 Spritesheet Tool" so that it split images laid out in Falko's HWP template style instead of recombining them.

So far my python skills haven't been up to the task of making sense of merge_2x2_spritesheet.py enough yet to pull it off though.


My last resort is to slowly cut up the images by hand and match each frame to an existing split image for a Sectopod but I'm hoping to avoid that as it would be both difficult and extremely time consuming.

Pages: [1] 2 3 ... 9