Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace absolute links with relative ones #102

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions wiki/Creating-Starts.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,14 +195,14 @@ Any lines that do not match one of the above syntax definitions will be parsed a

### Conditional starts

Beginning in **v. 0.10.0**, starts can be made to conditionally appear or unlock based on a player's global conditions (see `"global: "` on the [Player Conditions](https://github.com/endless-sky/endless-sky/wiki/Player-Conditions#modifiable) page).
Beginning in **v. 0.10.0**, starts can be made to conditionally appear or unlock based on a player's global conditions (see `"global: "` on the [Player Conditions](Player-Conditions#modifiable) page).

```html
to (display | reveal | unlock)
<condition-set>
```

The `to (display | reveal | unlock)` nodes are similar to the `to offer` and other `to *` nodes of [missions](https://github.com/endless-sky/endless-sky/wiki/CreatingMissions#conditions). Any conditions specified here refer to global conditions, and do not need or allow the use of the `"global: "` prefix, since the global conditions are accessed directly and are the only conditions able to be used.
The `to (display | reveal | unlock)` nodes are similar to the `to offer` and other `to *` nodes of [missions](CreatingMissions#conditions). Any conditions specified here refer to global conditions, and do not need or allow the use of the `"global: "` prefix, since the global conditions are accessed directly and are the only conditions able to be used.

* `to display`: if these conditions are false, the start will not appear on the starts list.
* `to reveal`: if these conditions are false and the `to display` conditions are true, the start will appear on the starts list, but display the `on display` information.
Expand Down
4 changes: 2 additions & 2 deletions wiki/CreatingEffects.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"Effects" are animated objects - explosions, muzzle blasts, hull leaks, etc. - that are purely for show and do not interact with the other objects in the game in any way. All [weapons](https://github.com/endless-sky/endless-sky/wiki/CreatingOutfits) should define an effect for when they hit something, and some (missiles, in particular) may also define an effect for when they are fired. Also, anti-missile beams are rendered using effects, because they are not actual projectiles.
"Effects" are animated objects - explosions, muzzle blasts, hull leaks, etc. - that are purely for show and do not interact with the other objects in the game in any way. All [weapons](CreatingOutfits) should define an effect for when they hit something, and some (missiles, in particular) may also define an effect for when they are fired. Also, anti-missile beams are rendered using effects, because they are not actual projectiles.

The full syntax of an effect is given below. Most of the parameters are optional, and some are mutually exclusive. For examples of how effects work, see the **data/effects.txt** file.

Expand Down Expand Up @@ -44,4 +44,4 @@ As with the sprite attributes, you should only include whichever attributes you
* `"random spin" <degrees#>`: The effect should spin a random amount up to this number of degrees per frame.
* `"random frame rate" <fps#>`: Speed up the animation by a random amount up to this number of frames per second. This is to make it so that a bunch of identical effects created at the same moment do not end up perfectly in sync.
* `"absolute velocity" <velocity#>`: Effects normally inherit the velocity and angle of whatever created them. Specifying an absolute velocity overwrites whatever the velocity of the parent object was. An explicit value of 0 will result in the effect having a base velocity of 0. Any random velocity still gets added to this value. Any absolute velocity value will cause the velocity scale attribute to take no effect. **(v. 0.9.15)**
* `"absolute angle" <degrees#>`: As with absolute velocity, specifying an absolute angle overwrites whatever the angle of the parent object was. An explicit value of 0 will result in the effect having a base angle of 0. Any random angle still gets added to this value.**(v. 0.9.15)**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Has anything been changed here and on the last line of wiki/CreatingPersons.md, or is this just an odd GitHub thing?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's adding a newline that was missing before, but GitHub doesn't know how to display it properly.

* `"absolute angle" <degrees#>`: As with absolute velocity, specifying an absolute angle overwrites whatever the angle of the parent object was. An explicit value of 0 will result in the effect having a base angle of 0. Any random angle still gets added to this value.**(v. 0.9.15)**
4 changes: 2 additions & 2 deletions wiki/CreatingGovernments.md
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ Beginning in **v. 0.10.0**, governments are allowed to have multiple raid fleets

If multiple raid fleets are capable of spawning at the same time, each fleet checks if it can spawn up to 10 times as described above (meaning that multiple potential raid fleets can greatly increase the chance of any single fleet spawning). The likelihood of a single fleet spawning is determined by how far above that fleet's minimum attractiveness you are. Additionally, raid fleets will also take into account the strengths and spawn rates of normal fleets in the system. If a system has fleet spawns that are hostile to the raid fleet but not to the player, that will decrease the chance of the raid spawning. If a system has fleets that are hostile to the player but not the raid fleet, that will increase the chance of the raid spawning. If a system fleet is either friendly or hostile to both the raid and the player, it has no effect on the raid's spawn chance.

Attraction is described by the `"cargo attractiveness"`, `"armament deterrence"`, and `"pirate attraction"` [conditions](https://github.com/endless-sky/endless-sky/wiki/Player-Conditions#read-only), with the last condition being the value used to determine if fleets should spawn.
Attraction is described by the `"cargo attractiveness"`, `"armament deterrence"`, and `"pirate attraction"` [conditions](Player-Conditions#read-only), with the last condition being the value used to determine if fleets should spawn.

#### Enforcement zones
```html
Expand Down Expand Up @@ -368,4 +368,4 @@ If a system was 2 jumps from the system Sol, but neighbored a Daelaam-controlled
{filter specification...}
```

Beginning in **v. 0.10.3**, governments can be given travel restrictions which prevent fleets from that government from traveling to systems or landing on planets that match the [location filter](LocationFilters). These travel restrictions do not apply to mission NPCs that follow the player. Random fleet spawns can be made to ignore these travel restrictions by giving them the `unrestricted` [personality](https://github.com/endless-sky/endless-sky/wiki/ShipPersonalities#non-combat-goals).
Beginning in **v. 0.10.3**, governments can be given travel restrictions which prevent fleets from that government from traveling to systems or landing on planets that match the [location filter](LocationFilters). These travel restrictions do not apply to mission NPCs that follow the player. Random fleet spawns can be made to ignore these travel restrictions by giving them the `unrestricted` [personality](ShipPersonalities#non-combat-goals).
2 changes: 1 addition & 1 deletion wiki/CreatingMinables.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ The [outfit](CreatingOutfits) that is dropped by this asteroid after being destr
Starting with **v. 0.10.5**, a `payload` can have the following optional children:
* `"max drops"`: the maximum possible number of the outfit that can drop. An alternative location from the drop count next to the outfit name. If a drop count is not specified in either location, the default drop size is 1.
* `"drop rate"`: a value between 0 and 1 that represents the fraction of the maximum payload count that will survive on average. Defaults to 0.25 if not specified.
* `"toughness"`: a value greater than 1 which represents the toughness of this payload, which measures how resistant it is to having its drop rate increased by [prospecting weapons](https://github.com/endless-sky/endless-sky/wiki/CreatingOutfits#weapon-attributes).
* `"toughness"`: a value greater than 1 which represents the toughness of this payload, which measures how resistant it is to having its drop rate increased by [prospecting weapons](CreatingOutfits#weapon-attributes).

```html
"live effect" <effect> [<interval#>]
Expand Down
10 changes: 5 additions & 5 deletions wiki/CreatingMissions.md
Original file line number Diff line number Diff line change
Expand Up @@ -583,7 +583,7 @@ An NPC will not spawn if its `to spawn` conditions are not met, and any spawned

Should an NPC have a `to (spawn | despawn)` as well as an objective (e.g. `save`), then the objective of the NPC will be ignored if the NPC has not yet spawned or has been despawned. This means that you can potentially create secondary or alternative objectives for missions (e.g. you must either complete this NPC objective, or go to this planet to despawn the NPCs instead, and in the reverse, you must go to this planet, or go to some other planet to spawn NPCs with a new objective).

When combined with an `action` node in a [`conversation`](https://github.com/endless-sky/endless-sky/wiki/WritingConversations), this can allow the choices a player makes in a conversation to alter whether NPCs spawn after the mission is accepted.
When combined with an `action` node in a [`conversation`](WritingConversations), this can allow the choices a player makes in a conversation to alter whether NPCs spawn after the mission is accepted.

```html
on (kill | board | assist | disable | "scan cargo" | "scan outfits" | capture | provoke | destroy | encounter)
Expand All @@ -603,7 +603,7 @@ Starting in **v. 0.10.1**, `on *` nodes can be added to NPCs to trigger actions
* `provoke`: Any ship in the NPC is provoked. Will not repeat on subsequent provoke actions.
* `encounter`: Any ship in the NPC is encountered by your flagship. A ship is encountered if your flagship and the NPC ship are in the same system and are both targetable (i.e. not in hyperspace, not in the middle of taking off from a planet, and not cloaked). Will not repeat on subsequent encounter actions. **(v. 0.10.5)**

For details on actions that can be run by these nodes, see the [Triggers](https://github.com/endless-sky/endless-sky/wiki/CreatingMissions#triggers) section.
For details on actions that can be run by these nodes, see the [Triggers](CreatingMissions#triggers) section.

```html
government <name>
Expand All @@ -616,15 +616,15 @@ This specifies what government all the ships connected to this NPC specification
...
```

Beginning in **v. 0.10.1**, NPCs can manipulate their cargo similarly to how fleets can. If an NPC spawns a fleet that contains cargo settings, but the NPC also has cargo settings, then the NPC overrides the fleet. More details about cargo settings can be found on the [Creating Fleets](https://github.com/endless-sky/endless-sky/wiki/CreatingFleets#cargo) page.
Beginning in **v. 0.10.1**, NPCs can manipulate their cargo similarly to how fleets can. If an NPC spawns a fleet that contains cargo settings, but the NPC also has cargo settings, then the NPC overrides the fleet. More details about cargo settings can be found on the [Creating Fleets](CreatingFleets#cargo) page.

```html
personality <type>...
<type>...
confusion <amount#>
```

This defines the NPC's [personality](https://github.com/endless-sky/endless-sky/wiki/ShipPersonalities). The `confusion` tag is a special value, giving the inaccuracy in pixels of the ship's targeting systems; the default value is 10 pixels.
This defines the NPC's [personality](ShipPersonalities). The `confusion` tag is a special value, giving the inaccuracy in pixels of the ship's targeting systems; the default value is 10 pixels.

If an NPC is specified as starting out in your current system and its personality is *not* `staying` or `waiting`, it will take off from the planet along with you (e.g. a ship you are escorting). A ship that is `entering` the current system might, for example, be a pirate raid chasing the fleet you are escorting, and a ship `staying` in a certain system might be a target you must locate for a "bounty hunting" mission. (Any ship that is not `staying` will actively seek the player out if it is in a different system, unless it is also `uninterested`.)

Expand Down Expand Up @@ -809,7 +809,7 @@ Beginning in **v. 0.9.15**, if the outfit being gifted has the "map" attribute,
give ship <model> [<name>]
```

Starting in **v. 0.9.13**, missions can gift ships to the player. The named ship model is given to the player. This ship model can be a [ship variant](https://github.com/endless-sky/endless-sky/wiki/CreatingShips#variants). It is optional that the given ship has a name, but if no name is provided then a random name will be generated from the civilian phrase. Beginning in **v. 0.10.9**, substitutions and phrases are expanded in gift ship names.
Starting in **v. 0.9.13**, missions can gift ships to the player. The named ship model is given to the player. This ship model can be a [ship variant](CreatingShips#variants). It is optional that the given ship has a name, but if no name is provided then a random name will be generated from the civilian phrase. Beginning in **v. 0.10.9**, substitutions and phrases are expanded in gift ship names.

```html
(give | take) ship <model> [<name>]
Expand Down
2 changes: 1 addition & 1 deletion wiki/CreatingNews.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ A `news` datafile definition has 4 definable child elements.
* `portrait`: The path to a sprite to be displayed in the news message, relative to the `images` directory. Multiple sprites can be provided, and one will be chosen at random when the news message is displayed.
* `message`: The text to be displayed. For flexibility, this uses the same "phrase" format that the news' name element and ship hails use.
* `location`: A [location filter](LocationFilters) that is used to identify on which planets this news message can appear. If not provided, or removed, then this news source will not be displayed anywhere. For the full syntax associated with locations filters see [the reference here](LocationFilters).
* `to show` (optional): A condition set that determines whether this News message can appear. Behaves the same way as `to offer` does for [missions](https://github.com/endless-sky/endless-sky/wiki/CreatingMissions#conditions).
* `to show` (optional): A condition set that determines whether this News message can appear. Behaves the same way as `to offer` does for [missions](CreatingMissions#conditions).

```html
news <name>
Expand Down
2 changes: 1 addition & 1 deletion wiki/CreatingOutfits.md
Original file line number Diff line number Diff line change
Expand Up @@ -906,6 +906,6 @@ However, it is still quite possible to do things like buying a bulk freighter an

So, when creating new outfits, it's important to keep in mind not just what you think would be cool, but whether your new outfits will be unbalanced. If you're creating a weapon that is so good that no ship will want to install anything else, that's a balance problem.

[eft]: https://github.com/endless-sky/endless-sky/wiki/CreatingEffects
[eft]: CreatingEffects
[cooleff]: https://endless-sky.github.io/images/inefficiency.png
[blastscale]: https://i.imgur.com/Nw81ZjK.png
4 changes: 2 additions & 2 deletions wiki/CreatingPersons.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
A "person" is a unique ship or fleet of ships that will occasionally appear at random. Each person has a customized ship and its own set of things it might say to the player. If the player kills a person, that person will never appear to that particular pilot again. The [syntax](https://github.com/endless-sky/endless-sky/wiki/DataFormat#grammar-specifications) for the definition of a person is:
A "person" is a unique ship or fleet of ships that will occasionally appear at random. Each person has a customized ship and its own set of things it might say to the player. If the player kills a person, that person will never appear to that particular pilot again. The [syntax](DataFormat#grammar-specifications) for the definition of a person is:

```html
person <name>
Expand Down Expand Up @@ -82,4 +82,4 @@ ship <modelName> [<name>]
{ship definition...}
```

This is a definition of the person's ship, using the same format as all other [ship definitions](CreatingShips). Starting in **v. 0.9.9,** multiple ships may be defined to create a person that is the leader of a fleet (such as in an interceptor squadron, or a carrier commanding a flotilla of fightercraft). The person is considered destroyed when the first ship in the list is either destroyed or captured - any escorts that did not survive are replaced when the person next spawns. Starting in **v. 0.9.13,** escorts are able to have their ship name specified, otherwise they will use the name of the person. The first ship in the list will always use the name of the person.
This is a definition of the person's ship, using the same format as all other [ship definitions](CreatingShips). Starting in **v. 0.9.9,** multiple ships may be defined to create a person that is the leader of a fleet (such as in an interceptor squadron, or a carrier commanding a flotilla of fightercraft). The person is considered destroyed when the first ship in the list is either destroyed or captured - any escorts that did not survive are replaced when the person next spawns. Starting in **v. 0.9.13,** escorts are able to have their ship name specified, otherwise they will use the name of the person. The first ship in the list will always use the name of the person.
2 changes: 1 addition & 1 deletion wiki/CreatingSubstitutions.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ A substitutions node can define multiple text replacements at once.

Text replacement lines are able to define a [condition set](Player-Conditions) that determines whether the text replacement is used. This allows for certain text replacements to only be used under certain circumstances. Combining this with defining multiple replacements for the same piece of text, you can create a substitution that reacts to the player's actions or attributes.

Note that currently, the condition sets for substitutions are evaluated when the mission is instantiated. This means that actions taken during a mission can not change the outcome of any substitutions, as they have already made their text replacements. If you wish to change the outcome of text based on conditions that could have changed during the mission, then you should instead use [`branch`](https://github.com/endless-sky/endless-sky/wiki/WritingConversations#branch) or `to display`.
Note that currently, the condition sets for substitutions are evaluated when the mission is instantiated. This means that actions taken during a mission can not change the outcome of any substitutions, as they have already made their text replacements. If you wish to change the outcome of text based on conditions that could have changed during the mission, then you should instead use [`branch`](WritingConversations#branch) or `to display`.

# Examples

Expand Down
Loading