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 5 ... 10
added in oxce v6.5

OpenXcom Extended / Reserved
« on: May 05, 2020, 05:33:17 pm »

Playthroughs / Funny story
« on: February 13, 2020, 12:12:42 am »
While debugging one of the issues found during my current PirateZ LP:

Turn 7 - PLAYER
1. "Abel the Bagel" kills last standing Lobsterman #1000010. There is one more stunned Lobsterman #1000012 on the ground with _health=64 and _stunlevel=72
2. OXCE decides it is game over and auto-ends player's turn.

Turn 7 - ENEMY
3. Lobsterman #1000012 recovers 10 stun and wakes up at _health=64 and _stunlevel=62
4. Lobsterman #1000012 attacks "Ivana Banana" (grrrrrrrrrr!)

Turn 8 - PLAYER
5. Lobsterman #1000012 takes 7 health-damage from fire and falls unconscious at _health=57 and _stunlevel=62
6. OXCE decides it is game over and auto-ends player's turn. LOL :)

Turn 8 - ENEMY
7. Lobsterman #1000012 recovers 9 stun and wakes up at _health=64 and _stunlevel=53
8. Lobsterman #1000012 attacks "Ivana Banana" again (motherfucker!!!)

Turn 9 - PLAYER
9. Lobsterman #1000012 takes 6 stun-damage from smoke and falls unconscious at _health=57 and _stunlevel=59
10. OXCE decides it is game over and auto-ends player's turn. For the 3rd time :) Poor Meridian can just watch helplessly :P

Turn 9 - ENEMY
11. Lobsterman #1000012 recovers 8 stun and wakes up at _health=57 and _stunlevel=51
12. Lobsterman #1000012 attacks "Ivana Banana" yet again, but she still lives somehow...

Turn 10 - PLAYER
13. Lobsterman #1000012 takes 15 stun-damage from smoke and falls unconscious at _health=57 and _stunlevel=66
14. OXCE decides it is game over and auto-ends player's turn. This is getting repetitive...

Turn 10 - ENEMY
15. Lobsterman #1000012 recovers 9 stun and stays unconscious at _health=57 and _stunlevel=57 ... phew, that was close
16. Mission ends.

Is anyone still using a 32bit Windows version?

(not OXCE, I mean just the Microsoft Windows XP/7/8/10 etc. in 32bit flavour)

If yes, why?

Work In Progress / Mission zones examples
« on: December 06, 2019, 07:27:16 pm »
A sample mod would be welcome. Thank you.

I'll put something together on Saturday or Sunday and upload it here.

OpenXcom Extended / [DONE] [Suggestion] Medikit targets
« on: November 29, 2019, 03:57:06 pm »
Item attribute 'allowSelfHeal' is now deprecated and will be removed in the next version, use attribute 'medikitTargetSelf' instead.

New attributes:

Code: [Select]
  - type: STR_MEDI_KIT
    medikitTargetSelf: true       # default false
    medikitTargetImmune: true     # default false
    medikitTargetMatrix: 31       # default 63

'medikitTargetSelf' says whether a medikit can be used on the unit using it. Ignores other settings.

'medikitTargetImmune' says whether a medikit can be used on units otherwise immune to medikiting (i.e. tanks, aliens, etc.). Stunned 2x2 units are still completely immune.

'medikitTargetMatrix' says what targets are allowed. It is a composite attribute (a bit map), individual parts:
1 = friendly on the ground
2 = friendly standing
4 = neutral on the ground
8 = neutral standing
16 = hostile on the ground
32 = hostile standing

So, for example:
0 = cannot use on anyone
3 (1+2) = can use only on friendlies
31 (1+2+4+8+16) =  can use on everyone except on standing enemies
63 = can use on everyone

OpenXcom Extended / [DONE][Suggestion] Weapon/ammo category "sharing"
« on: November 29, 2019, 03:48:50 pm »
Let's assume:

Code: [Select]
  - type: STR_RIFLE
    battleType: 1
    categories: [STR_TWO_HANDED, STR_RIFLES]
    compatibleAmmo: [STR_RIFLE_CLIP, STR_RIFLE_CLIP_HE]

  - type: STR_RIFLE_CLIP
    categories: [STR_PIERCING]

    categories: [STR_EXPLOSIVE, STR_AWESOME]

For the following 2 purposes, the weapon (rifle) will inherit the categories of its ammo (clip, HE clip):
1. filtering on craft equipment GUI - the weapon inherits the categories from its equippable ammo (i.e. visible on the GUI)
2. starting conditions (allowed item categories, forbidden item categories) - the weapon inherits the categories from the ammo equipped on the craft

Considering example above:
a/ if only rifle is equipped, it has categories: STR_TWO_HANDED, STR_RIFLES
b/ if rifle and standard ammo is equipped, the rifle has categories: STR_TWO_HANDED, STR_RIFLES and STR_PIERCING
c/ if rifle, standard ammo and HE ammo is equipped, the rifle has categories: STR_TWO_HANDED, STR_RIFLES, STR_PIERCING, STR_EXPLOSIVE and STR_AWESOME

Solarius/Dioxine can describe the actual usage/purpose in a mod... I'm having trouble formulating that in words.

PS: not considered on the Buy/Sell/Transfer GUIs

You can now use globe texture/terrain in maps for mission sites and alien bases.
(until now this was possible only for ufo crash/landing sites)

Code: [Select]
    - type: addBlock
      terrain: globeTerrain           # add a block from a (random) terrain defined on the globe texture at craft landing coordinates

Example for xcom1 terror mission map script:

Code: [Select]
  - type: URBAN
    - type: addCraft
    - type: addBlock
      terrain: POLAR                  # add a block from POLAR terrain
    - type: addBlock
      terrain: globeTerrain           # add a block from a (random) terrain defined on the globe texture at craft landing coordinates
    - type: addLine
      label: 1
      direction: vertical
      executionChances: 50
        - [1, 1, 4, 1]
    - type: addLine
      label: 2
      conditionals: -1
      executionChances: 50
      direction: horizontal
        - [1, 1, 1, 4]
    - type: addLine
      conditionals: [-1, -2]
      direction: both
        - [1, 1, 4, 4]
    - type: addBlock
      size: 2
      executions: 4
    - type: fillArea
      # URBAN set is lacking blocks 10-13, so the numbers don't correlate properly here,
      # because these are references to the block numbers within the sets, not the file names.
      blocks: [3, 4, 10, 11, 12, 13, 14]
      freqs: [3, 3, 2, 2, 2, 2, 2]

Example for xcom1 alien base map script:

Code: [Select]
  - type: ALIENBASE
    - type: addBlock
      terrain: POLAR                  # add a block from POLAR terrain
    - type: addBlock
      terrain: globeTerrain           # add a block from a (random) terrain defined on the globe texture at craft landing coordinates
    - type: addBlock
      groups: 2
      executions: 2
    - type: addBlock
      size: 2
      groups: 3
    - type: addBlock
      size: 2
      executions: 3
    - type: fillArea
      groups: [0, 1]
      freqs: [3, 2]
    - type: digTunnel
      direction: both
        level: 0
          - type: westWall
            set: 2
            entry: 18
          - type: northWall
            set: 2
            entry: 17
          - type: corner
            set: 2
            entry: 19
          - type: floor
            set: 1
            entry: 63

It is possible to use globe texture/terrain also for xcom base defense missions, the syntax is a little bit different, explained here:,5108.0.html

OpenXcom Extended / Inventory stats improvements
« on: October 22, 2019, 10:38:06 pm »
1/ By default the stats show the vanilla Firing/Reactions/Psi skill/Psi strength again... OXCE firing/throwing/melee/psi-combined are moddable via interface ruleset

a/ elements textFiring, textReaction, textPsiSkill and textPsiStrength have been renamed to textStatLine1, textStatLine2, textStatLine3 and textStatLine4
b/ attribute 'custom' has been added, with following values:
1=(firing) accuracy
3=psi skill
4=psi strength
14=psi combined (strength/skill)

So now you can choose, which of these 8 options you want to display and also in which order.

OpenXcom Extended / [DONE] [Suggestion] Multiple game endings
« on: October 10, 2019, 08:47:53 pm »
Requested by Kato.

The victory and defeat cutscenes have been unhardcoded.
You can now mark a cutscene with winGame or loseGame attribute:

Code: [Select]
  - type: myCustomVictoryCutscene
    winGame: true


Code: [Select]
  - type: myCustomDefeatCutscene
    loseGame: true

and it will trigger the desired effect.

It works on:
- mission win/lose/abort cutscenes
- special loss-only cutscenes except "loseDefeat" (see next post)
- research cutscenes (starting from OXCE 6.7)

It doesn't work on other cutscenes:
 - intro
 - briefing cutscenes
 - research cutscenes (until OXCE 6.7)

OpenXcom Extended / [DONE][Suggestion] "Stunning improves morale" mod option
« on: September 25, 2019, 01:27:59 am »
I don't remember who asked for this, but here goes, it's just a global variable:

Code: [Select]
stunningImprovesMorale: true     # default false

Basically when someone stuns an enemy, they get a similar morale bonus as for killing them.
Only once though, to prevent abuse of repeatedly reviving and stunning an enemy.
The winning team also gets (a smaller) morale bonus.
The losing team does not get any morale penalty.

Works for both xcom and aliens.

If someone wants to know exact numbers, here's the code, it's short and should be relatively easy to read:

Code: [Select]
// morale change when an enemy is stunned (only for the first time!)
if (getMod()->getStunningImprovesMorale() && murderer && !victim->getStatistics()->wasUnconcious)
if ((victim->getOriginalFaction() == FACTION_PLAYER && murderer->getFaction() == FACTION_HOSTILE) ||
            (victim->getOriginalFaction() == FACTION_HOSTILE && murderer->getFaction() == FACTION_PLAYER))
// the murderer gets a morale bonus if he is of a different faction (excluding neutrals)

for (auto winner : *_save->getUnits())
if (!winner->isOut() && winner->getArmor()->getSize() == 1 && winner->getOriginalFaction() == murderer->getOriginalFaction())
// the winning squad gets a morale increase (the losing squad is NOT affected)

ohartenstein23Today at 2:27 PM
@Meridian The problem Solarius was having with transformations was that he wanted to use them to represent a number of advanced trainings unlocked by research to provide bonus stats; since they didn't change the soldier type and therefore the stat caps, if a player used them before a soldier reached the caps, they would have lower total stats than if they waited until the caps to use the training transformations. Using a new soldier type for each one was rejected since these trainings weren't mutually exclusive or to be done in a fixed order - Solarius had hoped that these would act like stat bonuses on an armor, but permanently attached to the soldier.

One possible solution we thought of would be to create a new ruleset data structure for bonuses added by transformations and commendations: these bonuses would be named by a unique type and define a set of parameters similar to an armor ruleset, then transformations and commendations could refer to them by that type. On creation of a battle unit from a soldier, these stats would be added to to what the unit's armor adds to the unit's stats, including trainable stats like TUs, firing, etc., as well as NV and recoveries.

A ruleset example might look like:
    stats: # gives stats that don't count toward stat caps
      reactions: 5
      melee: 10
    recovery: # adds to recovery from armor
        tuMax: 0.05 # extra energy recovery in all armors

    soldierBonusType: STR_KARATE_TRAINING

OpenXcom Extended / [DONE] [Suggestion] Zombie pets
« on: September 15, 2019, 01:14:11 pm »
Solarius ScorchToday at 11:43 AM
The only sane way to implement this would be expanding the weapon zombifying flag (I forgot what it was, let's say zombieUnit) to include non-standard unit types
Solarius ScorchToday at 11:45 AM
  zombieUnit: STR_ZOMBIE

You can now zombify your dearest cannon fodder into cute little zombie cannon fodder.
Still can't zombify 2x2 units.


Code: [Select]
    zombieUnitByType: { STR_ALIEN_AI: STR_SECTOID_COMMANDER, STR_DOG: STR_ZOMDOG }   # exceptions
    zombieUnit: STR_ZOMBIE    # default

Test build:

Playthroughs / Retaliation heat map
« on: September 15, 2019, 09:23:37 am »
red > orange > yellow > blue > green > transparent

averaged from 100 full retaliation missions

data around the poles is less reliable

40k / Warcraft 3 unit response sounds mod
« on: September 03, 2019, 03:25:49 pm »
As an example of how can it be done in 40k.

First, there is a global switch:

Code: [Select]
enableUnitResponseSounds: true     # set back to false once you get tired of the sounds :)

Then there are 8 attributes on soldier types (4 actions x 2 genders):

Code: [Select]
  - type: STR_SOLDIER
    femaleFrequency: 50
    selectUnitMale:     [200, 201, 202, 203, 204]
    selectUnitFemale:   [300, 301, 302, 303, 304, 305]
    startMovingMale:    [210, 211, 212, 213]
    startMovingFemale:  [310, 311, 312, 313]
    selectWeaponMale:   [220, 221, 222, 223]
    selectWeaponFemale: [320, 321, 322, 323]
    annoyedMale:        [230, 231, 232, 233]
    annoyedFemale:      [330, 331, 332, 333, 334, 335]

Lastly, extraSounds are needed, but that's not new:

Code: [Select]
  - type: BATTLE.CAT
      200: Resources/Audio/Human/Footman/Ready1.wav
      201: Resources/Audio/Human/Footman/What1.wav
      202: Resources/Audio/Human/Footman/What2.wav
      203: Resources/Audio/Human/Footman/What3.wav
      204: Resources/Audio/Human/Footman/What4.wav

      210: Resources/Audio/Human/Footman/Yes1.wav
      211: Resources/Audio/Human/Footman/Yes2.wav
      212: Resources/Audio/Human/Footman/Yes3.wav
      213: Resources/Audio/Human/Footman/Yes4.wav

      220: Resources/Audio/Human/Footman/Warcry1.wav
      221: Resources/Audio/Human/Footman/YesAttack1.wav
      222: Resources/Audio/Human/Footman/YesAttack2.wav
      223: Resources/Audio/Human/Footman/YesAttack3.wav

      230: Resources/Audio/Human/Footman/Pissed1.wav
      231: Resources/Audio/Human/Footman/Pissed2.wav
      232: Resources/Audio/Human/Footman/Pissed3.wav
      233: Resources/Audio/Human/Footman/Pissed4.wav
      300: Resources/Audio/Human/Sorceress/Ready1.wav
      301: Resources/Audio/Human/Sorceress/What1.wav
      302: Resources/Audio/Human/Sorceress/What2.wav
      303: Resources/Audio/Human/Sorceress/What3.wav
      304: Resources/Audio/Human/Sorceress/What4.wav
      305: Resources/Audio/Human/Sorceress/What5.wav

      310: Resources/Audio/Human/Sorceress/Yes1.wav
      311: Resources/Audio/Human/Sorceress/Yes2.wav
      312: Resources/Audio/Human/Sorceress/Yes3.wav
      313: Resources/Audio/Human/Sorceress/Yes4.wav

      320: Resources/Audio/Human/Sorceress/Warcry1.wav
      321: Resources/Audio/Human/Sorceress/YesAttack1.wav
      322: Resources/Audio/Human/Sorceress/YesAttack2.wav
      323: Resources/Audio/Human/Sorceress/YesAttack3.wav

      330: Resources/Audio/Human/Sorceress/Pissed1.wav
      331: Resources/Audio/Human/Sorceress/Pissed2.wav
      332: Resources/Audio/Human/Sorceress/Pissed3.wav
      333: Resources/Audio/Human/Sorceress/Pissed4.wav
      334: Resources/Audio/Human/Sorceress/Pissed5.wav
      335: Resources/Audio/Human/Sorceress/Pissed6.wav

Attached full mod for testing/inspiration.
Attached battle.cfg for testing.

Youtube video as preview:

Needs OXCE 5.6.3 (to be released later), for testing you can use this build:

PS: the players can mute/unmute the sounds using the ctrl+X hotkey (or by editing options.cfg, entry "oxceEnableUnitResponseSounds")

Pages: 1 2 [3] 4 5 ... 10