Giter Site home page Giter Site logo

extendedconversations's Introduction

๐Ÿ‘‹ Hey there ๐Ÿ‘‹

I'm Richard. I design and develop 'cool things'.

I've been developing for over 16 years so I've worked as a backend, frontend, fullstack and games developer. You'll often see me making new business ideas, open source tooling or game mods. I'm a problem solver.

๐ŸŒ Portfolio ๐ŸŒ

Check out my portfolio to see some pictures and write ups of some of the freelance contract work and projects I've done.

๐Ÿ‘‰ More About Me ๐Ÿ‘ˆ

๐Ÿ”ญ Iโ€™m currently working on various business ideas, open source tools and BattleTech game mods

๐Ÿ“ซ Find me: Email | Website | Youtube | Twitter | Mastodon | LinkedIn

โšก Interesting Things โšก

See my portfolio for many more interesting projects but here are some that are hosted on GitHub.

  • ConverseTek - Reverse engineered binary conversation files for BattleTech and created a nice-to-use tool for creating/editing them. The only way for modders to be able to create any conversation of this type.

  • Mission Control - A large BattleTech mod that expands on many aspects of the game. A core mod in the community. Used by all the major modpacks (RogueTech, BattleTech: Advanced, BEX and others).

  • Mission Control Designer - Built a mission editor for BattleTech as an in-game mod. This involved years of work to slowly piece together the mission format and inject extensive user interface into the game to allow for an editor flow with validation.

  • React-Native-Keychain Contributions - Contributed to React-Native-Keychain to add support for a new form of RSA padding (OAEP) & fix Android KeyStore unlock timeout issues related to biometrics

๐Ÿ’ป Languages ๐Ÿ’ป

I don't limit myself to specific languages or frameworks so I tend to pick up a lot as I go. Below are some of the languages and frameworks I've used for at least one sizable project within a recent timeframe.

Languages: Typescript, Javascript, C#, C++, Lua, C++

Frameworks: React, React Native, NextJS, Node, Laravel

Visit my portfolio and CV for a full breakdown. Enjoy looking through my projects! ๐Ÿ‘‹

extendedconversations's People

Contributors

cwolfs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

extendedconversations's Issues

Condition: Evaluate Timeline

A new condition that evaluates the timeline of the game.

Provide ability to check date in the form of:

  • EqualTo
  • NotEqualTo
  • BeforeOrEqualTo
  • AfterOrEqualTo
  • Before
  • After

And the check on date:

  • Year (3025)
  • Year & Month (3025-05)
  • Year, Month & Day (3025-10-02)

Add condition 'Evaluate Days Since Date'

Add a condition that checks how many days have passed a specific date. Then is a success/failure based on the specified operation.

  • Less than
  • Greater than
  • Equal to
  • Less than or Equal to
  • Greater than or Equal to

And the specified date:

Year, Month & Day (3025-10-02)

And the number of days intended to check against:

e.g. 10

For a full example:

'Evaluate Days Since Date' - 2030-01-10 - 10 - Less than or Equal to

would show the response node if 10 or less days have passed since 2030-01-10

Set Character Visible: Add Kamea & Alex to Flashpoint conference room

There exists three different conference rooms in BattleTech. The Flashpoint conference room doesn't have Kamea and Alex in it.

Trying to use Set Character Visible action for Flashpoint conversations to show Kamea and Alex does not work.

Add Kamea and Alex to the Flashpoint conference room to suppor this.

Add action 'Set Random System'

Add an action that sets the player's company to be transported to a random system. Similar to Set Current System with the option of taking into account travel time, or not.

Actions & Conditions: Upgrade Stat Related To Support Flashpoints

In the past the vanilla code was broken for Flashpoint stats but I never noticed it was fixed in the final updates years ago.

I've now updated the following to work for the flashpoint stats collection.

  • Evaluate BattleTech Float (NOTE: BT still stores floats as ints using Add BattleTech Float though so never use it if possible)
  • Evaluate BattleTech Int
  • Evaluate BattleTech String
  • Get BattleTech Float (NOTE: BT still stores floats as ints using Add BattleTech Float though so never use it if possible)
  • Get BattleTech Int
  • Get BattleTech String

Add action 'Start Contract'

This would immediately start a contract. Launch into the negotiating screen, or the lance selection screen.

Action: Set Camera Hard Lock

Simialr to 'Set Camera Lock' but specifically enforces this lock also for 1-on-1 conversations. The originall 'Set Camera Lock' didn't work for 1-on-1 conversations.

Use case: In 1-on-1 conversations, you can have another character talk (e.g. like over the intercom/radio) and prevent the camera transitioning to that character (sometimes they are even in another room).

Action: Sideload Conversation

Add an action called Sideload Conversation. It will seamlessly load a conversation into the currently running conversation (no titles, no camera resets, no exit/enter conversation).

  • Support resuming (or not) the parent/host conversation
  • Support unrestricted depth
  • Support jumping to a specific node in the sideloaded conversation
  • Support conversation root conditions like vanilla when entering sideloaded conversation
  • Support usage on prompt nodes and response nodes

Improve Vanilla Action: `Add BattleTech Int`

Add BattleTech Int doesn't look like it supports decrementing an existing stat (e.g. if a stat already exists and then trying to use a minus value to subtract from the existing stat value).

For more context, the Add BattleTech Int behaviour works as follows:

  • If a stat does not exist, it creates it with the value provided
  • If a stat exists, it will modify that stat with the value provided (increment) using the Add_Int stat operation

Improve it to allow for subtraction/decrementing with support of the Subtract_Int stat operation.

Add secondary definition 'Get Current Date'

Add a secondary definition that grabs the current date in yyyy-MM-dd format. This could be paired with any 'operation' field in an action or condition.

For example, it could be used with the upcoming 'Evaluate Days Since Date' condition so a user could, in an earlier action, Set BattleTech String using an operation of Get Current Date. This would store the date in a string stat. Later, the Evaluate Days Since Date could grab that date and check the current date against it and the days specified in that condition.

Allow Kamera to have 1-on-1 conversations

When Kamera appears on the dropship via Set Visible Characters she isn't able to have 1-on-1 conversations. This is because Kamera isn't a valid conversation target by the original HBS design.

Add action 'Add Flashpoint'

Provide an Add Flashpoint action similar to one usable in Events.

Allow for two optional params. Flashpoint ID and System ID. It will use the exact behaviour expected like the Add Flashpoint event action

Action Bug: Create Custom Conversation 'Force Non-FP Conference Room' caused the action to break

Create Custom Conversation 'Force Non-FP Conference Room' caused the action to break if provided by ConverseTek.

This is because when ConverseTek uses the new action definition for 'Custom Conversation' it provides a new property that can force the conference room when in Flashpoints to use the non-Flashpoint version of the conference room. Extended Conversations didn't register this extra property to be accepted so it doesn't work and can cause the conversation to freeze.

Note: This only happens when using the new operations\start_conversation.json that came in release v0.4.5.

Quick Fix / Workaround

For a quick fix for this - go into ConverseTek\defs\operations folder and unzip the attached file from this issue into the folder - overwrite the existing file.

start_conversation.zip

Add animations with an asset bundle

Add animations for use with the 'Play Animation' action. This will require using asset bundles to put the animations in then loading them when the game requires them.

Responss Actions run twice

Response actions run twice due to the addition of required patches for 'Sideload Conversation' action running when they shouldn't run.

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.