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,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