eidolon 0.1.3

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.
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,18 @@
1
+ require 'eidolon/rgss3/rpg/usable_item'
2
+
3
+ module RPG
4
+ class UsableItem < BaseItem
5
+ # == RGSS3
6
+ # This data structure is specific to RGSS3 (VX Ace).
7
+ #
8
+ # == Damage
9
+ # The data class for damage.
10
+ class Damage
11
+ attr_accessor :type
12
+ attr_accessor :element_id
13
+ attr_accessor :formula
14
+ attr_accessor :variance
15
+ attr_accessor :critical
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ require 'eidolon/rgss3/rpg/usable_item'
2
+
3
+ module RPG
4
+ class UsableItem < BaseItem
5
+ # == RGSS3
6
+ # This data structure is specific to RGSS3 (VX Ace).
7
+ #
8
+ # == Effect
9
+ # The data class for use effects.
10
+ class Effect
11
+ attr_accessor :code
12
+ attr_accessor :data_id
13
+ attr_accessor :value1
14
+ attr_accessor :value2
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ require 'eidolon/rgss3/rpg/equip_item'
2
+
3
+ module RPG
4
+ # == RGSS3
5
+ # This data structure is specific to RGSS3 (VX Ace).
6
+ #
7
+ # == Weapon
8
+ # The data class for weapons.
9
+ class Weapon < EquipItem
10
+ attr_accessor :wtype_id
11
+ attr_accessor :animation_id
12
+ end
13
+ end
@@ -0,0 +1,4 @@
1
+ require 'eidolon/rgssx/color'
2
+ require 'eidolon/rgssx/rpg'
3
+ require 'eidolon/rgssx/table'
4
+ require 'eidolon/rgssx/tone'
@@ -0,0 +1,27 @@
1
+ # == RGSSx
2
+ # This class is present and consistent across all RGSS versions.
3
+ #
4
+ # == Color
5
+ # The RGBA color class. Each component is handled with a floating-point value
6
+ # (Float).
7
+ class Color
8
+ # The red value (0-255).
9
+ attr_accessor :red
10
+
11
+ # The green value (0-255).
12
+ attr_accessor :green
13
+
14
+ # The blue value (0-255).
15
+ attr_accessor :blue
16
+
17
+ # The alpha value (0-255).
18
+ attr_accessor :alpha
19
+
20
+ private
21
+ def self._load(array)
22
+ self.new.instance_eval do
23
+ @red, @green, @blue, @alpha = array.unpack('d4')
24
+ self
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # This file loads all of the generic internal data structures used by all of
2
+ # the entries in the RPG Maker series (XP, VX, and VX Ace).
3
+ #
4
+ # These structures are generic enough that they can be loaded in any order and
5
+ # remain fully functional (unlike the specific data structures for VX and Ace,
6
+ # which require some ordering).
7
+
8
+ require 'eidolon/rgssx'
9
+
10
+ load 'eidolon/rgssx/rpg/animation.rb'
11
+ load 'eidolon/rgssx/rpg/animation/frame.rb'
12
+ load 'eidolon/rgssx/rpg/animation/timing.rb'
13
+ load 'eidolon/rgssx/rpg/audio_file.rb'
14
+ load 'eidolon/rgssx/rpg/common_event.rb'
15
+ load 'eidolon/rgssx/rpg/event.rb'
16
+ load 'eidolon/rgssx/rpg/event/page.rb'
17
+ load 'eidolon/rgssx/rpg/event/page/condition.rb'
18
+ load 'eidolon/rgssx/rpg/event/page/graphic.rb'
19
+ load 'eidolon/rgssx/rpg/event_command.rb'
20
+ load 'eidolon/rgssx/rpg/map.rb'
21
+ load 'eidolon/rgssx/rpg/map_info.rb'
22
+ load 'eidolon/rgssx/rpg/move_command.rb'
23
+ load 'eidolon/rgssx/rpg/move_route.rb'
24
+ load 'eidolon/rgssx/rpg/troop.rb'
25
+ load 'eidolon/rgssx/rpg/troop/member.rb'
26
+ load 'eidolon/rgssx/rpg/troop/page.rb'
27
+ load 'eidolon/rgssx/rpg/troop/page/condition.rb'
@@ -0,0 +1,36 @@
1
+ require 'eidolon/rgssx/rpg/animation'
2
+ require 'eidolon/rgssx/rpg/animation/frame'
3
+ require 'eidolon/rgssx/rpg/animation/timing'
4
+ require 'eidolon/rgssx/rpg/audio_file'
5
+ require 'eidolon/rgssx/rpg/common_event'
6
+ require 'eidolon/rgssx/rpg/event'
7
+ require 'eidolon/rgssx/rpg/event/page'
8
+ require 'eidolon/rgssx/rpg/event/page/condition'
9
+ require 'eidolon/rgssx/rpg/event/page/graphic'
10
+ require 'eidolon/rgssx/rpg/event_command'
11
+ require 'eidolon/rgssx/rpg/map'
12
+ require 'eidolon/rgssx/rpg/map_info'
13
+ require 'eidolon/rgssx/rpg/move_command'
14
+ require 'eidolon/rgssx/rpg/move_route'
15
+ require 'eidolon/rgssx/rpg/troop'
16
+ require 'eidolon/rgssx/rpg/troop/member'
17
+ require 'eidolon/rgssx/rpg/troop/page'
18
+ require 'eidolon/rgssx/rpg/troop/page/condition'
19
+
20
+ # == RPG
21
+ # This module serves as the top-level namespace for all of the generic data
22
+ # structures used by all versions of RGSS utilized by the RPG Maker series.
23
+ # The structures within this module serve entirely as containers for modifiable
24
+ # (but static) game data such as the player characters, skills, equipment, and
25
+ # so on.
26
+ #
27
+ # All of the data contained within these structures is essentially data which
28
+ # is modified directly by end-users within the RPG Maker's graphical user
29
+ # interface. This data is then taken by the core RGSS scripts available to each
30
+ # entry in the Maker series and, in most cases, used to create instances which
31
+ # reference the information within the applicable data structure.
32
+ #
33
+ # Essentially, these structures serve as a simple wrapper around the Ruby core
34
+ # of the RPG Maker series and its C++ user interface.
35
+ module RPG
36
+ end
@@ -0,0 +1,21 @@
1
+ module RPG
2
+ # == RGSSx
3
+ # This class is present and relatively consistent across all RGSS versions.
4
+ #
5
+ # == Animation
6
+ # The data class for animations.
7
+ class Animation
8
+ attr_accessor :animation_name
9
+ attr_accessor :animation_hue
10
+ attr_accessor :animation1_hue
11
+ attr_accessor :animation1_name
12
+ attr_accessor :animation2_hue
13
+ attr_accessor :animation2_name
14
+ attr_accessor :frame_max
15
+ attr_accessor :frames
16
+ attr_accessor :id
17
+ attr_accessor :name
18
+ attr_accessor :position
19
+ attr_accessor :timings
20
+ end
21
+ end
@@ -0,0 +1,15 @@
1
+ require 'eidolon/rgssx/rpg/animation'
2
+
3
+ module RPG
4
+ class Animation
5
+ # == RGSSx
6
+ # This class is present and consistent across all RGSS versions.
7
+ #
8
+ # == Frame
9
+ # The data class for animation frames.
10
+ class Frame
11
+ attr_accessor :cell_data
12
+ attr_accessor :cell_max
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,19 @@
1
+ require 'eidolon/rgssx/rpg/animation'
2
+
3
+ module RPG
4
+ class Animation
5
+ # == RGSSx
6
+ # This class is present and relatively consistent across all RGSS versions.
7
+ #
8
+ # == Timing
9
+ # The data class for the timing of an animation's SE and flash effects.
10
+ class Timing
11
+ attr_accessor :condition
12
+ attr_accessor :flash_color
13
+ attr_accessor :flash_duration
14
+ attr_accessor :flash_scope
15
+ attr_accessor :frame
16
+ attr_accessor :se
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ module RPG
2
+ # == RGSSx
3
+ # This class is present and consistent across all RGSS versions.
4
+ #
5
+ # == AudioFile
6
+ # Represents all audio files in RGSS; in RGSS2 and RGSS3, this provides the
7
+ # superclass for all audio types (BGM, BGS, ME, and SE).
8
+ class AudioFile
9
+ attr_accessor :name
10
+ attr_accessor :volume
11
+ attr_accessor :pitch
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ module RPG
2
+ # == RGSSx
3
+ # This class is present and consistent across all RGSS versions.
4
+ #
5
+ # == CommonEvent
6
+ # The data class for common events.
7
+ class CommonEvent
8
+ attr_accessor :id
9
+ attr_accessor :name
10
+ attr_accessor :trigger
11
+ attr_accessor :switch_id
12
+ attr_accessor :list
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module RPG
2
+ # == RGSSx
3
+ # This class is present and consistent across all RGSS versions.
4
+ #
5
+ # == Event
6
+ # The data class for map events.
7
+ class Event
8
+ attr_accessor :id
9
+ attr_accessor :name
10
+ attr_accessor :x
11
+ attr_accessor :y
12
+ attr_accessor :pages
13
+ end
14
+ end
@@ -0,0 +1,27 @@
1
+ require 'eidolon/rgssx/rpg/event'
2
+
3
+ module RPG
4
+ class Event
5
+ # == RGSSx
6
+ # This class is present and relatively consistent across all RGSS versions.
7
+ #
8
+ # == Page
9
+ # The data class for an event page.
10
+ class Page
11
+ attr_accessor :always_on_top
12
+ attr_accessor :condition
13
+ attr_accessor :direction_fix
14
+ attr_accessor :graphic
15
+ attr_accessor :list
16
+ attr_accessor :move_frequency
17
+ attr_accessor :move_route
18
+ attr_accessor :move_speed
19
+ attr_accessor :move_type
20
+ attr_accessor :priority_type
21
+ attr_accessor :step_anime
22
+ attr_accessor :through
23
+ attr_accessor :trigger
24
+ attr_accessor :walk_anime
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,29 @@
1
+ require 'eidolon/rgssx/rpg/event/page'
2
+
3
+ module RPG
4
+ class Event
5
+ class Page
6
+ # == RGSSx
7
+ # This class is present and relatively consistent across all RGSS
8
+ # versions.
9
+ #
10
+ # == Condition
11
+ # The data class for event page conditions.
12
+ class Condition
13
+ attr_accessor :actor_id
14
+ attr_accessor :actor_valid
15
+ attr_accessor :item_id
16
+ attr_accessor :item_valid
17
+ attr_accessor :self_switch_ch
18
+ attr_accessor :self_switch_valid
19
+ attr_accessor :switch1_id
20
+ attr_accessor :switch1_valid
21
+ attr_accessor :switch2_id
22
+ attr_accessor :switch2_valid
23
+ attr_accessor :variable_id
24
+ attr_accessor :variable_valid
25
+ attr_accessor :variable_value
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,24 @@
1
+ require 'eidolon/rgssx/rpg/event/page'
2
+
3
+ module RPG
4
+ class Event
5
+ class Page
6
+ # == RGSSx
7
+ # This class is present and relatively consistent across all RGSS
8
+ # versions.
9
+ #
10
+ # == Graphic
11
+ # The data class for an event page's graphic.
12
+ class Graphic
13
+ attr_accessor :blend_type
14
+ attr_accessor :character_hue
15
+ attr_accessor :character_index
16
+ attr_accessor :character_name
17
+ attr_accessor :direction
18
+ attr_accessor :opacity
19
+ attr_accessor :pattern
20
+ attr_accessor :tile_id
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,12 @@
1
+ module RPG
2
+ # == RGSSx
3
+ # This class is present and consistent across all RGSS versions.
4
+ #
5
+ # == EventCommand
6
+ # The base data class for all event commands run through +Game_Interpreter+.
7
+ class EventCommand
8
+ attr_accessor :code
9
+ attr_accessor :indent
10
+ attr_accessor :parameters
11
+ end
12
+ end
@@ -0,0 +1,33 @@
1
+ module RPG
2
+ # == RGSSx
3
+ # This class is present and relatively consistent across all RGSS versions.
4
+ #
5
+ # == Map
6
+ # The data class for maps.
7
+ class Map
8
+ attr_accessor :autoplay_bgm
9
+ attr_accessor :autoplay_bgs
10
+ attr_accessor :battleback1_name
11
+ attr_accessor :battleback2_name
12
+ attr_accessor :bgm
13
+ attr_accessor :bgs
14
+ attr_accessor :data
15
+ attr_accessor :disable_dashing
16
+ attr_accessor :display_name
17
+ attr_accessor :encounter_list
18
+ attr_accessor :encounter_step
19
+ attr_accessor :events
20
+ attr_accessor :height
21
+ attr_accessor :note
22
+ attr_accessor :parallax_loop_x
23
+ attr_accessor :parallax_loop_y
24
+ attr_accessor :parallax_name
25
+ attr_accessor :parallax_show
26
+ attr_accessor :parallax_sx
27
+ attr_accessor :parallax_sy
28
+ attr_accessor :scroll_type
29
+ attr_accessor :specify_battleback
30
+ attr_accessor :tileset_id
31
+ attr_accessor :width
32
+ end
33
+ end
@@ -0,0 +1,15 @@
1
+ module RPG
2
+ # == RGSSx
3
+ # This class is present and relatively consistent across all RGSS versions.
4
+ #
5
+ # == MapInfo
6
+ # The data class for map information.
7
+ class MapInfo
8
+ attr_accessor :name
9
+ attr_accessor :parent_id
10
+ attr_accessor :order
11
+ attr_accessor :expanded
12
+ attr_accessor :scroll_x
13
+ attr_accessor :scroll_y
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ module RPG
2
+ # == RGSSx
3
+ # This class is present and consistent across all RGSS versions.
4
+ #
5
+ # == MoveCommand
6
+ # The data class for move commands (as used in a MoveRoute).
7
+ class MoveCommand
8
+ attr_accessor :code
9
+ attr_accessor :parameters
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ module RPG
2
+ # == RGSSx
3
+ # This class is present and relatively consistent across all RGSS versions.
4
+ #
5
+ # == MoveRoute
6
+ # The data class for a move route.
7
+ class MoveRoute
8
+ attr_accessor :repeat
9
+ attr_accessor :skippable
10
+ attr_accessor :wait
11
+ attr_accessor :list
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module RPG
2
+ # == RGSSx
3
+ # This class is present and consistent across all RGSS versions.
4
+ #
5
+ # == Troop
6
+ # The data class for enemy troops (collections of enemies).
7
+ class Troop
8
+ attr_accessor :id
9
+ attr_accessor :name
10
+ attr_accessor :members
11
+ attr_accessor :pages
12
+ end
13
+ end