Author Topic: [EXPANSION]Hardmode Expansion -- General Feedback Thread  (Read 459107 times)

Offline hellrazor

  • Moderator
  • Commander
  • ***
  • Posts: 2065
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #900 on: January 18, 2025, 04:21:06 pm »
Well the URBAN had to come to the Railstation but ok. As long as it works :D

Offline CrazedHarpooner

  • Colonel
  • ****
  • Posts: 174
    • View Profile
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #901 on: January 18, 2025, 07:41:32 pm »
Based on your last version of the script:
Code: [Select]
#BEGIN DOWNTOWN
  - type: DOWNTOWNURBAN
    commands:
    - type: resize #We need 60x60x8
      size: [6, 6, 8]
    - type: addBlock #Add Rail Station
      size: 2
      blocks: 8
      executionChances: 75
#Position 0,0 - 0,4
    - type: checkBlock #Check Railstation
      label: 10
      size: 2
      blocks: 8
      rects:
        - [0, 0, 1, 6]
    - type: fillArea #Place Rails
      conditionals: 10
      groups: 13
      rects:
        - [0, 0, 1, 6]
#Position 1,0 - 1,4
    - type: checkBlock #Check Railstation
      label: 11
      conditionals: -10
      size: 2
      blocks: 8
      rects:
        - [1, 0, 1, 6]
    - type: fillArea #Place Rails
      conditionals: 11
      groups: 13
      rects:
        - [1, 0, 1, 6]
#Position 2,0 - 2,4
    - type: checkBlock #Check Railstation
      label: 12
      conditionals: [-10, -11]
      size: 2
      blocks: 8
      rects:
        - [2, 0, 1, 6]
    - type: fillArea #Place Rails
      conditionals: 12
      groups: 13
      rects:
        - [2, 0, 1, 6]
#Position 3,0 - 3,4
    - type: checkBlock #Check Railstation
      label: 13
      conditionals: [-10, -11, -12]
      size: 2
      blocks: 8
      rects:
        - [3, 0, 1, 6]
    - type: fillArea #Place Rails
      conditionals: 13
      groups: 13
      rects:
        - [3, 0, 1, 6]
#Position 4,0 - 4,4
    - type: checkBlock #Check Railstation
      label: 14
      conditionals: [-10, -11, -12,-13]
      size: 2
      blocks: 8
      rects:
        - [4, 0, 1, 6]
    - type: fillArea #Place Rails
      conditionals: 14
      groups: 13
      rects:
        - [4, 0, 1, 6]
#End Position Checks

 # This command will detect vertical railroads (group 13) and place the railroad crossing (group 14) that intersect with the road
    - type: addLine #Add EW Roads
      direction: horizontal
      executionChances: 75
      verticalGroup: 13 # Railroads N-S
      crossingGroup: 14 # Railroad Crossing

    - type: addUFO
    - type: addCraft
    - type: addLine
      direction: vertical
      executionChances: 75
    - type: addBlock
      size: 2
      executions: 6
      blocks: [1, 6, 14, 15]
      freqs: [3, 2, 2, 3]
      maxUses: [3, 3, 3, 3]
    - type: fillArea
      blocks: [2, 3, 5, 7, 16, 17]
      freqs: [3, 2, 3, 3, 3, 3]
      maxUses: [3, 3, 3, 3, 3, 3]
#END DOWNTOWN

HOWEVER, for this version to work the following terrain mapBlocks need to be updated and assigned to either group 13 (N-S) or 14 (crossing). I picked those numbers so it's easier to visualize which group is which if you're familiar with default road groups (2 E-W, 3 N-S, 4 crossing), so you can change them to what you consider best for your style.
Code: [Select]
      - name: DOWNTOWNURBAN09
        width: 10
        length: 10
        groups: 13 # Railroads N-S
      - name: DOWNTOWNURBAN12
        width: 10
        length: 10
        groups: 14 # Railroad Crossing
      - name: DOWNTOWNURBAN21
        width: 10
        length: 10
        groups: 13 # Railroads N-S

These changes will make it so you don't have to script the railroad crossing replacement as the addline command does it for you when you specify the correct verticalGroup and crossingGroup. The command just has to be executed AFTER the railroads are placed.
« Last Edit: January 19, 2025, 11:41:34 am by CrazedHarpooner »

Offline hellrazor

  • Moderator
  • Commander
  • ***
  • Posts: 2065
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #902 on: January 19, 2025, 11:31:01 am »
Thanks but for the time being I have what I want and my script is still OXC compatible, so i go with that.

Offline hellrazor

  • Moderator
  • Commander
  • ***
  • Posts: 2065
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #903 on: January 30, 2025, 01:21:40 am »
I am making further progress while I am currently working on the next Version of Hardmode Expansion.

Just some small Graphical Teasers from some Graphics stuff I added/completed etc.

I also noticed that for some reason I did not had a HandOb for the AlloyKnife and added one, unfortunately i do not know who made it so maybe someone can help me identify the person in question so I can credit accordingly.

Offline hellrazor

  • Moderator
  • Commander
  • ***
  • Posts: 2065
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #904 on: January 30, 2025, 01:41:54 am »
Since OXCE also offers scripting support I decided to also look into this and i found some interesting things,
for one a simple Red Hit Flash confirmation script, which I added. Just to give visual feedback towards the Player.

Then we got the Ufopaedia Celatid, oh boy, oh boy.
I learned some lessons about expotential growth there :D
So yes the Ufopaedia Celatid is now Part of Hardmode Expansion, but only with a linear growth pattern (meaning, it can only Clones once, Clones make new Clones; exception is Cydonia on Cydonia Celatids do have expotential growth pattern).

What I currently struggeling with is I am lacking some Inventory Graphics for the entire Drone set (Normal Drones, Alloy Drones and Hover Drones). Unfortunately I am not a great graphical artist myself. So I hope some might offer his help in this regard. I already search a few other mods like FMP and XCF for possible drone inventory sprite as basis for creating something myself and yes there are some sprites which can be used as a basis but they also require completely new stuff...

Current Changelog progress so far:
Version 0.99.9.6
 - Fix Mod not loading on OXCE 8.0.0. (rapidyml)
 - Fix Wrong Inventorysprites for Alloy Tanks
 - Fix Alien Data Slate Occurance
 - Fix wrong values on Snakeman / Waspite Armors
 - Fix Hovertank Inventoryimage position
 - Fix some Colors on some Inventory and Ufopaedia Pictures
 - Fix DOWNTOWNURBAN Mapscript for size 60x60
 - Update Language files for more translations
 - Unify Alien Base cancellation behaviour (exception Alien Base at Gamestart)
 - Adjust Alien Missions and Scoring slightly
 - Adjust Armors for Gazers, Sectoid Elite, Muton Elite, Ethereals, Muton Elite Guard
 - Adjust Aliendeployment spawns to also enable lower Difficulties with proper scaling
 - Adjust Terrorsite mapScripts for UFO spawn and proper block variety
 - Adjust Alien Alloy recovery from Missionsites to give proper yield
 - Adjust Tank fire accuracies slightly
 - Add Terrorships Spawn on Terrorsites
 - Add Terrorship reappears after Terrorsite despawn or failed/aborted XCom Mission
 - Add DOWNTOWNURBAN Railstation to URBAN and INDUSTRIAL Terrosites
 - Add Ufopaedia Articles for Armors / Combat Analysis
 - Add Running will NOT trigger Mutual surprise
 - Add Info for Melee Weapons that user strength increases damage
 - Add another Graphic for a DayNightIndicator
 - Add Psi Animation by pWWWa
 - Add Psi Miss Animation
 - Add Missing HandOb for Alloy Knife
 - Add Script: RED HIT FLASH for all Battlescape units
 - Add Ufopaedia Celatid (Ability to Selfclone once on Earth and unlimited on Cydonia/Psivision 13 tiles)
 - Add Custom Background for UFOpaedia Armor articles

I want to add some more terrains from TerrainPack 4.3, which I still lack at this point.
And also the economy rebalance with SellCostcoefficient, so the mod can be played also on lower difficulties then Superhuman with keeping the tight balanced economy.

I am looking forward to any form of feedback/critique points for the current released Version: 0.99.9.5.

And yes there will be a Version 1.0 at some point ;)

Offline SIMON BAILIE

  • Commander
  • *****
  • Posts: 681
    • View Profile
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #905 on: February 23, 2025, 04:19:56 pm »
Is it ok to upgrade my current game of v0.99.9.5 to the master WIP 0.99.9.6 as the mod.io website is still showing 0.99.9.5 as the latest-see attached.
https://mod.io/g/openxcom/m/hardmode-expansion
« Last Edit: February 23, 2025, 06:00:32 pm by hellrazor »

Offline hellrazor

  • Moderator
  • Commander
  • ***
  • Posts: 2065
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #906 on: February 23, 2025, 06:05:05 pm »
Is it ok to upgrade my current game of v0.99.9.5 to the master WIP 0.99.9.6 as the mod.io website is still showing 0.99.9.5 as the latest-see attached.
https://mod.io/g/openxcom/m/hardmode-expansion

I do not recommend there are some serious bugs i am aware of, which i was not able to fix so far.
There is also some stuff missing and some other things not completly implemented.
Its called WIP/dev version. for a reason...

Offline pWWWa

  • Sergeant
  • **
  • Posts: 36
    • View Profile
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #907 on: February 25, 2025, 04:12:46 am »
I also noticed that for some reason I did not had a HandOb for the AlloyKnife and added one, unfortunately i do not know who made it so maybe someone can help me identify the person in question so I can credit accordingly.

Seems, It started by Solarius Scorch and finished by Dioxine (Alien Origin thread)

BTW, what do you think about Melee terrain damage ?

Also, please, check attached:
-hit animation for Alloy Knife (recolored plasma blade`s slash from last update);
-big, medium and small plasma firearms hit animation.

Offline hellrazor

  • Moderator
  • Commander
  • ***
  • Posts: 2065
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #908 on: February 25, 2025, 03:38:49 pm »
Seems, It started by Solarius Scorch and finished by Dioxine (Alien Origin thread)

Thanks I will update Credits accordingly.

BTW, what do you think about Melee terrain damage ?

That is a thing now? I need to take a closer look, also it would potentially allow to breach UFO walls with Plasma Sword (100 base damage + 70 soldier strength = 0-340 possible damage). I am not sure if this is a good thing.

Also, please, check attached:
-hit animation for Alloy Knife (recolored plasma blade`s slash from last update);
-big, medium and small plasma firearms hit animation.

Uhhh those look nice. If you do not mind I will use them, but will also make a golden/yellows recolor for the elerium plasma weapon clips.
OK?

Offline CrazedHarpooner

  • Colonel
  • ****
  • Posts: 174
    • View Profile
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #909 on: February 25, 2025, 03:54:39 pm »
That is a thing now? I need to take a closer look, also it would potentially allow to breach UFO walls with Plasma Sword (100 base damage + 70 soldier strength = 0-340 possible damage). I am not sure if this is a good thing.
You can fine tune that with the ToTile property under meleeAlter making them do their usual damage to units, but greatly reduced to terrain, enough so it can't cut through walls you don't want them to. Also under meleeAlter are RandomTile and TileDamageMethod. But yes, if you're not careful with how you configure the damage, they'll start slicing UFO walls like melted cheese.

Offline hellrazor

  • Moderator
  • Commander
  • ***
  • Posts: 2065
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #910 on: February 25, 2025, 07:48:26 pm »
You can fine tune that with the ToTile property under meleeAlter making them do their usual damage to units, but greatly reduced to terrain, enough so it can't cut through walls you don't want them to. Also under meleeAlter are RandomTile and TileDamageMethod. But yes, if you're not careful with how you configure the damage, they'll start slicing UFO walls like melted cheese.

Currently i do not want to dive into this. There are other more present things which I need in my Mod.
For example implementing the costSellScript, so I can balance the Economy for lower difficulties. This has priority.

Offline hellrazor

  • Moderator
  • Commander
  • ***
  • Posts: 2065
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #911 on: February 26, 2025, 11:43:05 am »
Is it ok to upgrade my current game of v0.99.9.5 to the master WIP 0.99.9.6 as the mod.io website is still showing 0.99.9.5 as the latest-see attached.
https://mod.io/g/openxcom/m/hardmode-expansion

I was able to fix the scripting bugs and conflicts I had. And I updated the meleeHitAnimations and the Plasma HitAnimations.
So if you like, you can update: GitHub WIP Version: Hardmode Expansion WIP

But do not complain about the X-Com Drone Combat Analysis UFOpaedia articles crashing, they are missing graphics, for the armor articles. -> InventorySprites.

If you run into any other Bugs, please let me know so I can fix those. Thank you.

EDIT: Heavy Plasma is now nearly as deadly as the Plasma Shotguns up close! You have been warned!
EDIT2: Hovertanks are basically fire support Platforms and pretty resitant to plasma (more as in vanilla). They do have good aim and good drop off values and can autofire within sightrange without dropoff, autofire provides 4 shots.
« Last Edit: February 26, 2025, 11:50:38 am by hellrazor »

Offline hellrazor

  • Moderator
  • Commander
  • ***
  • Posts: 2065
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #912 on: February 26, 2025, 11:46:09 am »
Also, please, check attached:
-hit animation for Alloy Knife (recolored plasma blade`s slash from last update);
-big, medium and small plasma firearms hit animation.

All absorbed. ;)
I attach some screenshots later.

Offline hellrazor

  • Moderator
  • Commander
  • ***
  • Posts: 2065
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #913 on: March 01, 2025, 02:31:56 pm »
Progress, I got the Script for the Difficulty based Price adaption to work.

The solution looks ugly and I wish there was a case match in the scripting language...

Code: [Select]
extended:
#BEGIN TAGS
  tags:
    RuleItem:
      TIMER: int
      SELL_PRICE_BE: int
      SELL_PRICE_VG: int
#END TAGS

  scripts:
#BEGIN ADJUSTED SELL PRICE BY DIFFICULTY
    sellCostItem:
      - offset: 3
        code: |
          var int temp;
          geoscape_game.difficultyLevel temp;  # get difficulty
          if eq temp DIFF_BEGINNER;
            item_rule.getTag temp Tag.SELL_PRICE_BE;  # custom item sell price
            if neq temp 0;
              set cost_current temp;
            end;
          end;
          if eq temp DIFF_EXPERIENCED;
            item_rule.getTag temp Tag.SELL_PRICE_BE;  # custom item sell price
            if neq temp 0;
              set cost_current temp;
            end;
          end;
          if eq temp DIFF_VETERAN;
            item_rule.getTag temp Tag.SELL_PRICE_VG;  # custom item sell price
            if neq temp 0;
              set cost_current temp;
            end;
          end;
          if eq temp DIFF_GENIUS;
            item_rule.getTag temp Tag.SELL_PRICE_VG;  # custom item sell price
            if neq temp 0;
              set cost_current temp;
            end;
          end;

          return cost_current;
#END ADJUSTED SELL PRICE BY DIFFICULTY

items:
#BEGIN ADJUST SELL PRICE TAGS BY DIFFICULTY
#FACTORS: BE: 1,786 VG: 1,282 TO SH (50% VANILLA)
  - type: STR_PLASMA_BLADE
    tags:
      SELL_PRICE_BE: 32148
      SELL_PRICE_VG: 23076
###List of Items

Maybe someone knows a different solution for this, but i do not see any other way.
I hope that with a complete list of items, I can fix the lower difficulties economy for Hardmode Expansion.
I will have to ask for people testing this, once the newest Version is released.

EDIT: And yes Beginner and Experienced use the same number of spawning units, the same can be said for Veteran and Genius.
The Alien stats will of course differ.
« Last Edit: March 01, 2025, 02:33:43 pm by hellrazor »

Offline CrazedHarpooner

  • Colonel
  • ****
  • Posts: 174
    • View Profile
Re: [EXPANSION]Hardmode Expansion -- General Feedback Thread
« Reply #914 on: March 01, 2025, 03:21:13 pm »
The closest thing to case matching would be with nested else cases like so
Code: [Select]
  scripts:
#BEGIN ADJUSTED SELL PRICE BY DIFFICULTY
    sellCostItem:
      - offset: 3
        code: |
          var int temp;
          geoscape_game.difficultyLevel temp;  # get difficulty

          if le temp DIFF_EXPERIENCED; # For BEGINNER and EXPERIENCED
            item_rule.getTag temp Tag.SELL_PRICE_BE;  # custom item sell price
          else le temp DIFF_GENIUS; # For VETERAN and GENIUS
            item_rule.getTag temp Tag.SELL_PRICE_VG;  # custom item sell price
          else; # For SUPERHUMAN
            set temp 0;
          end;

          if neq temp 0;
            set cost_current temp;
          end;

          return cost_current;
#END ADJUSTED SELL PRICE BY DIFFICULTY
I've also changed to check to lower or equal instead of just equal, this way the starting 'if' looks for both beginner and experienced, the first 'else' then checks for veteran or genius, tecnically it would also look for the other 2 lower difficulties, but since those are covered in the initial 'if' they aren't a factor at this point. In addition I've extracted the temp check to it's own exterior check so you don't have include it in every previous 'if' or 'else'. Did have to add a 2nd 'else' for SH with my change otherwise 'temp' would of remained with a value of 4 and mess up the return cost.

In addition, depending on how you would rather approach it, instead of manually setting the prices you could use the factor you want to use and put this in the script
Code: [Select]
            muldiv cost_current temp 1000;
before returning it. The factor would have to be in an integer format, so using your example in the code for beginner, set it to 1786 and divide by 1000. You could also add a tag for the divider so you can customize the precision per item, but that does mean more tags to read in the script and manually set in the rules.
« Last Edit: March 01, 2025, 06:23:23 pm by CrazedHarpooner »