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 - Meridian

Pages: 1 [2] 3 4 ... 13
16
OpenXcom Extended / [3] OXCE changelog
« on: February 01, 2023, 08:04:19 pm »
Hi all,


All basic info and download have been moved here: https://openxcom.org/forum/index.php/topic,5258.0.html


Changelog:
----------------

2024-02-24: OXCE v7.12 https://openxcom.org/forum/index.php/topic,6586.msg162074.html#msg162074

2024-01-09: OXCE v7.11 https://openxcom.org/forum/index.php/topic,6586.msg161027.html#msg161027

2023-12-16: OXCE v7.10 https://openxcom.org/forum/index.php/topic,6586.msg159913.html#msg159913

2023-07-03: OXCE v7.9.8 https://openxcom.org/forum/index.php/topic,6586.msg156171.html#msg156171

2023-05-21: OXCE v7.9.6 https://openxcom.org/forum/index.php/topic,6586.msg155406.html#msg155406

2023-04-29: OXCE v7.9 https://openxcom.org/forum/index.php/topic,6586.msg154958.html#msg154958

2022-10-29: OXCE v7.8 https://openxcom.org/forum/index.php/topic,6586.msg150186.html#msg150186

2022-09-25: OXCE v7.7.3 https://openxcom.org/forum/index.php/topic,6586.msg149336.html#msg149336

2022-08-24: OXCE v7.7 https://openxcom.org/forum/index.php/topic,6586.msg148758.html#msg148758

2022-07-15: OXCE v7.6 https://openxcom.org/forum/index.php/topic,6586.msg147637.html#msg147637

2022-02-07: OXCE v7.5.3 https://openxcom.org/forum/index.php/topic,6586.msg143814.html#msg143814

2022-01-21: OXCE v7.4.4 https://openxcom.org/forum/index.php/topic,6586.msg143442.html#msg143442

2022-01-18: OXCE v7.4.2 https://openxcom.org/forum/index.php/topic,6586.msg143364.html#msg143364

2022-01-10: OXCE v7.4 https://openxcom.org/forum/index.php/topic,6586.msg143074.html#msg143074

2021-12-29: OXCE v7.3 https://openxcom.org/forum/index.php/topic,6586.msg142833.html#msg142833

2021-12-24: OXCE v7.2 https://openxcom.org/forum/index.php/topic,6586.msg142733.html#msg142733

2021-10-24: OXCE v7.1.4 https://openxcom.org/forum/index.php/topic,6586.msg141871.html#msg141871

2021-10-17: OXCE v7.1.3 https://openxcom.org/forum/index.php/topic,6586.msg141737.html#msg141737

2021-09-27: OXCE v7.1 https://openxcom.org/forum/index.php/topic,6586.msg141301.html#msg141301

2021-03-13: OXCE v7.0 https://openxcom.org/forum/index.php/topic,6586.msg137396.html#msg137396

2021-01-09: OXCE v6.9.1 https://openxcom.org/forum/index.php/topic,6586.msg135354.html#msg135354

2020-11-21: OXCE v6.8 https://openxcom.org/forum/index.php/topic,6586.msg134204.html#msg134204

2020-10-24: OXCE v6.7.2 https://openxcom.org/forum/index.php/topic,6586.msg133303.html#msg133303

2020-10-18: OXCE v6.7 https://openxcom.org/forum/index.php/topic,6586.msg132996.html#msg132996

2020-09-09: OXCE v6.6.1 https://openxcom.org/forum/index.php/topic,6586.msg131530.html#msg131530

2020-08-22: OXCE v6.6 https://openxcom.org/forum/index.php/topic,6586.msg130840.html#msg130840

2020-05-28: OXCE v6.5.3 https://openxcom.org/forum/index.php/topic,6586.msg128154.html#msg128154

2020-05-21: OXCE v6.5.1 https://openxcom.org/forum/index.php/topic,6586.msg127741.html#msg127741

2020-05-08: OXCE v6.5 https://openxcom.org/forum/index.php/topic,6586.msg127088.html#msg127088

2020-03-15: OXCE v6.4.2 https://openxcom.org/forum/index.php/topic,6586.msg125110.html#msg125110

2020-03-14: OXCE v6.4 https://openxcom.org/forum/index.php/topic,6586.msg124599.html#msg124599

2020-01-11: OXCE v6.3.4 https://openxcom.org/forum/index.php/topic,6586.msg121456.html#msg121456

2019-12-30: OXCE v6.3 https://openxcom.org/forum/index.php/topic,6586.msg121392.html#msg121392

2019-11-29: OXCE v6.2 https://openxcom.org/forum/index.php/topic,6586.msg120129.html#msg120129

2019-10-30: OXCE v6.1 https://openxcom.org/forum/index.php/topic,6586.msg118728.html#msg118728

2019-10-13: OXCE v6.0 https://openxcom.org/forum/index.php/topic,6586.msg117930.html#msg117930
 - c++17 support required for compilation

2019-08-15: OXCE v5.6.2 https://openxcom.org/forum/index.php/topic,6586.msg116405.html#msg116405

2019-08-03: OXCE v5.6.1 https://openxcom.org/forum/index.php/topic,6586.msg115106.html#msg115106

2019-05-19: OXCE v5.5 https://openxcom.org/forum/index.php/topic,6586.msg113227.html#msg113227

2019-04-22: OXCE v5.4 https://openxcom.org/forum/index.php/topic,6586.msg112262.html#msg112262

2019-03-05: OXCE v5.3 https://openxcom.org/forum/index.php/topic,6586.msg110804.html#msg110804

2018-12-22: OXCE v5.2 https://openxcom.org/forum/index.php/topic,6586.msg107705.html#msg107705

2018-10-14: OXCE v5.1b https://openxcom.org/forum/index.php/topic,6586.msg104988.html#msg104988

2018-10-03: OXCE v5.1 https://openxcom.org/forum/index.php/topic,6586.msg104491.html#msg104491

2018-09-15: OXCE v4.0 https://openxcom.org/forum/index.php/topic,4187.msg102978.html#msg102978
 - OXCE+ and OXCE merged into just OXCE

2018-08-23: OXCE+ v3.10b https://openxcom.org/forum/index.php/topic,4187.msg102175.html#msg102175

(continuation in the next post)

17
OXCE Suggestions DONE / [DONE] Alt Inventory mgmt improvement
« on: December 29, 2022, 12:57:18 pm »
A couple of 'bugs' or rather something more mild - loose ties/exploits/inconveniences.

1. Apoc equipment system.
When you equip people from base's Soldiers screen, IF a soldier is onboard craft, the game fails to move the equipment you have just given to that soldier onboard craft, therefore your changes are not put in effect. Therefore you're forced to take all the crew off the ships, which is a lot of extra clicking...

Well, that was not part of the "minimum" proposal: https://openxcom.org/forum/index.php/topic,10452.msg145360.html#msg145360
(The game moves equipment only if a soldier is added to a craft or removed from a craft.)
EDIT: and also when Craft Equipment GUI is opened, it tries to add what's missing

Anyway, even if it was requested, it can't be done without changing a lot internally.

What I can do though, is remove all soldiers from all craft before entering the Inventory, remember where they were assigned, and try to assign them back after leaving the Inventory.
This should work in an average case, but of course there are corner cases:
- if you increase anyone's armor size from 1x1 to 2x2 while in the Inventory, all saved "soldier deployment previews" on all craft will be reset
- if the armor change will be in conflict with craft limits after leaving the Inventory (e.g. allowed number of small units, allowed number of large units, etc.) the game will NOT assign a soldier back and silently ignore it (no info popup for the player)

Is this acceptable?

18
Open Feedback / OG AI walking into Triton
« on: December 03, 2022, 03:19:01 pm »
I remember some time ago, someone complained about aliens walking into Triton (in OpenXcom) and that it wasn't possible in OG.

I can now confirm that it was possible also in OG.

Tested with OG TFTD, unpatched, unmodded, version from gog.com.
Mission was Alien Colony part 1, on alien turn #5 (while all soldiers were still in the Triton) a Hallucinoid came to Triton and opened the Triton's door.

19
OXCE Bugs FIXED / [FIXED] Base defense crash in rare scenarios [OXC]
« on: October 30, 2022, 02:53:54 pm »
Solarius:

Hi Meridian, we have an interesting bug reported by a player
We investigated and what happened was that he lost all facilities to bombardment (except for the lift), but somehow the craft and people still remained, so once this base was attacked by aliens, no X-Com units could be placed on map
Here are timestamps he provided:
https://youtu.be/qJJH4bJ6XYE?t=19350 - building
https://youtu.be/7kwIazE30v0?t=1657 - first strike
https://youtu.be/7kwIazE30v0?t=2367 - 2nd and 3rd in a row strike
https://youtu.be/7kwIazE30v0?t=3332 - 4th strike

Meridian:

yeah, that's how xcom works
it won't fire any people at the base, at worst it cancels transfers from other bases
you can read more about what happens on facility destruction in comments here: https://github.com/MeridianOXC/OpenXcom/blob/oxce-plus/src/Savegame/Base.cpp#L1872
specifically for living quarters here: https://github.com/MeridianOXC/OpenXcom/blob/oxce-plus/src/Savegame/Base.cpp#L2026
xcom is mean, but it doesn't randomly kill your people, that would be too low even for xcom
as for how to fix this issue... I guess I can just make base defense auto-fail if no xcom units can be placed on the map?
or do you have any other idea(s)?

Solarius:

This seems the best solution.
Also, was the idea to have base inventory check immediately after missile strike dropped? (to see if there is no storage/prison space/living quarters overflow after buildings got destroyed?) This would not kill anyone but force the player to transfer or sell the excess. (Similarly after the base defence, since it can, too, result in buildings getting blown up.)

Meridian:

the check is done once every full hour
is that enough or does it need to be instant?

Solarius:

Hard question... normally it should be enough, but the guy got struck by 2 missiles within 1 hour and this somehow prevented the check from happening. So either this function should be reviewed, or there should be an extra check immediately after bombardment/base defence.

Meridian:

ok, I'll add a check 5 seconds after air strike/base defense

20
This is a documentation for the two features requested here:

1. [SUGGESTION] "nationFrequency": https://openxcom.org/forum/index.php/topic,10760.0.html

2. [Suggestion] Soldier names limited to region/country: https://openxcom.org/forum/index.php/topic,10840.0.html

-----------

The existing soldier name files now have a few more optional attributes:

a/ `globalWeight` (integer from 1 to unlimited, default 100), which can be used to influence the odds of each file being used

b/ `country` and `region` (both a single string, default empty), which can be used to filter the relevant name files when hiring soldiers

Simple example for skewing the global odds:
Let's assume you have only 3 name files: American, German and Japanese. If you want to have the name distribution of 70%-25%-5%, you can define global weights using exactly those 3 numbers.
However, weights are not odds, you can use also weights 7000-2500-500 or 140-50-10 or 210-75-15... all of these have the same effect!
I also recommend not using too small numbers, it will make it easier for you to make changes later.

In the attachment, there is a small mod with this example called "Uneven Army Composition".

-----------

Hiring by Location is a bit more complicated.
First of all, unlike global weights, it does NOT apply everywhere.

It applies only in the following situations:
1. Hiring new soldiers at a base -- location = base
2. Manufacturing soldiers at a base -- location = base
3. Recovering civilians as soldiers after a mission -- location = craft landing location (or base in case of base defense mission)
4. Receiving soldiers from an event (only for region/city-specific events) -- location = chosen city (if the event is only region-based, a city is chosen anyway in the background invisibly)

It does NOT apply for:
5. when starting a new game... the first xcom base and its soldiers are generated long before the player actually chooses a location for that base, sorry
6. in the New Battle mode -- there's no location to use
7. all other places, where soldiers are created, but not hired: for example soldier transformations/cloning (if possible cloning tries to preserve nationality), craft preview feature, etc.

The global weights still DO aply even here though. Just location doesn't.

For completeness, there are also cases, where even global weights don't apply, usually error handling:
8. when a player manually edits a save and creates an invalid nationality
9. when a modder uses soldier template for manufacturing, recovery or events and specifies an invalid nationality
10. when a soldier is transformed from one type to another and the destination type doesn't support the source nationality
11. when converting original saves (hardcoded to 0)

In most of these error handling cases, a random nationality (without using global weights) is assigned.


Two new global ruleset variables are introduced:

a/ `hireByCountryOdds` (integer from 0 to 100, default 0), used to define the odds of attempting to name the soldier based on the country where it was hired

b/ `hireByRegionOdds` (integer from 0 to 100, default 0), used to define the odds of attempting to name the soldier based on the region where it was hired


The algorithm is as follows:

Code: [Select]
if (location exists AND hireByCountryOdds RNG hit)
{
  determine the country, based on the given location
  if country found, go through all name files and find the FIRST name file that matches the country... if found, use it
}

if (location exists AND hireByRegionOdds RNG hit AND we didn't already name the soldier in the previous step)
{
  determine the region, based on the given location
  go through all name files and find ALL name files that match the region (can be more than one)... if found, use this filtered set of name files and choose one of them based on global weights
}

if (we didn't succeed in previous steps)
{
  use all name files and select one based on global weights
}

Notes about the algorithm:
- we assume that each country has only one name file (or none); should you use the same country in multiple name files, only the first will be considered
- each region can have multiple name files; should you use the same region in multiple names files, all of them will be considered (and one will be chosen by global weights)
- the two RNG rolls (one for country and one for region) are independent

In the attachment, there is a small mod with an example called "Hire by Location".
`hireByCountryOdds` is set to 80%
`hireByRegionOdds` is set to 50%

Europe has enough name files to test all four use cases (hiring, manufactruing, recovery and events).
Manufacturing project is set up, event is set up to appear on day 10 or 11, and all civilians are marked to be recovered (for example from a terror mission).


Disclaimer: the standard xcom rules about not repeating existing soldier names still apply in all of this!! so when making your test mods and testing the probabilities, make sure your name pools are big enough! otherwise your test results may be completely off.

21
requested by Kato/Solarius

something in the spirit of: "when hiring soldiers in a Japanese base, they should mostly have Japanese names"

22
This feature adds the ability to override standard mission zone area coordinates for mission sites with xcom base coordinates.

Syntax: A new boolean attribute on mission waves: `objectiveOnXcomBase: true` , default is false

It works with all types of direct mission site spawning algorithms:
#1. spawn by mission wave's `ufo` (e.g. xcom2 artifact sites)
#2. spawn by mission's `siteType` (not used by xcom1/xcom2, only used by mods, e.g. XCF uses it quite a lot)
#3. spawn by region's mission zone area texture (e.g. xcom2 ship attack)
#4. are there any other algorithms? I hope not...

It doesn't work with indirect mission site spawning algorithm, i.e. when landed UFO converts into a mission site.
(This is by design... if you're wondering. Just think about it for a few seconds.)

If an xcom base is not found, mission site is NOT generated.
(The xcom base doesn't need to be detected by aliens, all xcom bases are eligible.)

Besides overriding the mission site location, it also clears the point (city) name, if there was any.

Texture is not overridden (it is needed for algorithm #3).
Note: by textures, we mean the virtual globe textures with negative numbers (e.g. TFTD port terror texture, TFTD island terror texture, TFTD ship attack texture, etc.)... i.e. the ones that have `deployments:` attached to them.


Example (spawn artifact sites on top of xcom bases using spawning algorithm #2):

Code: [Select]
missionScripts:
  - type: artifact_sites_on_xcom_bases
    targetBaseOdds: 100               # pick a region with an xcom base
    missionWeights:
      0:
        STR_ALIEN_ARTIFACT_XXX: 100
    useTable: false


Code: [Select]
alienMissions:
  - type: STR_ALIEN_ARTIFACT_XXX
    points: 0
    objective: 3
    spawnZone: 3                      # reuse `cities` mission zone (functionally ignored by spawning algorithms #1 and #2, but needs to be defined anyway!! otherwise crash)
    siteType: STR_ARTIFACT_SITE_P1    # spawn a mission site using this deployment
    raceWeights:
      0:
        STR_MIXED_CREW: 100
    waves:
      - ufo: dummy
        count: 1
        trajectory: P10
        timer: 0
        objective: true
        objectiveOnXcomBase: true     # override the mission site location by an xcom base location (xcom base from the same region as the alien mission)

23
This feature adds the ability for aliens to ignore the base defenses (e.g. Missile defenses, Plasma defenses, etc.)

Syntax: A new boolean attribute on alien missions: `ignoreBaseDefenses: true` , default is false

It works for the standard Retaliation mission objective as well as the new Instant Retaliation mission objective: https://openxcom.org/forum/index.php/topic,10808.0.html

Example:

Code: [Select]
alienMissions:
  - type: STR_ALIEN_RETALIATION_FROM_THE_SKIES
    ignoreBaseDefenses: false

  - type: STR_ALIEN_RETALIATION_FROM_THE_GROUND
    ignoreBaseDefenses: true

24
OXCE Suggestions DONE / [DONE][Suggestion] Instant xcom base defense
« on: October 12, 2022, 08:59:49 pm »
This feature introduces a new mission objective type (similar to e.g. 1 = infiltration, 5 = alien base supply, etc.).

Syntax: An existing integer attribute on alien missions, new value 6 (OBJECTIVE_INSTANT_RETALIATION): `objective: 6`

It works similar to the vanilla Retaliation mission objective (id = 4), with the following differences:
1. It cannot spawn UFOs in regular mission waves
2. It can spawn a maximum of one retaliation UFO... after that the mission terminates
3. It spawns the UFO only if an xcom base is present in the given region... otherwise no spawn and mission terminates
4. The xcom base does not need to be detected by aliens
5. The UFO is spawned directly on top of the xcom base
6. The UFO is undetectable (also ignoring detection Y-scripts)
7. The mission does not count as standard Retaliation, i.e. is not triggered when shooting down UFOs; and is not limited to 1 per region
8. When the battle ends, the xcom base keeps its detection status (i.e. it doesn't interact with standard Retaliation logic)

Example:

Code: [Select]
missionScripts:
  - type: gameStartX
    targetBaseOdds: 100         # please spawn in a region with an xcom base
    missionWeights:
      0:
        STR_ALIEN_RETALIATION_INSTANT: 100
    startDelay: 120

Code: [Select]
alienMissions:
  - type: STR_ALIEN_RETALIATION_INSTANT
    points: 0
    objective: 6                # the new objective type
#    ignoreBaseDefenses: true
    spawnUfo: STR_BATTLESHIP    # this is the UFO that will be spawned
    waves:
      - ufo: STR_BATTLESHIP     # just put something here, doesn't matter
        count: 1
        trajectory: P8
        timer: 3000
    raceWeights:
      0:
        STR_SECTOID: 20
        STR_FLOATER: 20

25
OXCE Support / [Solved] Manufactured soldier names issue
« on: September 06, 2022, 06:35:41 pm »
Quote from: Kato
X-Piratez, OXCE 7.7
When trying to manufacture a Theban clone, they got national names from the nam file. But they must not get personal names since "spawnedSoldier/name" is defined in manufacture rules (STR_THEBAN_ASSAULT_CLONE project).

To reproduce this, please turn the mod attached on. It contains national names and modified manufacture rules (added "spawnedSoldier/nationality"). Setting nationality for clones is necessary, because they must have Theban flag in the personal file ("Soldiers" screen). So fix needed here: when both name and nationality are defined in manufacture, soldier must come with that pre-set name ("Клон-штурмовик" in this case).

Mod with national names:
https://drive.google.com/file/d/1vomxrjp8oBOuq7Sww35kZ3psOHAcK9cQ/view?usp=sharing

Save file with started manufacture (5 clones at base 404):
https://drive.google.com/file/d/1TbeDcWigaTyT-0_pnMBQNgrfc8IxqnPN/view?usp=sharing

28
Programming / Debug explosions by TCH68k
« on: August 09, 2022, 11:01:21 am »
I am not interested in this PR, but if anyone wants it in their fork, here's a link:

https://github.com/OpenXcom/OpenXcom/issues/1345

29
OXCE Suggestions DONE / [DONE][Suggestion] Amiga thinking...
« on: August 08, 2022, 06:11:05 pm »
.

30
OXCE Suggestions DONE / [DONE] Ctrl+N issues
« on: August 08, 2022, 05:40:40 pm »
I noticed that the notes panel that can be brought up from anywhere via Ctrl+N, can indeed be brought up from anywhere, including the notes panel. It's possible to press the hotkey multiple times, and have to close the menu multiple times as a result. It might be a good idea to disable the keyboard shortcut when it's already open.

Done.

Pages: 1 [2] 3 4 ... 13