lotrd 0.1.8 → 0.1.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89298c292f789a0f1ba64cb8ffc633defea0eda7efcccd256125dccf745ca647
4
- data.tar.gz: 071e12d7b774f52edd837a5276949fe639f3f2bfcf7127be502b61d4c4a93302
3
+ metadata.gz: 418b83413abbe69853f7578db5cb89c63c9c23f718a80426ac1108a3663826f3
4
+ data.tar.gz: 0e7854148471c3652d587e167f09d069b860d7c1055343e8cb0eef244a9c5626
5
5
  SHA512:
6
- metadata.gz: c051d92ad8c8e40fc591714da0b9d6ccffd4a9f7ea7a3581e94f528c772e266fbff93c81ab6116fa9622f06682aec8a0bcba95dac7c6ba833026d31d066da2f1
7
- data.tar.gz: 77a9e484053add4379292cabb9736f9393b8b5debeaaf54747cf54be0144a197eb13194f8d205b03717b92616fc7fdc7a223499dcd75b0c4fbdfe65122d8bda8
6
+ metadata.gz: 79ebb37c78ac1346bd735fa139945b77ac39cbdad7ee507c786de05f6cd040fa557b6360eb070152ffbe1b88e23ccf40f9ee42f4023abece30da0afb9fe31206
7
+ data.tar.gz: f2a04b6eefb12f5dd44bf9e114d716945f6d5f0c84d90bea6e54e3ceb9a5068f22a0b4157fba593970568989d7ec093cc2e0a7ab9e0e3c6cd86a9b36fb5b6ee8
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lotrd (0.1.7)
4
+ lotrd (0.1.8)
5
5
  artii (~> 2.1)
6
6
  colorize (~> 0.8.1)
7
7
  terminal-table (~> 1.8)
@@ -10,10 +10,10 @@ module Lotrd
10
10
  def self.start
11
11
  system 'clear'
12
12
  titleStyle = Artii::Base.new :font => 'slant'
13
- puts titleStyle.asciify(' Legend')
14
- puts titleStyle.asciify(' Of The')
13
+ puts titleStyle.asciify(' Legend').colorize(:white)
14
+ puts titleStyle.asciify(' Of The').colorize(:white)
15
15
  puts titleStyle.asciify(' Ruby').colorize(:red)
16
- puts titleStyle.asciify(' Dragon')
16
+ puts titleStyle.asciify(' Dragon').colorize(:white)
17
17
  puts "\n"*2 + "A CLI remake of the text-based adventure game, #{"'Legend of the Green Dragon' (LotGD)".colorize(:green)}."
18
18
  sleep(5)
19
19
  ::Check.playerData
@@ -6,7 +6,7 @@ module BankController
6
6
 
7
7
 
8
8
  def withdraw(wdw)
9
- player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
9
+ player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
10
10
  gold = player.gold
11
11
  balance = player.balance
12
12
  if wdw > balance
@@ -19,12 +19,12 @@ module BankController
19
19
  end
20
20
  player.gold = gold
21
21
  player.balance = balance
22
- File.open('lib/lotrd/model/playerdata.yml', 'w') {|file| File.write('lib/lotrd/model/playerdata.yml', player.to_yaml)}
22
+ File.open(ENV['HOME'] + "/." + "playerdata.yml", 'w') {|file| File.write(ENV['HOME'] + "/." + "playerdata.yml", player.to_yaml)}
23
23
  ::Bank.withdrawConfirm(wdw, player.gold, player.balance)
24
24
  end
25
25
 
26
26
  def deposit(dep)
27
- player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
27
+ player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
28
28
  gold = player.gold
29
29
  balance = player.balance
30
30
  if dep > gold
@@ -37,7 +37,7 @@ module BankController
37
37
  end
38
38
  player.gold = gold
39
39
  player.balance = balance
40
- File.open('lib/lotrd/model/playerdata.yml', 'w') {|file| File.write('lib/lotrd/model/playerdata.yml', player.to_yaml)}
40
+ File.open(ENV['HOME'] + "/." + "playerdata.yml", 'w') {|file| File.write(ENV['HOME'] + "/." + "playerdata.yml", player.to_yaml)}
41
41
  ::Bank.depositConfirm(dep, player.gold, player.balance)
42
42
  end
43
43
  module_function :withdraw,
@@ -2,7 +2,7 @@ require_relative '../view/datacheck.rb'
2
2
 
3
3
  module Check
4
4
  def playerData
5
- if File.size?("lib/lotrd/model/playerdata.rb") == nil
5
+ if File.size?(ENV['HOME'] + "/." + "playerdata.yml") == nil
6
6
  ::DataCheck.absent
7
7
  else
8
8
  ::DataCheck.present
@@ -12,8 +12,10 @@ module CombatSim
12
12
  mob1.jobGen
13
13
  mob1.nameGen
14
14
  #Load player stats
15
- player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
15
+ player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
16
16
  @currentPlayerHP = player.hp
17
+ @currentPlayerDef = player.def
18
+ @currentPlayerRes = player.res
17
19
  @currentPlayerStr = player.str
18
20
  @currentPlayerAgi = player.agi
19
21
  @currentPlayerInt = player.int
@@ -22,6 +24,8 @@ module CombatSim
22
24
  #Load mob stats
23
25
  @mobName = mob1.name
24
26
  @currentMobHP = mob1.hp
27
+ @currentMobDef = mob1.def
28
+ @currentMobRes = mob1.res
25
29
  @currentMobStr = mob1.str
26
30
  @currentMobAgi = mob1.agi
27
31
  @currentMobInt = mob1.int
@@ -43,18 +47,18 @@ module CombatSim
43
47
 
44
48
  def mobHit
45
49
  @turn = 'mob'
46
- @currentMobDex - @currentPlayerAgi + rand(1..5) > 0 ? ::CombatSim.mobDmg : ::CombatView.mobMiss
50
+ @currentMobDex - @currentPlayerAgi + rand(1..10) > 0 ? ::CombatSim.mobDmg : ::CombatView.mobMiss
47
51
  end
48
52
 
49
53
  def mobDmg
50
54
  @mobAction = rand(1..3)
51
55
  case @mobAction
52
56
  when 1
53
- (@currentMobStr - @currentPlayerStr) > 0 ? dmg = (@currentMobStr - @currentPlayerStr) : dmg = 0
57
+ (@currentMobStr - @currentPlayerDef) > 0 ? dmg = (@currentMobStr - @currentPlayerDef) : dmg = 0
54
58
  when 2
55
- (@currentMobInt - @currentPlayerInt) > 0 ? dmg = (@currentMobInt - @currentPlayerInt): dmg = 0
59
+ (@currentMobInt - @currentPlayerRes) > 0 ? dmg = (@currentMobInt - @currentPlayerRes): dmg = 0
56
60
  when 3
57
- (@currentMobDex - @currentPlayerStr) > 0 ? dmg = (@currentMobDex - @currentPlayerStr) : dmg = 0
61
+ (@currentMobDex - @currentPlayerDef) > 0 ? dmg = (@currentMobDex - @currentPlayerDef) : dmg = 0
58
62
  end
59
63
  ::CombatSim.mobCrit(dmg)
60
64
  end
@@ -70,18 +74,18 @@ module CombatSim
70
74
 
71
75
  def playerHit(action)
72
76
  @turn = 'player'
73
- @currentPlayerDex - @currentMobAgi + rand(1..5) > 0 ? ::CombatSim.playerDmg(action) : ::CombatView.playerMiss
77
+ @currentPlayerDex - @currentMobAgi + rand(1..10) > 0 ? ::CombatSim.playerDmg(action) : ::CombatView.playerMiss
74
78
  end
75
79
 
76
80
  def playerDmg(action)
77
81
  @playerAction = action
78
82
  case @playerAction
79
83
  when 1
80
- (@currentPlayerStr - @currentMobStr) > 0 ? dmg = (@currentPlayerStr - @currentMobStr) : dmg = 0
84
+ (@currentPlayerStr - @currentMobDef) > 0 ? dmg = (@currentPlayerStr - @currentMobDef) : dmg = 0
81
85
  when 2
82
- (@currentPlayerInt - @currentMobInt) > 0 ? dmg = (@currentPlayerInt - @currentMobInt): dmg = 0
86
+ (@currentPlayerInt - @currentMobRes) > 0 ? dmg = (@currentPlayerInt - @currentMobRes): dmg = 0
83
87
  when 3
84
- (@currentPlayerDex - @currentMobStr) > 0 ? dmg = (@currentPlayerDex - @currentMobStr) : dmg = 0
88
+ (@currentPlayerDex - @currentMobDef) > 0 ? dmg = (@currentPlayerDex - @currentMobRes) : dmg = 0
85
89
  end
86
90
  ::CombatSim.playerCrit(dmg)
87
91
  end
@@ -119,19 +123,19 @@ module CombatSim
119
123
  end
120
124
 
121
125
  def reward
122
- player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
126
+ player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
123
127
  drop = rand(20..200)
124
128
  player.gold += drop
125
- File.open('lib/lotrd/model/playerdata.yml', 'w') {|file| File.write('lib/lotrd/model/playerdata.yml', player.to_yaml)}
129
+ File.open(ENV['HOME'] + "/." + "playerdata.yml", 'w') {|file| File.write(ENV['HOME'] + "/." + "playerdata.yml", player.to_yaml)}
126
130
  ::CombatView.victory(drop)
127
131
  end
128
132
 
129
133
  def loss
130
- player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
134
+ player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
131
135
  player.gold = 0
132
136
  player.armour = nil
133
137
  player.weapon = nil
134
- File.open('lib/lotrd/model/playerdata.yml', 'w') {|file| File.write('lib/lotrd/model/playerdata.yml', player.to_yaml)}
138
+ File.open(ENV['HOME'] + "/." + "playerdata.yml", 'w') {|file| File.write(ENV['HOME'] + "/." + "playerdata.yml", player.to_yaml)}
135
139
  ::CombatView.defeat
136
140
  end
137
141
 
@@ -8,13 +8,13 @@ require_relative '../view/leaderboard.rb'
8
8
  module LeaderboardController
9
9
  def menu(input)
10
10
  narcissist = input
11
- player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
11
+ player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
12
12
  achievement = player.achievements
13
13
 
14
14
  if (narcissist > 3 && achievement.include?('Narcissist') == false)
15
15
  achievement << 'Narcissist'
16
16
  player.achievements = achievement
17
- File.open('lib/lotrd/model/playerdata.yml', 'w') {|file| File.write('lib/lotrd/model/playerdata.yml', player.to_yaml)}
17
+ File.open(ENV['HOME'] + "/." + "playerdata.yml", 'w') {|file| File.write(ENV['HOME'] + "/." + "playerdata.yml", player.to_yaml)}
18
18
  Leaderboard::start
19
19
  else
20
20
  narcissist += 1
@@ -54,7 +54,7 @@ module PlayerGen
54
54
  system 'clear'
55
55
  ::NewPlayer.jobOptions
56
56
  end
57
- File.open('lib/lotrd/model/playerdata.yml', 'w') {|file| File.write('lib/lotrd/model/playerdata.yml', @player.to_yaml)}
57
+ File.open(ENV['HOME'] + "/." + "playerdata.yml", 'w') {|file| File.write(ENV['HOME'] + "/." + "playerdata.yml", @player.to_yaml)}
58
58
  end
59
59
  module_function :race,
60
60
  :job,
@@ -6,7 +6,7 @@ module Buy
6
6
  def weapon(item)
7
7
  system 'clear'
8
8
  puts "Hephy's Forge -> Weapons Menu -> Weapon Purchase" + "\n" + "=" * 40 + "\n"*2
9
- player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
9
+ player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
10
10
  weap_stats = YAML.load(File.read("lib/lotrd/model/weap_stats.yml"))
11
11
  gold = player.gold
12
12
  weapon = player.weapon
@@ -45,7 +45,7 @@ module Buy
45
45
  player.dex = dex
46
46
  player.int = int
47
47
  player.lck = lck
48
- File.open('lib/lotrd/model/playerdata.yml', 'w') {|file| File.write('lib/lotrd/model/playerdata.yml', player.to_yaml)}
48
+ File.open(ENV['HOME'] + "/." + "playerdata.yml", 'w') {|file| File.write(ENV['HOME'] + "/." + "playerdata.yml", player.to_yaml)}
49
49
  sleep(3)
50
50
  ::Store.menu
51
51
  end
@@ -53,7 +53,7 @@ module Buy
53
53
  def armour(item)
54
54
  system 'clear'
55
55
  puts "Hephy's Forge -> Armours Menu -> Armour Purchase" + "\n" + "=" * 40 + "\n"*2
56
- player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
56
+ player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
57
57
  arm_stats = YAML.load(File.read("lib/lotrd/model/arm_stats.yml"))
58
58
  gold = player.gold
59
59
  armour = player.armour
@@ -95,7 +95,7 @@ module Buy
95
95
  player.dex = dex
96
96
  player.int = int
97
97
  player.lck = lck
98
- File.open('lib/lotrd/model/playerdata.yml', 'w') {|file| File.write('lib/lotrd/model/playerdata.yml', player.to_yaml)}
98
+ File.open(ENV['HOME'] + "/." + "playerdata.yml", 'w') {|file| File.write(ENV['HOME'] + "/." + "playerdata.yml", player.to_yaml)}
99
99
  sleep(3)
100
100
  ::Store.menu
101
101
  end
@@ -1,7 +1,7 @@
1
1
  require_relative '../model/race'
2
2
 
3
3
  class Job < Race
4
- attr_accessor :hp, :str, :agi, :dex, :int, :lck
4
+ attr_accessor :hp, :def, :res, :str, :agi, :dex, :int, :lck
5
5
  def initialize
6
6
  end
7
7
 
@@ -27,21 +27,27 @@ class Job < Race
27
27
 
28
28
  def mage
29
29
  @int += 15
30
- @dex += 15
30
+ @agi += 15
31
+ @res += 20
31
32
  end
32
33
 
33
34
  def knight
34
35
  @hp += 15
35
36
  @str += 15
37
+ @def += 20
36
38
  end
37
39
 
38
40
  def rogue
39
41
  @agi += 15
40
42
  @str += 15
43
+ @def += 10
44
+ @res += 10
41
45
  end
42
46
 
43
47
  def ranger
44
48
  @dex += 15
45
49
  @lck += 15
50
+ @def += 15
51
+ @res += 5
46
52
  end
47
53
  end
@@ -2,7 +2,7 @@ require_relative '../model/job'
2
2
 
3
3
  class Player < Job
4
4
  attr_reader :name
5
- attr_accessor :gold, :balance, :weapon, :armour, :achievements, :hp, :str, :dex, :int, :lck, :agi
5
+ attr_accessor :gold, :balance, :weapon, :armour, :achievements, :hp, :def, :res, :str, :dex, :int, :lck, :agi
6
6
 
7
7
  def initialize(name)
8
8
  @name = name
@@ -11,6 +11,7 @@ class Player < Job
11
11
  @weapon = nil
12
12
  @armour = nil
13
13
  @achievements = []
14
+ @status = []
14
15
  end
15
16
 
16
17
  def elf
@@ -1,7 +1,9 @@
1
1
  class Race
2
- attr_accessor :hp, :str, :agi, :int, :dex, :lck
2
+ attr_accessor :hp, :def, :res, :str, :agi, :int, :dex, :lck
3
3
  def initialize
4
4
  @hp = 0
5
+ @def = 0
6
+ @res = 0
5
7
  @str = 0
6
8
  @agi = 0
7
9
  @int = 0
@@ -11,6 +13,8 @@ class Race
11
13
 
12
14
  def elf
13
15
  @hp = 20
16
+ @def = 10
17
+ @res = 20
14
18
  @str = 10
15
19
  @agi = 30
16
20
  @int = 10
@@ -20,6 +24,8 @@ class Race
20
24
 
21
25
  def human
22
26
  @hp = 20
27
+ @def = 15
28
+ @res = 15
23
29
  @str = 20
24
30
  @agi = 10
25
31
  @int = 20
@@ -29,6 +35,8 @@ class Race
29
35
 
30
36
  def dwarf
31
37
  @hp = 30
38
+ @def = 20
39
+ @res = 10
32
40
  @str = 25
33
41
  @agi = 15
34
42
  @int = 10
@@ -38,6 +46,8 @@ class Race
38
46
 
39
47
  def god
40
48
  @hp = 99999
49
+ @def = 999
50
+ @res = 999
41
51
  @str = 999
42
52
  @agi = 999
43
53
  @int = 999
@@ -48,6 +58,8 @@ class Race
48
58
 
49
59
  def beast
50
60
  @hp = 66666
61
+ @def = 666
62
+ @res = 666
51
63
  @str = 666
52
64
  @agi = 666
53
65
  @int = 666
@@ -1,3 +1,3 @@
1
1
  module Lotrd
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9"
3
3
  end
@@ -8,7 +8,7 @@ module Bank
8
8
  def start
9
9
  system 'clear'
10
10
  puts "Hazelwood Bank" + "\n" + "=" * 40 + "\n"*2
11
- @player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
11
+ @player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
12
12
  puts "#{@player.name.colorize(:yellow)}, welcome to Hazelwood bank!"
13
13
  sleep(3)
14
14
  menu
@@ -28,7 +28,7 @@ module Bank
28
28
 
29
29
  def balance
30
30
  system 'clear'
31
- player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
31
+ player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
32
32
  gold = player.gold
33
33
  balance = player.balance
34
34
  puts "Hazelwood Bank => Balance" + "\n" + "=" * 40 + "\n"*2
@@ -21,7 +21,7 @@ module DataCheck
21
21
  end
22
22
 
23
23
  def present
24
- player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
24
+ player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
25
25
  titleStyle = Artii::Base.new :font => 'slant'
26
26
  system 'clear'
27
27
  puts "Player data located. Welcome back," +"\n"*4 + "#{(titleStyle.asciify(player.name)).colorize(:yellow)}"
@@ -20,7 +20,7 @@ module Leaderboard
20
20
  end
21
21
 
22
22
  def loadIn
23
- @player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
23
+ @player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
24
24
  @name = @player.name
25
25
  @gold = @player.gold
26
26
  @balance = @player.balance
@@ -57,7 +57,7 @@ module Store
57
57
 
58
58
  def leave
59
59
  system 'clear'
60
- player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
60
+ player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
61
61
  puts "Hephy's Forge" + "\n" + "=" * 40 + "\n"*2
62
62
  puts "Stay alive out there, #{player.name.colorize(:yellow)}!"
63
63
  sleep(3)
@@ -12,7 +12,7 @@ require_relative '../model/events'
12
12
  module Town
13
13
  def menu
14
14
  system 'clear'
15
- player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
15
+ player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
16
16
  puts "Welcome to #{'Hazelwood'.colorize(:magenta)}, #{player.name.colorize(:yellow)}!" + "\n" + "=" * 40 + "\n"*2
17
17
  puts ::Events.town + "\n"*2
18
18
  prompt = TTY::Prompt.new
@@ -27,7 +27,7 @@ module Town
27
27
 
28
28
  def quit
29
29
  system 'clear'
30
- player = YAML.load(File.read("lib/lotrd/model/playerdata.yml"))
30
+ player = YAML.load(File.read(ENV['HOME'] + "/." + "playerdata.yml"))
31
31
  system 'clear'
32
32
  titleStyle = Artii::Base.new :font => 'slant'
33
33
  puts "Thanks for playing! See you next time," +"\n"*4 + "#{(titleStyle.asciify(player.name)).colorize(:yellow)}"
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lotrd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jackson N
@@ -139,7 +139,6 @@ files:
139
139
  - lib/lotrd/model/job.rb
140
140
  - lib/lotrd/model/mob.rb
141
141
  - lib/lotrd/model/player.rb
142
- - lib/lotrd/model/playerdata.yml
143
142
  - lib/lotrd/model/race.rb
144
143
  - lib/lotrd/model/weap_stats.yml
145
144
  - lib/lotrd/version.rb
@@ -153,6 +152,7 @@ files:
153
152
  - lib/lotrd/view/town.rb
154
153
  - lotrd-0.1.6.gem
155
154
  - lotrd-0.1.7.gem
155
+ - lotrd-0.1.8.gem
156
156
  - lotrd.gemspec
157
157
  - vendor/cache/artii-2.1.2.gem
158
158
  - vendor/cache/colorize-0.8.1.gem
File without changes