rgss_db 1.0.0
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 +7 -0
- data/CHANGELOG.md +5 -0
- data/COPYING.md +674 -0
- data/README.md +347 -0
- data/bin/rgss-db +4 -0
- data/bin/rgssdb +4 -0
- data/lib/rgss_db/app.rb +928 -0
- data/lib/rgss_db/controller/data_manager.rb +557 -0
- data/lib/rgss_db/model/data_file.rb +516 -0
- data/lib/rgss_db/model/data_file_factory.rb +94 -0
- data/lib/rgss_db/model/debug.rb +199 -0
- data/lib/rgss_db/model/errors.rb +17 -0
- data/lib/rgss_db/model/mixins/jsonable.rb +35 -0
- data/lib/rgss_db/model/mixins/jsonable_constructor.rb +40 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rgss/color.rb +72 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rgss/rect.rb +70 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rgss/table.rb +99 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rgss/tone.rb +72 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rgss.rb +11 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/actor.rb +44 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/animation.rb +31 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/animation_frame.rb +20 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/animation_timing.rb +23 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/area.rb +26 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/armor.rb +31 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/audio_file.rb +23 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/base_item.rb +25 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/bgm.rb +36 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/bgs.rb +36 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/class.rb +31 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/class_learning.rb +20 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/common_event.rb +25 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/enemy.rb +44 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/enemy_action.rb +29 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/enemy_drop_item.rb +23 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/event.rb +36 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/event_command.rb +19 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/event_page.rb +32 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/event_page_condition.rb +34 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/event_page_graphic.rb +25 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/item.rb +27 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/map.rb +47 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/map_info.rb +26 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/me.rb +27 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/move_command.rb +18 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/move_route.rb +20 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/se.rb +21 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/skill.rb +22 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/state.rb +47 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/system.rb +43 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/system_terms.rb +53 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/system_test_battler.rb +25 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/system_vehicle.rb +24 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/troop.rb +24 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/troop_member.rb +23 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/troop_page.rb +21 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/troop_page_condition.rb +33 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/usable_item.rb +87 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg/weapon.rb +31 -0
- data/lib/rgss_db/model/rpg_maker_data/vx/rpg.rb +59 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rgss/color.rb +72 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rgss/rect.rb +70 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rgss/table.rb +99 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rgss/tone.rb +72 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rgss.rb +11 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/actor.rb +27 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/animation.rb +31 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/animation_frame.rb +23 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/animation_timing.rb +26 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/armor.rb +20 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/audio_file.rb +23 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/base_item.rb +31 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/base_item_feature.rb +29 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/bgm.rb +43 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/bgs.rb +43 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/class.rb +37 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/class_learning.rb +24 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/common_event.rb +33 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/enemy.rb +27 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/enemy_action.rb +26 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/enemy_drop_item.rb +24 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/equip_item.rb +19 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/event.rb +36 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/event_command.rb +19 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/event_page.rb +35 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/event_page_condition.rb +40 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/event_page_graphic.rb +31 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/item.rb +25 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/map.rb +58 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/map_encounter.rb +23 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/map_info.rb +26 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/me.rb +27 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/move_command.rb +17 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/move_route.rb +19 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/se.rb +21 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/skill.rb +25 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/state.rb +34 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/system.rb +62 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/system_terms.rb +25 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/system_test_battler.rb +24 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/system_vehicle.rb +27 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/tileset.rb +26 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/troop.rb +24 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/troop_member.rb +25 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/troop_page.rb +24 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/troop_page_condition.rb +39 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/usable_item.rb +84 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/usable_item_damage.rb +56 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/usable_item_effect.rb +25 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg/weapon.rb +25 -0
- data/lib/rgss_db/model/rpg_maker_data/vx_ace/rpg.rb +66 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rgss/color.rb +72 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rgss/rect.rb +70 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rgss/table.rb +99 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rgss/tone.rb +72 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rgss.rb +11 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/actor.rb +44 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/animation.rb +28 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/animation_frame.rb +20 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/animation_timing.rb +24 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/armor.rb +37 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/audio_file.rb +23 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/class.rb +28 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/class_learning.rb +20 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/common_event.rb +25 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/enemy.rb +47 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/enemy_action.rb +28 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/event.rb +36 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/event_command.rb +19 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/event_page.rb +32 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/event_page_condition.rb +30 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/event_page_graphic.rb +27 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/item.rb +48 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/map.rb +39 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/map_info.rb +26 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/move_command.rb +18 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/move_route.rb +19 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/skill.rb +47 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/state.rb +51 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/system.rb +56 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/system_test_battler.rb +25 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/system_words.rb +39 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/tileset.rb +39 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/troop.rb +24 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/troop_member.rb +23 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/troop_page.rb +21 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/troop_page_condition.rb +32 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg/weapon.rb +38 -0
- data/lib/rgss_db/model/rpg_maker_data/xp/rpg.rb +52 -0
- data/lib/rgss_db/model/strings.rb +607 -0
- data/lib/rgss_db/model/utilities.rb +90 -0
- data/lib/rgss_db/version.rb +7 -0
- data/lib/rgss_db/view/app_cli.rb +449 -0
- data/lib/rgss_db.rb +41 -0
- data/sig/rgss_db.rbs +5221 -0
- metadata +496 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RPG
|
|
4
|
+
#
|
|
5
|
+
# The data class for enemy troops.
|
|
6
|
+
#
|
|
7
|
+
class Troop
|
|
8
|
+
#
|
|
9
|
+
# The data class for battle events (pages).
|
|
10
|
+
#
|
|
11
|
+
class Page
|
|
12
|
+
#
|
|
13
|
+
# The data class of battle event [Conditions].
|
|
14
|
+
#
|
|
15
|
+
class Condition
|
|
16
|
+
include RgssDb::Jsonable
|
|
17
|
+
extend RgssDb::JsonableConstructor
|
|
18
|
+
|
|
19
|
+
def initialize
|
|
20
|
+
@turn_ending = false
|
|
21
|
+
@turn_valid = false
|
|
22
|
+
@enemy_valid = false
|
|
23
|
+
@actor_valid = false
|
|
24
|
+
@switch_valid = false
|
|
25
|
+
@turn_a = 0
|
|
26
|
+
@turn_b = 0
|
|
27
|
+
@enemy_index = 0
|
|
28
|
+
@enemy_hp = 50
|
|
29
|
+
@actor_id = 1
|
|
30
|
+
@actor_hp = 50
|
|
31
|
+
@switch_id = 1
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
attr_accessor :turn_ending, :turn_valid, :enemy_valid, :actor_valid, :switch_valid,
|
|
35
|
+
:turn_a, :turn_b, :enemy_index, :enemy_hp, :actor_id, :actor_hp, :switch_id
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RPG
|
|
4
|
+
#
|
|
5
|
+
# The Superclass of Skill and Item.
|
|
6
|
+
#
|
|
7
|
+
class UsableItem < BaseItem
|
|
8
|
+
include RgssDb::Jsonable
|
|
9
|
+
extend RgssDb::JsonableConstructor
|
|
10
|
+
|
|
11
|
+
def initialize
|
|
12
|
+
super
|
|
13
|
+
@scope = 0
|
|
14
|
+
@occasion = 0
|
|
15
|
+
@speed = 0
|
|
16
|
+
@success_rate = 100
|
|
17
|
+
@repeats = 1
|
|
18
|
+
@tp_gain = 0
|
|
19
|
+
@hit_type = 0
|
|
20
|
+
@animation_id = 0
|
|
21
|
+
@damage = RPG::UsableItem::Damage.new
|
|
22
|
+
@effects = []
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def for_opponent?
|
|
26
|
+
[1, 2, 3, 4, 5, 6].include?(@scope)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def for_friend?
|
|
30
|
+
[7, 8, 9, 10, 11].include?(@scope)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def for_dead_friend?
|
|
34
|
+
[9, 10].include?(@scope)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def for_user?
|
|
38
|
+
@scope == 11
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def for_one?
|
|
42
|
+
[1, 3, 7, 9, 11].include?(@scope)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def for_random?
|
|
46
|
+
[3, 4, 5, 6].include?(@scope)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def number_of_targets
|
|
50
|
+
for_random? ? @scope - 2 : 0
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def for_all?
|
|
54
|
+
[2, 8, 10].include?(@scope)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def need_selection?
|
|
58
|
+
[1, 7, 9].include?(@scope)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def battle_ok?
|
|
62
|
+
[0, 1].include?(@occasion)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def menu_ok?
|
|
66
|
+
[0, 2].include?(@occasion)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def certain?
|
|
70
|
+
@hit_type == 0
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def physical?
|
|
74
|
+
@hit_type == 1
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def magical?
|
|
78
|
+
@hit_type == 2
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
attr_accessor :scope, :occasion, :speed, :animation_id, :success_rate,
|
|
82
|
+
:repeats, :tp_gain, :hit_type, :damage, :effects
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RPG
|
|
4
|
+
#
|
|
5
|
+
# The Superclass of Skill and Item.
|
|
6
|
+
#
|
|
7
|
+
class UsableItem < BaseItem
|
|
8
|
+
#
|
|
9
|
+
# The data inner class for damage.
|
|
10
|
+
#
|
|
11
|
+
class Damage
|
|
12
|
+
include RgssDb::Jsonable
|
|
13
|
+
extend RgssDb::JsonableConstructor
|
|
14
|
+
|
|
15
|
+
def initialize
|
|
16
|
+
@type = 0
|
|
17
|
+
@element_id = 0
|
|
18
|
+
@formula = "0"
|
|
19
|
+
@variance = 20
|
|
20
|
+
@critical = false
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def none?
|
|
24
|
+
@type == 0
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def to_hp?
|
|
28
|
+
[1, 3, 5].include?(@type)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def to_mp?
|
|
32
|
+
[2, 4, 6].include?(@type)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def recover?
|
|
36
|
+
[3, 4].include?(@type)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def drain?
|
|
40
|
+
[5, 6].include?(@type)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def sign
|
|
44
|
+
recover? ? -1 : 1
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def eval(a, b, v)
|
|
48
|
+
[Kernel.eval(@formula), 0].max * sign
|
|
49
|
+
rescue StandardError
|
|
50
|
+
0
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
attr_accessor :type, :element_id, :formula, :variance, :critical
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RPG
|
|
4
|
+
#
|
|
5
|
+
# The Superclass of Skill and Item.
|
|
6
|
+
#
|
|
7
|
+
class UsableItem < BaseItem
|
|
8
|
+
#
|
|
9
|
+
# The data inner class for use effects.
|
|
10
|
+
#
|
|
11
|
+
class Effect
|
|
12
|
+
include RgssDb::Jsonable
|
|
13
|
+
extend RgssDb::JsonableConstructor
|
|
14
|
+
|
|
15
|
+
def initialize(code = 0, data_id = 0, value1 = 0, value2 = 0)
|
|
16
|
+
@code = code
|
|
17
|
+
@data_id = data_id
|
|
18
|
+
@value1 = value1
|
|
19
|
+
@value2 = value2
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
attr_accessor :code, :data_id, :value1, :value2
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RPG
|
|
4
|
+
#
|
|
5
|
+
# The data class for weapons.
|
|
6
|
+
#
|
|
7
|
+
class Weapon < EquipItem
|
|
8
|
+
include RgssDb::Jsonable
|
|
9
|
+
extend RgssDb::JsonableConstructor
|
|
10
|
+
|
|
11
|
+
def initialize
|
|
12
|
+
super
|
|
13
|
+
@wtype_id = 0
|
|
14
|
+
@animation_id = 0
|
|
15
|
+
@features.push(RPG::BaseItem::Feature.new(31, 1, 0))
|
|
16
|
+
@features.push(RPG::BaseItem::Feature.new(22, 0, 0))
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def performance
|
|
20
|
+
params[2] + params[4] + params.inject(0) { |r, v| r += v }
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
attr_accessor :wtype_id, :animation_id
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Application mixins
|
|
4
|
+
require_relative "../../mixins/jsonable"
|
|
5
|
+
require_relative "../../mixins/jsonable_constructor"
|
|
6
|
+
|
|
7
|
+
# RPGVXAce Data Structures (RPGVXAce.chm::/rgss/g_rpg_data.html)
|
|
8
|
+
require_relative "./rpg/map"
|
|
9
|
+
require_relative "./rpg/map_encounter"
|
|
10
|
+
require_relative "./rpg/map_info"
|
|
11
|
+
|
|
12
|
+
require_relative "./rpg/event"
|
|
13
|
+
require_relative "./rpg/event_page"
|
|
14
|
+
require_relative "./rpg/event_page_condition"
|
|
15
|
+
require_relative "./rpg/event_page_graphic"
|
|
16
|
+
|
|
17
|
+
require_relative "./rpg/event_command"
|
|
18
|
+
|
|
19
|
+
require_relative "./rpg/move_route"
|
|
20
|
+
require_relative "./rpg/move_command"
|
|
21
|
+
|
|
22
|
+
require_relative "./rpg/base_item"
|
|
23
|
+
require_relative "./rpg/actor"
|
|
24
|
+
require_relative "./rpg/class"
|
|
25
|
+
require_relative "./rpg/usable_item"
|
|
26
|
+
require_relative "./rpg/skill"
|
|
27
|
+
require_relative "./rpg/item"
|
|
28
|
+
require_relative "./rpg/equip_item"
|
|
29
|
+
require_relative "./rpg/weapon"
|
|
30
|
+
require_relative "./rpg/armor"
|
|
31
|
+
require_relative "./rpg/enemy"
|
|
32
|
+
require_relative "./rpg/state"
|
|
33
|
+
|
|
34
|
+
require_relative "./rpg/base_item_feature"
|
|
35
|
+
|
|
36
|
+
require_relative "./rpg/usable_item_damage"
|
|
37
|
+
require_relative "./rpg/usable_item_effect"
|
|
38
|
+
|
|
39
|
+
require_relative "./rpg/class_learning"
|
|
40
|
+
|
|
41
|
+
require_relative "./rpg/enemy_drop_item"
|
|
42
|
+
require_relative "./rpg/enemy_action"
|
|
43
|
+
|
|
44
|
+
require_relative "./rpg/troop"
|
|
45
|
+
require_relative "./rpg/troop_member"
|
|
46
|
+
require_relative "./rpg/troop_page"
|
|
47
|
+
require_relative "./rpg/troop_page_condition"
|
|
48
|
+
|
|
49
|
+
require_relative "./rpg/animation"
|
|
50
|
+
require_relative "./rpg/animation_frame"
|
|
51
|
+
require_relative "./rpg/animation_timing"
|
|
52
|
+
|
|
53
|
+
require_relative "./rpg/tileset"
|
|
54
|
+
|
|
55
|
+
require_relative "./rpg/common_event"
|
|
56
|
+
|
|
57
|
+
require_relative "./rpg/system"
|
|
58
|
+
require_relative "./rpg/system_vehicle"
|
|
59
|
+
require_relative "./rpg/system_terms"
|
|
60
|
+
require_relative "./rpg/system_test_battler"
|
|
61
|
+
|
|
62
|
+
require_relative "./rpg/audio_file"
|
|
63
|
+
require_relative "./rpg/bgm"
|
|
64
|
+
require_relative "./rpg/bgs"
|
|
65
|
+
require_relative "./rpg/me"
|
|
66
|
+
require_relative "./rpg/se"
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
# The RGBA color class.
|
|
5
|
+
#
|
|
6
|
+
# Each component is handled with a floating-point value (Float).
|
|
7
|
+
#
|
|
8
|
+
class Color
|
|
9
|
+
include RgssDb::Jsonable
|
|
10
|
+
extend RgssDb::JsonableConstructor
|
|
11
|
+
|
|
12
|
+
#
|
|
13
|
+
# Creates a Color object. If alpha is omitted, it is assumed to be 255.
|
|
14
|
+
#
|
|
15
|
+
# The default values when no arguments are specified are (0, 0, 0, 0).
|
|
16
|
+
#
|
|
17
|
+
# @param red [Integer]
|
|
18
|
+
# @param green [Integer]
|
|
19
|
+
# @param blue [Integer]
|
|
20
|
+
# @param alpha [Integer]
|
|
21
|
+
#
|
|
22
|
+
def initialize(red = 0, green = 0, blue = 0, alpha = 0)
|
|
23
|
+
@red = red
|
|
24
|
+
@green = green
|
|
25
|
+
@blue = blue
|
|
26
|
+
@alpha = [red, green, blue].sum.positive? && alpha.zero? ? 255 : alpha
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
#
|
|
30
|
+
# Dumps this instance into a binary string
|
|
31
|
+
#
|
|
32
|
+
# Note: needed for Marshal module support
|
|
33
|
+
#
|
|
34
|
+
# @return [String]
|
|
35
|
+
#
|
|
36
|
+
def _dump(*)
|
|
37
|
+
# double, double, double, double (double-precision)
|
|
38
|
+
[@red, @green, @blue, @alpha].pack("dddd")
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
#
|
|
42
|
+
# Creates a new instance using the given binary data
|
|
43
|
+
#
|
|
44
|
+
# Note: needed for Marshal module support
|
|
45
|
+
#
|
|
46
|
+
# @param serialized_string [String]
|
|
47
|
+
#
|
|
48
|
+
# @return [Color]
|
|
49
|
+
#
|
|
50
|
+
def self._load(serialized_string)
|
|
51
|
+
Color.new_serialized(serialized_string)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
#
|
|
55
|
+
# Creates a new instance from a serialized string
|
|
56
|
+
#
|
|
57
|
+
# Note: needed for Marshal module support
|
|
58
|
+
#
|
|
59
|
+
# @param serialized_string [String]
|
|
60
|
+
#
|
|
61
|
+
# @return [Color]
|
|
62
|
+
#
|
|
63
|
+
def self.new_serialized(serialized_string)
|
|
64
|
+
# double, double, double, double (double-precision)
|
|
65
|
+
red, green, blue, alpha = serialized_string.unpack("dddd")
|
|
66
|
+
|
|
67
|
+
# Creates the instance
|
|
68
|
+
Color.new(red, green, blue, alpha)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
attr_accessor :red, :green, :blue, :alpha
|
|
72
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
# The rectangle class.
|
|
5
|
+
#
|
|
6
|
+
class Rect
|
|
7
|
+
include RgssDb::Jsonable
|
|
8
|
+
extend RgssDb::JsonableConstructor
|
|
9
|
+
|
|
10
|
+
#
|
|
11
|
+
# Creates a new Rect object.
|
|
12
|
+
#
|
|
13
|
+
# The default values when no arguments are specified are (0, 0, 0, 0).
|
|
14
|
+
#
|
|
15
|
+
# @param x [Integer]
|
|
16
|
+
# @param y [Integer]
|
|
17
|
+
# @param width [Integer]
|
|
18
|
+
# @param height [Integer]
|
|
19
|
+
#
|
|
20
|
+
def initialize(x = 0, y = 0, width = 0, height = 0)
|
|
21
|
+
@x = x
|
|
22
|
+
@y = y
|
|
23
|
+
@width = width
|
|
24
|
+
@height = height
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
#
|
|
28
|
+
# Dumps this instance into a binary string
|
|
29
|
+
#
|
|
30
|
+
# Note: needed for Marshal module support
|
|
31
|
+
#
|
|
32
|
+
# @return [String]
|
|
33
|
+
#
|
|
34
|
+
def _dump(*)
|
|
35
|
+
# int32_t, int32_t, int32_t, int32_t
|
|
36
|
+
[@x, @y, @width, @height].pack("llll")
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
#
|
|
40
|
+
# Creates a new instance using the given binary data
|
|
41
|
+
#
|
|
42
|
+
# Note: needed for Marshal module support
|
|
43
|
+
#
|
|
44
|
+
# @param serialized_string [String]
|
|
45
|
+
#
|
|
46
|
+
# @return [Rect]
|
|
47
|
+
#
|
|
48
|
+
def self._load(serialized_string)
|
|
49
|
+
Rect.new_serialized(serialized_string)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
#
|
|
53
|
+
# Creates a new instance from a serialized string
|
|
54
|
+
#
|
|
55
|
+
# Note: needed for Marshal module support
|
|
56
|
+
#
|
|
57
|
+
# @param serialized_string [String]
|
|
58
|
+
#
|
|
59
|
+
# @return [Rect]
|
|
60
|
+
#
|
|
61
|
+
def self.new_serialized(serialized_string)
|
|
62
|
+
# int32_t, int32_t, int32_t, int32_t
|
|
63
|
+
x, y, width, height = serialized_string.unpack("llll")
|
|
64
|
+
|
|
65
|
+
# Creates the instance
|
|
66
|
+
Rect.new(x, y, width, height)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
attr_accessor :x, :y, :width, :height
|
|
70
|
+
end
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
# The multidimensional array class.
|
|
5
|
+
#
|
|
6
|
+
# Each element is an integer of 2 signed bytes ranging from -32,768 to 32,767.
|
|
7
|
+
#
|
|
8
|
+
class Table
|
|
9
|
+
include RgssDb::Jsonable
|
|
10
|
+
extend RgssDb::JsonableConstructor
|
|
11
|
+
|
|
12
|
+
#
|
|
13
|
+
# Creates a Table object.
|
|
14
|
+
#
|
|
15
|
+
# Specifies the size of each dimension in the multidimensional array. 1-, 2-, and 3-dimensional arrays are possible.
|
|
16
|
+
#
|
|
17
|
+
# Arrays with no parameters are also permitted.
|
|
18
|
+
#
|
|
19
|
+
# @param xsize [Integer]
|
|
20
|
+
# @param ysize [Integer]
|
|
21
|
+
# @param zsize [Integer]
|
|
22
|
+
#
|
|
23
|
+
def initialize(xsize, ysize = 0, zsize = 0)
|
|
24
|
+
# RMXP needs dimensions
|
|
25
|
+
@dim = 1
|
|
26
|
+
@dim = 2 if ysize.positive?
|
|
27
|
+
@dim = 3 if zsize.positive?
|
|
28
|
+
@x = xsize
|
|
29
|
+
@y = ysize
|
|
30
|
+
@z = zsize
|
|
31
|
+
@data = []
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
#
|
|
35
|
+
# Dumps this instance into a binary string
|
|
36
|
+
#
|
|
37
|
+
# Note: needed for Marshal module support
|
|
38
|
+
#
|
|
39
|
+
# @return [String]
|
|
40
|
+
#
|
|
41
|
+
def _dump(*)
|
|
42
|
+
# int32_t, int32_t, int32_t, int32_t, int32_t, int16_t *
|
|
43
|
+
[@dim, @x, @y, @z, @x * @y * @z, *@data].pack("llllls*")
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
#
|
|
47
|
+
# Creates a new instance using the given binary data
|
|
48
|
+
#
|
|
49
|
+
# Note: needed for Marshal module support
|
|
50
|
+
#
|
|
51
|
+
# @param serialized_string [String]
|
|
52
|
+
#
|
|
53
|
+
# @return [Table]
|
|
54
|
+
#
|
|
55
|
+
def self._load(serialized_string)
|
|
56
|
+
Table.new_serialized(serialized_string)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
#
|
|
60
|
+
# Creates a new instance from a serialized string
|
|
61
|
+
#
|
|
62
|
+
# Note: needed for Marshal module support
|
|
63
|
+
#
|
|
64
|
+
# @param serialized_string [String]
|
|
65
|
+
#
|
|
66
|
+
# @return [Table]
|
|
67
|
+
#
|
|
68
|
+
def self.new_serialized(serialized_string)
|
|
69
|
+
# int32_t, int32_t, int32_t, int32_t, int32_t, int16_t *
|
|
70
|
+
dim, x, y, z, size, *data = serialized_string.unpack("llllls*")
|
|
71
|
+
|
|
72
|
+
# Checks if written size value matches the actual size of the table
|
|
73
|
+
raise "Table: bad file format (size mismatch)" unless size == (x * y * z)
|
|
74
|
+
# Double check no data was lost
|
|
75
|
+
raise "Table: bad file format (data length mismatch)" unless size == data.length
|
|
76
|
+
|
|
77
|
+
# Creates the instance
|
|
78
|
+
table = Table.new(0, 0, 0)
|
|
79
|
+
table.dim = dim
|
|
80
|
+
table.x = x
|
|
81
|
+
table.y = y
|
|
82
|
+
table.z = z
|
|
83
|
+
table.data = data
|
|
84
|
+
table
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
#
|
|
88
|
+
# Returns a table instance for JSON deserialization
|
|
89
|
+
#
|
|
90
|
+
# @param args [Array]
|
|
91
|
+
#
|
|
92
|
+
# @return [Table]
|
|
93
|
+
#
|
|
94
|
+
def self.json_new(*args)
|
|
95
|
+
Table.new(0, 0, 0)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
attr_accessor :dim, :x, :y, :z, :data
|
|
99
|
+
end
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
# The color tone class.
|
|
5
|
+
#
|
|
6
|
+
# Each component is handled with a floating-point value (Float).
|
|
7
|
+
#
|
|
8
|
+
class Tone
|
|
9
|
+
include RgssDb::Jsonable
|
|
10
|
+
extend RgssDb::JsonableConstructor
|
|
11
|
+
|
|
12
|
+
#
|
|
13
|
+
# Creates a Tone object. If gray is omitted, it is assumed to be 0.
|
|
14
|
+
#
|
|
15
|
+
# The default values when no arguments are specified are (0, 0, 0, 0).
|
|
16
|
+
#
|
|
17
|
+
# @param red [Integer]
|
|
18
|
+
# @param green [Integer]
|
|
19
|
+
# @param blue [Integer]
|
|
20
|
+
# @param gray [Integer]
|
|
21
|
+
#
|
|
22
|
+
def initialize(red = 0, green = 0, blue = 0, gray = 0)
|
|
23
|
+
@red = red
|
|
24
|
+
@green = green
|
|
25
|
+
@blue = blue
|
|
26
|
+
@gray = gray
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
#
|
|
30
|
+
# Dumps this instance into a binary string
|
|
31
|
+
#
|
|
32
|
+
# Note: needed for Marshal module support
|
|
33
|
+
#
|
|
34
|
+
# @return [String]
|
|
35
|
+
#
|
|
36
|
+
def _dump(*)
|
|
37
|
+
# double, double, double, double (double-precision)
|
|
38
|
+
[@red, @green, @blue, @gray].pack("dddd")
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
#
|
|
42
|
+
# Creates a new instance using the given binary data
|
|
43
|
+
#
|
|
44
|
+
# Note: needed for Marshal module support
|
|
45
|
+
#
|
|
46
|
+
# @param serialized_string [String]
|
|
47
|
+
#
|
|
48
|
+
# @return [Tone]
|
|
49
|
+
#
|
|
50
|
+
def self._load(serialized_string)
|
|
51
|
+
Tone.new_serialized(serialized_string)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
#
|
|
55
|
+
# Creates a new instance from a serialized string
|
|
56
|
+
#
|
|
57
|
+
# Note: needed for Marshal module support
|
|
58
|
+
#
|
|
59
|
+
# @param serialized_string [String]
|
|
60
|
+
#
|
|
61
|
+
# @return [Tone]
|
|
62
|
+
#
|
|
63
|
+
def self.new_serialized(serialized_string)
|
|
64
|
+
# double, double, double, double (double-precision)
|
|
65
|
+
red, green, blue, gray = serialized_string.unpack("dddd")
|
|
66
|
+
|
|
67
|
+
# Creates the instance
|
|
68
|
+
Tone.new(red, green, blue, gray)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
attr_accessor :red, :green, :blue, :gray
|
|
72
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Application mixins
|
|
4
|
+
require_relative "../../mixins/jsonable"
|
|
5
|
+
require_relative "../../mixins/jsonable_constructor"
|
|
6
|
+
|
|
7
|
+
# RGSS Impl.
|
|
8
|
+
require_relative "./rgss/color"
|
|
9
|
+
require_relative "./rgss/rect"
|
|
10
|
+
require_relative "./rgss/table"
|
|
11
|
+
require_relative "./rgss/tone"
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RPG
|
|
4
|
+
#
|
|
5
|
+
# Data class for actors.
|
|
6
|
+
#
|
|
7
|
+
class Actor
|
|
8
|
+
include RgssDb::Jsonable
|
|
9
|
+
extend RgssDb::JsonableConstructor
|
|
10
|
+
|
|
11
|
+
def initialize
|
|
12
|
+
@id = 0
|
|
13
|
+
@name = ""
|
|
14
|
+
@class_id = 1
|
|
15
|
+
@initial_level = 1
|
|
16
|
+
@final_level = 99
|
|
17
|
+
@exp_basis = 30
|
|
18
|
+
@exp_inflation = 30
|
|
19
|
+
@character_name = ""
|
|
20
|
+
@character_hue = 0
|
|
21
|
+
@battler_name = ""
|
|
22
|
+
@battler_hue = 0
|
|
23
|
+
@parameters = Table.new(6, 100)
|
|
24
|
+
@weapon_id = 0
|
|
25
|
+
@armor1_id = 0
|
|
26
|
+
@armor2_id = 0
|
|
27
|
+
@armor3_id = 0
|
|
28
|
+
@armor4_id = 0
|
|
29
|
+
@weapon_fix = false
|
|
30
|
+
@armor1_fix = false
|
|
31
|
+
@armor2_fix = false
|
|
32
|
+
@armor3_fix = false
|
|
33
|
+
@armor4_fix = false
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def to_s
|
|
37
|
+
@name.to_s
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
attr_accessor :id, :name, :class_id, :initial_level, :final_level, :exp_basis, :exp_inflation, :character_name,
|
|
41
|
+
:character_hue, :battler_name, :battler_hue, :parameters, :weapon_id, :armor1_id, :armor2_id,
|
|
42
|
+
:armor3_id, :armor4_id, :weapon_fix, :armor1_fix, :armor2_fix, :armor3_fix, :armor4_fix
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RPG
|
|
4
|
+
#
|
|
5
|
+
# Data class for animation.
|
|
6
|
+
#
|
|
7
|
+
class Animation
|
|
8
|
+
include RgssDb::Jsonable
|
|
9
|
+
extend RgssDb::JsonableConstructor
|
|
10
|
+
|
|
11
|
+
def initialize
|
|
12
|
+
@id = 0
|
|
13
|
+
@name = ""
|
|
14
|
+
@animation_name = ""
|
|
15
|
+
@animation_hue = 0
|
|
16
|
+
@position = 1
|
|
17
|
+
@frame_max = 1
|
|
18
|
+
@frames = [RPG::Animation::Frame.new]
|
|
19
|
+
@timings = []
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def to_s
|
|
23
|
+
@name.to_s
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
attr_accessor :id, :name, :animation_name, :animation_hue, :position, :frame_max, :frames, :timings
|
|
27
|
+
end
|
|
28
|
+
end
|