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.


Messages - 0xEBJC

Pages: 1 ... 5 6 [7] 8 9 ... 12
91
The X-Com Files / Re: Bugs, crashes, typos & bad taste
« on: February 08, 2024, 06:42:48 pm »
I haven't taken time to go through all the items / manufacturing to get an overall sense of balance, I'm just casually playing on easy mode and as I find things pointing them out.

I think the Dart Musket is very imbalanced in the time it takes to manufacture.  It's double many other guns I'd consider more complex to produce.  In my opinion 650-700 would be more balanced, unless there was a specific reason on this design decision.

Chemgun            : 150 hrs
Dart Pistol           : 500 hrs
Gas Gun              : 600 hrs
Dart Rifle             : 600 hrs
Ion Blaster           : 600 hrs
Dart Rifle             : 600 hrs
Toxigun               : 700 hrs
Alien Laser Rifle   : 700 hrs
Canister Gun        : 800 hrs


Dart Musket        : 1400 hrs

92
The X-Com Files / Re: Bugs, crashes, typos & bad taste
« on: February 06, 2024, 09:00:47 pm »
Stingray has both light missiles and heavy missiles variant.

Yep, that's it... really I just overlooked the list of the stingray above heavy stingray launcher because of not separate ammo. lol

Thanks! 

93
Open Feedback / Re: Radar mathematics
« on: February 06, 2024, 08:08:23 pm »
Hey Yankes,  do you have a reference to this info regarding the different mechanics in OXCE? I'm reading the OXCE source, but not everything is immediately apparent, my C++ is rusty.

In OXCE (extended version but some mechanics bit different) you can try implement your own version of radar stacking (not all info is available to script yet).
For interval, this is not easy to do without breaking all blance and not diverting from original.  I had once plan to change it but it was bit to invasive to be add to OXCE.

I'm working on some facility mods for classic UFO and X-COM Files and want to understand all the base attributes in how they work.  I found a lot of good info on the classic UFO base facilities here:
https://www.ufopaedia.org/index.php/Base_Facilities_(EU)#Initial_vs._Researched_Facilities

I can read the source rul files for X-COM Files, but I'm having trouble finding the source info for the classic UFO base facilities in the source files?  I'm looking for it in the OXCE github repo, but thinking it's located maybe in the original DOS floppy content?  is there a readable version of all the details for original UFO base content?  I'm look for all the content attributes that get loaded into these properties for the default game:
https://github.com/MeridianOXC/OpenXcom/blob/oxce-plus/src/Mod/RuleBaseFacility.cpp

Thanks!

94
The X-Com Files / Re: Bugs, crashes, typos & bad taste
« on: February 06, 2024, 12:37:28 am »
I can not find "Light Missiles" anywhere?  STR_LIGHT_MISSILES to equip various interceptor class crafts.

Not sure if I'm missing something, but I have 2 crafts:
CF-105 ARROW
KITSUNE-106

Both can equip "Light Cannon" but can not equip "Stingray Missiles", which is fine as the Interceptor lists them as "Heavy Missiles", but I can not find "Light Missiles" in the purchase menu, not in research, under the "Search" research tree.

I've grep'd the entire mod directory for the STR_LIGHT_MISSILES value and only come up with language files and the weapon slot for the crafts, no actual item?


Quote
$ grep -rHin STR_LIGHT_MISSILES
mods/XComFiles/Language/cs.yml:2303:  STR_LIGHT_MISSILES: "Lehké rakety"
mods/XComFiles/Language/de.yml:3274:  STR_LIGHT_MISSILES: "Leichte Raketen"
mods/XComFiles/Language/en-US.yml:3409:  STR_LIGHT_MISSILES: "Light Missiles"
mods/XComFiles/Language/es-419.yml:1074:  STR_LIGHT_MISSILES: "Misiles Ligeros"
mods/XComFiles/Language/es-ES.yml:3398:  STR_LIGHT_MISSILES: "Misiles Ligeros"
mods/XComFiles/Language/it.yml:3408:  STR_LIGHT_MISSILES: "Missili Leggeri"
mods/XComFiles/Language/ja.yml:3408:  STR_LIGHT_MISSILES: "軽ミサイル"
mods/XComFiles/Language/ko.yml:3402:  STR_LIGHT_MISSILES: "소형 미사일"
mods/XComFiles/Language/pl.yml:3408:  STR_LIGHT_MISSILES: "Lekkie rakiety"
mods/XComFiles/Language/pt-BR.yml:3248:  STR_LIGHT_MISSILES: "Mísseis Leves"
mods/XComFiles/Language/ru.yml:3408:  STR_LIGHT_MISSILES: "Легкие ракеты"
mods/XComFiles/Ruleset/crafts_XCOMFILES.rul:467:    weaponStrings: [STR_CANNON, STR_LIGHT_MISSILES]
mods/XComFiles/Ruleset/crafts_XCOMFILES.rul:502:    weaponStrings: [STR_CANNON, STR_LIGHT_MISSILES]
mods/XComFiles/Ruleset/crafts_XCOMFILES.rul:948:    weaponStrings: [STR_BEAM, STR_LIGHT_MISSILES, STR_SHIELD, STR_ELECTRONICS]
mods/XComFiles/Ruleset/crafts_XCOMFILES.rul:1118:    weaponStrings: [STR_CANNON, STR_LIGHT_MISSILES]

--- posts merged ---

I thought it odd that the "Pickaxe" is listed at the bottom of the item menu and not placed with other hand weapons like axes, crowbars, etc.  It's below "Land Survey" Fire Extinguisher is also below Land Survey.  I would think to put it closer to hand cuffs?

95
Brutal AI / Re: Brutal-OXCE 7.12.2
« on: December 20, 2023, 01:17:39 am »
Congrats with the release!
And I suggest to change the picture of the executable file icon so that it will not be confused with the original OXCE. Something like this. I'm not sure if one ico file is enough to do this, or if all the other 11 files found when unzipping the exe file need to be processed as well.


Nice, yeah I second a new graphic icon for the binary, maybe something more BRUTAL like feeling :)

96
Thank you for all the clarifications, I'll dig through the mods and forms regarding examples for using the `refNode:`





I was trying to use the `!info`  from the wiki documentation, but not sure how to get that info back?

items: !info                # this tag can be used to check if a given ruleset supports the new features

I created a test mod entry and add `!info` to it, but wan't sure if I needed to look at some logs or something else?  The load screen didn't show me anything either.

I was trying to get the `!info` for an armor sub property `builtInWeapons:` as I tried the following:

Code: [Select]
armors:
  ...
  ...

  - override: STR_THE_THING_DOG_ARMOR
    builtInWeapons: *noInventoryExceptHands
  - update: STR_THE_THING_DOG_ARMOR
    builtInWeapons: !add
      - STR_DOGE_BARK
      - STR_DOGE_BITE

and got the following error on mod load for tagging builtInWeapons with `!add`  Error for `STR_THE_THING_DOG_ARMOR`: unsupported node tag `!add` at line...


97
Practically all mods have already implemented a solution using NULL items.

The DEV effort is big.
The migration effort for modders is also big.

What benefit(s) does your solution bring to justify the efforts?

Meridian, thank you for taking the time to hear me out, I really appreciate it. Sorry to be lengthy below, trying to be concise but also clear on the issue and request.


Justification - I believe this suggestion is:

[Backwards Compatible]
1.) Implementation doesn't impact current mod structure (completely backwards compatible)  :)
2.) Current mods do not need modified (migration can be ignored)  :)
3.) Fairly simple migration effort for modders :)
    --> search for builtInWeapons:
    --> replace with customInventory: *newCustomInventoryDefintion
4.) Armors with default inventory need not to be changed :)


[Future Mods]
1.) Greatly simplifies new armor definitions with 'custom' inventories as opposed to NULL blanks.
2.) Quickly allows for many more custom inventories including unique locations, names, and sizes of inventories for any armor definitions.
3.) Massively simplifies submods that modify the inventories of other mods. (This is my current situation - explained below)  :) :) :)
4.) Any changes to parent mods inventory or armor configurations, i.e. X-Com Files would not affect nor require a submod to be changed and compatibility wold be maintained.  :) :) :)


[My Goal]
1.) Extend or modify the inventory, currently only with global invs: but without having to break ALL parent mod armor inventories.
2.) I want to create new custom armors that have more inventory slots than the globally defined invs: in X-Com Files.
  -- backpack with 2x4 shape
  -- backpack with 4x4 shape
  -- additional 1x1 pocket slot


[Problem]
- I've created a unique inventory that unfortunately changes ALL inventories globally for ALL parent mods under current format. :(
- I have to fix / override ALL inventories across ALL armor definitions for ALL other mods. :(


[Example]
1.) I'm creating a sub mod for X-Com Files that adds new armors and changes the global inventory configuration. This would affect other mods that add additional armors too.

2.) I replace 3x3 backpack with 4x4 backpack and add a 1x1 pocket slot.
Code: [Select]
invs:
  ...
  ...

  - id: STR_BACK_PACK
    x: 180
    y: 31
    slots:
      - [0, 0]
      - [0, 1]
      - [0, 2]
      - [0, 3]
      - [1, 0]
      - [1, 1]
      - [1, 2]
      - [1, 3]
      - [2, 0]
      - [2, 1]
      - [2, 2]
      - [2, 3]
      - [3, 0]
      - [3, 1]
      - [3, 2]
      - [3, 3]

  ...
  ...
  ...

  - id: STR_POCKET
    x: 0
    y: 86
    slots:
      - [0, 0]

  ...


Code: [Select]
armors:
  - new: STR_SUIT_RUCKSACK_UC  # Suit with 2x4 backpack & Pocket
    ...
    builtInWeapons:
      - INV_NULL_2X4_BACK_PACK
    ...
  - new: STR_POWERARMOR_LARGEPACK_UC # Power Armor with 4x4 bacpack
    builtInWeapons:
      - INV_NULL_1X1_POCKET



3.) Now ALL parent mods, i.e. X-Com Files have a 4x4 backpack and a 1x1 pocket. :(

4.) All X-Com Files armors with defined INV_NULL_3X3_BACK_PACK have to be fixed with INV_NULL_4X4_BACK_PACK and INV_NULL_1X1_POCKET :(

5.) All X-Com Files armors have to be fixed with INV_NULL_1X1_POCKET if you don't want the pocket added to all armors. :(

6.) A lot more additional fixes have to me made to armors with other types of buildtinWeapons such as ones that block off the backpack for a buildtinWeapon: jetpack, etc.

Hundreds of entries need updated / fixed with overrides:

Code: [Select]
armors:
  ...
  ...
  ...
  - override: STR_SUIT_UC
    builtInWeapons:
      - INV_NULL_4X4_BACK_PACK
      - INV_NULL_1X1_POCKET
  - override: STR_SUIT_INFERNAL_UC
    builtInWeapons:
      - INV_NULL_4X4_BACK_PACK
      - INV_NULL_1X1_POCKET
  - override: STR_SUIT_SPARTAN_UC
    builtInWeapons:
      - INV_NULL_4X4_BACK_PACK
      - INV_NULL_1X1_POCKET
  - override: STR_SUIT_KYBEROS_UC
    builtInWeapons:
      - INV_NULL_4X4_BACK_PACK
      - INV_NULL_1X1_POCKET
  - override: STR_SUIT_OLYMPIAN_UC
    builtInWeapons:
      - INV_NULL_4X4_BACK_PACK
      - INV_NULL_1X1_POCKET
  - override: STR_SUIT_PROTEAN_UC
    builtInWeapons:
      - INV_NULL_4X4_BACK_PACK
      - INV_NULL_1X1_POCKET
  - override: STR_SUIT_H_UC
    builtInWeapons:
      - INV_NULL_4X4_BACK_PACK
      - INV_NULL_1X1_POCKET
  ...
  ...
  ...


7.) Any updates / changes / additions / to X-Com Files armors or inventory definition could potentially breaks this submod and X-COM FIles... , hundreds of 'overrides' potentially have to be redone again to fix compatibility. :(


8.) New code format request as follows would not require any changes to X-COM Files defintions via overrides and wouldn't break parent mods even when they are updated / changed. :)

Example:
Code: [Select]
extraInvs: &SuitWithRucksack
  ...
  ...

  - id: STR_BACK_PACK
    x: 180
    y: 31
    slots:
      - [0, 0]
      - [0, 1]
      - [0, 2]
      - [0, 3]
      - [1, 0]
      - [1, 1]
      - [1, 2]
      - [1, 3]
  ...
  ...
  ...

  - id: STR_POCKET
    x: 0
    y: 86
    slots:
      - [0, 0]

  ...

extraInvs: &PowerarmroLargeBackpack
  ...
  ...

  - id: STR_BACK_PACK
    x: 180
    y: 31
    slots:
      - [0, 0]
      - [0, 1]
      - [0, 2]
      - [0, 3]
      - [1, 0]
      - [1, 1]
      - [1, 2]
      - [1, 3]
      - [2, 0]
      - [2, 1]
      - [2, 2]
      - [2, 3]
      - [3, 0]
      - [3, 1]
      - [3, 2]
      - [3, 3]

  ...
  ...
  ...


Code: [Select]
armors:
  - new: STR_SUIT_RUCKSACK_UC  # Suit with 2x4 backpack & Pocket
    ...
    customInventory: *SuitWithRucksack
    ...

  - new: STR_POWERARMOR_LARGEPACK_UC # Power Armor with 4x4 bacpack
    ....
    customInventory: *PowerarmroLargeBackpack
    ....

... These definitions don't change X-Com Files armors or inventory in anyway :)
... No overrides needed to X-Com Files :)
... Changes to X-Com Files doesn't affect these definitions in any way :)

- This would maximize compatibility across mods and submods that desire to have custom armor inventory definitions.  :) :) :)
- This would eliminate any dependent changes to mods when other codependent mods make changes to their inventory or armor definitions.  :) :) :)

98
OXCE Suggestions OK / [Suggestion] Inventory slots per armor #2
« on: December 18, 2023, 06:23:59 pm »
I know this was asked, discussed extensively in the following, but I think I have an easy / elegant solution that would be backwards compatible and I'd be very interested in having this feature.

[ABANDONED] Inventory slots per armor
https://openxcom.org/forum/index.php/topic,6852.0.html


1.) Keep the global 'invs:' for backwards compatibility
2.) Have a new config entry in armors 'customInventory:' that is an 'optional' entry
3.) If 'customInventory:' is left blank or not defined in an armor definition then it defaults to the default 'invs:' inventory configuration (This is current format and backwards compatible)
4.) Like extraStrings: have a new category extraInvs:
5.) Put a named &'address' for each of the extraInvs:
6.) Use *'pointer' to the named extraInvs: to set the 'customInventory:'

Example:

Code: [Select]
invs:
  - id: ....      # Default inventory definitions
  ...
  ...


The structure of the following code might not be exactly syntactically correct?
Code: [Select]
extraInvs: &jumpArmorWithBackpack
  - id: ....      # Custom inventory definition for Jump Armor
  ...
  ...


extraInvs: &jumpArmorBWithoutBackpack
  - id: ....      # Custom inventory definition for Jump Armor B and no backpack
  ...
  ...



Code: [Select]
armors:
  - new: STR_ARMOR_1_UC
    ....
    ....


  - new: STR_ARMOR_2_UC
    ....
    ....
    customInventory: *jumpArmorWithBackpack


  - new: STR_ARMOR_3_UC
    ....
    ....
    customInventory: *jumpArmorBWithoutBackpack



This would result in:
  STR_ARMOR_1_UC having the default inventory
  STR_ARMOR_2_UC having the jump armor inventory with backpack
  STR_ARMOR_3_UC having the jump armor B inventory with no backpack

This would also be completely backwards compatible because ALL armors without 'customInventory:' set would use the default inventory which is the structure of current '.rul' files.

99
I post this question below but didn't know if it was a good idea to post into a '[DONE]' topic

https://openxcom.org/forum/index.php/topic,11198.msg160045.html#msg160045

Like 'override' and 'update' that could duplicate / 'inherit' another entry?

I don't think this feature is implemented but would a great enhancement.

Sorry if this question has already been asked or implemented, doing my best to look for posted answers before asking.

100
This is simply load of another file and getting part of yaml from it.
Nightly Ruleset Reference was not updated as there was no next version published, probaby in this week Meridian or I will update reference.

Hey Yankes,

I am having trouble seeing how this works, whats the benefit, could you please give an example.  Thank you

101
Is there a function like 'override' and 'update' that could duplicate / 'inherit' another entry?

I have an armor defined with many lines of properties and I want a duplicate armor with only a minor change for another specific unit type, instead of manually having a copy of the entire armor definition, is there a way to 'inherit' the previous armor definition with minimal manual entry changes.

For example:
Code: [Select]
armor:
  - new: NEW_ARMOR_ONE
    ....
    ....
    many properties
    ....
    ....
    visibilityAtDark: 14
    ....
    ....
    ....
    builtInWeapons:
      - INV_JETPACK_A_3X3



Code: [Select]
  - new: NEW_ARMOR_TWO !inherit NEW_ARMOR_ONE
    builtInWeapons:
      - INV_JETPACK_B_3X3



Code: [Select]
  - new: NEW_ARMOR_THREE !inherit NEW_ARMOR_TWO
    visibilityAtDark: 18


Then Armor 2 would be a duplicate of Armor 1 with only the Jetpack B vs Jetpack A, and then Armor 3 would be a duplicate of Armor 2 so Armor 3 would have all the properties of Armor 1 and 2 with the updates to have Jetpack B and visibilityAtDark: 18


I am reviewing X-Com Files mod and Solarius Scorch, he has done a great job but there is so much manual duplication of items just for little changes to variations.  It make it's really hard to spot errors, make updates, and a lot of work to make a submod with minor tweaks.

If there isn't an 'inherit' function for entries, I would highly recommend it.  I think this would greatly help clean up .rul files and minimize redundancy.

102
I will make breaking change with my recent addition of `update:` and `override:`, I forget what sematic was of it in
scripts and new implemented was complete different for this two names compared to script version.
As some thoughts I see that script version was superior, because of this I revert this new rule behavior and make it work same as
did for scripts.
This mean:
  `override:` - throw a error when rule of given name is missing
  `update:` - only log waring in logs if old rule was missing and skip current rule

If old rule did exists both work same as `type:`. If someone manage to use old `override:` before this change,
he can easy recreate it by two rules `delete:` and `new:`.


Yankes

Thanks this is great. 

I'm reviewing mod implementations from mature mods like X-Com Files and I am also looking at the documentation here to get a good understanding on how to implement myself:
"https://www.ufopaedia.org/index.php/Ruleset_Reference_Nightly_(OpenXcom)"



I have a three question about how these rules work

1.) Is 'type' deprecated? Going forward should I update all my mod .rul files to remove 'type' and change to 'new'?

2.) For 'override' and 'update' is my understanding correct that it will only 'update' or 'override' the specific values and 'inherit' all the other values?

for example
Code: [Select]
#base mod:
 items:
  - new: STR_SNUBNOSE_PISTOL
    size: 0.1
    costBuy: 900
    costSell: 400
    ...
    compatibleAmmo:
      - STR_SNUBNOSE_PISTOL_CLIP
    accuracyCloseQuarters: 145
    accuracySnap: 70
    accuracyAimed: 80
    ...

Then in a different mod modify the STR_SNUBNOSE_PISTOL like the following. Will the changed item's values keep all it's other properties from initial declaration?

Code: [Select]
items:
  - override: STR_SNUBNOSE_PISTOL
    accuracySnap: 70
    accuracyAimed: 85


3.) If there was an item / armor I wanted to override from another mod create a new &'address' I could *'point' to then make some change, would the following work appropriately?

Code: [Select]
armor:
  - override: STR_JUMP_ARMOR_UC
    builtInWeapons: &JetPackBBackPack
      - INV_NULL_1X3
      - INV_NULL_4X1
      - INV_JETPACK_B_3X3



  - override: STR_JUMP_ARMOR_INFERNAL_UC
    builtInWeapons: *JetPackBBackPack



  - update: STR_JUMP_ARMOR_INFERNAL_UC
    builtInWeapons: !add
      - INV_JETPACK_A_3X3


  - update: STR_JUMP_ARMOR_INFERNAL_UC
    builtInWeapons: !remove
      - INV_JETPACK_B_3X3



 #now `STR_JUMP_ARMOR_INFERNAL_UC` will have builtInWeapons equal to `[INV_NULL_1X3, INV_NULL_4X1, INV_JETPACK_A_3X3]`



103
OpenXcom Extended / Re: OXCE (OpenXcom Extended) main thread
« on: December 18, 2023, 06:50:57 am »
@Meridian & Dev Team, thanks for the updates! some great new features :)

105
Help / OXCE Support Customizing / Controlling Inventory Layout
« on: December 16, 2023, 08:16:03 pm »
[Issues]:
I have 2 issues that I suspect need code changes?

1.) For builtInWeapons items placed in the defaultInventorySlot of an armor, they are always placed starting at position [0,0]. Even if they don't fit there, i.e. a 2x2 item in a 2x1 space. Also, even if there are other places where a 2x2 item can fit, the builtInWeapons still gets placed at position [0,0].

2.) If I add a second NULL item to the builtInWeapons for the BELT I suspect it also wants to go to position [0,0] and since that position is already taken, instead of finding another place that it fits in the belt, it gets placed in a different inventory slot, i.e. in the right hand.




[Goal]:
Customize an inventory layout for different armors / suits similar to how X-Com Files does it by disabling specific inventory slots using NULL items.

[Desired Solution]:
1.) Set the location of the builtInWeapons item in the defaultInventorySlot. Like [2,0] vs always [0,0]

2.) Be able to define builtInWeapons that only get place in the default defaultInventorySlot and if there is no room in that inventory slot then don't put them anywhere else.


Example Solution for .rul file:

Code: [Select]
items:
    ...
    defaultInventorySlot: STR_BELT
    defaultInventorySlotPosition: [2,0]
    defaultInventorySlotRestricted: true




#---------------------------------------------

Example I'm dealing with:
Spoiler:
1.) I'd like to place 2 items in the belt with defaultInventorySlot: STR_BELT

2.) I'd like to place a NULL_1x2 item at the position starting at [-2,0] in the belt.

3.) I'd like to place a second item, INV_NULL_2X2_BELT at the position of the starting at [2,0].

4.) If an item has a defaultInventorySlot: STR_BELT and it can not fit there, then I would like it 'NOT' placed in the inventory at all.


I have an inventory defined for 'BELT'

Code: [Select]
invs:
  - id: STR_BELT
    x: 197
    y: 106
    slots:
      - [-2, 0]
      - [-1, 0]
      - [0, 0]
      - [1, 0]
      - [2, 0]
      - [3, 0]
      - [-2, 1]
      - [2, 1]
      - [3, 1]


then I defined the NULL items.

Code: [Select]
items:
  - type: INV_NULL_2X2_BELT
    categories: [STR_BLANKS]
    weight: 0
    bigSprite: 1540
    invWidth: 2
    invHeight: 2
    fixedWeapon: true
    defaultInventorySlot: STR_BELT
    recover: false
  - type: INV_NULL_1X2_BELT
    categories: [STR_BLANKS]
    weight: 0
    bigSprite: 1541
    invWidth: 1
    invHeight: 2
    fixedWeapon: true
    defaultInventorySlot: STR_BELT
    recover: false
  - type: INV_NULL_3X1_BELT
    categories: [STR_BLANKS]
    weight: 0
    bigSprite: 1542
    invWidth: 3
    invHeight: 1
    fixedWeapon: true
    defaultInventorySlot: STR_BELT
    recover: false

now I'm testing with the X-Com Files Suit

Code: [Select]
armors:
  - override: STR_SUIT_UC 
    builtInWeapons:
      - INV_NULL_2X2_BELT
      - INV_NULL_1X2_BELT
      - INV_NULL_3X1_BELT


Pictures attached for the example in the spoiler.
1.) Picture of STR_BELT with no items.
2.) Picture of STR_BELT with INV_NULL_2X2_BELT placed at position[0,0]

Pages: 1 ... 5 6 [7] 8 9 ... 12