Code Monkey home page Code Monkey logo

oxce-yaml-helper's People

Contributors

dependabot[bot] avatar pedroterzero avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

723studio

oxce-yaml-helper's Issues

Checking for if a ruleset has all required values

list of required values according to the ruleset refrence:

  • craftWeapons:
    • launcher: (note: missing this will cause error on launch)

  • soldierTransformations:
    • allowedSoldierTypes:
      (note: missing this will cause the transformation to appear in the menu, but no soldier can undergo it)

  • alienDeployments:
    • data: (while not listed as a required value omitting it usually will cause a crash)
      • lowQty:
      • highQty:
      • percentageOutsideUFO:
      • itemSets: (note: only this seems to cause a crash when omitted)

  • manufactureShortcut:
    • startFrom: (i haven't tested what happens if the value is omitted)

  • ufopaedia:
    • type_id; (omitting it will cause the article not to appear)
    • if a craft ufopaedia article has a text: but not a rect_text: the text won't appear, though missing it won't cause a crash, flagging it as a problem could help someone not realizing the issue

  • alienMissions:
    • waves: (i haven't tested what happens if the value is omitted)
      • trajectory: (omitting this will cause error on launch)
    • raceWeights: (not 100% sure what happens if omitted)

Global vars linking

global properties I can link, they all are linked to researches
mana - unlockResearch, fakeUnderwaterBaseUnlockResearch, psiUnlockResearch and newBaseUnlockResearch - those are OXC(E) and ufopaediaUnlockResearch, baseConstructionUnlockResearch - those are FTA

Check for spriteFacility and spriteShape existence for size: 2

See also(?) https://openxcom.org/forum/index.php/topic,9665.msg138906.html#msg138906

Reaver:

example: My facility STR_LIVING_QUARTERS_LARGE has size: 2, which means that the call spriteFacility: 408 will make the completed facility use extraSprites BASEBITS.PCK indexes 408, 409, 410, and 411. Then the call spriteShape: 408 will make the facility during construction use indexes 412, 413, 414, and 415.
So any facility with size: 2 calls the index of its spriteFacility and the next three indexes, and then it also calls the index of its spriteShape plus 3 as well as the next three indexes after that.
I think I have it correct between spriteShape and spriteFacility
if they don't exist, it should flag it because that will make the mod crash on startup

autoshots duplicate rule logic checking

@pedroterzero suggestion for your extension, flag items if they have both

   confAuto:
     shots:

and

autoshots

these seem to conflict and one gets overwritten
another suggestion would be flagging an item if they have an aimed/snap/auto shot accuracy but no tu cost and vice versa.

By @Filip-H

Add syntax highlighting for y-scripts

Idea by @Finnik723.

Example:

  scripts:
    createUnit: 
      - offset: 1     # Sets the frequency and offset for periodic unit recolors for buffs and debuffs
        code: |
          var int recolorPeriod;
          var int desync;

          set recolorPeriod 32; # units flash every 32 frames
          unit.getId desync;
          offsetmod desync 11 0 recolorPeriod; # creates a desynchronization between unit flashes
          unit.setTag Tag.UNIT_RECOLOR_DESYNC desync;

          return;

Highlight the stuff in code:.

Possibly achievable using Injection Grammars? https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide#injection-grammars

Check research needItem

Can you pls check for research that has needItem: true if i have that item (it is the same as research name). Note, that it is only for FtA, so should be an option or something, for OXCE mods it would make tons of false positives

Tests to write

  • linker.yml
  • terrain: reference in mapscript command
  • additionalMetadataFields (??, not sure), ignoring because test above covers this
  • autocomplete: test shouldComplete when next char is ] (and space and comma?)
  • subcategories in documentation?

Edit CSV: Show Translated type String in Column A

Currently when converting a rul file into a CSV it puts all parameters into columns and shows the values for each type/row.
It would be nice if the Edit CSV View could be enhanced by adding a column for the values of the en-US.yml and similar files.
The CSV editor would show the translation for the type value in Column A while the previous parameters would then start in Column B instead of Column A.
In the long run the added Column A showing the translated strings might also be used to modify the values and export them back the en-US.yml.

(See: https://discord.com/channels/582086836923531270/836314823783481386/940281667506036767)

Spreadsheet editor: add new columns in the order they are in the CSV, not at the end

https://discord.com/channels/582086836923531270/836314823783481386/940231890269536267

Finnik — Today at 2:05 PM
About csv, btw - it turns that massive adding is more handy to be made manually
Finnik — Today at 2:05 PM
I tend to have specific property orders - helps to keep sanity with tons of items
pedroterzero — Today at 2:06 PM
not sure I understand
Finnik — Today at 2:06 PM
And if i add new property - it would be added at the end
Like, for example, i want to massive add 'landOnly:true'
pedroterzero — Today at 2:07 PM
ahh I see
Finnik — Today at 2:07 PM
For items, that had not it it would be added to the end
It's do it job engine-wise
pedroterzero — Today at 2:08 PM
yeah that's probably true
I might be able to change that, but not sure
Finnik — Today at 2:08 PM
So for instance that was done manually
Ops
pedroterzero — Today at 2:09 PM
So if I understand correctly, you would like it to follow the column order as set in the csv?
Finnik — Today at 2:09 PM
723Studio/X-Com-From-the-Ashes@0a978bc
Yep
pedroterzero — Today at 2:10 PM
recoveryPoints is what you added?
in that commit
Finnik — Today at 2:10 PM
Yep

Implement missing files

Where images or sounds (or other files?) are referenced, check that they exists or flag them

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.