eidolon 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +15 -0
  2. data/LICENSE +19 -0
  3. data/README.md +76 -0
  4. data/lib/eidolon.rb +129 -0
  5. data/lib/eidolon/rgss.rb +2 -0
  6. data/lib/eidolon/rgss/loader.rb +24 -0
  7. data/lib/eidolon/rgss/rpg.rb +18 -0
  8. data/lib/eidolon/rgss/rpg/actor.rb +31 -0
  9. data/lib/eidolon/rgss/rpg/armor.rb +25 -0
  10. data/lib/eidolon/rgss/rpg/class.rb +17 -0
  11. data/lib/eidolon/rgss/rpg/class/learning.rb +15 -0
  12. data/lib/eidolon/rgss/rpg/enemy.rb +34 -0
  13. data/lib/eidolon/rgss/rpg/enemy/action.rb +22 -0
  14. data/lib/eidolon/rgss/rpg/item.rb +34 -0
  15. data/lib/eidolon/rgss/rpg/skill.rb +34 -0
  16. data/lib/eidolon/rgss/rpg/state.rb +37 -0
  17. data/lib/eidolon/rgss/rpg/system.rb +44 -0
  18. data/lib/eidolon/rgss/rpg/system/test_battler.rb +20 -0
  19. data/lib/eidolon/rgss/rpg/system/words.rb +33 -0
  20. data/lib/eidolon/rgss/rpg/tileset.rb +26 -0
  21. data/lib/eidolon/rgss/rpg/weapon.rb +26 -0
  22. data/lib/eidolon/rgss2.rb +2 -0
  23. data/lib/eidolon/rgss2/loader.rb +39 -0
  24. data/lib/eidolon/rgss2/rpg.rb +26 -0
  25. data/lib/eidolon/rgss2/rpg/actor.rb +31 -0
  26. data/lib/eidolon/rgss2/rpg/area.rb +15 -0
  27. data/lib/eidolon/rgss2/rpg/armor.rb +24 -0
  28. data/lib/eidolon/rgss2/rpg/base_item.rb +14 -0
  29. data/lib/eidolon/rgss2/rpg/bgm.rb +11 -0
  30. data/lib/eidolon/rgss2/rpg/bgs.rb +11 -0
  31. data/lib/eidolon/rgss2/rpg/class.rb +19 -0
  32. data/lib/eidolon/rgss2/rpg/class/learning.rb +15 -0
  33. data/lib/eidolon/rgss2/rpg/enemy.rb +31 -0
  34. data/lib/eidolon/rgss2/rpg/enemy/action.rb +20 -0
  35. data/lib/eidolon/rgss2/rpg/enemy/drop_item.rb +18 -0
  36. data/lib/eidolon/rgss2/rpg/item.rb +19 -0
  37. data/lib/eidolon/rgss2/rpg/me.rb +11 -0
  38. data/lib/eidolon/rgss2/rpg/se.rb +11 -0
  39. data/lib/eidolon/rgss2/rpg/skill.rb +15 -0
  40. data/lib/eidolon/rgss2/rpg/state.rb +33 -0
  41. data/lib/eidolon/rgss2/rpg/system.rb +33 -0
  42. data/lib/eidolon/rgss2/rpg/system/terms.rb +46 -0
  43. data/lib/eidolon/rgss2/rpg/system/test_battler.rb +20 -0
  44. data/lib/eidolon/rgss2/rpg/system/vehicle.rb +19 -0
  45. data/lib/eidolon/rgss2/rpg/troop.rb +13 -0
  46. data/lib/eidolon/rgss2/rpg/usable_item.rb +27 -0
  47. data/lib/eidolon/rgss2/rpg/weapon.rb +24 -0
  48. data/lib/eidolon/rgss3.rb +2 -0
  49. data/lib/eidolon/rgss3/loader.rb +44 -0
  50. data/lib/eidolon/rgss3/rpg.rb +31 -0
  51. data/lib/eidolon/rgss3/rpg/actor.rb +20 -0
  52. data/lib/eidolon/rgss3/rpg/armor.rb +12 -0
  53. data/lib/eidolon/rgss3/rpg/base_item.rb +18 -0
  54. data/lib/eidolon/rgss3/rpg/base_item/feature.rb +16 -0
  55. data/lib/eidolon/rgss3/rpg/bgm.rb +12 -0
  56. data/lib/eidolon/rgss3/rpg/bgs.rb +12 -0
  57. data/lib/eidolon/rgss3/rpg/class.rb +14 -0
  58. data/lib/eidolon/rgss3/rpg/class/learning.rb +16 -0
  59. data/lib/eidolon/rgss3/rpg/enemy.rb +18 -0
  60. data/lib/eidolon/rgss3/rpg/enemy/action.rb +18 -0
  61. data/lib/eidolon/rgss3/rpg/enemy/drop_item.rb +16 -0
  62. data/lib/eidolon/rgss3/rpg/equip_item.rb +14 -0
  63. data/lib/eidolon/rgss3/rpg/item.rb +14 -0
  64. data/lib/eidolon/rgss3/rpg/map/encounter.rb +16 -0
  65. data/lib/eidolon/rgss3/rpg/me.rb +11 -0
  66. data/lib/eidolon/rgss3/rpg/se.rb +11 -0
  67. data/lib/eidolon/rgss3/rpg/skill.rb +18 -0
  68. data/lib/eidolon/rgss3/rpg/state.rb +26 -0
  69. data/lib/eidolon/rgss3/rpg/system.rb +50 -0
  70. data/lib/eidolon/rgss3/rpg/system/terms.rb +17 -0
  71. data/lib/eidolon/rgss3/rpg/system/test_battler.rb +16 -0
  72. data/lib/eidolon/rgss3/rpg/system/vehicle.rb +19 -0
  73. data/lib/eidolon/rgss3/rpg/tileset.rb +15 -0
  74. data/lib/eidolon/rgss3/rpg/usable_item.rb +21 -0
  75. data/lib/eidolon/rgss3/rpg/usable_item/damage.rb +18 -0
  76. data/lib/eidolon/rgss3/rpg/usable_item/effect.rb +17 -0
  77. data/lib/eidolon/rgss3/rpg/weapon.rb +13 -0
  78. data/lib/eidolon/rgssx.rb +4 -0
  79. data/lib/eidolon/rgssx/color.rb +27 -0
  80. data/lib/eidolon/rgssx/loader.rb +27 -0
  81. data/lib/eidolon/rgssx/rpg.rb +36 -0
  82. data/lib/eidolon/rgssx/rpg/animation.rb +21 -0
  83. data/lib/eidolon/rgssx/rpg/animation/frame.rb +15 -0
  84. data/lib/eidolon/rgssx/rpg/animation/timing.rb +19 -0
  85. data/lib/eidolon/rgssx/rpg/audio_file.rb +13 -0
  86. data/lib/eidolon/rgssx/rpg/common_event.rb +14 -0
  87. data/lib/eidolon/rgssx/rpg/event.rb +14 -0
  88. data/lib/eidolon/rgssx/rpg/event/page.rb +27 -0
  89. data/lib/eidolon/rgssx/rpg/event/page/condition.rb +29 -0
  90. data/lib/eidolon/rgssx/rpg/event/page/graphic.rb +24 -0
  91. data/lib/eidolon/rgssx/rpg/event_command.rb +12 -0
  92. data/lib/eidolon/rgssx/rpg/map.rb +33 -0
  93. data/lib/eidolon/rgssx/rpg/map_info.rb +15 -0
  94. data/lib/eidolon/rgssx/rpg/move_command.rb +11 -0
  95. data/lib/eidolon/rgssx/rpg/move_route.rb +13 -0
  96. data/lib/eidolon/rgssx/rpg/troop.rb +13 -0
  97. data/lib/eidolon/rgssx/rpg/troop/member.rb +18 -0
  98. data/lib/eidolon/rgssx/rpg/troop/page.rb +16 -0
  99. data/lib/eidolon/rgssx/rpg/troop/page/condition.rb +28 -0
  100. data/lib/eidolon/rgssx/table.rb +24 -0
  101. data/lib/eidolon/rgssx/tone.rb +27 -0
  102. data/lib/eidolon/version.rb +10 -0
  103. metadata +189 -0
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NDE4MzAyZjFlOWE3ZTJlZmNjNzIxNWFlN2RjOWQ2ZWYxOTA4YTUxOA==
5
+ data.tar.gz: !binary |-
6
+ MTJjZGE1YmQ0YjNhNGJmNTY1MzdiZDM5YjNiNDI4MDQyMmI1MmE3Nw==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ MDI0YTY3MmMwYmJiOWQ2OThmZjY2MDZlN2U0NWY2N2E2NTc3NmI3NDM5NDMz
10
+ MzVlNGMxMmYyZjkzNmUwOTg5NzJiMTEyZTJkMDY1MjI1ZGY5ZmY1Yjc0ZTQw
11
+ MmQ1MGI1YzNhOWY4NjA5ZDBhNjY5ZmZlOTY5YmYxNjRjNjk2NWM=
12
+ data.tar.gz: !binary |-
13
+ ODJhNGI3NGVmMWViOWQzNzljMzcyZTMxOTYyYjYzYzExMzg1YTU3ZDIzM2I0
14
+ YWMwNDk5MmNjMmFlYTFlZTRiMTRkOTBkYTA5MDA3N2IxZjRjNWYwZmM3MWE5
15
+ NmRjZjg1NzA1MWM3YjhjNjZlYjc2NDFkYjhiYzA4MTFmZmVlODM=
data/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2014 Solistra <solistra@gmx.com> and Enelvon <enelvon@gmail.com>
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
@@ -0,0 +1,76 @@
1
+ # Eidolon
2
+ [![Build Status](https://travis-ci.org/sesvxace/eidolon.svg?branch=master)][travis]
3
+ [![Coverage Status](https://coveralls.io/repos/sesvxace/eidolon/badge.png?branch=master)][coverage]
4
+ [![Gem Version](https://badge.fury.io/rb/eidolon.svg)][gem]
5
+ [![Documentation](http://b.repl.ca/v1/yard-docs-blue.png)][yard]
6
+
7
+ 1. _noun: an idealized person or thing._
8
+ 2. _noun: a phantom._
9
+
10
+ ## Summary
11
+ In short, Eidolon provides the minimal scaffolding required to load data from the RPG Maker series into a pure, external Ruby installation independent of the chosen Ruby implementation (MRI, JRuby, or Rubinius) or the user's operating system.
12
+
13
+ **Note:** Eidolon is only concerned with the _loading_ of RGSSx data -- it is _not_ built for the purposes of external manipulation and serialization of it.
14
+
15
+ ## Usage
16
+ The simplest use case for Eidolon is when you already know which version of the RGSS data structures your application will require. If you are only operating with one (whether it be RGSS, RGSS2, or RGSS3), you simply need to require the necessary version:
17
+
18
+ ```ruby
19
+ require 'eidolon/rgss'
20
+ # -- OR --
21
+ require 'eidolon/rgss2'
22
+ # -- OR --
23
+ require 'eidolon/rgss3'
24
+ ```
25
+
26
+ Note that only one version may be required this way: attempting to require more than one version of the RGSS data structures will result in superclass mismatches. For this reason, if you potentially need to operate with more than one of the RGSS versions, you should use the core Eidolon module; essentially, the usage of this module allows you to dynamically create and destroy the needed RPG data structures whenever they are required. See the included documentation for more detailed information about the usage of the Eidolon module.
27
+
28
+ ```ruby
29
+ require 'eidolon'
30
+
31
+ def load_data(filename)
32
+ File.open(filename, 'rb') do |file|
33
+ return Marshal.load(file)
34
+ end
35
+ end
36
+
37
+ @rgss_data = []
38
+ @rgss3_data = []
39
+
40
+ Eidolon.build('RGSS')
41
+ Dir.glob('**/*.rxdata') do |rxdata|
42
+ @rgss_data.push(load_data(rxdata))
43
+ end
44
+
45
+ Eidolon.destroy!
46
+
47
+ Eidolon.build('RGSS3')
48
+ Dir.glob('**/*.rvdata2') do |rvdata2|
49
+ @rgss3_data.push(load_data(rvdata2))
50
+ end
51
+ ```
52
+
53
+ ## Installation
54
+ ```sh
55
+ $ gem install eidolon
56
+ ```
57
+
58
+ ## Contributing
59
+ If you are interested in development, simply fork [the GitHub repository][eidolon], create a new branch, commit the changes, and create a new pull request.
60
+
61
+ ```sh
62
+ $ git checkout -b new-branch
63
+ $ git commit -am 'Added some feature.'
64
+ $ git push origin new-branch
65
+ ```
66
+
67
+ Please be sure to _create a new branch_ and _provide tests_ for your work. Contributions that do not meet these requirements will **not** be accepted.
68
+
69
+ ## License
70
+ Eidolon is made available under the terms of the MIT Expat license. See the included LICENSE file for more information.
71
+
72
+ [coverage]: https://coveralls.io/r/sesvxace/eidolon?branch=master
73
+ [eidolon]: https://github.com/sesvxace/eidolon
74
+ [gem]: http://badge.fury.io/rb/eidolon
75
+ [travis]: https://travis-ci.org/sesvxace/eidolon
76
+ [yard]: http://rubydoc.info/gems/eidolon/frames
@@ -0,0 +1,129 @@
1
+ require 'eidolon/version'
2
+
3
+ # == Eidolon
4
+ # This module provides methods for building the data structures used by the RPG
5
+ # Maker series of game development programs so that the serialized data may be
6
+ # loaded into an external Ruby implementation. The methods used are platform
7
+ # and dependency agnostic.
8
+ #
9
+ # == Usage
10
+ # It is recommended that you explicitly declare which RGSS version Eidolon
11
+ # should use before building the RGSSx data structures required; this is done
12
+ # through the +Eidolon.rgss_version=+ method. This method accepts both integer
13
+ # and representative string values -- for example, passing it an argument of
14
+ # 1 or "RGSS" will both set the Eidolon RGSS version to the appropriate value.
15
+ # Recognized RGSS versions are "RGSS" (XP), "RGSS2" (VX), and "RGSS3" (VX Ace).
16
+ #
17
+ # After explicitly requesting the desired RGSS version, you will want to build
18
+ # the desired data structures with the +Eidolon.build+ method. This will create
19
+ # the data structures for the specified RGSS version for use by the currently
20
+ # running Ruby implementation. Note that the +Eidolon.build+ method will only
21
+ # build data structures *once*.
22
+ #
23
+ # You will need to use the +Eidolon.destroy!+ method if you intend to use more
24
+ # than one RGSS version in a single Ruby session. On their own, the RGSSx data
25
+ # structures are inherently incompatible with one another -- as such, the
26
+ # previous data structures must be destroyed, which is what +Eidolon.destroy!+
27
+ # does for you.
28
+ #
29
+ # == Example
30
+ # require 'eidolon'
31
+ #
32
+ # # Building the RGSS3 (VX Ace) data structures.
33
+ # Eidolon.rgss_version = 'RGSS3'
34
+ # Eidolon.rgss_version # => "rgss3"
35
+ # Eidolon.build # => true
36
+ # Eidolon.built? # => true
37
+ #
38
+ # # Destroy the previously built RGSS3 data structures.
39
+ # Eidolon.destroy!
40
+ # Eidolon.built? # => false
41
+ #
42
+ # # Now we can build the RGSS (XP) data structures as well.
43
+ # Eidolon.build(1) # => true
44
+ #
45
+ # # Obtaining an array of the built RGSSx structures.
46
+ # Eidolon.built # => ["rgss", "rgss3"]
47
+ module Eidolon
48
+ class << self
49
+ # The RGSSx version used by Eidolon. This determines which data structures
50
+ # to require in order to facilitate working with serialized RGSSx data.
51
+ attr_reader :rgss_version
52
+
53
+ # An array of the RGSS versions which have had their data structures built
54
+ # by Eidolon.
55
+ attr_reader :built
56
+ end
57
+
58
+ # Initialize the array of built RGSS versions.
59
+ @built = []
60
+
61
+ # Set the RGSS version used by Eidolon to the passed value. May be set to an
62
+ # integer or representative string value for the desired RGSS version.
63
+ #
64
+ # Examples:
65
+ # Eidolon.rgss_version = "RGSS3" # Sets the version to "rgss3".
66
+ # Eidolon.rgss_version = 1 # Sets the version to "rgss".
67
+ def self.rgss_version=(value)
68
+ return unless valid?(value)
69
+ @rgss_version = transform(value)
70
+ end
71
+
72
+ # Builds the data structures for the desired RGSS version. Returns +true+ if
73
+ # the data structures were built, +false+ otherwise. This is a safe method,
74
+ # ensuring that only the data structures from a single RGSS version will be
75
+ # built.
76
+ def self.build(version = @rgss_version)
77
+ return false if version.nil?
78
+ built? ? false : build!(version)
79
+ end
80
+
81
+ # Forces building of the data structures for the desired RGSS version.
82
+ # Returns +true+ if the data structures were built, +false+ otherwise.
83
+ def self.build!(version = @rgss_version)
84
+ return false if version.nil?
85
+ self.rgss_version = version
86
+ @built.push(@rgss_version).compact.sort!.uniq!
87
+ load 'eidolon/rgssx/loader.rb'
88
+ load "eidolon/#{@rgss_version}/loader.rb"
89
+ rescue LoadError
90
+ destroy!
91
+ false
92
+ end
93
+
94
+ # Destroys the currently built RGSS data structures. Returns +true+ if the
95
+ # data structures were destroyed, +false+ otherwise (normally, this method
96
+ # will only return +false+ if there were no data structures to destroy).
97
+ def self.destroy!
98
+ true if Object.send(:remove_const, :RPG)
99
+ rescue NameError
100
+ false
101
+ end
102
+
103
+ # Returns +true+ if data structures have been built, +false+ otherwise.
104
+ def self.built?
105
+ Object.const_defined?(:RPG)
106
+ end
107
+
108
+ class << self
109
+ private
110
+ # Transforms the given value into an applicable string used to find the
111
+ # appropriate RGSS version.
112
+ def transform(version)
113
+ if version =~ /^rgss(\d?)/i
114
+ return 'rgss' if $1.empty?
115
+ 'rgss' << $1
116
+ else
117
+ return 'rgss' if version == 1
118
+ 'rgss' << version.to_s
119
+ end
120
+ end
121
+
122
+ # Returns +true+ if a "loader.rb" file exists for the given RGSS version,
123
+ # +false+ otherwise.
124
+ def valid?(version)
125
+ fn = File.dirname(__FILE__) << "/eidolon/#{transform(version)}/loader.rb"
126
+ File.file?(fn)
127
+ end
128
+ end
129
+ end
@@ -0,0 +1,2 @@
1
+ require 'eidolon/rgssx'
2
+ require 'eidolon/rgss/rpg'
@@ -0,0 +1,24 @@
1
+ # This file loads all of the internal data structures used by RPG Maker XP.
2
+ # Essentially, requiring this file will build a generic copy of the XP data
3
+ # structures for use in a Ruby installation outside of XP itself.
4
+ #
5
+ # The XP data structures are extraordinarily simple and only require that they
6
+ # be loaded -- the actual order of loading them is unimportant (unlike the data
7
+ # structures used by VX and VX Ace, which require some specific ordering).
8
+
9
+ require 'eidolon/rgssx'
10
+
11
+ load 'eidolon/rgss/rpg/actor.rb'
12
+ load 'eidolon/rgss/rpg/armor.rb'
13
+ load 'eidolon/rgss/rpg/class.rb'
14
+ load 'eidolon/rgss/rpg/class/learning.rb'
15
+ load 'eidolon/rgss/rpg/enemy.rb'
16
+ load 'eidolon/rgss/rpg/enemy/action.rb'
17
+ load 'eidolon/rgss/rpg/item.rb'
18
+ load 'eidolon/rgss/rpg/skill.rb'
19
+ load 'eidolon/rgss/rpg/state.rb'
20
+ load 'eidolon/rgss/rpg/system.rb'
21
+ load 'eidolon/rgss/rpg/system/test_battler.rb'
22
+ load 'eidolon/rgss/rpg/system/words.rb'
23
+ load 'eidolon/rgss/rpg/tileset.rb'
24
+ load 'eidolon/rgss/rpg/weapon.rb'
@@ -0,0 +1,18 @@
1
+ # Require all of the generic RGSSx data structures.
2
+ require 'eidolon/rgssx/rpg'
3
+
4
+ # Require the XP-specific RGSS data structures.
5
+ require 'eidolon/rgss/rpg/actor'
6
+ require 'eidolon/rgss/rpg/armor'
7
+ require 'eidolon/rgss/rpg/class'
8
+ require 'eidolon/rgss/rpg/class/learning'
9
+ require 'eidolon/rgss/rpg/enemy'
10
+ require 'eidolon/rgss/rpg/enemy/action'
11
+ require 'eidolon/rgss/rpg/item'
12
+ require 'eidolon/rgss/rpg/skill'
13
+ require 'eidolon/rgss/rpg/state'
14
+ require 'eidolon/rgss/rpg/system'
15
+ require 'eidolon/rgss/rpg/system/test_battler'
16
+ require 'eidolon/rgss/rpg/system/words'
17
+ require 'eidolon/rgss/rpg/tileset'
18
+ require 'eidolon/rgss/rpg/weapon'
@@ -0,0 +1,31 @@
1
+ module RPG
2
+ # == RGSS
3
+ # This data structure is specific to RGSS (XP).
4
+ #
5
+ # == Actor
6
+ # Data class for actors.
7
+ class Actor
8
+ attr_accessor :id
9
+ attr_accessor :name
10
+ attr_accessor :class_id
11
+ attr_accessor :initial_level
12
+ attr_accessor :final_level
13
+ attr_accessor :exp_basis
14
+ attr_accessor :exp_inflation
15
+ attr_accessor :character_name
16
+ attr_accessor :character_hue
17
+ attr_accessor :battler_name
18
+ attr_accessor :battler_hue
19
+ attr_accessor :parameters
20
+ attr_accessor :weapon_id
21
+ attr_accessor :armor1_id
22
+ attr_accessor :armor2_id
23
+ attr_accessor :armor3_id
24
+ attr_accessor :armor4_id
25
+ attr_accessor :weapon_fix
26
+ attr_accessor :armor1_fix
27
+ attr_accessor :armor2_fix
28
+ attr_accessor :armor3_fix
29
+ attr_accessor :armor4_fix
30
+ end
31
+ end
@@ -0,0 +1,25 @@
1
+ module RPG
2
+ # == RGSS
3
+ # This data structure is specific to RGSS (XP).
4
+ #
5
+ # == Armor
6
+ # Data class for armor.
7
+ class Armor
8
+ attr_accessor :id
9
+ attr_accessor :name
10
+ attr_accessor :icon_name
11
+ attr_accessor :description
12
+ attr_accessor :kind
13
+ attr_accessor :auto_state_id
14
+ attr_accessor :price
15
+ attr_accessor :pdef
16
+ attr_accessor :mdef
17
+ attr_accessor :eva
18
+ attr_accessor :str_plus
19
+ attr_accessor :dex_plus
20
+ attr_accessor :agi_plus
21
+ attr_accessor :int_plus
22
+ attr_accessor :guard_element_set
23
+ attr_accessor :guard_state_set
24
+ end
25
+ end
@@ -0,0 +1,17 @@
1
+ module RPG
2
+ # == RGSS
3
+ # This data structure is specific to RGSS (XP).
4
+ #
5
+ # == Class
6
+ # Data class for classes (as used by actors).
7
+ class Class
8
+ attr_accessor :id
9
+ attr_accessor :name
10
+ attr_accessor :position
11
+ attr_accessor :weapon_set
12
+ attr_accessor :armor_set
13
+ attr_accessor :element_ranks
14
+ attr_accessor :state_ranks
15
+ attr_accessor :learnings
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ require 'eidolon/rgss/rpg/class'
2
+
3
+ module RPG
4
+ class Class
5
+ # == RGSS
6
+ # This data structure is specific to RGSS (XP).
7
+ #
8
+ # == Learning
9
+ # Data class for the learned skills of a class (as used by actors).
10
+ class Learning
11
+ attr_accessor :level
12
+ attr_accessor :skill_id
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,34 @@
1
+ module RPG
2
+ # == RGSS
3
+ # This data structure is specific to RGSS (XP).
4
+ #
5
+ # == Enemy
6
+ # Data class for enemies.
7
+ class Enemy
8
+ attr_accessor :id
9
+ attr_accessor :name
10
+ attr_accessor :battler_name
11
+ attr_accessor :battler_hue
12
+ attr_accessor :maxhp
13
+ attr_accessor :maxsp
14
+ attr_accessor :str
15
+ attr_accessor :dex
16
+ attr_accessor :agi
17
+ attr_accessor :int
18
+ attr_accessor :atk
19
+ attr_accessor :pdef
20
+ attr_accessor :mdef
21
+ attr_accessor :eva
22
+ attr_accessor :animation1_id
23
+ attr_accessor :animation2_id
24
+ attr_accessor :element_ranks
25
+ attr_accessor :state_ranks
26
+ attr_accessor :actions
27
+ attr_accessor :exp
28
+ attr_accessor :gold
29
+ attr_accessor :item_id
30
+ attr_accessor :weapon_id
31
+ attr_accessor :armor_id
32
+ attr_accessor :treasure_prob
33
+ end
34
+ end
@@ -0,0 +1,22 @@
1
+ require 'eidolon/rgss/rpg/enemy'
2
+
3
+ module RPG
4
+ class Enemy
5
+ # == RGSS
6
+ # This data structure is specific to RGSS (XP).
7
+ #
8
+ # == Action
9
+ # Data class for an enemy action in battle.
10
+ class Action
11
+ attr_accessor :kind
12
+ attr_accessor :basic
13
+ attr_accessor :skill_id
14
+ attr_accessor :condition_turn_a
15
+ attr_accessor :condition_turn_b
16
+ attr_accessor :condition_hp
17
+ attr_accessor :condition_level
18
+ attr_accessor :condition_switch_id
19
+ attr_accessor :rating
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,34 @@
1
+ module RPG
2
+ # == RGSS
3
+ # This data structure is specific to RGSS (XP).
4
+ #
5
+ # == Item
6
+ # Data class for items.
7
+ class Item
8
+ attr_accessor :id
9
+ attr_accessor :name
10
+ attr_accessor :icon_name
11
+ attr_accessor :description
12
+ attr_accessor :scope
13
+ attr_accessor :occasion
14
+ attr_accessor :animation1_id
15
+ attr_accessor :animation2_id
16
+ attr_accessor :menu_se
17
+ attr_accessor :common_event_id
18
+ attr_accessor :price
19
+ attr_accessor :consumable
20
+ attr_accessor :parameter_type
21
+ attr_accessor :parameter_points
22
+ attr_accessor :recover_hp_rate
23
+ attr_accessor :recover_hp
24
+ attr_accessor :recover_sp_rate
25
+ attr_accessor :recover_sp
26
+ attr_accessor :hit
27
+ attr_accessor :pdef_f
28
+ attr_accessor :mdef_f
29
+ attr_accessor :variance
30
+ attr_accessor :element_set
31
+ attr_accessor :plus_state_set
32
+ attr_accessor :minus_state_set
33
+ end
34
+ end