12-26-2005, 01:00 PM
Guedez's Dragon Transformation
by Guedez
V1.1
Dec 26 2005
Demo:
Unavaliable
Fixed:
-everyone was losing Sp every turn
-when it died, and you tried to transform again it back with 1 life
-Iten Window that was showing the stones
What it do?
- With this you can "transform yourself" into an crature (or another character) depending of an combination of stones
- Every turn that the character is transformed he loses 1/5 of the intinal sp cost
- if his life, or Sp comes to 0 he untransform
- if the battle end and he is transformed, he untransform
- you can use Reverse stone, it revert element and atributes (do not revert max sp and max hp) default id = 65
exemple, if you have 100 str and 50 int, with reverse you get (while transformade) 50 str and 100 int
- Mutation stone, it randomize from 1 to 200% of all atributes (do not change hp or sp)
Note:
this is only the basic you can transform one character only.
if anyone want to upgrade this i will realy apreciate, because its too poor... BUT WORK
by Guedez
V1.1
Dec 26 2005
This is a locked, single-post thread from Creation Asylum. Archived here to prevent its loss.
No support is given. If you are the owner of the thread, please contact administration.
No support is given. If you are the owner of the thread, please contact administration.
Demo:
Unavaliable
Fixed:
-everyone was losing Sp every turn
-when it died, and you tried to transform again it back with 1 life
-Iten Window that was showing the stones
What it do?
- With this you can "transform yourself" into an crature (or another character) depending of an combination of stones
- Every turn that the character is transformed he loses 1/5 of the intinal sp cost
- if his life, or Sp comes to 0 he untransform
- if the battle end and he is transformed, he untransform
- you can use Reverse stone, it revert element and atributes (do not revert max sp and max hp) default id = 65
exemple, if you have 100 str and 50 int, with reverse you get (while transformade) 50 str and 100 int
- Mutation stone, it randomize from 1 to 200% of all atributes (do not change hp or sp)
Note:
this is only the basic you can transform one character only.
if anyone want to upgrade this i will realy apreciate, because its too poor... BUT WORK
Code:
#--------------------------------------------------------------
#Basic Acession System
#Made By: Guedez
#Thx To: SephirothSpawn511 and Shinobi Ninja
#--------------------------------------------------------------
#window_item modifications#
class Window_Item < Window_Selectable
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for i in 1...$data_items.size
unless $data_items[i].common_event_id == 1#change the 1 to any
#common event you want, remember, this will not active the
#common event, and dont use another item with
#the same common event, or it will appear too
if $game_party.item_number(i) > 0
@data.push($data_items[i])
end
end
end
unless $game_temp.in_battle
for i in 1...$data_weapons.size
if $game_party.weapon_number(i) > 0
@data.push($data_weapons[i])
end
end
for i in 1...$data_armors.size
if $game_party.armor_number(i) > 0
@data.push($data_armors[i])
end
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
end
#---------------------------------------------------------
#end of Window_Item modifications
#---------------------------------------------------------
#Scene battle Modifications#
class Scene_Battle
def main
$tranformation = []
$game_temp.in_battle = true
$game_temp.battle_turn = 0
$game_temp.battle_event_flags.clear
$game_temp.battle_abort = false
$game_temp.battle_main_phase = false
$game_temp.battleback_name = $game_map.battleback_name
$game_temp.forcing_battler = nil
$game_system.battle_interpreter.setup(nil, 0)
@troop_id = $game_temp.battle_troop_id
$game_troop.setup(@troop_id)
s1 = $data_system.words.attack
s2 = $data_system.words.skill
s3 = $data_system.words.guard
s4 = $data_system.words.item
@actor_command_window = Window_Command.new(160, [s1, s2, s3, s4])
@actor_command_window.y = 160
@actor_command_window.back_opacity = 160
@actor_command_window.height = 160
@actor_command_window.active = false
@actor_command_window.visible = false
@party_command_window = Window_PartyCommand.new
@help_window = Window_Help.new
@help_window.back_opacity = 160
@help_window.visible = false
@status_window = Window_BattleStatus.new
@message_window = Window_Message.new
@spriteset = Spriteset_Battle.new
@wait_count = 0
if $data_system.battle_transition == ""
Graphics.transition(20)
else
Graphics.transition(40, "Graphics/Transitions/" +
$data_system.battle_transition)
end
start_phase1
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
$game_map.refresh
Graphics.freeze
@actor_command_window.dispose
@party_command_window.dispose
@help_window.dispose
@status_window.dispose
@message_window.dispose
if @skill_window != nil
@skill_window.dispose
end
if @item_window != nil
@item_window.dispose
end
if @result_window != nil
@result_window.dispose
end
@spriteset.dispose
if $scene.is_a?(Scene_Title)
Graphics.transition
Graphics.freeze
end
if $BTEST and not $scene.is_a?(Scene_Gameover)
$scene = nil
end
end
#------------------------------------------------------------
def judge
if @transformationid != nil and @transformationid != 0
if $game_actors[@transformationid].hp == 0 or
$game_actors[@transformationid].sp == 0
if $game_actors[@transformationid].hp == 0
$game_actors[@transformationid].hp = 1
end
untransform
untransformm
end
end
if $game_party.all_dead? or $game_party.actors.size == 0
if $game_temp.battle_can_lose
$game_system.bgm_play($game_temp.map_bgm)
battle_end(2)
return true
end
$game_temp.gameover = true
return true
end
for enemy in $game_troop.enemies
if enemy.exist?
return false
end
end
start_phase5
return true
end
#------------------------------------------------------------
def battle_end(result)
$game_temp.in_battle = false
$game_party.clear_actions
for actor in $game_party.actors
actor.remove_states_battle
end
$game_troop.enemies.clear
if $game_temp.battle_proc != nil
$game_temp.battle_proc.call(result)
$game_temp.battle_proc = nil
end
$scene = Scene_Map.new
end
#------------------------------------------------------------
def update_phase3
if @enemy_arrow != nil
update_phase3_enemy_select
elsif @actor_arrow != nil
update_phase3_actor_select
elsif @skill_window != nil
update_phase3_skill_select
elsif @item_window != nil
update_phase3_item_select
elsif @dragon_stones != nil
if @dragon_stones.active == true
update_phase3_dragon_select
elsif @okwindow.active == true
update_dragon_transform
end
elsif @actor_command_window.active
update_phase3_basic_command(@active_battler)
end
end
#------------------------------------------------------------
def update_phase3_skill_select
@skill_window.visible = true
@skill_window.update
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
end_skill_select
return
end
if Input.trigger?(Input::C)
@skill = @skill_window.skill
if @skill.name == "Acession" #chance "Acession" to the name of your
#transformation skill
$game_system.se_play($data_system.decision_se)
end_skill_select
scene_acession(@active_battler.id)
end
if @skill.name == "Restore Form" #chance "Restore Form" to the name of your
#untransformation skill
@active_battler.current_action.kind = 4
end_skill_select
phase3_next_actor
end
if @skill == nil or not @active_battler.skill_can_use?(@skill.id) and not @skill.name == "Acession"
$game_system.se_play($data_system.buzzer_se)
return
end
if not @skill.name == "Acession" and not
@skill.name == "Restore Form" #here too
$game_system.se_play($data_system.decision_se)
@active_battler.current_action.skill_id = @skill.id
@skill_window.visible = false
if @skill.scope == 1
start_enemy_select
elsif @skill.scope == 3 or @skill.scope == 5
start_actor_select
else
end_skill_select
phase3_next_actor
end
return
end
end
end
#------------------------------------------------------------
def update_phase4_step2
unless @active_battler.current_action.forcing
if @active_battler.restriction == 2 or @active_battler.restriction == 3
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 0
end
if @active_battler.restriction == 4
$game_temp.forcing_battler = nil
@phase4_step = 1
return
end
end
@target_battlers = []
case @active_battler.current_action.kind
when 0
make_basic_action_result
when 1
make_skill_action_result
when 2
make_item_action_result
when 3
transform
when 4
untransform
end
if @phase4_step == 2
@phase4_step = 3
end
end
#------------------------------------------------------------
def update_phase4_step4
for target in @target_battlers
target.animation_id = @animation2_id
target.animation_hit = (target.damage != "Errou!")
end
@wait_count = 8
if @transformationsize != nil and @transformationsize !=0
transformationn
elsif @restoreform == true
untransformm
else
@phase4_step = 5
end
end
#--------------------------------------------------
def update_phase4_step6
$game_temp.forcing_battler = nil
if @common_event_id > 0
common_event = $data_common_events[@common_event_id]
$game_system.battle_interpreter.setup(common_event.list, 0)
end
if @transformationid != nil and @transformationid != 0 and @active_battler.id == @transformationid
$game_actors[@transformationid].sp -= @spcost / 5
$game_actors[@transformationid].damage = @spcost / 5
$game_actors[@transformationid].damage_pop = true
@status_window.refresh
end
@phase4_step = 1
end
#------------------------------------------------------------
def start_phase5
if @transformationid != 0
untransform
untransformm
end
@phase = 5
$game_system.me_play($game_system.battle_end_me)
$game_system.bgm_play($game_temp.map_bgm)
exp = 0
gold = 0
treasures = []
for enemy in $game_troop.enemies
unless enemy.hidden
exp += enemy.exp
gold += enemy.gold
if rand(100) < enemy.treasure_prob
if enemy.item_id > 0
treasures.push($data_items[enemy.item_id])
end
if enemy.weapon_id > 0
treasures.push($data_weapons[enemy.weapon_id])
end
if enemy.armor_id > 0
treasures.push($data_armors[enemy.armor_id])
end
end
end
end
treasures = treasures[0..5]
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
if actor.cant_get_exp? == false
last_level = actor.level
actor.exp += exp
if actor.level > last_level
@status_window.level_up(i)
end
end
end
$game_party.gain_gold(gold)
for item in treasures
case item
when RPG::Item
$game_party.gain_item(item.id, 1)
when RPG::Weapon
$game_party.gain_weapon(item.id, 1)
when RPG::Armor
$game_party.gain_armor(item.id, 1)
end
end
@result_window = Window_BattleResult.new(exp, gold, treasures)
@phase5_wait_count = 100
end
#------------------------------------------------------------
def make_action_orders
@action_battlers = []
for enemy in $game_troop.enemies
@action_battlers.push(enemy)
end
for actor in $game_party.actors
@action_battlers.push(actor)
end
for battler in @action_battlers
battler.make_action_speed
end
@action_battlers.sort! {|a,b|
b.current_action.speed - a.current_action.speed }
end
end
#------------------------------------------------------------
#END OF BATTLE MODIFICATIONS
#------------------------------------------------------------
#------------------------------------------------------------
class Scene_Battle
#------------------------------------------------------------
=begin
This space is for the most important part of the script, the stones
If you dont want any bug, give the stone a name, and an common event
id, the default is 1, you can change it in lines 16 and 583
they will define what dragon he will transform, the definitions are in
lines 636 to 772 (default ones), also the default stones are
id = 1, id = 2, id = 3, you can change it in those lines too.
=end
def scene_acession(actorid)
@transformationanimation1 = 101 #this is the id of the before
#transformation animation
@transformationanimation2 = 102 #this is the id of the after
#transformation animation
@actorid = actorid
$selectedstones = []
@actor_command_window.active = false
@actor_command_window.visible = false
@status_window.visible = false
@actorid = actorid
start_item_dragon
end
#------------------------------------------------------------
def update_dragon_transform
@actor_command_window.active == false
@actor_command_window.visible == false
@dragon_stones.visible = true
@okwindow.update
if Input.trigger?(Input::A) #when you want to change the stone selection
#cursor to transform you must press "A"
$game_system.se_play($data_system.decision_se)
@dragon_stones.active = true
@okwindow.active = false
end
if Input.trigger?(Input::C)
case @okwindow.index
when 0
@active_battler.current_action.kind = 3
for @item in $selectedstones
$game_party.gain_item(@item.id, 1)
end
end_item_dragon
end_skill_select
phase3_next_actor
when 1
for @item in $selectedstones
$game_party.gain_item(@item.id, 1)
end
$selectedstones = []
@okwindow.index = 0
@dragon_stones.active = true
@okwindow.active = false
@dragon_stones.refresh
@selected_stones.refresh
when 2
$game_system.se_play($data_system.cancel_se)
for @item in $selectedstones
$game_party.gain_item(@item.id, 1)
end
end_item_dragon
return
end
end
end
#------------------------------------------------------------
def update_phase3_dragon_select
@actor_command_window.active == false
@actor_command_window.visible == false
@dragon_stones.visible = true
@dragon_stones.update
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
for @item in $selectedstones
$game_party.gain_item(@item.id, 1)
end
end_item_dragon
return
end
if Input.trigger?(Input::A)
$game_system.se_play($data_system.decision_se)
@dragon_stones.active = false
@okwindow.active = true
end
if Input.trigger?(Input::C)
@item = @dragon_stones.item
if @item != nil
$game_system.se_play($data_system.decision_se)
if $selectedstones.size < 3
$selectedstones.push(@item)
$game_party.lose_item(@item.id, 1)
@dragon_stones.refresh
@selected_stones.refresh
else
$game_system.se_play($data_system.decision_se)
@dragon_stones.active = false
@okwindow.active = true
end
else
$game_system.se_play($data_system.buzzer_se)
end
end
end
#------------------------------------------------------------------------
alias guedez_make_skill_result make_skill_action_result
def make_skill_action_result
unless @skill.name == "Acession" or "Restore Form"
guedez_make_skill_result
end
end
def start_item_dragon
s1 = "Transform"#change the text if you want
s2 = "Clear"#change the text if you want
s3 = "Cancel"#change the text if you want
@okwindow = Window_Command.new(190, [s1, s2, s3])
@okwindow.x=450
@okwindow.y=64
@okwindow.width=190
@okwindow.height = 136
@okwindow.active = false
@dragon_stones = Dragon_Stones.new
@dragon_stones.z = 1000
@dragon_stones.help_window = @help_window
@selected_stones = Selected_Stones.new
@actor_command_window.active = false
@actor_command_window.visible = false
end
#----------------------------------------------------------
def end_item_dragon
@okwindow.dispose
@dragon_stones.dispose
@selected_stones.dispose
@dragon_stones = nil
@actor_command_window.active = true
@actor_command_window.visible = true
@status_window.visible = true
start_skill_select
end
end
#------------------------------------------------------------
class Ok_window < Window_Selectable
def initialize
super(450, 64, 190,136)
self.index = 0
end
end
#------------------------------------------------------------
class Selected_Stones < Window_Selectable
#------------------------------------------------------------
def initialize
super(0, 64, 450,136)
@animation = 1
@column_max = 1
refresh
self.index = 0
end
#------------------------------------------------------------
def item
return $selectedstones[self.index]
end
#------------------------------------------------------------
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@item_max = $selectedstones.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
#------------------------------------------------------------
def draw_item(index)
update_cursor_rect
item = $selectedstones[index]
x = index % @column_max * 32
y = index / @column_max * 32
rect = Rect.new(x, y, 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
bitmap = RPG::Cache.icon(item.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(x, y , bitmap, Rect.new(0, 0, 32, 32), opacity)
self.contents.draw_text(x + 28, y, 640 / @column_max, 32, item.name, 0)
end
end
#------------------------------------------------------------
class Dragon_Stones < Window_Selectable
#------------------------------------------------------------
def initialize
super(0, 200, 640,280)
@animation = 0
@column_max = 5
refresh
self.index = 0
end
#------------------------------------------------------------
def item
return @data[self.index]
end
#------------------------------------------------------------
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
if @animation < 5
@animation +=1
elsif @animation > 4
@animation = 1
end
@data = []
for i in 1...$data_items.size
if $game_party.item_number(i) > 0
if $data_items[i].common_event_id == 1#change the 1 to any
#common event you want, remember, this will not active the
#common event, and dont use another item with
#the same common event, or it will appear too
@data.push($data_items[i])
end
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 64, row_max * 64)
for i in 0...@item_max
draw_item(i)
end
end
end
#------------------------------------------------------------
def draw_item(index)
item = @data[index]
x = index % @column_max * 640 / @column_max
y = index / @column_max * 32
rect = Rect.new(x, y, 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
bitmap = RPG::Cache.icon(item.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(x, y , bitmap, Rect.new(0, 0, 32, 32), opacity)
self.contents.draw_text(x + 28, y, 640 / @column_max, 32, item.name, 0)
end
#------------------------------------------------------------
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
@help_window.opacity = 255
end
#------------------------------------------------------------
end
def transform
@stoneid=[]
@spcost = 0
@transformationsize = 0
@element = ""
@str = 0
@dex = 0
@agi = 0
@int = 0
@maxhp = $game_actors[@active_battler.id].maxhp
@str = $game_actors[@active_battler.id].str
@agi = $game_actors[@active_battler.id].agi
@dex = $game_actors[@active_battler.id].dex
@int = $game_actors[@active_battler.id].int
@maxsp = $game_actors[@active_battler.id].maxsp
for @item in $selectedstones
@stoneid.push(@item.id)
end
for i in @stoneid #this ask for the iten id that you crated
#(the onde with common_event == 1)
case i
when 52 #so define the iten id, and what it do
@spcost += 5 #make the transformation cost more 150sp (change plz)
@transformationsize += 1#make the transformation size change in 1
#later explaained why
@element += "fogo" #give it a element
@maxhp *= 115 #plus hp in 100X
@maxhp /= 100 #divide hp by 85, so it get an 100/85 hp plus
when 53
@spcost += 5 #exactaly the same, but with gelo
@transformationsize += 1
@element += "gelo"
@maxhp *= 115
@maxhp /= 100
when 54
@spcost += 5 #with trov�o
@transformationsize += 1
@element += "trov�o"
@maxhp *= 115
@maxhp /= 100
@str *= 100
@str /= 100
@dex *= 100
@dex /= 100
@agi *= 100
@agi /= 100
@int *= 100
@int /= 100
when 55
@spcost += 5 #with trov�o
@transformationsize += 1
@element += "terra"
@maxhp *= 115
@maxhp /= 100
@str *= 100
@str /= 100
@dex *= 100
@dex /= 100
@agi *= 100
@agi /= 100
@int *= 100
@int /= 100
when 56
@spcost += 8 #with trov�o
@transformationsize += 1
@element += "luz"
@maxhp *= 115
@maxhp /= 100
@str *= 100
@str /= 100
@dex *= 100
@dex /= 100
@agi *= 100
@agi /= 100
@int *= 100
@int /= 100
when 57
@spcost += 8 #with trov�o
@transformationsize += 1
@element += "trevas"
@maxhp *= 115
@maxhp /= 100
@str *= 100
@str /= 100
@dex *= 100
@dex /= 100
@agi *= 100
@agi /= 100
@int *= 100
@int /= 100
when 58
@spcost += 15 #with trov�o
@transformationsize += 2
@maxhp *= 100
@maxhp /= 100
@str *= 125
@str /= 100
@dex *= 100
@dex /= 100
@agi *= 100
@agi /= 100
@int *= 100
@int /= 100
when 59
@spcost += 15 #with trov�o
@transformationsize += 2
@maxhp *= 100
@maxhp /= 100
@str *= 100
@str /= 100
@dex *= 125
@dex /= 100
@agi *= 100
@agi /= 100
@int *= 100
@int /= 100
when 60
@spcost += 15 #with trov�o
@transformationsize += 2
@maxhp *= 100
@maxhp /= 100
@str *= 100
@str /= 100
@dex *= 100
@dex /= 100
@agi *= 125
@agi /= 100
@int *= 100
@int /= 100
when 61
@spcost += 15 #with trov�o
@transformationsize += 2
@maxhp *= 100
@maxhp /= 100
@str *= 100
@str /= 100
@dex *= 100
@dex /= 100
@agi *= 100
@agi /= 100
@int *= 125
@int /= 100
when 62
@spcost += 25
@transformationsize += 10
@maxhp *= 125
@maxhp /= 100
@str *= 100
@str /= 100
@dex *= 100
@dex /= 100
@agi *= 100
@agi /= 100
@int *= 100
@int /= 100
when 63
@spcost += 25
@transformationsize += 2
@maxhp *= 150
@maxhp /= 100
@str *= 100
@str /= 100
@dex *= 100
@dex /= 100
@agi *= 100
@agi /= 100
@int *= 100
@int /= 100
when 64
@spcost += 15
@transformationsize += 1
@maxhp *= 100
@maxhp /= 100
@str *= rand(200)
@str /= 100
@dex *= rand(200)
@dex /= 100
@agi *= rand(200)
@agi /= 100
@int *= rand(200)
@int /= 100
when 65
@spcost += 15
@transformationsize += 1
@maxhp *= 100
@maxhp /= 100
str = @int
dex = @agi
agi = @dex
int = @str
@str = str
@dex = dex
@agi = agi
@int = int
@inverse = true
end
end
@ordenedelements = "" #this organizate the elements, so you dont need
#to think about stone order
@invert_elements = ""
if @inverse == true
if @element.include?"gelo"
@invert_elements +="fogo"
end
if @element.include?"fogo"
@invert_elements +="gelo"
end
if @element.include?"terra"
@invert_elements +="trov�o"
end
if @element.include?"trov�o"
@invert_elements +="terra"
end
if @element.include?"trevas"
@invert_elements +="luz"
end
if @element.include?"luz"
@invert_elements +="trevas"
end
else
if @element.include?"fogo"
@ordenedelements +="fogo"
end
if @element.include?"gelo"
@ordenedelements +="gelo"
end
if @element.include?"trov�o"
@ordenedelements +="trov�o"
end
if @element.include?"terra"
@ordenedelements +="terra"
end
if @element.include?"luz"
@ordenedelements +="luz"
end
if @element.include?"trevas"
@ordenedelements +="trevas"
end
if @inverse == true
@ordenedelements = @invert_elements
end
end
@inverse = false
@active_battler.sp -= @spcost
@sp = $game_actors[@active_battler.id].sp
@status_window.refresh
@help_window.set_text("Transform", 1) #this show a text in hep window
#the same when you use a skill..
@animation1_id = @transformationanimation1
update_phase4_step3
end
def transformationn #here go the fun part
unless $game_actors[@active_battler.id].sp < 1 #if he has more than 0 sp
if @transformationsize > 2 #here you use the transformation size
#with this, you can only transform into this dragon, if your
#transformation size is equal or bigger than 3
if @ordenedelements == "fogogelotrov�o"#this ask for the element
$tranformation = (@active_battler.id)
@transformationid = 9 #this is the dragon id, change this
#to the dragon id you want to him transform (they are characters)
$game_party.remove_actor(@active_battler.id)
$game_party.add_actor(@transformationid)
$game_actors[@transformationid].maxhp = @maxhp
$game_actors[@transformationid].hp = @maxhp
$game_actors[@transformationid].sp = @sp
$game_actors[@transformationid].maxsp = @maxsp
$game_actors[@transformationid].str = @str
$game_actors[@transformationid].agi = @agi
$game_actors[@transformationid].dex = @dex
$game_actors[@transformationid].int = @int
end
#another dragon
elsif @transformationsize < 3 #must be less than 3 in size
if @ordenedelements == "fogo" #must be fogo
$tranformation = (@active_battler.id)
@transformationid = 10 #his ID
$game_party.remove_actor(@active_battler.id)
$game_party.add_actor(@transformationid)
$game_actors[@transformationid].maxhp = @maxhp
$game_actors[@transformationid].hp = @maxhp
$game_actors[@transformationid].sp = @sp
$game_actors[@transformationid].maxsp = @maxsp
$game_actors[@transformationid].str = @str
$game_actors[@transformationid].agi = @agi
$game_actors[@transformationid].dex = @dex
$game_actors[@transformationid].int = @int
#another dragon
elsif @ordenedelements == "gelo" #must be gelo
$tranformation = (@active_battler.id)
@transformationid = 11 #his id
$game_party.remove_actor(@active_battler.id)
$game_party.add_actor(@transformationid)
$game_actors[@transformationid].maxhp = @maxhp
$game_actors[@transformationid].hp = @maxhp
$game_actors[@transformationid].sp = @sp
$game_actors[@transformationid].maxsp = @maxsp
$game_actors[@transformationid].str = @str
$game_actors[@transformationid].agi = @agi
$game_actors[@transformationid].dex = @dex
$game_actors[@transformationid].int = @int
# another
elsif @ordenedelements == "trov�o"
$tranformation = (@active_battler.id)
@transformationid = 12 #id
$game_party.remove_actor(@active_battler.id)
$game_party.add_actor(@transformationid)
$game_actors[@transformationid].maxhp = @maxhp
$game_actors[@transformationid].hp = @maxhp
$game_actors[@transformationid].sp = @sp
$game_actors[@transformationid].maxsp = @maxsp
$game_actors[@transformationid].str = @str
$game_actors[@transformationid].agi = @agi
$game_actors[@transformationid].dex = @dex
$game_actors[@transformationid].int = @int
#in case none of those above get selected by
#the event, this last one is the default
#and be sure he is the weakest possible, so no one
#will try to use this
else
$tranformation = (@active_battler.id)
@transformationid = 13 #failure id
$game_party.remove_actor(@active_battler.id)
$game_party.add_actor(@transformationid)
$game_actors[@transformationid].maxhp = @maxhp /2
$game_actors[@transformationid].hp = @maxhp/2
$game_actors[@transformationid].sp = @sp/2
$game_actors[@transformationid].maxsp = @maxsp/2
$game_actors[@transformationid].str = @str /2
$game_actors[@transformationid].agi = @agi /2
$game_actors[@transformationid].dex = @dex /2
$game_actors[@transformationid].int = @int /2
end
end
end
@transformationsize = nil
#thx to Sepirothspawn511
id_array = []
for actor in $game_party.actors
id_array.push(actor)
end
#-------------------------
for actor in id_array
unless actor.id == @transformationid
$game_party.remove_actor(actor.id)
end
end
for actor in id_array
unless actor.id == @transformationid
$game_party.add_actor(actor.id)
end
end
unless $game_actors[@active_battler.id].sp < 1
$game_actors[@transformationid].animation_id = @transformationanimation2
end
end
#--------------------------------------------------------------
def untransform
unless $game_actors[@active_battler.id].hp == 1
@help_window.set_text("Restore Form", 1) #this is like "transform"
#explained above
end
@animation1_id = @transformationanimation1
@restoreform = true
update_phase4_step3
end
def untransformm
id_array = []
for actor in $game_party.actors
id_array.push(actor)
end
@sp = $game_actors[@transformationid].sp
for actor in id_array
unless actor.id == @transformationid
$game_party.remove_actor(actor.id)
end
end
$game_party.add_actor($tranformation)
$game_party.remove_actor(@transformationid)
for actor in id_array
unless actor.id == @transformationid
$game_party.add_actor(actor.id)
end
end
$game_actors[$tranformation].sp = @sp
$game_actors[$tranformation].animation_id = @transformationanimation2
@transformationid = 0
@restoreform = false
end