Personalities OXP

From Elite Wiki
Revision as of 09:37, 19 October 2022 by Cholmondely (talk | contribs) (Added note on tweaking via Library.oxp, and on adding oneself as a character)

Adds Oolite community personalities to your game

Lestradae.png

Overview

This OXP adds characters we all know and love from the Oolite Bulletin Boards to the Ooniverse. Each personality has some specific behaviour and communication patterns.

Notable Features

There is a 65% chance that you will meet one well-known personality when you either jump into a new system or launch from a main station. Some of them are traders or engage in asteroid mining, some of them are bounty hunters and will protect you in case a pirate attacks you—or attack you in case you are the pirate. Some will only engage Thargoids. And some greet you friendly first, but may try to make you one more step on their ELITE ladder if nobody else is looking. Their behaviour in combat varies, but expect all of them to be a little tougher than your average adversary.

A list of the personalities contained in the basic OXP can be found at the very bottom of its ReadMe, separated by enough whitespace. If you like to be surprised, don't scroll down.

Notes on Alnivel's update version 0.91 (2022)

Update of the original 10 personalities to work with newer versions of Oolite. Adds more options.

Notes on original version 0.9 (2009)

DISCLAIMER

Personalities.oxp is a work in progress, and this version 0.9 is meant as a sneak preview, to give you a feeling what it looks like. It works as it is, but the final release may be different. Please help improving it by reporting bugs and strange or unexpected behaviour in its thread on the Oolite Bulletin Boards. Thanks very much!

How do I remove my own character?

1) Open the shipdata.plist inside the "Config" folder.
2) Look for the entry "personalities-<yourname>".
3a) Remove it completely.
or
3b) Go to its "roles" key, and delete the roles "personalities" and "personalities_launcher".

Adding yourself as a character

How to add personality

You need to do a couple of things:

  • Make an entry about your ship in shipdata.plist. Among all parameters of the ship (you can take them as a basis from the game files or OXP where the ship is from), special attention should be paid to:
name - "shipname: charactername" goes here
ai_type - "personalitiesCruiserAI.plist" OR "personalitiesHunterAI.plist" OR "personalitiesPrivateerAI.plist" .
You can also put in your own AI script, but then OXP will only decide when to add your personality, and you have to implement everything else yourself.
script - If you use one of the suggested AI types, you need to use "personalities-ship-script.js" here
roles - you can read about it here
script_info - you can read about it (and also about standard AI types) here
pilot - if you use escape pod here you need to specify an entry from characters.plist
  • Make sure that models, textures and shaders used be ship will be available not only for you. I think in most cases this will be to copy them to the appropriate folder of OXP and give them new names, including all references to them in the shipdata and models files.
  • Add communication messages into description.plist.
there must be a record of what types of messages are used, "your name here" here - "name" from script_info :
"personalities-"your name here"-messageTypes" = "attack attacked captured chatter dead flee jump kill launch witchspace";
and the messages themselves:
"personalities-your name here-attack" = ("<Phrase to be sent when attacked>");
"personalities-your name here-attacked" = ("<Either this phrase will be sent..>", "<or this one when ship attacked>");

If you have any questions, don't hesitate to ask Alnivel. Who would also like to hear if you have any ideas about what else would be nice to add to the functionality of this OXP.

And finally, the question: would someone want to limit the appearance of their personality to a single galaxy, or maybe only a certain set of systems? Right now the "personalities" and "personalities_launcher" roles are used to choose personality to appear, but they are also used in the AI. If anyone is interested in the functionality above, it can be changed so that the roles "personalities-galaxy-n" and "personalities_launcher-galaxy-n"(or something similar) will be used to determine if should personality appear in the galaxy sector, but then for those who can appear in any galaxy will have to add 8 or even 16 roles.

Minimum Requirements

Personalities 0.95 was updated for Oolite 1.90. The AI's are still in .plist form, but can now be located in a specific system/galaxy. Personalities 0.9 was written and tested on Oolite 1.73.4. It should run on Oolite 1.73 and above. Some of its features will only be available and enabled from Oolite 1.74 onwards.

Download Location

Personalities.oxp v 0.91 (2022) Personalities.oxp v 0.9 (2009) is available for download via Box.com.

Installation

Move or copy the file Personalities.oxp from the main download folder into your AddOns folder. Where this resides, depends on your OS and your personal preferences. Restart Oolite.

IconLib.png

Tweaking

This oxp is customisable through Library OXP - via the Config for AddOns option on the docked F4 screen

Version History

  • version 0.9.1 (September, 2022) by Alnivel
requires Oolite 1.9 (probably can work even on versions 1.82+, but not tested)
fixed several broken function calls
changed names of internal variables and resources to avoid conflicts
changed comms message using method, it now requires a description.plist entry to be defined in this format:
"personalities-<personality name>-messageTypes" = "<list of space separated message types>";
rewritten methods for the spawn of special ships, changing a probability of this spawns now easier
added method for adding role to appear on a specified condition, such as system id, after some event etc
  • version 0.9 (November 5th, 2009) by Commander McLane
functional version for testing and feedback purposes
script may still get worked over
requires Oolite 1.73

Links