This commit is contained in:
infinitefusion
2024-07-03 10:30:11 -04:00
42 changed files with 15252 additions and 2032 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
# class Object # class Object
#=============================================================================== #===============================================================================
class Object class Object
alias full_inspect inspect alias full_inspect inspect unless method_defined?(:full_inspect)
def inspect def inspect
return "#<#{self.class}>" return "#<#{self.class}>"

View File

@@ -41,9 +41,9 @@ end
class Spriteset_Map class Spriteset_Map
alias _animationSprite_initialize initialize alias _animationSprite_initialize initialize unless method_defined?(:_animationSprite_initialize)
alias _animationSprite_update update alias _animationSprite_update update unless method_defined?(:_animationSprite_update)
alias _animationSprite_dispose dispose alias _animationSprite_dispose dispose unless method_defined?(:_animationSprite_dispose)
def initialize(map=nil) def initialize(map=nil)
@usersprites=[] @usersprites=[]

View File

@@ -7,19 +7,19 @@
class Sprite_Shadow < RPG::Sprite class Sprite_Shadow < RPG::Sprite
attr_accessor :character attr_accessor :character
def initialize(viewport, character = nil,params=[]) def initialize(viewport, character = nil, params = [])
super(viewport) super(viewport)
@source = params[0] @source = params[0]
@anglemin = (params.size>1) ? params[1] : 0 @anglemin = (params.size > 1) ? params[1] : 0
@anglemax = (params.size>2) ? params[2] : 0 @anglemax = (params.size > 2) ? params[2] : 0
@self_opacity = (params.size>4) ? params[4] : 100 @self_opacity = (params.size > 4) ? params[4] : 100
@distancemax = (params.size>3) ? params[3] : 350 @distancemax = (params.size > 3) ? params[3] : 350
@character = character @character = character
update update
end end
def dispose def dispose
@chbitmap.dispose if @chbitmap @chbitmap&.dispose
super super
end end
@@ -35,19 +35,18 @@ class Sprite_Shadow < RPG::Sprite
@tile_id = @character.tile_id @tile_id = @character.tile_id
@character_name = @character.character_name @character_name = @character.character_name
@character_hue = @character.character_hue @character_hue = @character.character_hue
@chbitmap&.dispose
if @tile_id >= 384 if @tile_id >= 384
@chbitmap.dispose if @chbitmap
@chbitmap = pbGetTileBitmap(@character.map.tileset_name, @chbitmap = pbGetTileBitmap(@character.map.tileset_name,
@tile_id, @character.character_hue) @tile_id, @character.character_hue)
self.src_rect.set(0, 0, 32, 32) self.src_rect.set(0, 0, 32, 32)
@ch = 32 @ch = 32
@cw = 32 @cw = 32
self.ox = 16 self.ox = 16
self.oy = 32 self.oy = 32
else else
@chbitmap.dispose if @chbitmap @chbitmap = AnimatedBitmap.new('Graphics/Characters/' + @character.character_name,
@chbitmap = AnimatedBitmap.new( @character.character_hue)
'Graphics/Characters/'+@character.character_name,@character.character_hue)
@cw = @chbitmap.width / 4 @cw = @chbitmap.width / 4
@ch = @chbitmap.height / 4 @ch = @chbitmap.height / 4
self.ox = @cw / 2 self.ox = @cw / 2
@@ -75,8 +74,8 @@ class Sprite_Shadow < RPG::Sprite
self.src_rect.set(sx, sy, @cw, @ch) self.src_rect.set(sx, sy, @cw, @ch)
end end
self.x = ScreenPosHelper.pbScreenX(@character) self.x = ScreenPosHelper.pbScreenX(@character)
self.y = ScreenPosHelper.pbScreenY(@character)-5 self.y = ScreenPosHelper.pbScreenY(@character) - 5
self.z = ScreenPosHelper.pbScreenZ(@character,@ch)-1 self.z = ScreenPosHelper.pbScreenZ(@character, @ch) - 1
self.zoom_x = ScreenPosHelper.pbScreenZoomX(@character) self.zoom_x = ScreenPosHelper.pbScreenZoomX(@character)
self.zoom_y = ScreenPosHelper.pbScreenZoomY(@character) self.zoom_y = ScreenPosHelper.pbScreenZoomY(@character)
self.blend_type = @character.blend_type self.blend_type = @character.blend_type
@@ -89,10 +88,10 @@ class Sprite_Shadow < RPG::Sprite
@deltax = ScreenPosHelper.pbScreenX(@source) - self.x @deltax = ScreenPosHelper.pbScreenX(@source) - self.x
@deltay = ScreenPosHelper.pbScreenY(@source) - self.y @deltay = ScreenPosHelper.pbScreenY(@source) - self.y
self.color = Color.new(0, 0, 0) self.color = Color.new(0, 0, 0)
@distance = ((@deltax ** 2) + (@deltay ** 2)) @distance = ((@deltax**2) + (@deltay**2))
self.opacity = @self_opacity * 13000 / ((@distance * 370 / @distancemax) + 6000) self.opacity = @self_opacity * 13_000 / ((@distance * 370 / @distancemax) + 6000)
self.angle = 57.3 * Math.atan2(@deltax, @deltay) self.angle = 57.3 * Math.atan2(@deltax, @deltay)
@angle_trigo = self.angle+90 @angle_trigo = self.angle + 90
@angle_trigo += 360 if @angle_trigo < 0 @angle_trigo += 360 if @angle_trigo < 0
if @anglemin != 0 || @anglemax != 0 if @anglemin != 0 || @anglemax != 0
if (@angle_trigo < @anglemin || @angle_trigo > @anglemax) && @anglemin < @anglemax if (@angle_trigo < @anglemin || @angle_trigo > @anglemax) && @anglemin < @anglemax
@@ -124,7 +123,7 @@ end
# ? CLASS Sprite_Character edit # ? CLASS Sprite_Character edit
#=================================================== #===================================================
class Sprite_Character < RPG::Sprite class Sprite_Character < RPG::Sprite
alias :shadow_initialize :initialize alias shadow_initialize initialize unless method_defined?(:shadow_initialize)
def initialize(viewport, character = nil) def initialize(viewport, character = nil)
@ombrelist = [] @ombrelist = []
@@ -132,37 +131,33 @@ class Sprite_Character < RPG::Sprite
shadow_initialize(viewport, @character) shadow_initialize(viewport, @character)
end end
def setShadows(map,shadows) def setShadows(map, shadows)
if character.is_a?(Game_Event) && shadows.length > 0 if character.is_a?(Game_Event) && shadows.length > 0
params = XPML_read(map,"Shadow",@character,4) params = XPML_read(map, "Shadow", @character, 4)
if params != nil if params != nil
for i in 0...shadows.size shadows.each do |shadow|
@ombrelist.push(Sprite_Shadow.new(viewport, @character, shadows[i])) @ombrelist.push(Sprite_Shadow.new(viewport, @character, shadows))
end end
end end
end end
if character.is_a?(Game_Player) && shadows.length > 0 if character.is_a?(Game_Player) && shadows.length > 0
for i in 0...shadows.size shadows.each do |shadow|
@ombrelist.push(Sprite_Shadow.new(viewport, $game_player, shadows[i])) @ombrelist.push(Sprite_Shadow.new(viewport, $game_player, shadow))
end end
end end
update update
end end
def clearShadows def clearShadows
@ombrelist.each { |s| s.dispose if s } @ombrelist.each { |s| s&.dispose }
@ombrelist.clear @ombrelist.clear
end end
alias shadow_update update alias shadow_update update unless method_defined?(:shadow_update)
def update def update
shadow_update shadow_update
if @ombrelist.length>0 @ombrelist.each { |ombre| ombre.update }
for i in 0...@ombrelist.size
@ombrelist[i].update
end
end
end end
end end
@@ -183,24 +178,24 @@ end
class Spriteset_Map class Spriteset_Map
attr_accessor :shadows attr_accessor :shadows
alias shadow_initialize initialize alias shadow_initialize initialize unless method_defined?(:shadow_initialize)
def initialize(map=nil)
def initialize(map = nil)
@shadows = [] @shadows = []
warn = false warn = false
map = $game_map if !map map = $game_map if !map
for k in map.events.keys.sort map.events.keys.sort.each do |k|
ev = map.events[k] ev = map.events[k]
warn = true if (ev.list != nil && ev.list.length > 0 && warn = true if ev.list != nil && ev.list.length > 0 && ev.list[0].code == 108 &&
ev.list[0].code == 108 && (ev.list[0].parameters == ["s"] || ev.list[0].parameters == ["o"])
(ev.list[0].parameters == ["s"] || ev.list[0].parameters == ["o"])) params = XPML_read(map, "Shadow Source", ev, 4)
params = XPML_read(map,"Shadow Source", ev, 4)
@shadows.push([ev] + params) if params != nil @shadows.push([ev] + params) if params != nil
end end
if warn == true if warn == true
p "Warning : At least one event on this map uses the obsolete way to add shadows" p "Warning : At least one event on this map uses the obsolete way to add shadows"
end end
shadow_initialize(map) shadow_initialize(map)
for sprite in @character_sprites @character_sprites.each do |sprite|
sprite.setShadows(map, @shadows) sprite.setShadows(map, @shadows)
end end
$scene.spritesetGlobal.playersprite.setShadows(map, @shadows) $scene.spritesetGlobal.playersprite.setShadows(map, @shadows)
@@ -228,31 +223,31 @@ end
# p XPML_read("third", event_id) -> [3] # p XPML_read("third", event_id) -> [3]
# p XPML_read("forth", event_id) -> nil # p XPML_read("forth", event_id) -> nil
#=================================================== #===================================================
def XPML_read(map,markup,event,max_param_number=0) def XPML_read(map, markup, event, max_param_number = 0)
parameter_list = nil parameter_list = nil
return nil if !event || event.list == nil return nil if !event || event.list.nil?
for i in 0...event.list.size event.list.size.times do |i|
if event.list[i].code == 108 && if event.list[i].code == 108 &&
event.list[i].parameters[0].downcase == "begin " + markup.downcase event.list[i].parameters[0].downcase == "begin " + markup.downcase
parameter_list = [] if parameter_list == nil parameter_list = [] if parameter_list.nil?
for j in i+1...event.list.size ((i + 1)...event.list.size).each do |j|
if event.list[j].code == 108 if event.list[j].code == 108
parts = event.list[j].parameters[0].split parts = event.list[j].parameters[0].split
if parts.size != 1 && parts[0].downcase != "begin" if parts.size != 1 && parts[0].downcase != "begin"
if parts[1].to_i != 0 || parts[1] == "0" if parts[1].to_i != 0 || parts[1] == "0"
parameter_list.push(parts[1].to_i) parameter_list.push(parts[1].to_i)
else
parameter_list.push(parts[1])
end
else else
return parameter_list parameter_list.push(parts[1])
end end
else else
return parameter_list return parameter_list
end end
return parameter_list if max_param_number != 0 && j == i + max_param_number else
return parameter_list
end end
return parameter_list if max_param_number != 0 && j == i + max_param_number
end end
end end
end
return parameter_list return parameter_list
end end

View File

@@ -2,36 +2,36 @@
# Based on version 2 by Near Fantastica, 04.01.06 # Based on version 2 by Near Fantastica, 04.01.06
# In turn based on the Particle Engine designed by PinkMan # In turn based on the Particle Engine designed by PinkMan
class Particle_Engine class Particle_Engine
def initialize(viewport=nil,map=nil) def initialize(viewport = nil, map = nil)
@map = (map) ? map : $game_map @map = (map) ? map : $game_map
@viewport = viewport @viewport = viewport
@effect = [] @effect = []
@disposed = false @disposed = false
@firsttime = true @firsttime = true
@effects = { @effects = {
# PinkMan's Effects # PinkMan's Effects
"fire" => Particle_Engine::Fire, "fire" => Particle_Engine::Fire,
"smoke" => Particle_Engine::Smoke, "smoke" => Particle_Engine::Smoke,
"teleport" => Particle_Engine::Teleport, "teleport" => Particle_Engine::Teleport,
"spirit" => Particle_Engine::Spirit, "spirit" => Particle_Engine::Spirit,
"explosion" => Particle_Engine::Explosion, "explosion" => Particle_Engine::Explosion,
"aura" => Particle_Engine::Aura, "aura" => Particle_Engine::Aura,
# BlueScope's Effects # BlueScope's Effects
"soot" => Particle_Engine::Soot, "soot" => Particle_Engine::Soot,
"sootsmoke" => Particle_Engine::SootSmoke, "sootsmoke" => Particle_Engine::SootSmoke,
"rocket" => Particle_Engine::Rocket, "rocket" => Particle_Engine::Rocket,
"fixteleport" => Particle_Engine::FixedTeleport, "fixteleport" => Particle_Engine::FixedTeleport,
"smokescreen" => Particle_Engine::Smokescreen, "smokescreen" => Particle_Engine::Smokescreen,
"flare" => Particle_Engine::Flare, "flare" => Particle_Engine::Flare,
"splash" => Particle_Engine::Splash, "splash" => Particle_Engine::Splash,
# By Peter O. # By Peter O.
"starteleport" => Particle_Engine::StarTeleport "starteleport" => Particle_Engine::StarTeleport
} }
end end
def dispose def dispose
return if disposed? return if disposed?
for particle in @effect @effect.each do |particle|
next if particle.nil? next if particle.nil?
particle.dispose particle.dispose
end end
@@ -54,47 +54,46 @@ class Particle_Engine
@effect.delete_at(event.id) @effect.delete_at(event.id)
end end
def realloc_effect(event,particle) def realloc_effect(event, particle)
type = pbEventCommentInput(event, 1, "Particle Engine Type") type = pbEventCommentInput(event, 1, "Particle Engine Type")
if type.nil? if type.nil?
particle.dispose if particle particle&.dispose
return nil return nil
end end
type = type[0].downcase type = type[0].downcase
cls = @effects[type] cls = @effects[type]
if cls.nil? if cls.nil?
particle.dispose if particle particle&.dispose
return nil return nil
end end
if !particle || !particle.is_a?(cls) if !particle || !particle.is_a?(cls)
particle.dispose if particle particle&.dispose
particle = cls.new(event,@viewport) particle = cls.new(event, @viewport)
end end
return particle return particle
end end
def pbParticleEffect(event) def pbParticleEffect(event)
return realloc_effect(event,nil) return realloc_effect(event, nil)
end end
def update def update
if @firsttime if @firsttime
@firsttime = false @firsttime = false
for event in @map.events.values @map.events.values.each do |event|
remove_effect(event) remove_effect(event)
add_effect(event) add_effect(event)
end end
end end
for i in 0...@effect.length @effect.each_with_index do |particle, i|
particle = @effect[i]
next if particle.nil? next if particle.nil?
if particle.event.pe_refresh if particle.event.pe_refresh
event = particle.event event = particle.event
event.pe_refresh = false event.pe_refresh = false
particle = realloc_effect(event,particle) particle = realloc_effect(event, particle)
@effect[i] = particle @effect[i] = particle
end end
particle.update if particle particle&.update
end end
end end
end end
@@ -136,7 +135,7 @@ class ParticleSprite
end end
def dispose def dispose
@sprite.dispose if @sprite @sprite&.dispose
end end
def bitmap=(value) def bitmap=(value)
@@ -153,21 +152,21 @@ class ParticleSprite
def update def update
w = Graphics.width w = Graphics.width
h = Graphics.height h = Graphics.height
if !@sprite && @x>=@minleft && @y>=@mintop && @x<w && @y<h if !@sprite && @x >= @minleft && @y >= @mintop && @x < w && @y < h
@sprite = Sprite.new(@viewport) @sprite = Sprite.new(@viewport)
elsif @sprite && (@x<@minleft || @y<@mintop || @x>=w || @y>=h) elsif @sprite && (@x < @minleft || @y < @mintop || @x >= w || @y >= h)
@sprite.dispose @sprite.dispose
@sprite = nil @sprite = nil
end end
if @sprite if @sprite
@sprite.x = @x if @sprite.x!=@x @sprite.x = @x if @sprite.x != @x
@sprite.x -= @ox @sprite.x -= @ox
@sprite.y = @y if @sprite.y!=@y @sprite.y = @y if @sprite.y != @y
@sprite.y -= @oy @sprite.y -= @oy
@sprite.z = @z if @sprite.z!=@z @sprite.z = @z if @sprite.z != @z
@sprite.opacity = @opacity if @sprite.opacity!=@opacity @sprite.opacity = @opacity if @sprite.opacity != @opacity
@sprite.blend_type = @blend_type if @sprite.blend_type!=@blend_type @sprite.blend_type = @blend_type if @sprite.blend_type != @blend_type
@sprite.bitmap = @bitmap if @sprite.bitmap!=@bitmap @sprite.bitmap = @bitmap if @sprite.bitmap != @bitmap
end end
end end
end end
@@ -177,7 +176,7 @@ end
class ParticleEffect_Event < ParticleEffect class ParticleEffect_Event < ParticleEffect
attr_accessor :event attr_accessor :event
def initialize(event,viewport=nil) def initialize(event, viewport = nil)
@event = event @event = event
@viewport = viewport @viewport = viewport
@particles = [] @particles = []
@@ -185,24 +184,24 @@ class ParticleEffect_Event < ParticleEffect
end end
def setParameters(params) def setParameters(params)
@randomhue,@leftright,@fade, @randomhue, @leftright, @fade,
@maxparticless,@hue,@slowdown, @maxparticless, @hue, @slowdown,
@ytop,@ybottom,@xleft,@xright, @ytop, @ybottom, @xleft, @xright,
@xgravity,@ygravity,@xoffset,@yoffset, @xgravity, @ygravity, @xoffset, @yoffset,
@opacityvar,@originalopacity = params @opacityvar, @originalopacity = params
end end
def loadBitmap(filename,hue) def loadBitmap(filename, hue)
key = [filename,hue] key = [filename, hue]
bitmap = @bitmaps[key] bitmap = @bitmaps[key]
if !bitmap || bitmap.disposed? if !bitmap || bitmap.disposed?
bitmap = AnimatedBitmap.new("Graphics/Fogs/"+filename,hue).deanimate bitmap = AnimatedBitmap.new("Graphics/Fogs/" + filename, hue).deanimate
@bitmaps[key] = bitmap @bitmaps[key] = bitmap
end end
return bitmap return bitmap
end end
def initParticles(filename,opacity,zOffset=0,blendtype=1) def initParticles(filename, opacity, zOffset = 0, blendtype = 1)
@particles = [] @particles = []
@particlex = [] @particlex = []
@particley = [] @particley = []
@@ -217,20 +216,20 @@ class ParticleEffect_Event < ParticleEffect
@zoffset = zOffset @zoffset = zOffset
@bmwidth = 32 @bmwidth = 32
@bmheight = 32 @bmheight = 32
for i in 0...@maxparticless @maxparticless.times do |i|
@particlex[i] = -@xoffset @particlex[i] = -@xoffset
@particley[i] = -@yoffset @particley[i] = -@yoffset
@particles[i] = ParticleSprite.new(@viewport) @particles[i] = ParticleSprite.new(@viewport)
@particles[i].bitmap = loadBitmap(filename, @hue) if filename @particles[i].bitmap = loadBitmap(filename, @hue) if filename
if i==0 && @particles[i].bitmap if i == 0 && @particles[i].bitmap
@bmwidth = @particles[i].bitmap.width @bmwidth = @particles[i].bitmap.width
@bmheight = @particles[i].bitmap.height @bmheight = @particles[i].bitmap.height
end end
@particles[i].blend_type = blendtype @particles[i].blend_type = blendtype
@particles[i].y = @startingy @particles[i].y = @startingy
@particles[i].x = @startingx @particles[i].x = @startingx
@particles[i].z = self.z+zOffset @particles[i].z = self.z + zOffset
@opacity[i] = rand(opacity/4) @opacity[i] = rand(opacity / 4)
@particles[i].opacity = @opacity[i] @particles[i].opacity = @opacity[i]
@particles[i].update @particles[i].update
end end
@@ -253,29 +252,29 @@ class ParticleEffect_Event < ParticleEffect
newRealY = @event.real_y newRealY = @event.real_y
@startingx = selfX + @xoffset @startingx = selfX + @xoffset
@startingy = selfY + @yoffset @startingy = selfY + @yoffset
@__offsetx = (@real_x==newRealX) ? 0 : selfX-@screen_x @__offsetx = (@real_x == newRealX) ? 0 : selfX - @screen_x
@__offsety = (@real_y==newRealY) ? 0 : selfY-@screen_y @__offsety = (@real_y == newRealY) ? 0 : selfY - @screen_y
@screen_x = selfX @screen_x = selfX
@screen_y = selfY @screen_y = selfY
@real_x = newRealX @real_x = newRealX
@real_y = newRealY @real_y = newRealY
if @opacityvar>0 && @viewport if @opacityvar > 0 && @viewport
opac = 255.0/@opacityvar opac = 255.0 / @opacityvar
minX = opac*(-@xgravity*1.0 / @slowdown).floor + @startingx minX = (opac * (-@xgravity.to_f / @slowdown).floor) + @startingx
maxX = opac*(@xgravity*1.0 / @slowdown).floor + @startingx maxX = (opac * (@xgravity.to_f / @slowdown).floor) + @startingx
minY = opac*(-@ygravity*1.0 / @slowdown).floor + @startingy minY = (opac * (-@ygravity.to_f / @slowdown).floor) + @startingy
maxY = @startingy maxY = @startingy
minX -= @bmwidth minX -= @bmwidth
minY -= @bmheight minY -= @bmheight
maxX += @bmwidth maxX += @bmwidth
maxY += @bmheight maxY += @bmheight
if maxX<0 || maxY<0 || minX>=Graphics.width || minY>=Graphics.height if maxX < 0 || maxY < 0 || minX >= Graphics.width || minY >= Graphics.height
# echo "skipped" # echo "skipped"
return return
end end
end end
particleZ = selfZ+@zoffset particleZ = selfZ + @zoffset
for i in 0...@maxparticless @maxparticless.times do |i|
@particles[i].z = particleZ @particles[i].z = particleZ
if @particles[i].y <= @ytop if @particles[i].y <= @ytop
@particles[i].y = @startingy + @yoffset @particles[i].y = @startingy + @yoffset
@@ -309,14 +308,12 @@ class ParticleEffect_Event < ParticleEffect
@particlex[i] = 0.0 @particlex[i] = 0.0
@particley[i] = 0.0 @particley[i] = 0.0
end end
else elsif @opacity[i] <= 0
if @opacity[i] <= 0 @opacity[i] = 250
@opacity[i] = 250 @particles[i].y = @startingy + @yoffset
@particles[i].y = @startingy + @yoffset @particles[i].x = @startingx + @xoffset
@particles[i].x = @startingx + @xoffset @particlex[i] = 0.0
@particlex[i] = 0.0 @particley[i] = 0.0
@particley[i] = 0.0
end
end end
calcParticlePos(i) calcParticlePos(i)
if @randomhue == 1 if @randomhue == 1
@@ -333,26 +330,26 @@ class ParticleEffect_Event < ParticleEffect
def calcParticlePos(i) def calcParticlePos(i)
@leftright = rand(2) @leftright = rand(2)
if @leftright == 1 if @leftright == 1
xo = -@xgravity*1.0 / @slowdown xo = -@xgravity.to_f / @slowdown
else else
xo = @xgravity*1.0 / @slowdown xo = @xgravity.to_f / @slowdown
end end
yo = -@ygravity*1.0 / @slowdown yo = -@ygravity.to_f / @slowdown
@particlex[i] += xo @particlex[i] += xo
@particley[i] += yo @particley[i] += yo
@particlex[i] -= @__offsetx @particlex[i] -= @__offsetx
@particley[i] -= @__offsety @particley[i] -= @__offsety
@particlex[i] = @particlex[i].floor @particlex[i] = @particlex[i].floor
@particley[i] = @particley[i].floor @particley[i] = @particley[i].floor
@particles[i].x = @particlex[i]+@startingx+@xoffset @particles[i].x = @particlex[i] + @startingx + @xoffset
@particles[i].y = @particley[i]+@startingy+@yoffset @particles[i].y = @particley[i] + @startingy + @yoffset
end end
def dispose def dispose
for particle in @particles @particles.each do |particle|
particle.dispose particle.dispose
end end
for bitmap in @bitmaps.values @bitmaps.values.each do |bitmap|
bitmap.dispose bitmap.dispose
end end
@particles.clear @particles.clear
@@ -363,34 +360,34 @@ end
class Particle_Engine::Fire < ParticleEffect_Event class Particle_Engine::Fire < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([0,0,1,20,40,0.5,-64, setParameters([0, 0, 1, 20, 40, 0.5, -64,
Graphics.height,-64,Graphics.width,0.5,0.10,-5,-13,30,0]) Graphics.height, -64, Graphics.width, 0.5, 0.10, -5, -13, 30, 0])
initParticles("particle",250) initParticles("particle", 250)
end end
end end
class Particle_Engine::Smoke < ParticleEffect_Event class Particle_Engine::Smoke < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([0,0,0,80,20,0.5,-64, setParameters([0, 0, 0, 80, 20, 0.5, -64,
Graphics.height,-64,Graphics.width,0.5,0.10,-5,-15,5,80]) Graphics.height, -64, Graphics.width, 0.5, 0.10, -5, -15, 5, 80])
initParticles("smoke",250) initParticles("smoke", 250)
end end
end end
class Particle_Engine::Teleport < ParticleEffect_Event class Particle_Engine::Teleport < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([1,1,1,10,rand(360),1,-64, setParameters([1, 1, 1, 10, rand(360), 1, -64,
Graphics.height,-64,Graphics.width,0,3,-8,-15,20,0]) Graphics.height, -64, Graphics.width, 0, 3, -8, -15, 20, 0])
initParticles("wideportal",250) initParticles("wideportal", 250)
for i in 0...@maxparticless @maxparticless.times do |i|
@particles[i].ox = 16 @particles[i].ox = 16
@particles[i].oy = 16 @particles[i].oy = 16
end end
@@ -400,56 +397,56 @@ end
class Particle_Engine::Spirit < ParticleEffect_Event class Particle_Engine::Spirit < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([1,0,1,20,rand(360),0.5,-64, setParameters([1, 0, 1, 20, rand(360), 0.5, -64,
Graphics.height,-64,Graphics.width,0.5,0.10,-5,-13,30,0]) Graphics.height, -64, Graphics.width, 0.5, 0.10, -5, -13, 30, 0])
initParticles("particle",250) initParticles("particle", 250)
end end
end end
class Particle_Engine::Explosion < ParticleEffect_Event class Particle_Engine::Explosion < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([0,0,1,20,0,0.5,-64, setParameters([0, 0, 1, 20, 0, 0.5, -64,
Graphics.height,-64,Graphics.width,0.5,0.10,-5,-13,30,0]) Graphics.height, -64, Graphics.width, 0.5, 0.10, -5, -13, 30, 0])
initParticles("explosion",250) initParticles("explosion", 250)
end end
end end
class Particle_Engine::Aura < ParticleEffect_Event class Particle_Engine::Aura < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([0,0,1,20,0,1,-64, setParameters([0, 0, 1, 20, 0, 1, -64,
Graphics.height,-64,Graphics.width,2,2,-5,-13,30,0]) Graphics.height, -64, Graphics.width, 2, 2, -5, -13, 30, 0])
initParticles("particle",250) initParticles("particle", 250)
end end
end end
class Particle_Engine::Soot < ParticleEffect_Event class Particle_Engine::Soot < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([0,0,0,20,0,0.5,-64, setParameters([0, 0, 0, 20, 0, 0.5, -64,
Graphics.height,-64,Graphics.width,0.5,0.10,-5,-15,5,80]) Graphics.height, -64, Graphics.width, 0.5, 0.10, -5, -15, 5, 80])
initParticles("smoke",100,0,2) initParticles("smoke", 100, 0, 2)
end end
end end
class Particle_Engine::SootSmoke < ParticleEffect_Event class Particle_Engine::SootSmoke < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([0,0,0,30,0,0.5,-64, setParameters([0, 0, 0, 30, 0, 0.5, -64,
Graphics.height,-64,Graphics.width,0.5,0.10,-5,-15,5,80]) Graphics.height, -64, Graphics.width, 0.5, 0.10, -5, -15, 5, 80])
initParticles("smoke",100,0) initParticles("smoke", 100, 0)
for i in 0...@maxparticless @maxparticless.times do |i|
@particles[i].blend_type = rand(6) < 3 ? 1 : 2 @particles[i].blend_type = rand(6) < 3 ? 1 : 2
end end
end end
@@ -458,23 +455,23 @@ end
class Particle_Engine::Rocket < ParticleEffect_Event class Particle_Engine::Rocket < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([0,0,0,60,0,0.5,-64, setParameters([0, 0, 0, 60, 0, 0.5, -64,
Graphics.height,-64,Graphics.width,0.5,0,-5,-15,5,80]) Graphics.height, -64, Graphics.width, 0.5, 0, -5, -15, 5, 80])
initParticles("smoke",100,-1) initParticles("smoke", 100, -1)
end end
end end
class Particle_Engine::FixedTeleport < ParticleEffect_Event class Particle_Engine::FixedTeleport < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([1,0,1,10,rand(360),1, setParameters([1, 0, 1, 10, rand(360), 1,
-Graphics.height,Graphics.height,0,Graphics.width,0,3,-8,-15,20,0]) -Graphics.height, Graphics.height, 0, Graphics.width, 0, 3, -8, -15, 20, 0])
initParticles("wideportal",250) initParticles("wideportal", 250)
for i in 0...@maxparticless @maxparticless.times do |i|
@particles[i].ox = 16 @particles[i].ox = 16
@particles[i].oy = 16 @particles[i].oy = 16
end end
@@ -485,12 +482,12 @@ end
# By Peter O. # By Peter O.
class Particle_Engine::StarTeleport < ParticleEffect_Event class Particle_Engine::StarTeleport < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([0,0,1,10,0,1, setParameters([0, 0, 1, 10, 0, 1,
-Graphics.height,Graphics.height,0,Graphics.width,0,3,-8,-15,10,0]) -Graphics.height, Graphics.height, 0, Graphics.width, 0, 3, -8, -15, 10, 0])
initParticles("star",250) initParticles("star", 250)
for i in 0...@maxparticless @maxparticless.times do |i|
@particles[i].ox = 48 @particles[i].ox = 48
@particles[i].oy = 48 @particles[i].oy = 48
end end
@@ -500,64 +497,64 @@ end
class Particle_Engine::Smokescreen < ParticleEffect_Event class Particle_Engine::Smokescreen < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([0,0,0,250,0,0.2,-64, setParameters([0, 0, 0, 250, 0, 0.2, -64,
Graphics.height,-64,Graphics.width,0.8,0.8,-5,-15,5,80]) Graphics.height, -64, Graphics.width, 0.8, 0.8, -5, -15, 5, 80])
initParticles(nil,100) initParticles(nil, 100)
for i in 0...@maxparticless @maxparticless.times do |i|
rnd = rand(3) rnd = rand(3)
@opacity[i] = (rnd==0) ? 1 : 100 @opacity[i] = (rnd == 0) ? 1 : 100
filename = (rnd==0) ? "explosionsmoke" : "smoke" filename = (rnd == 0) ? "explosionsmoke" : "smoke"
@particles[i].bitmap = loadBitmap(filename, @hue) @particles[i].bitmap = loadBitmap(filename, @hue)
end end
end end
def calcParticlePos(i) def calcParticlePos(i)
if @randomhue==1 if @randomhue == 1
filename = (rand(3)==0) ? "explosionsmoke" : "smoke" filename = (rand(3) == 0) ? "explosionsmoke" : "smoke"
@particles[i].bitmap = loadBitmap(filename, @hue) @particles[i].bitmap = loadBitmap(filename, @hue)
end end
multiple = 1.7 multiple = 1.7
xgrav = @xgravity*multiple/@slowdown xgrav = @xgravity * multiple / @slowdown
xgrav = -xgrav if (rand(2)==1) xgrav = -xgrav if rand(2) == 1
ygrav = @ygravity*multiple/@slowdown ygrav = @ygravity * multiple / @slowdown
ygrav = -ygrav if (rand(2)==1) ygrav = -ygrav if rand(2) == 1
@particlex[i] += xgrav @particlex[i] += xgrav
@particley[i] += ygrav @particley[i] += ygrav
@particlex[i] -= @__offsetx @particlex[i] -= @__offsetx
@particley[i] -= @__offsety @particley[i] -= @__offsety
@particlex[i] = @particlex[i].floor @particlex[i] = @particlex[i].floor
@particley[i] = @particley[i].floor @particley[i] = @particley[i].floor
@particles[i].x = @particlex[i]+@startingx+@xoffset @particles[i].x = @particlex[i] + @startingx + @xoffset
@particles[i].y = @particley[i]+@startingy+@yoffset @particles[i].y = @particley[i] + @startingy + @yoffset
end end
end end
class Particle_Engine::Flare < ParticleEffect_Event class Particle_Engine::Flare < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([0,0,1,30,10,1,-64, setParameters([0, 0, 1, 30, 10, 1, -64,
Graphics.height,-64,Graphics.width,2,2,-5,-12,30,0]) Graphics.height, -64, Graphics.width, 2, 2, -5, -12, 30, 0])
initParticles("particle",255) initParticles("particle", 255)
end end
end end
class Particle_Engine::Splash < ParticleEffect_Event class Particle_Engine::Splash < ParticleEffect_Event
def initialize(event,viewport) def initialize(event, viewport)
super super
setParameters([0,0,1,30,255,1,-64, setParameters([0, 0, 1, 30, 255, 1, -64,
Graphics.height,-64,Graphics.width,4,2,-5,-12,30,0]) Graphics.height, -64, Graphics.width, 4, 2, -5, -12, 30, 0])
initParticles("smoke",50) initParticles("smoke", 50)
end end
def update def update
super super
for i in 0...@maxparticless @maxparticless.times do |i|
@particles[i].opacity = 50 @particles[i].opacity = 50
@particles[i].update @particles[i].update
end end
@@ -569,8 +566,9 @@ end
class Game_Event < Game_Character class Game_Event < Game_Character
attr_accessor :pe_refresh attr_accessor :pe_refresh
alias nf_particles_game_map_initialize initialize alias nf_particles_game_map_initialize initialize unless method_defined?(:nf_particles_game_map_initialize)
def initialize(map_id,event,map=nil)
def initialize(map_id, event, map = nil)
@pe_refresh = false @pe_refresh = false
begin begin
nf_particles_game_map_initialize(map_id, event, map) nf_particles_game_map_initialize(map_id, event, map)
@@ -579,7 +577,8 @@ class Game_Event < Game_Character
end end
end end
alias nf_particles_game_map_refresh refresh alias nf_particles_game_map_refresh refresh unless method_defined?(:nf_particles_game_map_refresh)
def refresh def refresh
nf_particles_game_map_refresh nf_particles_game_map_refresh
@pe_refresh = true @pe_refresh = true

View File

@@ -5,7 +5,7 @@ class Player < Trainer
attr_accessor :has_snag_machine attr_accessor :has_snag_machine
attr_accessor :seen_purify_chamber attr_accessor :seen_purify_chamber
alias __shadowPkmn__initialize initialize alias __shadowPkmn__initialize initialize unless method_defined?(:__shadowPkmn__initialize)
def initialize(name, trainer_type) def initialize(name, trainer_type)
__shadowPkmn__initialize(name, trainer_type) __shadowPkmn__initialize(name, trainer_type)
@has_snag_machine = false @has_snag_machine = false

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB