1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
| #==============================================================================
# ■ Visual_Equipment
# Written by Rataime
#
# Edit below
#
# Note : If you have a custom Window_SaveFile, check the one at the end of the scrîpt,
# add the added lines to yours, and delete the whole Window_SaveFile class here
#==============================================================================
def equip_update(light=false)
$visual_equipment=Array.new
$visual_equipment[0]=light
for i in 0..3
$visual_equipment[i+1]=[]
end
#===================================================
# ● EDIT HERE !
#===================================================
#If weapon n°33 is equiped, add the charset tpl_helmet_1.png (I don't have a weapon charset ><)
#add_weapon_sprite(33,"tpl_helmet_1")
#If weapon n°6 is equiped, add the charset tpl_helmet_1.png
add_armor_sprite(6,"tpl_helmet_1")
add_armor_sprite(7,"tpl_helmet_2")
add_armor_sprite(20,"tpl_armor_white")
add_armor_sprite(15,"tpl_armor_blue")
add_armor_sprite(21,"tpl_armor_cape")
#===================================================
# ▼ Visual_equip functions
#===================================================
RPG::Cache.clear
@game_party = $game_party
@game_party = $game_party2 if $visual_equipment[0]
for i in 0...@game_party.actors.size
for img in $visual_equipment[i+1]
bitmap = RPG::Cache.character(@game_party.actors.character_name, @game_party.actors[i].character_hue)
if img!=true and img!=false
add_equip(bitmap,img,i)
end
end
end
end
def add_equip(sprite,to_add,character)
@game_party = $game_party
@game_party = $game_party2 if $visual_equipment[0]
bmp = Sprite.new
bmp.visible =false
bmp.bitmap = RPG::Cache.character(to_add,@game_party.actors[character].character_hue)
color = bmp.bitmap.get_pixel(0, 0)
x=sprite.width
y=sprite.height
if $visual_equipment[0]
x=x/4
y=y/4
end
for i in 0..x
for j in 0..y
color_get=bmp.bitmap.get_pixel(i, j)
if color_get!=color
sprite.set_pixel(i, j ,color_get)
end
end
end
bmp=nil
end
def add_weapon_sprite(id,sprite)
@game_party = $game_party
@game_party = $game_party2 if $visual_equipment[0]
for i in 0...@game_party.actors.size
if @game_party.actors[i].weapon_id==id
$visual_equipment[i+1].push(sprite)
end
end
end
def add_armor_sprite(id,sprite)
@game_party = $game_party
@game_party = $game_party2 if $visual_equipment[0]
for i in 0...@game_party.actors.size
if @game_party.actors[i].armor1_id==id or @game_party.actors[i].armor2_id==id or @game_party.actors[i].armor3_id==id or @game_party.actors[i].armor4_id==id
$visual_equipment[i+1].push(sprite)
end
end
end
#===================================================
# ▼ CLASS Scene_Equip edit
#===================================================
class Scene_Equip
alias visual_update_right update_right
def update_right
if Input.trigger?(Input::B)
equip_update
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(2)
return
end
visual_update_right
end
end
class Interpreter
alias visual_command_319 command_319
def command_319
actor = $game_actors[@parameters[0]]
if actor != nil
actor.equip(@parameters[1], @parameters[2])
end
equip_update
return true
end
end
class Game_Character
attr_accessor :character_hue
end
class Game_Actor < Game_Battler
alias visual_setup setup
def setup(actor_id)
visual_setup(actor_id)
@character_hue = (@character_hue+1)%256
end
end
class Scene_Load
alias visual_read_save_data read_save_data
alias visual_on_cancel on_cancel
def on_cancel
equip_update
visual_on_cancel
end
def read_save_data(file)
visual_read_save_data(file)
equip_update
end
end
class Scene_Save
alias visual_on_decision on_decision
alias visual_on_cancel on_cancel
def on_cancel
equip_update
visual_on_cancel
end
def on_decision(file)
equip_update
visual_on_decision(file)
end
end
class Scene_Title
alias visual_command_new_game command_new_game
def command_new_game
visual_command_new_game
equip_update
end
end
class Window_SaveFile < Window_Base
def initialize(file_index, filename)
super(0, 64 + file_index % 4 * 104, 640, 104)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
@file_index = file_index
@filename = "Save#{@file_index + 1}.rxdata"
@time_stamp = Time.at(0)
@file_exist = FileTest.exist?(@filename)
if @file_exist
file = File.open(@filename, "r")
@time_stamp = file.mtime
@characters = Marshal.load(file)
@frame_count = Marshal.load(file)
@game_system = Marshal.load(file)
@game_switches = Marshal.load(file)
@game_variables = Marshal.load(file)
@self_variables = Marshal.load(file)#added
@game_screen = Marshal.load(file)#added
@game_actors = Marshal.load(file)#added
$game_party2=@game_party= Marshal.load(file)#added
@total_sec = @frame_count / Graphics.frame_rate
file.close
end
equip_update(true)#added
refresh
@selected = false
end
end |