eidolon 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/LICENSE +19 -0
- data/README.md +76 -0
- data/lib/eidolon.rb +129 -0
- data/lib/eidolon/rgss.rb +2 -0
- data/lib/eidolon/rgss/loader.rb +24 -0
- data/lib/eidolon/rgss/rpg.rb +18 -0
- data/lib/eidolon/rgss/rpg/actor.rb +31 -0
- data/lib/eidolon/rgss/rpg/armor.rb +25 -0
- data/lib/eidolon/rgss/rpg/class.rb +17 -0
- data/lib/eidolon/rgss/rpg/class/learning.rb +15 -0
- data/lib/eidolon/rgss/rpg/enemy.rb +34 -0
- data/lib/eidolon/rgss/rpg/enemy/action.rb +22 -0
- data/lib/eidolon/rgss/rpg/item.rb +34 -0
- data/lib/eidolon/rgss/rpg/skill.rb +34 -0
- data/lib/eidolon/rgss/rpg/state.rb +37 -0
- data/lib/eidolon/rgss/rpg/system.rb +44 -0
- data/lib/eidolon/rgss/rpg/system/test_battler.rb +20 -0
- data/lib/eidolon/rgss/rpg/system/words.rb +33 -0
- data/lib/eidolon/rgss/rpg/tileset.rb +26 -0
- data/lib/eidolon/rgss/rpg/weapon.rb +26 -0
- data/lib/eidolon/rgss2.rb +2 -0
- data/lib/eidolon/rgss2/loader.rb +39 -0
- data/lib/eidolon/rgss2/rpg.rb +26 -0
- data/lib/eidolon/rgss2/rpg/actor.rb +31 -0
- data/lib/eidolon/rgss2/rpg/area.rb +15 -0
- data/lib/eidolon/rgss2/rpg/armor.rb +24 -0
- data/lib/eidolon/rgss2/rpg/base_item.rb +14 -0
- data/lib/eidolon/rgss2/rpg/bgm.rb +11 -0
- data/lib/eidolon/rgss2/rpg/bgs.rb +11 -0
- data/lib/eidolon/rgss2/rpg/class.rb +19 -0
- data/lib/eidolon/rgss2/rpg/class/learning.rb +15 -0
- data/lib/eidolon/rgss2/rpg/enemy.rb +31 -0
- data/lib/eidolon/rgss2/rpg/enemy/action.rb +20 -0
- data/lib/eidolon/rgss2/rpg/enemy/drop_item.rb +18 -0
- data/lib/eidolon/rgss2/rpg/item.rb +19 -0
- data/lib/eidolon/rgss2/rpg/me.rb +11 -0
- data/lib/eidolon/rgss2/rpg/se.rb +11 -0
- data/lib/eidolon/rgss2/rpg/skill.rb +15 -0
- data/lib/eidolon/rgss2/rpg/state.rb +33 -0
- data/lib/eidolon/rgss2/rpg/system.rb +33 -0
- data/lib/eidolon/rgss2/rpg/system/terms.rb +46 -0
- data/lib/eidolon/rgss2/rpg/system/test_battler.rb +20 -0
- data/lib/eidolon/rgss2/rpg/system/vehicle.rb +19 -0
- data/lib/eidolon/rgss2/rpg/troop.rb +13 -0
- data/lib/eidolon/rgss2/rpg/usable_item.rb +27 -0
- data/lib/eidolon/rgss2/rpg/weapon.rb +24 -0
- data/lib/eidolon/rgss3.rb +2 -0
- data/lib/eidolon/rgss3/loader.rb +44 -0
- data/lib/eidolon/rgss3/rpg.rb +31 -0
- data/lib/eidolon/rgss3/rpg/actor.rb +20 -0
- data/lib/eidolon/rgss3/rpg/armor.rb +12 -0
- data/lib/eidolon/rgss3/rpg/base_item.rb +18 -0
- data/lib/eidolon/rgss3/rpg/base_item/feature.rb +16 -0
- data/lib/eidolon/rgss3/rpg/bgm.rb +12 -0
- data/lib/eidolon/rgss3/rpg/bgs.rb +12 -0
- data/lib/eidolon/rgss3/rpg/class.rb +14 -0
- data/lib/eidolon/rgss3/rpg/class/learning.rb +16 -0
- data/lib/eidolon/rgss3/rpg/enemy.rb +18 -0
- data/lib/eidolon/rgss3/rpg/enemy/action.rb +18 -0
- data/lib/eidolon/rgss3/rpg/enemy/drop_item.rb +16 -0
- data/lib/eidolon/rgss3/rpg/equip_item.rb +14 -0
- data/lib/eidolon/rgss3/rpg/item.rb +14 -0
- data/lib/eidolon/rgss3/rpg/map/encounter.rb +16 -0
- data/lib/eidolon/rgss3/rpg/me.rb +11 -0
- data/lib/eidolon/rgss3/rpg/se.rb +11 -0
- data/lib/eidolon/rgss3/rpg/skill.rb +18 -0
- data/lib/eidolon/rgss3/rpg/state.rb +26 -0
- data/lib/eidolon/rgss3/rpg/system.rb +50 -0
- data/lib/eidolon/rgss3/rpg/system/terms.rb +17 -0
- data/lib/eidolon/rgss3/rpg/system/test_battler.rb +16 -0
- data/lib/eidolon/rgss3/rpg/system/vehicle.rb +19 -0
- data/lib/eidolon/rgss3/rpg/tileset.rb +15 -0
- data/lib/eidolon/rgss3/rpg/usable_item.rb +21 -0
- data/lib/eidolon/rgss3/rpg/usable_item/damage.rb +18 -0
- data/lib/eidolon/rgss3/rpg/usable_item/effect.rb +17 -0
- data/lib/eidolon/rgss3/rpg/weapon.rb +13 -0
- data/lib/eidolon/rgssx.rb +4 -0
- data/lib/eidolon/rgssx/color.rb +27 -0
- data/lib/eidolon/rgssx/loader.rb +27 -0
- data/lib/eidolon/rgssx/rpg.rb +36 -0
- data/lib/eidolon/rgssx/rpg/animation.rb +21 -0
- data/lib/eidolon/rgssx/rpg/animation/frame.rb +15 -0
- data/lib/eidolon/rgssx/rpg/animation/timing.rb +19 -0
- data/lib/eidolon/rgssx/rpg/audio_file.rb +13 -0
- data/lib/eidolon/rgssx/rpg/common_event.rb +14 -0
- data/lib/eidolon/rgssx/rpg/event.rb +14 -0
- data/lib/eidolon/rgssx/rpg/event/page.rb +27 -0
- data/lib/eidolon/rgssx/rpg/event/page/condition.rb +29 -0
- data/lib/eidolon/rgssx/rpg/event/page/graphic.rb +24 -0
- data/lib/eidolon/rgssx/rpg/event_command.rb +12 -0
- data/lib/eidolon/rgssx/rpg/map.rb +33 -0
- data/lib/eidolon/rgssx/rpg/map_info.rb +15 -0
- data/lib/eidolon/rgssx/rpg/move_command.rb +11 -0
- data/lib/eidolon/rgssx/rpg/move_route.rb +13 -0
- data/lib/eidolon/rgssx/rpg/troop.rb +13 -0
- data/lib/eidolon/rgssx/rpg/troop/member.rb +18 -0
- data/lib/eidolon/rgssx/rpg/troop/page.rb +16 -0
- data/lib/eidolon/rgssx/rpg/troop/page/condition.rb +28 -0
- data/lib/eidolon/rgssx/table.rb +24 -0
- data/lib/eidolon/rgssx/tone.rb +27 -0
- data/lib/eidolon/version.rb +10 -0
- metadata +189 -0
checksums.yaml
ADDED
@@ -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.
|
data/README.md
ADDED
@@ -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
|
data/lib/eidolon.rb
ADDED
@@ -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
|
data/lib/eidolon/rgss.rb
ADDED
@@ -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
|