roguelike-cli 1.3.5 → 1.3.6

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/README.md CHANGED
@@ -99,6 +99,7 @@ Rules change how the AI speaks. Set during `init` or with `config -R="<rules>"`.
99
99
  | `western` | Bounties, sheriffs, frontier |
100
100
  | `warhammer` | For the Emperor! Purge heretics |
101
101
  | `ninja` | Shinobi, shadows, honor, blades |
102
+ | `darksouls` | YOU DIED. Praise the Sun! |
102
103
 
103
104
  ### Custom Rules
104
105
 
@@ -89,6 +89,10 @@ exports.RULES_PRESETS = {
89
89
  name: 'Ninja/Samurai',
90
90
  rules: 'Use Japanese ninja/samurai language. Tasks are "missions". Completing is "vanquishing enemies". Milestones are "contracts". Use "shinobi", "sensei", "shadow", "honor", "blade". Move like the wind, strike like lightning.',
91
91
  },
92
+ darksouls: {
93
+ name: 'Dark Souls',
94
+ rules: 'Use Dark Souls language. Tasks are "challenges". Completing is "victory achieved". Failing is "YOU DIED". Milestones are "boss fights". Use "Ashen One", "bonfire", "souls", "ember", "hollow". Praise the Sun!',
95
+ },
92
96
  };
93
97
  const CONFIG_FILE = path.join(os.homedir(), '.rlc', 'config.json');
94
98
  const DEFAULT_STORAGE = path.join(os.homedir(), '.rlc', 'workspace');
@@ -2,7 +2,7 @@
2
2
  // Base dictionaries for different rule presets
3
3
  // Keys are used everywhere, values are localized based on rules
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.DICTIONARIES = exports.NINJA_DICTIONARY = exports.WARHAMMER_DICTIONARY = exports.WESTERN_DICTIONARY = exports.PIRATE_DICTIONARY = exports.CYBERPUNK_DICTIONARY = exports.STARWARS_DICTIONARY = exports.SPACE_DICTIONARY = exports.FANTASY_DICTIONARY = exports.DEFAULT_DICTIONARY = void 0;
5
+ exports.DICTIONARIES = exports.DARKSOULS_DICTIONARY = exports.NINJA_DICTIONARY = exports.WARHAMMER_DICTIONARY = exports.WESTERN_DICTIONARY = exports.PIRATE_DICTIONARY = exports.CYBERPUNK_DICTIONARY = exports.STARWARS_DICTIONARY = exports.SPACE_DICTIONARY = exports.FANTASY_DICTIONARY = exports.DEFAULT_DICTIONARY = void 0;
6
6
  exports.getDictionary = getDictionary;
7
7
  // Default dictionary (no theme)
8
8
  exports.DEFAULT_DICTIONARY = {
@@ -553,6 +553,67 @@ exports.NINJA_DICTIONARY = {
553
553
  inventory: 'Inventory',
554
554
  },
555
555
  };
556
+ // Dark Souls dictionary
557
+ exports.DARKSOULS_DICTIONARY = {
558
+ messages: {
559
+ questCompleted: 'VICTORY ACHIEVED',
560
+ levelUp: 'SOUL LEVEL INCREASED!',
561
+ newAchievement: 'ACHIEVEMENT UNLOCKED',
562
+ lootDropped: 'ITEM ACQUIRED',
563
+ bossDefeated: 'GREAT ENEMY FELLED',
564
+ streakBonus: 'HUMANITY RESTORED',
565
+ taskBlocked: 'Path blocked. Try different approach.',
566
+ taskUnblocked: 'A shortcut has opened',
567
+ deadlineSet: 'The bell tolls',
568
+ deadlineOverdue: 'YOU DIED',
569
+ welcomeBack: 'Welcome back, Ashen One',
570
+ },
571
+ achievements: {
572
+ firstTask: { name: 'First Flame', desc: 'Begin your journey' },
573
+ tasks10: { name: 'Chosen Undead', desc: 'Complete 10 tasks' },
574
+ tasks50: { name: 'Undead Champion', desc: 'Complete 50 tasks' },
575
+ tasks100: { name: 'Lord of Cinder', desc: 'Complete 100 tasks' },
576
+ tasks500: { name: 'Dark Lord', desc: 'Complete 500 tasks' },
577
+ tasks1000: { name: 'Legend Never Dies', desc: 'Complete 1000 tasks' },
578
+ boss1: { name: 'Boss Slayer', desc: 'Fell your first boss' },
579
+ boss5: { name: 'Giant Slayer', desc: 'Fell 5 bosses' },
580
+ boss10: { name: 'Dragon Slayer', desc: 'Fell 10 bosses' },
581
+ boss25: { name: 'God Slayer', desc: 'Fell 25 bosses' },
582
+ streak3: { name: 'Ember Restored', desc: '3 day streak' },
583
+ streak7: { name: 'Kindled', desc: '7 day streak' },
584
+ streak14: { name: 'Flame Keeper', desc: '14 day streak' },
585
+ streak30: { name: 'Lord of Flame', desc: '30 day streak' },
586
+ depth3: { name: 'Catacombs Explorer', desc: 'Descend to depth 3' },
587
+ depth5: { name: 'Abyss Walker', desc: 'Descend to depth 5' },
588
+ depth10: { name: 'Void Wanderer', desc: 'Descend to depth 10' },
589
+ speedrun: { name: 'Speedrunner', desc: 'Same-day completion' },
590
+ nightOwl: { name: 'Dark Spirit', desc: 'Task after midnight' },
591
+ earlyBird: { name: 'Sun Bro', desc: 'Task before dawn' },
592
+ },
593
+ loot: {
594
+ common: ['Estus Flask Shard', 'Lifegem', 'Firebomb', 'Throwing Knife', 'Prism Stone'],
595
+ uncommon: ['Titanite Shard', 'Green Blossom', 'Homeward Bone', 'Ember', 'Undead Bone Shard'],
596
+ rare: ['Titanite Chunk', 'Coiled Sword', 'Sunlight Medal', 'Proof of Concord', 'Pale Tongue'],
597
+ epic: ['Titanite Slab', 'Soul of a Great Champion', 'Ring of Favor', 'Havel\'s Ring', 'Chloranthy Ring'],
598
+ legendary: ['Soul of Cinder', 'Firelink Greatsword', 'Wolf Knight Greatsword', 'Moonlight Greatsword', 'Dark Soul'],
599
+ },
600
+ rarities: {
601
+ common: 'Common',
602
+ uncommon: 'Rare',
603
+ rare: 'Very Rare',
604
+ epic: 'Legendary',
605
+ legendary: 'Boss Soul',
606
+ },
607
+ stats: {
608
+ level: 'Soul Level',
609
+ xp: 'Souls',
610
+ tasksCompleted: 'Tasks Completed',
611
+ bossesDefeated: 'Bosses Felled',
612
+ currentStreak: 'Ember Streak',
613
+ longestStreak: 'Longest Journey',
614
+ inventory: 'Inventory',
615
+ },
616
+ };
556
617
  // Map preset names to dictionaries
557
618
  exports.DICTIONARIES = {
558
619
  default: exports.DEFAULT_DICTIONARY,
@@ -564,6 +625,7 @@ exports.DICTIONARIES = {
564
625
  western: exports.WESTERN_DICTIONARY,
565
626
  warhammer: exports.WARHAMMER_DICTIONARY,
566
627
  ninja: exports.NINJA_DICTIONARY,
628
+ darksouls: exports.DARKSOULS_DICTIONARY,
567
629
  };
568
630
  // Get dictionary based on rules preset
569
631
  function getDictionary(preset) {
@@ -1027,7 +1027,8 @@ Gamification:
1027
1027
 
1028
1028
  Rules (AI style presets):
1029
1029
  Set via init or config -R="<rules>"
1030
- Presets: fantasy, space, starwars, cyberpunk, pirate, warhammer, ninja
1030
+ Presets: fantasy, space, starwars, cyberpunk, pirate,
1031
+ warhammer, ninja, darksouls
1031
1032
 
1032
1033
  Config:
1033
1034
  init Setup wizard
@@ -22,7 +22,7 @@ const ASCII_ART = [
22
22
  ' Tasks: done, undo, dl <date>, boss, block',
23
23
  ' Stats: stats, achievements, inventory, map',
24
24
  '',
25
- ' Rules: fantasy, space, starwars, cyberpunk',
25
+ ' Rules: fantasy, starwars, cyberpunk, darksouls...',
26
26
  ' Config: init, config -R="<rules>"',
27
27
  '',
28
28
  ' TAB autocomplete, | pbcopy to copy',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "roguelike-cli",
3
- "version": "1.3.5",
3
+ "version": "1.3.6",
4
4
  "description": "AI-powered interactive terminal for creating schemas and todo lists",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -62,6 +62,10 @@ export const RULES_PRESETS: Record<string, { name: string; rules: string }> = {
62
62
  name: 'Ninja/Samurai',
63
63
  rules: 'Use Japanese ninja/samurai language. Tasks are "missions". Completing is "vanquishing enemies". Milestones are "contracts". Use "shinobi", "sensei", "shadow", "honor", "blade". Move like the wind, strike like lightning.',
64
64
  },
65
+ darksouls: {
66
+ name: 'Dark Souls',
67
+ rules: 'Use Dark Souls language. Tasks are "challenges". Completing is "victory achieved". Failing is "YOU DIED". Milestones are "boss fights". Use "Ashen One", "bonfire", "souls", "ember", "hollow". Praise the Sun!',
68
+ },
65
69
  };
66
70
 
67
71
  const CONFIG_FILE = path.join(os.homedir(), '.rlc', 'config.json');
@@ -625,6 +625,68 @@ export const NINJA_DICTIONARY: Dictionary = {
625
625
  },
626
626
  };
627
627
 
628
+ // Dark Souls dictionary
629
+ export const DARKSOULS_DICTIONARY: Dictionary = {
630
+ messages: {
631
+ questCompleted: 'VICTORY ACHIEVED',
632
+ levelUp: 'SOUL LEVEL INCREASED!',
633
+ newAchievement: 'ACHIEVEMENT UNLOCKED',
634
+ lootDropped: 'ITEM ACQUIRED',
635
+ bossDefeated: 'GREAT ENEMY FELLED',
636
+ streakBonus: 'HUMANITY RESTORED',
637
+ taskBlocked: 'Path blocked. Try different approach.',
638
+ taskUnblocked: 'A shortcut has opened',
639
+ deadlineSet: 'The bell tolls',
640
+ deadlineOverdue: 'YOU DIED',
641
+ welcomeBack: 'Welcome back, Ashen One',
642
+ },
643
+ achievements: {
644
+ firstTask: { name: 'First Flame', desc: 'Begin your journey' },
645
+ tasks10: { name: 'Chosen Undead', desc: 'Complete 10 tasks' },
646
+ tasks50: { name: 'Undead Champion', desc: 'Complete 50 tasks' },
647
+ tasks100: { name: 'Lord of Cinder', desc: 'Complete 100 tasks' },
648
+ tasks500: { name: 'Dark Lord', desc: 'Complete 500 tasks' },
649
+ tasks1000: { name: 'Legend Never Dies', desc: 'Complete 1000 tasks' },
650
+ boss1: { name: 'Boss Slayer', desc: 'Fell your first boss' },
651
+ boss5: { name: 'Giant Slayer', desc: 'Fell 5 bosses' },
652
+ boss10: { name: 'Dragon Slayer', desc: 'Fell 10 bosses' },
653
+ boss25: { name: 'God Slayer', desc: 'Fell 25 bosses' },
654
+ streak3: { name: 'Ember Restored', desc: '3 day streak' },
655
+ streak7: { name: 'Kindled', desc: '7 day streak' },
656
+ streak14: { name: 'Flame Keeper', desc: '14 day streak' },
657
+ streak30: { name: 'Lord of Flame', desc: '30 day streak' },
658
+ depth3: { name: 'Catacombs Explorer', desc: 'Descend to depth 3' },
659
+ depth5: { name: 'Abyss Walker', desc: 'Descend to depth 5' },
660
+ depth10: { name: 'Void Wanderer', desc: 'Descend to depth 10' },
661
+ speedrun: { name: 'Speedrunner', desc: 'Same-day completion' },
662
+ nightOwl: { name: 'Dark Spirit', desc: 'Task after midnight' },
663
+ earlyBird: { name: 'Sun Bro', desc: 'Task before dawn' },
664
+ },
665
+ loot: {
666
+ common: ['Estus Flask Shard', 'Lifegem', 'Firebomb', 'Throwing Knife', 'Prism Stone'],
667
+ uncommon: ['Titanite Shard', 'Green Blossom', 'Homeward Bone', 'Ember', 'Undead Bone Shard'],
668
+ rare: ['Titanite Chunk', 'Coiled Sword', 'Sunlight Medal', 'Proof of Concord', 'Pale Tongue'],
669
+ epic: ['Titanite Slab', 'Soul of a Great Champion', 'Ring of Favor', 'Havel\'s Ring', 'Chloranthy Ring'],
670
+ legendary: ['Soul of Cinder', 'Firelink Greatsword', 'Wolf Knight Greatsword', 'Moonlight Greatsword', 'Dark Soul'],
671
+ },
672
+ rarities: {
673
+ common: 'Common',
674
+ uncommon: 'Rare',
675
+ rare: 'Very Rare',
676
+ epic: 'Legendary',
677
+ legendary: 'Boss Soul',
678
+ },
679
+ stats: {
680
+ level: 'Soul Level',
681
+ xp: 'Souls',
682
+ tasksCompleted: 'Tasks Completed',
683
+ bossesDefeated: 'Bosses Felled',
684
+ currentStreak: 'Ember Streak',
685
+ longestStreak: 'Longest Journey',
686
+ inventory: 'Inventory',
687
+ },
688
+ };
689
+
628
690
  // Map preset names to dictionaries
629
691
  export const DICTIONARIES: Record<string, Dictionary> = {
630
692
  default: DEFAULT_DICTIONARY,
@@ -636,6 +698,7 @@ export const DICTIONARIES: Record<string, Dictionary> = {
636
698
  western: WESTERN_DICTIONARY,
637
699
  warhammer: WARHAMMER_DICTIONARY,
638
700
  ninja: NINJA_DICTIONARY,
701
+ darksouls: DARKSOULS_DICTIONARY,
639
702
  };
640
703
 
641
704
  // Get dictionary based on rules preset
@@ -1216,7 +1216,8 @@ Gamification:
1216
1216
 
1217
1217
  Rules (AI style presets):
1218
1218
  Set via init or config -R="<rules>"
1219
- Presets: fantasy, space, starwars, cyberpunk, pirate, warhammer, ninja
1219
+ Presets: fantasy, space, starwars, cyberpunk, pirate,
1220
+ warhammer, ninja, darksouls
1220
1221
 
1221
1222
  Config:
1222
1223
  init Setup wizard
@@ -20,7 +20,7 @@ const ASCII_ART = [
20
20
  ' Tasks: done, undo, dl <date>, boss, block',
21
21
  ' Stats: stats, achievements, inventory, map',
22
22
  '',
23
- ' Rules: fantasy, space, starwars, cyberpunk',
23
+ ' Rules: fantasy, starwars, cyberpunk, darksouls...',
24
24
  ' Config: init, config -R="<rules>"',
25
25
  '',
26
26
  ' TAB autocomplete, | pbcopy to copy',