OpenXcom Forum

Modding => OpenXcom Extended => OXCE Support => Topic started by: The Reaver of Darkness on April 02, 2018, 11:54:18 am

Title: [Answered] Difficulty-based features for geoscape?
Post by: The Reaver of Darkness on April 02, 2018, 11:54:18 am
Are there any features that enable me to make the difficulty setting affect Geoscape gameplay much? What options do I have here?


I had an idea for a feature: change UFO speed based on game difficulty. It could be done like the alien attributes:
The mod states: +25% per difficulty level
Large Scout modified top speed: 1800 knots

Beginner: 1800
Experienced: 2250
Veteran: 2700
Genius: 3150
Superhuman: 3600
Title: Re: Difficulty-based features for geoscape?
Post by: Meridian on April 02, 2018, 12:02:28 pm
What options do I have here?

Currently difficulty is applied on following places:

Dogfight, UFO fire rate
Dogfight, escape countdown
Dogfight, retaliation odds
Geoscape, monthly mission scripts
Geoscape, monthly rating
Title: Re: Difficulty-based features for geoscape?
Post by: ohartenstein23 on April 02, 2018, 03:31:53 pm
You can also make mission scripts that are difficulty-dependent, so if you make copies of each UFO and mission for each speed, then you can select which ones to spawn based on difficulty. It's not fun, but the option is there.
Title: Re: Difficulty-based features for geoscape?
Post by: The Reaver of Darkness on April 04, 2018, 11:59:54 am
Not a bad idea. Sounds kinda fun actually.


Currently difficulty is applied on following places:

Dogfight, UFO fire rate
Dogfight, escape countdown
Dogfight, retaliation odds
Geoscape, monthly mission scripts
Geoscape, monthly rating
Can you elaborate on how it affects these things and how I can adjust such settings? I don't see all of these in the ruleset. I am especially interested in UFO fire rate.
Title: Re: Difficulty-based features for geoscape?
Post by: Meridian on April 04, 2018, 05:03:32 pm
All these work same as in OXC, only retaliation odds have a few more parameters in OXCE/OXCE+.

Fire rate formula is as follows:
Code: [Select]
int fireCountdown = std::max(1, (_ufo->getRules()->getWeaponReload() - 2 * _game->getSavedGame()->getDifficultyCoefficient()));
_ufo->setFireCountdown(RNG::generate(0, fireCountdown) + fireCountdown);

where difficulty coeficient comes from difficulty.rul
Title: Re: Difficulty-based features for geoscape?
Post by: The Reaver of Darkness on April 06, 2018, 01:50:11 pm
Thanks.