@sharpee/lang-en-us 0.9.61-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +105 -0
- package/dist-npm/actions/about.d.ts +35 -0
- package/dist-npm/actions/about.d.ts.map +1 -0
- package/dist-npm/actions/about.js +50 -0
- package/dist-npm/actions/about.js.map +1 -0
- package/dist-npm/actions/again.d.ts +16 -0
- package/dist-npm/actions/again.d.ts.map +1 -0
- package/dist-npm/actions/again.js +23 -0
- package/dist-npm/actions/again.js.map +1 -0
- package/dist-npm/actions/answering.d.ts +29 -0
- package/dist-npm/actions/answering.d.ts.map +1 -0
- package/dist-npm/actions/answering.js +44 -0
- package/dist-npm/actions/answering.js.map +1 -0
- package/dist-npm/actions/asking.d.ts +31 -0
- package/dist-npm/actions/asking.d.ts.map +1 -0
- package/dist-npm/actions/asking.js +44 -0
- package/dist-npm/actions/asking.js.map +1 -0
- package/dist-npm/actions/attacking.d.ts +82 -0
- package/dist-npm/actions/attacking.d.ts.map +1 -0
- package/dist-npm/actions/attacking.js +111 -0
- package/dist-npm/actions/attacking.js.map +1 -0
- package/dist-npm/actions/climbing.d.ts +27 -0
- package/dist-npm/actions/climbing.d.ts.map +1 -0
- package/dist-npm/actions/climbing.js +48 -0
- package/dist-npm/actions/climbing.js.map +1 -0
- package/dist-npm/actions/closing.d.ts +21 -0
- package/dist-npm/actions/closing.d.ts.map +1 -0
- package/dist-npm/actions/closing.js +27 -0
- package/dist-npm/actions/closing.js.map +1 -0
- package/dist-npm/actions/drinking.d.ts +40 -0
- package/dist-npm/actions/drinking.d.ts.map +1 -0
- package/dist-npm/actions/drinking.js +57 -0
- package/dist-npm/actions/drinking.js.map +1 -0
- package/dist-npm/actions/dropping.d.ts +22 -0
- package/dist-npm/actions/dropping.d.ts.map +1 -0
- package/dist-npm/actions/dropping.js +31 -0
- package/dist-npm/actions/dropping.js.map +1 -0
- package/dist-npm/actions/eating.d.ts +37 -0
- package/dist-npm/actions/eating.d.ts.map +1 -0
- package/dist-npm/actions/eating.js +54 -0
- package/dist-npm/actions/eating.js.map +1 -0
- package/dist-npm/actions/entering.d.ts +26 -0
- package/dist-npm/actions/entering.d.ts.map +1 -0
- package/dist-npm/actions/entering.js +49 -0
- package/dist-npm/actions/entering.js.map +1 -0
- package/dist-npm/actions/examining.d.ts +37 -0
- package/dist-npm/actions/examining.d.ts.map +1 -0
- package/dist-npm/actions/examining.js +50 -0
- package/dist-npm/actions/examining.js.map +1 -0
- package/dist-npm/actions/exiting.d.ts +23 -0
- package/dist-npm/actions/exiting.d.ts.map +1 -0
- package/dist-npm/actions/exiting.js +40 -0
- package/dist-npm/actions/exiting.js.map +1 -0
- package/dist-npm/actions/giving.d.ts +30 -0
- package/dist-npm/actions/giving.d.ts.map +1 -0
- package/dist-npm/actions/giving.js +45 -0
- package/dist-npm/actions/giving.js.map +1 -0
- package/dist-npm/actions/going.d.ts +35 -0
- package/dist-npm/actions/going.d.ts.map +1 -0
- package/dist-npm/actions/going.js +45 -0
- package/dist-npm/actions/going.js.map +1 -0
- package/dist-npm/actions/help.d.ts +26 -0
- package/dist-npm/actions/help.d.ts.map +1 -0
- package/dist-npm/actions/help.js +44 -0
- package/dist-npm/actions/help.js.map +1 -0
- package/dist-npm/actions/index.d.ts +1327 -0
- package/dist-npm/actions/index.d.ts.map +1 -0
- package/dist-npm/actions/index.js +208 -0
- package/dist-npm/actions/index.js.map +1 -0
- package/dist-npm/actions/inserting.d.ts +25 -0
- package/dist-npm/actions/inserting.d.ts.map +1 -0
- package/dist-npm/actions/inserting.js +33 -0
- package/dist-npm/actions/inserting.js.map +1 -0
- package/dist-npm/actions/inventory.d.ts +32 -0
- package/dist-npm/actions/inventory.d.ts.map +1 -0
- package/dist-npm/actions/inventory.js +41 -0
- package/dist-npm/actions/inventory.js.map +1 -0
- package/dist-npm/actions/listening.d.ts +26 -0
- package/dist-npm/actions/listening.d.ts.map +1 -0
- package/dist-npm/actions/listening.js +37 -0
- package/dist-npm/actions/listening.js.map +1 -0
- package/dist-npm/actions/locking.d.ts +25 -0
- package/dist-npm/actions/locking.d.ts.map +1 -0
- package/dist-npm/actions/locking.js +33 -0
- package/dist-npm/actions/locking.js.map +1 -0
- package/dist-npm/actions/looking.d.ts +23 -0
- package/dist-npm/actions/looking.d.ts.map +1 -0
- package/dist-npm/actions/looking.js +34 -0
- package/dist-npm/actions/looking.js.map +1 -0
- package/dist-npm/actions/lowering.d.ts +22 -0
- package/dist-npm/actions/lowering.d.ts.map +1 -0
- package/dist-npm/actions/lowering.js +29 -0
- package/dist-npm/actions/lowering.js.map +1 -0
- package/dist-npm/actions/opening.d.ts +23 -0
- package/dist-npm/actions/opening.d.ts.map +1 -0
- package/dist-npm/actions/opening.js +30 -0
- package/dist-npm/actions/opening.js.map +1 -0
- package/dist-npm/actions/pulling.d.ts +35 -0
- package/dist-npm/actions/pulling.d.ts.map +1 -0
- package/dist-npm/actions/pulling.js +53 -0
- package/dist-npm/actions/pulling.js.map +1 -0
- package/dist-npm/actions/pushing.d.ts +30 -0
- package/dist-npm/actions/pushing.d.ts.map +1 -0
- package/dist-npm/actions/pushing.js +45 -0
- package/dist-npm/actions/pushing.js.map +1 -0
- package/dist-npm/actions/putting.d.ts +28 -0
- package/dist-npm/actions/putting.d.ts.map +1 -0
- package/dist-npm/actions/putting.js +40 -0
- package/dist-npm/actions/putting.js.map +1 -0
- package/dist-npm/actions/quitting.d.ts +31 -0
- package/dist-npm/actions/quitting.d.ts.map +1 -0
- package/dist-npm/actions/quitting.js +47 -0
- package/dist-npm/actions/quitting.js.map +1 -0
- package/dist-npm/actions/raising.d.ts +22 -0
- package/dist-npm/actions/raising.d.ts.map +1 -0
- package/dist-npm/actions/raising.js +30 -0
- package/dist-npm/actions/raising.js.map +1 -0
- package/dist-npm/actions/reading.d.ts +23 -0
- package/dist-npm/actions/reading.d.ts.map +1 -0
- package/dist-npm/actions/reading.js +32 -0
- package/dist-npm/actions/reading.js.map +1 -0
- package/dist-npm/actions/removing.d.ts +25 -0
- package/dist-npm/actions/removing.d.ts.map +1 -0
- package/dist-npm/actions/removing.js +34 -0
- package/dist-npm/actions/removing.js.map +1 -0
- package/dist-npm/actions/restoring.d.ts +35 -0
- package/dist-npm/actions/restoring.d.ts.map +1 -0
- package/dist-npm/actions/restoring.js +51 -0
- package/dist-npm/actions/restoring.js.map +1 -0
- package/dist-npm/actions/saving.d.ts +33 -0
- package/dist-npm/actions/saving.d.ts.map +1 -0
- package/dist-npm/actions/saving.js +48 -0
- package/dist-npm/actions/saving.js.map +1 -0
- package/dist-npm/actions/scoring.d.ts +42 -0
- package/dist-npm/actions/scoring.d.ts.map +1 -0
- package/dist-npm/actions/scoring.js +70 -0
- package/dist-npm/actions/scoring.js.map +1 -0
- package/dist-npm/actions/searching.d.ts +26 -0
- package/dist-npm/actions/searching.d.ts.map +1 -0
- package/dist-npm/actions/searching.js +40 -0
- package/dist-npm/actions/searching.js.map +1 -0
- package/dist-npm/actions/showing.d.ts +29 -0
- package/dist-npm/actions/showing.d.ts.map +1 -0
- package/dist-npm/actions/showing.js +40 -0
- package/dist-npm/actions/showing.js.map +1 -0
- package/dist-npm/actions/sleeping.d.ts +28 -0
- package/dist-npm/actions/sleeping.d.ts.map +1 -0
- package/dist-npm/actions/sleeping.js +41 -0
- package/dist-npm/actions/sleeping.js.map +1 -0
- package/dist-npm/actions/smelling.d.ts +30 -0
- package/dist-npm/actions/smelling.d.ts.map +1 -0
- package/dist-npm/actions/smelling.js +43 -0
- package/dist-npm/actions/smelling.js.map +1 -0
- package/dist-npm/actions/switching-off.d.ts +28 -0
- package/dist-npm/actions/switching-off.d.ts.map +1 -0
- package/dist-npm/actions/switching-off.js +42 -0
- package/dist-npm/actions/switching-off.js.map +1 -0
- package/dist-npm/actions/switching-on.d.ts +28 -0
- package/dist-npm/actions/switching-on.d.ts.map +1 -0
- package/dist-npm/actions/switching-on.js +42 -0
- package/dist-npm/actions/switching-on.js.map +1 -0
- package/dist-npm/actions/taking-off.d.ts +20 -0
- package/dist-npm/actions/taking-off.d.ts.map +1 -0
- package/dist-npm/actions/taking-off.js +28 -0
- package/dist-npm/actions/taking-off.js.map +1 -0
- package/dist-npm/actions/taking.d.ts +26 -0
- package/dist-npm/actions/taking.d.ts.map +1 -0
- package/dist-npm/actions/taking.js +36 -0
- package/dist-npm/actions/taking.js.map +1 -0
- package/dist-npm/actions/talking.d.ts +33 -0
- package/dist-npm/actions/talking.d.ts.map +1 -0
- package/dist-npm/actions/talking.js +49 -0
- package/dist-npm/actions/talking.js.map +1 -0
- package/dist-npm/actions/telling.d.ts +30 -0
- package/dist-npm/actions/telling.d.ts.map +1 -0
- package/dist-npm/actions/telling.js +42 -0
- package/dist-npm/actions/telling.js.map +1 -0
- package/dist-npm/actions/throwing.d.ts +39 -0
- package/dist-npm/actions/throwing.d.ts.map +1 -0
- package/dist-npm/actions/throwing.js +60 -0
- package/dist-npm/actions/throwing.js.map +1 -0
- package/dist-npm/actions/touching.d.ts +36 -0
- package/dist-npm/actions/touching.d.ts.map +1 -0
- package/dist-npm/actions/touching.js +50 -0
- package/dist-npm/actions/touching.js.map +1 -0
- package/dist-npm/actions/turning.d.ts +40 -0
- package/dist-npm/actions/turning.d.ts.map +1 -0
- package/dist-npm/actions/turning.js +62 -0
- package/dist-npm/actions/turning.js.map +1 -0
- package/dist-npm/actions/undoing.d.ts +19 -0
- package/dist-npm/actions/undoing.d.ts.map +1 -0
- package/dist-npm/actions/undoing.js +26 -0
- package/dist-npm/actions/undoing.js.map +1 -0
- package/dist-npm/actions/unlocking.d.ts +25 -0
- package/dist-npm/actions/unlocking.d.ts.map +1 -0
- package/dist-npm/actions/unlocking.js +32 -0
- package/dist-npm/actions/unlocking.js.map +1 -0
- package/dist-npm/actions/using.d.ts +43 -0
- package/dist-npm/actions/using.d.ts.map +1 -0
- package/dist-npm/actions/using.js +61 -0
- package/dist-npm/actions/using.js.map +1 -0
- package/dist-npm/actions/version.d.ts +18 -0
- package/dist-npm/actions/version.d.ts.map +1 -0
- package/dist-npm/actions/version.js +26 -0
- package/dist-npm/actions/version.js.map +1 -0
- package/dist-npm/actions/waiting.d.ts +27 -0
- package/dist-npm/actions/waiting.d.ts.map +1 -0
- package/dist-npm/actions/waiting.js +36 -0
- package/dist-npm/actions/waiting.js.map +1 -0
- package/dist-npm/actions/wearing.d.ts +22 -0
- package/dist-npm/actions/wearing.d.ts.map +1 -0
- package/dist-npm/actions/wearing.js +30 -0
- package/dist-npm/actions/wearing.js.map +1 -0
- package/dist-npm/data/events.d.ts +134 -0
- package/dist-npm/data/events.d.ts.map +1 -0
- package/dist-npm/data/events.js +301 -0
- package/dist-npm/data/events.js.map +1 -0
- package/dist-npm/data/messages.d.ts +141 -0
- package/dist-npm/data/messages.d.ts.map +1 -0
- package/dist-npm/data/messages.js +300 -0
- package/dist-npm/data/messages.js.map +1 -0
- package/dist-npm/data/templates.d.ts +257 -0
- package/dist-npm/data/templates.d.ts.map +1 -0
- package/dist-npm/data/templates.js +289 -0
- package/dist-npm/data/templates.js.map +1 -0
- package/dist-npm/data/verbs.d.ts +68 -0
- package/dist-npm/data/verbs.d.ts.map +1 -0
- package/dist-npm/data/verbs.js +324 -0
- package/dist-npm/data/verbs.js.map +1 -0
- package/dist-npm/data/words.d.ts +79 -0
- package/dist-npm/data/words.d.ts.map +1 -0
- package/dist-npm/data/words.js +218 -0
- package/dist-npm/data/words.js.map +1 -0
- package/dist-npm/formatters/article.d.ts +41 -0
- package/dist-npm/formatters/article.d.ts.map +1 -0
- package/dist-npm/formatters/article.js +143 -0
- package/dist-npm/formatters/article.js.map +1 -0
- package/dist-npm/formatters/index.d.ts +18 -0
- package/dist-npm/formatters/index.d.ts.map +1 -0
- package/dist-npm/formatters/index.js +38 -0
- package/dist-npm/formatters/index.js.map +1 -0
- package/dist-npm/formatters/list.d.ts +38 -0
- package/dist-npm/formatters/list.d.ts.map +1 -0
- package/dist-npm/formatters/list.js +94 -0
- package/dist-npm/formatters/list.js.map +1 -0
- package/dist-npm/formatters/registry.d.ts +48 -0
- package/dist-npm/formatters/registry.d.ts.map +1 -0
- package/dist-npm/formatters/registry.js +128 -0
- package/dist-npm/formatters/registry.js.map +1 -0
- package/dist-npm/formatters/text.d.ts +33 -0
- package/dist-npm/formatters/text.d.ts.map +1 -0
- package/dist-npm/formatters/text.js +80 -0
- package/dist-npm/formatters/text.js.map +1 -0
- package/dist-npm/formatters/types.d.ts +41 -0
- package/dist-npm/formatters/types.d.ts.map +1 -0
- package/dist-npm/formatters/types.js +14 -0
- package/dist-npm/formatters/types.js.map +1 -0
- package/dist-npm/grammar.d.ts +189 -0
- package/dist-npm/grammar.d.ts.map +1 -0
- package/dist-npm/grammar.js +203 -0
- package/dist-npm/grammar.js.map +1 -0
- package/dist-npm/index.d.ts +22 -0
- package/dist-npm/index.d.ts.map +1 -0
- package/dist-npm/index.js +59 -0
- package/dist-npm/index.js.map +1 -0
- package/dist-npm/language-provider.d.ts +159 -0
- package/dist-npm/language-provider.d.ts.map +1 -0
- package/dist-npm/language-provider.js +527 -0
- package/dist-npm/language-provider.js.map +1 -0
- package/dist-npm/npc/index.d.ts +5 -0
- package/dist-npm/npc/index.d.ts.map +1 -0
- package/dist-npm/npc/index.js +21 -0
- package/dist-npm/npc/index.js.map +1 -0
- package/dist-npm/npc/npc.d.ts +43 -0
- package/dist-npm/npc/npc.d.ts.map +1 -0
- package/dist-npm/npc/npc.js +55 -0
- package/dist-npm/npc/npc.js.map +1 -0
- package/dist-npm/perspective/index.d.ts +5 -0
- package/dist-npm/perspective/index.d.ts.map +1 -0
- package/dist-npm/perspective/index.js +12 -0
- package/dist-npm/perspective/index.js.map +1 -0
- package/dist-npm/perspective/placeholder-resolver.d.ts +102 -0
- package/dist-npm/perspective/placeholder-resolver.d.ts.map +1 -0
- package/dist-npm/perspective/placeholder-resolver.js +275 -0
- package/dist-npm/perspective/placeholder-resolver.js.map +1 -0
- package/package.json +65 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 David Cornelson
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# @sharpee/lang-en-us
|
|
2
|
+
|
|
3
|
+
English (US) language plugin for the Sharpee Interactive Fiction engine.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @sharpee/lang-en-us
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
### In a Story
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { createGame } from '@sharpee/forge';
|
|
17
|
+
import EnglishLanguage from '@sharpee/lang-en-us';
|
|
18
|
+
|
|
19
|
+
const game = createGame({
|
|
20
|
+
title: 'My Adventure',
|
|
21
|
+
language: new EnglishLanguage(),
|
|
22
|
+
// ... other configuration
|
|
23
|
+
});
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### With Custom Configuration
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
import { EnglishLanguagePlugin } from '@sharpee/lang-en-us';
|
|
30
|
+
|
|
31
|
+
const language = new EnglishLanguagePlugin({
|
|
32
|
+
// Custom templates
|
|
33
|
+
customTemplates: {
|
|
34
|
+
'taking.report.success': 'You grab {item} with gusto!'
|
|
35
|
+
},
|
|
36
|
+
|
|
37
|
+
// Additional verb mappings
|
|
38
|
+
customVerbs: [{
|
|
39
|
+
action: IFActions.TAKING,
|
|
40
|
+
verbs: ['snatch', 'yoink']
|
|
41
|
+
}]
|
|
42
|
+
});
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Features
|
|
46
|
+
|
|
47
|
+
- Complete verb mappings for all standard IF actions
|
|
48
|
+
- Full English parser with:
|
|
49
|
+
- Tokenization
|
|
50
|
+
- Part-of-speech tagging
|
|
51
|
+
- Lemmatization (word normalization)
|
|
52
|
+
- Grammar analysis
|
|
53
|
+
- Compound verb handling
|
|
54
|
+
- Message templates for all actions and events
|
|
55
|
+
- Proper article handling (a/an/the)
|
|
56
|
+
- Pluralization support
|
|
57
|
+
- Direction abbreviations (n/s/e/w)
|
|
58
|
+
|
|
59
|
+
## Architecture
|
|
60
|
+
|
|
61
|
+
This package is a plugin for `@sharpee/stdlib` and extends the base language classes:
|
|
62
|
+
|
|
63
|
+
- `EnglishLanguagePlugin` extends `BaseIFLanguagePlugin`
|
|
64
|
+
- `EnglishParser` extends `BaseIFParserPlugin`
|
|
65
|
+
|
|
66
|
+
## Extending
|
|
67
|
+
|
|
68
|
+
You can extend the English language plugin for regional variants or custom games:
|
|
69
|
+
|
|
70
|
+
```typescript
|
|
71
|
+
import { EnglishLanguagePlugin } from '@sharpee/lang-en-us';
|
|
72
|
+
|
|
73
|
+
class BritishEnglishPlugin extends EnglishLanguagePlugin {
|
|
74
|
+
protected getDefaultLanguageCode() {
|
|
75
|
+
return 'en-GB';
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
protected getDefaultLanguageName() {
|
|
79
|
+
return 'English (UK)';
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
protected initializeLanguageData() {
|
|
83
|
+
super.initializeLanguageData();
|
|
84
|
+
|
|
85
|
+
// Add British spellings
|
|
86
|
+
this.registerActionTemplates({
|
|
87
|
+
'examining.report.basic': 'You examine {item} and see its colour is {color}.'
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Data Exports
|
|
94
|
+
|
|
95
|
+
The package exports its data for customization:
|
|
96
|
+
|
|
97
|
+
- `englishVerbs` - All verb definitions
|
|
98
|
+
- `englishTemplates` - All message templates
|
|
99
|
+
- `englishWords` - Word lists (articles, prepositions, etc.)
|
|
100
|
+
- `irregularPlurals` - Irregular plural mappings
|
|
101
|
+
- `abbreviations` - Common abbreviations
|
|
102
|
+
|
|
103
|
+
## License
|
|
104
|
+
|
|
105
|
+
MIT
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language content for about action
|
|
3
|
+
*/
|
|
4
|
+
export declare const aboutLanguage: {
|
|
5
|
+
actionId: string;
|
|
6
|
+
patterns: string[];
|
|
7
|
+
messages: {
|
|
8
|
+
about_header: string;
|
|
9
|
+
game_info: string;
|
|
10
|
+
game_info_simple: string;
|
|
11
|
+
description: string;
|
|
12
|
+
copyright: string;
|
|
13
|
+
license: string;
|
|
14
|
+
website: string;
|
|
15
|
+
contact: string;
|
|
16
|
+
credits_header: string;
|
|
17
|
+
credits_list: string;
|
|
18
|
+
special_thanks: string;
|
|
19
|
+
dedication: string;
|
|
20
|
+
acknowledgments: string;
|
|
21
|
+
engine_info: string;
|
|
22
|
+
technical_info: string;
|
|
23
|
+
play_stats: string;
|
|
24
|
+
session_info: string;
|
|
25
|
+
about_footer: string;
|
|
26
|
+
enjoy_game: string;
|
|
27
|
+
about_compact: string;
|
|
28
|
+
};
|
|
29
|
+
help: {
|
|
30
|
+
description: string;
|
|
31
|
+
examples: string;
|
|
32
|
+
summary: string;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=about.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"about.d.ts","sourceRoot":"","sources":["../../src/actions/about.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDzB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Language content for about action
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.aboutLanguage = void 0;
|
|
7
|
+
exports.aboutLanguage = {
|
|
8
|
+
actionId: 'if.action.about',
|
|
9
|
+
patterns: [
|
|
10
|
+
'about',
|
|
11
|
+
'info',
|
|
12
|
+
'credits'
|
|
13
|
+
],
|
|
14
|
+
messages: {
|
|
15
|
+
// Header
|
|
16
|
+
'about_header': "About {title}",
|
|
17
|
+
// Basic info
|
|
18
|
+
'game_info': "{title}\nVersion {version}\nBy {author}\nReleased: {releaseDate}",
|
|
19
|
+
'game_info_simple': "{title} by {author}",
|
|
20
|
+
// Extended info
|
|
21
|
+
'description': "Description: {description}",
|
|
22
|
+
'copyright': "Copyright {copyright}",
|
|
23
|
+
'license': "License: {license}",
|
|
24
|
+
'website': "Website: {website}",
|
|
25
|
+
'contact': "Contact: {contact}",
|
|
26
|
+
// Credits
|
|
27
|
+
'credits_header': "Credits:",
|
|
28
|
+
'credits_list': "{credits}",
|
|
29
|
+
'special_thanks': "Special Thanks: {specialThanks}",
|
|
30
|
+
'dedication': "Dedication: {dedication}",
|
|
31
|
+
'acknowledgments': "Acknowledgments: {acknowledgments}",
|
|
32
|
+
// Technical info
|
|
33
|
+
'engine_info': "Powered by {engine} version {engineVersion}",
|
|
34
|
+
'technical_info': "Technical Information:\nEngine: {engine} v{engineVersion}\nPlatform: Interactive Fiction",
|
|
35
|
+
// Play statistics
|
|
36
|
+
'play_stats': "Current Session:\nTime played: {playTime}\nMoves made: {sessionMoves}",
|
|
37
|
+
'session_info': "You've been playing for {playTime} and made {sessionMoves} moves.",
|
|
38
|
+
// Footer
|
|
39
|
+
'about_footer': "Thank you for playing!",
|
|
40
|
+
'enjoy_game': "We hope you enjoy playing {title}!",
|
|
41
|
+
// Compact version
|
|
42
|
+
'about_compact': "{title} v{version} by {author}"
|
|
43
|
+
},
|
|
44
|
+
help: {
|
|
45
|
+
description: 'Display information about the game, including credits and version.',
|
|
46
|
+
examples: 'about, info, credits',
|
|
47
|
+
summary: 'ABOUT/INFO - Display information about the game, including credits and version. Example: ABOUT'
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=about.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"about.js","sourceRoot":"","sources":["../../src/actions/about.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,aAAa,GAAG;IAC3B,QAAQ,EAAE,iBAAiB;IAE3B,QAAQ,EAAE;QACR,OAAO;QACP,MAAM;QACN,SAAS;KACV;IAED,QAAQ,EAAE;QACR,SAAS;QACT,cAAc,EAAE,eAAe;QAE/B,aAAa;QACb,WAAW,EAAE,kEAAkE;QAC/E,kBAAkB,EAAE,qBAAqB;QAEzC,gBAAgB;QAChB,aAAa,EAAE,4BAA4B;QAC3C,WAAW,EAAE,uBAAuB;QACpC,SAAS,EAAE,oBAAoB;QAC/B,SAAS,EAAE,oBAAoB;QAC/B,SAAS,EAAE,oBAAoB;QAE/B,UAAU;QACV,gBAAgB,EAAE,UAAU;QAC5B,cAAc,EAAE,WAAW;QAC3B,gBAAgB,EAAE,iCAAiC;QACnD,YAAY,EAAE,0BAA0B;QACxC,iBAAiB,EAAE,oCAAoC;QAEvD,iBAAiB;QACjB,aAAa,EAAE,6CAA6C;QAC5D,gBAAgB,EAAE,0FAA0F;QAE5G,kBAAkB;QAClB,YAAY,EAAE,uEAAuE;QACrF,cAAc,EAAE,mEAAmE;QAEnF,SAAS;QACT,cAAc,EAAE,wBAAwB;QACxC,YAAY,EAAE,oCAAoC;QAElD,kBAAkB;QAClB,eAAe,EAAE,gCAAgC;KAClD;IAED,IAAI,EAAE;QACJ,WAAW,EAAE,oEAAoE;QACjF,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,gGAAgG;KAC1G;CACF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language content for again action
|
|
3
|
+
*/
|
|
4
|
+
export declare const againLanguage: {
|
|
5
|
+
actionId: string;
|
|
6
|
+
patterns: string[];
|
|
7
|
+
messages: {
|
|
8
|
+
nothing_to_repeat: string;
|
|
9
|
+
};
|
|
10
|
+
help: {
|
|
11
|
+
description: string;
|
|
12
|
+
examples: string;
|
|
13
|
+
summary: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=again.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"again.d.ts","sourceRoot":"","sources":["../../src/actions/again.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;CAkBzB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Language content for again action
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.againLanguage = void 0;
|
|
7
|
+
exports.againLanguage = {
|
|
8
|
+
actionId: 'if.action.again',
|
|
9
|
+
patterns: [
|
|
10
|
+
'again',
|
|
11
|
+
'g'
|
|
12
|
+
],
|
|
13
|
+
messages: {
|
|
14
|
+
// Error messages
|
|
15
|
+
'nothing_to_repeat': "There is nothing to repeat."
|
|
16
|
+
},
|
|
17
|
+
help: {
|
|
18
|
+
description: 'Repeat the last command.',
|
|
19
|
+
examples: 'again, g',
|
|
20
|
+
summary: 'AGAIN (G) - Repeat the last command. Example: G'
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=again.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"again.js","sourceRoot":"","sources":["../../src/actions/again.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,aAAa,GAAG;IAC3B,QAAQ,EAAE,iBAAiB;IAE3B,QAAQ,EAAE;QACR,OAAO;QACP,GAAG;KACJ;IAED,QAAQ,EAAE;QACR,iBAAiB;QACjB,mBAAmB,EAAE,6BAA6B;KACnD;IAED,IAAI,EAAE;QACJ,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,iDAAiD;KAC3D;CACF,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language content for answering action
|
|
3
|
+
*/
|
|
4
|
+
export declare const answeringLanguage: {
|
|
5
|
+
actionId: string;
|
|
6
|
+
patterns: string[];
|
|
7
|
+
messages: {
|
|
8
|
+
no_question: string;
|
|
9
|
+
no_one_asked: string;
|
|
10
|
+
too_late: string;
|
|
11
|
+
answered: string;
|
|
12
|
+
answered_yes: string;
|
|
13
|
+
answered_no: string;
|
|
14
|
+
gave_answer: string;
|
|
15
|
+
accepted: string;
|
|
16
|
+
rejected: string;
|
|
17
|
+
noted: string;
|
|
18
|
+
confused_by_answer: string;
|
|
19
|
+
invalid_response: string;
|
|
20
|
+
needs_yes_or_no: string;
|
|
21
|
+
unclear_answer: string;
|
|
22
|
+
};
|
|
23
|
+
help: {
|
|
24
|
+
description: string;
|
|
25
|
+
examples: string;
|
|
26
|
+
summary: string;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=answering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"answering.d.ts","sourceRoot":"","sources":["../../src/actions/answering.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;CA0C7B,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Language content for answering action
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.answeringLanguage = void 0;
|
|
7
|
+
exports.answeringLanguage = {
|
|
8
|
+
actionId: 'if.action.answering',
|
|
9
|
+
patterns: [
|
|
10
|
+
'answer [response]',
|
|
11
|
+
'reply [response]',
|
|
12
|
+
'respond [response]',
|
|
13
|
+
'say yes',
|
|
14
|
+
'say no',
|
|
15
|
+
'yes',
|
|
16
|
+
'no'
|
|
17
|
+
],
|
|
18
|
+
messages: {
|
|
19
|
+
// Error messages
|
|
20
|
+
'no_question': "There's nothing to answer.",
|
|
21
|
+
'no_one_asked': "No one asked {you} anything.",
|
|
22
|
+
'too_late': "It's too late to answer that.",
|
|
23
|
+
// Success messages
|
|
24
|
+
'answered': "{You} {answer}, \"{response}\"",
|
|
25
|
+
'answered_yes': "{You} {say}, \"Yes.\"",
|
|
26
|
+
'answered_no': "{You} {say}, \"No.\"",
|
|
27
|
+
'gave_answer': "{You} {respond} to the question.",
|
|
28
|
+
// Response reactions
|
|
29
|
+
'accepted': "{Your} answer is accepted.",
|
|
30
|
+
'rejected': "{Your} answer is not what they wanted to hear.",
|
|
31
|
+
'noted': "{Your} response is noted.",
|
|
32
|
+
'confused_by_answer': "{Your} answer seems to confuse them.",
|
|
33
|
+
// Invalid responses
|
|
34
|
+
'invalid_response': "That's not a valid answer to the question.",
|
|
35
|
+
'needs_yes_or_no': "Please answer yes or no.",
|
|
36
|
+
'unclear_answer': "{Your} answer isn't clear. Try again."
|
|
37
|
+
},
|
|
38
|
+
help: {
|
|
39
|
+
description: 'Answer questions that have been asked of you.',
|
|
40
|
+
examples: 'answer yes, say no, reply "the password is xyzzy", yes',
|
|
41
|
+
summary: 'ANSWER/SAY - Answer questions that have been asked of you. Example: SAY YES'
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=answering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"answering.js","sourceRoot":"","sources":["../../src/actions/answering.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,qBAAqB;IAE/B,QAAQ,EAAE;QACR,mBAAmB;QACnB,kBAAkB;QAClB,oBAAoB;QACpB,SAAS;QACT,QAAQ;QACR,KAAK;QACL,IAAI;KACL;IAED,QAAQ,EAAE;QACR,iBAAiB;QACjB,aAAa,EAAE,4BAA4B;QAC3C,cAAc,EAAE,8BAA8B;QAC9C,UAAU,EAAE,+BAA+B;QAE3C,mBAAmB;QACnB,UAAU,EAAE,gCAAgC;QAC5C,cAAc,EAAE,uBAAuB;QACvC,aAAa,EAAE,sBAAsB;QACrC,aAAa,EAAE,kCAAkC;QAEjD,qBAAqB;QACrB,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,gDAAgD;QAC5D,OAAO,EAAE,2BAA2B;QACpC,oBAAoB,EAAE,sCAAsC;QAE5D,oBAAoB;QACpB,kBAAkB,EAAE,4CAA4C;QAChE,iBAAiB,EAAE,0BAA0B;QAC7C,gBAAgB,EAAE,uCAAuC;KAC1D;IAED,IAAI,EAAE;QACJ,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,wDAAwD;QAClE,OAAO,EAAE,6EAA6E;KACvF;CACF,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language content for asking action
|
|
3
|
+
*/
|
|
4
|
+
export declare const askingLanguage: {
|
|
5
|
+
actionId: string;
|
|
6
|
+
patterns: string[];
|
|
7
|
+
messages: {
|
|
8
|
+
no_target: string;
|
|
9
|
+
no_topic: string;
|
|
10
|
+
not_visible: string;
|
|
11
|
+
too_far: string;
|
|
12
|
+
not_actor: string;
|
|
13
|
+
unknown_topic: string;
|
|
14
|
+
shrugs: string;
|
|
15
|
+
no_idea: string;
|
|
16
|
+
confused: string;
|
|
17
|
+
responds: string;
|
|
18
|
+
explains: string;
|
|
19
|
+
already_told: string;
|
|
20
|
+
remembers: string;
|
|
21
|
+
not_yet: string;
|
|
22
|
+
must_do_first: string;
|
|
23
|
+
earned_trust: string;
|
|
24
|
+
};
|
|
25
|
+
help: {
|
|
26
|
+
description: string;
|
|
27
|
+
examples: string;
|
|
28
|
+
summary: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=asking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asking.d.ts","sourceRoot":"","sources":["../../src/actions/asking.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C1B,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Language content for asking action
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.askingLanguage = void 0;
|
|
7
|
+
exports.askingLanguage = {
|
|
8
|
+
actionId: 'if.action.asking',
|
|
9
|
+
patterns: [
|
|
10
|
+
'ask [someone] about [topic]',
|
|
11
|
+
'ask [someone] for [topic]',
|
|
12
|
+
'question [someone] about [topic]',
|
|
13
|
+
'inquire [someone] about [topic]',
|
|
14
|
+
'query [someone] about [topic]'
|
|
15
|
+
],
|
|
16
|
+
messages: {
|
|
17
|
+
// Error messages
|
|
18
|
+
'no_target': "Ask whom?",
|
|
19
|
+
'no_topic': "Ask about what?",
|
|
20
|
+
'not_visible': "{You} {can't} see {target}.",
|
|
21
|
+
'too_far': "{target} is too far away.",
|
|
22
|
+
'not_actor': "{You} can only ask questions of people.",
|
|
23
|
+
// Success messages - unknown topic
|
|
24
|
+
'unknown_topic': "{target} says, \"I don't know anything about that.\"",
|
|
25
|
+
'shrugs': "{target} shrugs.",
|
|
26
|
+
'no_idea': "{target} says, \"No idea what you're talking about.\"",
|
|
27
|
+
'confused': "{target} looks confused.",
|
|
28
|
+
// Success messages - known topic
|
|
29
|
+
'responds': "{target} tells you about {topic}.",
|
|
30
|
+
'explains': "{target} explains about {topic}.",
|
|
31
|
+
'already_told': "{target} says, \"I already told you about that.\"",
|
|
32
|
+
'remembers': "{target} says, \"Ah yes, about {topic}...\"",
|
|
33
|
+
// Success messages - conditional responses
|
|
34
|
+
'not_yet': "{target} says, \"I can't tell you about that yet.\"",
|
|
35
|
+
'must_do_first': "{target} says, \"There's something you need to do first.\"",
|
|
36
|
+
'earned_trust': "{target} says, \"Since you've proven yourself, I'll tell you...\""
|
|
37
|
+
},
|
|
38
|
+
help: {
|
|
39
|
+
description: 'Ask characters about specific topics to gather information.',
|
|
40
|
+
examples: 'ask guard about castle, ask wizard about magic, question merchant about prices',
|
|
41
|
+
summary: 'ASK ABOUT - Ask characters about specific topics to gather information. Example: ASK GUARD ABOUT CASTLE'
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=asking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asking.js","sourceRoot":"","sources":["../../src/actions/asking.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE,kBAAkB;IAE5B,QAAQ,EAAE;QACR,6BAA6B;QAC7B,2BAA2B;QAC3B,kCAAkC;QAClC,iCAAiC;QACjC,+BAA+B;KAChC;IAED,QAAQ,EAAE;QACR,iBAAiB;QACjB,WAAW,EAAE,WAAW;QACxB,UAAU,EAAE,iBAAiB;QAC7B,aAAa,EAAE,6BAA6B;QAC5C,SAAS,EAAE,2BAA2B;QACtC,WAAW,EAAE,yCAAyC;QAEtD,mCAAmC;QACnC,eAAe,EAAE,sDAAsD;QACvE,QAAQ,EAAE,kBAAkB;QAC5B,SAAS,EAAE,uDAAuD;QAClE,UAAU,EAAE,0BAA0B;QAEtC,iCAAiC;QACjC,UAAU,EAAE,mCAAmC;QAC/C,UAAU,EAAE,kCAAkC;QAC9C,cAAc,EAAE,mDAAmD;QACnE,WAAW,EAAE,6CAA6C;QAE1D,2CAA2C;QAC3C,SAAS,EAAE,qDAAqD;QAChE,eAAe,EAAE,4DAA4D;QAC7E,cAAc,EAAE,mEAAmE;KACpF;IAED,IAAI,EAAE;QACJ,WAAW,EAAE,6DAA6D;QAC1E,QAAQ,EAAE,gFAAgF;QAC1F,OAAO,EAAE,yGAAyG;KACnH;CACF,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language content for attacking action
|
|
3
|
+
*/
|
|
4
|
+
export declare const attackingLanguage: {
|
|
5
|
+
actionId: string;
|
|
6
|
+
patterns: string[];
|
|
7
|
+
messages: {
|
|
8
|
+
no_target: string;
|
|
9
|
+
not_visible: string;
|
|
10
|
+
not_reachable: string;
|
|
11
|
+
self: string;
|
|
12
|
+
not_holding_weapon: string;
|
|
13
|
+
indestructible: string;
|
|
14
|
+
need_weapon_to_damage: string;
|
|
15
|
+
wrong_weapon_type: string;
|
|
16
|
+
attack_ineffective: string;
|
|
17
|
+
'combat.cannot_attack': string;
|
|
18
|
+
'combat.already_dead': string;
|
|
19
|
+
'combat.not_hostile': string;
|
|
20
|
+
'combat.no_target': string;
|
|
21
|
+
'combat.target_unconscious': string;
|
|
22
|
+
'combat.need_weapon': string;
|
|
23
|
+
'combat.attack.missed': string;
|
|
24
|
+
'combat.attack.hit': string;
|
|
25
|
+
'combat.attack.hit_light': string;
|
|
26
|
+
'combat.attack.hit_heavy': string;
|
|
27
|
+
'combat.attack.knocked_out': string;
|
|
28
|
+
'combat.attack.killed': string;
|
|
29
|
+
'combat.defend.blocked': string;
|
|
30
|
+
'combat.defend.parried': string;
|
|
31
|
+
'combat.defend.dodged': string;
|
|
32
|
+
'combat.health.healthy': string;
|
|
33
|
+
'combat.health.wounded': string;
|
|
34
|
+
'combat.health.badly_wounded': string;
|
|
35
|
+
'combat.health.near_death': string;
|
|
36
|
+
'combat.health.unconscious': string;
|
|
37
|
+
'combat.health.dead': string;
|
|
38
|
+
'combat.special.sword_glows': string;
|
|
39
|
+
'combat.special.sword_stops_glowing': string;
|
|
40
|
+
'combat.special.blessed_weapon': string;
|
|
41
|
+
'combat.started': string;
|
|
42
|
+
'combat.ended': string;
|
|
43
|
+
'combat.player_died': string;
|
|
44
|
+
'combat.player_resurrected': string;
|
|
45
|
+
attacked: string;
|
|
46
|
+
attacked_with: string;
|
|
47
|
+
hit_target: string;
|
|
48
|
+
hit_blindly: string;
|
|
49
|
+
hit_with: string;
|
|
50
|
+
struck: string;
|
|
51
|
+
struck_with: string;
|
|
52
|
+
punched: string;
|
|
53
|
+
kicked: string;
|
|
54
|
+
unarmed_attack: string;
|
|
55
|
+
target_broke: string;
|
|
56
|
+
target_shattered: string;
|
|
57
|
+
broke: string;
|
|
58
|
+
smashed: string;
|
|
59
|
+
target_destroyed: string;
|
|
60
|
+
destroyed: string;
|
|
61
|
+
shattered: string;
|
|
62
|
+
target_damaged: string;
|
|
63
|
+
killed_target: string;
|
|
64
|
+
killed_blindly: string;
|
|
65
|
+
items_spilled: string;
|
|
66
|
+
passage_revealed: string;
|
|
67
|
+
debris_created: string;
|
|
68
|
+
defends: string;
|
|
69
|
+
dodges: string;
|
|
70
|
+
retaliates: string;
|
|
71
|
+
flees: string;
|
|
72
|
+
peaceful_solution: string;
|
|
73
|
+
no_fighting: string;
|
|
74
|
+
unnecessary_violence: string;
|
|
75
|
+
};
|
|
76
|
+
help: {
|
|
77
|
+
description: string;
|
|
78
|
+
examples: string;
|
|
79
|
+
summary: string;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=attacking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attacking.d.ts","sourceRoot":"","sources":["../../src/actions/attacking.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuH7B,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Language content for attacking action
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.attackingLanguage = void 0;
|
|
7
|
+
exports.attackingLanguage = {
|
|
8
|
+
actionId: 'if.action.attacking',
|
|
9
|
+
patterns: [
|
|
10
|
+
'attack [something]',
|
|
11
|
+
'attack [something] with [weapon]',
|
|
12
|
+
'hit [something]',
|
|
13
|
+
'hit [something] with [weapon]',
|
|
14
|
+
'strike [something]',
|
|
15
|
+
'strike [something] with [weapon]',
|
|
16
|
+
'fight [something]',
|
|
17
|
+
'kill [something]',
|
|
18
|
+
'break [something]',
|
|
19
|
+
'destroy [something]',
|
|
20
|
+
'smash [something]'
|
|
21
|
+
],
|
|
22
|
+
messages: {
|
|
23
|
+
// Error messages
|
|
24
|
+
'no_target': "Attack what?",
|
|
25
|
+
'not_visible': "{You} {can't} see {target}.",
|
|
26
|
+
'not_reachable': "{You} {can't} reach {target}.",
|
|
27
|
+
'self': "Violence against {yourself} isn't the answer.",
|
|
28
|
+
'not_holding_weapon': "{You} aren't holding {weapon}.",
|
|
29
|
+
'indestructible': "{target} is far too solid to damage.",
|
|
30
|
+
'need_weapon_to_damage': "{target} requires a weapon to damage.",
|
|
31
|
+
'wrong_weapon_type': "{target} can't be damaged with that type of weapon.",
|
|
32
|
+
'attack_ineffective': "{Your} attack has no effect on {target}.",
|
|
33
|
+
// Combat validation errors (ADR-072 CombatService)
|
|
34
|
+
'combat.cannot_attack': "{You} {can't} attack {targetName}.",
|
|
35
|
+
'combat.already_dead': "{targetName} is already dead.",
|
|
36
|
+
'combat.not_hostile': "{targetName} isn't hostile.",
|
|
37
|
+
'combat.no_target': "Attack what?",
|
|
38
|
+
'combat.target_unconscious': "{targetName} is already unconscious.",
|
|
39
|
+
'combat.need_weapon': "{You} {need} a weapon to attack effectively.",
|
|
40
|
+
// Combat attack outcomes (ADR-072 CombatService)
|
|
41
|
+
'combat.attack.missed': "{You} {swing} at {targetName} but miss!",
|
|
42
|
+
'combat.attack.hit': "{You} {hit} {targetName} for {damage} damage.",
|
|
43
|
+
'combat.attack.hit_light': "{You} {graze} {targetName}, doing {damage} damage.",
|
|
44
|
+
'combat.attack.hit_heavy': "{You} {land} a solid blow on {targetName}, dealing {damage} damage!",
|
|
45
|
+
'combat.attack.knocked_out': "{targetName} collapses, unconscious!",
|
|
46
|
+
'combat.attack.killed': "{You} {have} slain {targetName}!",
|
|
47
|
+
// Combat defense outcomes (ADR-072 CombatService)
|
|
48
|
+
'combat.defend.blocked': "{targetName} blocks {your} attack!",
|
|
49
|
+
'combat.defend.parried': "{targetName} parries {your} attack!",
|
|
50
|
+
'combat.defend.dodged': "{targetName} dodges out of the way!",
|
|
51
|
+
// Health status descriptions (ADR-072 CombatService)
|
|
52
|
+
'combat.health.healthy': "{targetName} appears uninjured.",
|
|
53
|
+
'combat.health.wounded': "{targetName} has been wounded.",
|
|
54
|
+
'combat.health.badly_wounded': "{targetName} is badly wounded.",
|
|
55
|
+
'combat.health.near_death': "{targetName} is barely clinging to life!",
|
|
56
|
+
'combat.health.unconscious': "{targetName} lies unconscious.",
|
|
57
|
+
'combat.health.dead': "{targetName} is dead.",
|
|
58
|
+
// Special weapon effects (ADR-072 CombatService)
|
|
59
|
+
'combat.special.sword_glows': "{Your} sword glows brightly!",
|
|
60
|
+
'combat.special.sword_stops_glowing': "{Your} sword's glow fades.",
|
|
61
|
+
'combat.special.blessed_weapon': "{Your} blessed weapon burns the undead!",
|
|
62
|
+
// Combat state (ADR-072 CombatService)
|
|
63
|
+
'combat.started': "Combat has begun!",
|
|
64
|
+
'combat.ended': "The battle is over.",
|
|
65
|
+
'combat.player_died': "{You} {have} been slain!",
|
|
66
|
+
'combat.player_resurrected': "{You} {feel} life return to {your} body.",
|
|
67
|
+
// Success messages - combat
|
|
68
|
+
'attacked': "{You} {attack} {target}.",
|
|
69
|
+
'attacked_with': "{You} {attack} {target} with {weapon}.",
|
|
70
|
+
'hit_target': "{You} {hit} {target}.",
|
|
71
|
+
'hit_blindly': "{You} {swing} wildly, hitting nothing.",
|
|
72
|
+
'hit_with': "{You} {hit} {target} with {weapon}.",
|
|
73
|
+
'struck': "{You} {strike} {target}!",
|
|
74
|
+
'struck_with': "{You} {strike} {target} with {weapon}!",
|
|
75
|
+
// Success messages - unarmed
|
|
76
|
+
'punched': "{You} {punch} {target}.",
|
|
77
|
+
'kicked': "{You} {kick} {target}.",
|
|
78
|
+
'unarmed_attack': "{You} {attack} {target} with {your} bare hands.",
|
|
79
|
+
// Success messages - breaking/destroying
|
|
80
|
+
'target_broke': "{target} breaks!",
|
|
81
|
+
'target_shattered': "{target} shatters into pieces!",
|
|
82
|
+
'broke': "{You} {break} {target}!",
|
|
83
|
+
'smashed': "{You} {smash} {target} to pieces!",
|
|
84
|
+
'target_destroyed': "{target} is utterly destroyed!",
|
|
85
|
+
'destroyed': "{You} {destroy} {target}!",
|
|
86
|
+
'shattered': "{target} shatters!",
|
|
87
|
+
'target_damaged': "{target} shows signs of damage. ({damage} damage dealt)",
|
|
88
|
+
// Success messages - killing
|
|
89
|
+
'killed_target': "{You} {have} defeated {target}!",
|
|
90
|
+
'killed_blindly': "Something dies in the darkness.",
|
|
91
|
+
// Environmental results
|
|
92
|
+
'items_spilled': "{target}'s possessions spill onto the ground.",
|
|
93
|
+
'passage_revealed': "A hidden passage is revealed!",
|
|
94
|
+
'debris_created': "Debris from {target} litters the area.",
|
|
95
|
+
// Target reactions - actors
|
|
96
|
+
'defends': "{target} defends against {your} attack.",
|
|
97
|
+
'dodges': "{target} dodges {your} attack.",
|
|
98
|
+
'retaliates': "{target} fights back!",
|
|
99
|
+
'flees': "{target} flees from {you}!",
|
|
100
|
+
// Violence discouragement
|
|
101
|
+
'peaceful_solution': "Violence isn't necessary here.",
|
|
102
|
+
'no_fighting': "Fighting won't solve this problem.",
|
|
103
|
+
'unnecessary_violence': "That seems unnecessarily violent."
|
|
104
|
+
},
|
|
105
|
+
help: {
|
|
106
|
+
description: 'Attack creatures or attempt to break objects.',
|
|
107
|
+
examples: 'attack troll, hit goblin with sword, break window, smash vase',
|
|
108
|
+
summary: 'ATTACK/HIT/FIGHT - Attack creatures or attempt to break objects. Example: ATTACK TROLL'
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=attacking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attacking.js","sourceRoot":"","sources":["../../src/actions/attacking.ts"],"names":[],"mappings":"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"}
|