MOG Cursed Weapon V2.0
Publicado em 25 de março de 2014.MOG Cursed Weapon é um script para o RPG Maker XP, desenvolvido pelo Moghunter, que implementa armas amaldiçoadas, que, quando usadas causam no personagem perda de HP, SP ou alguma condição adicionada.
Também adiciona a chance da arma quebrar.
Screenshot

Código
Para instalar basta inserir o código abaixo acima do “Main”:
#_________________________________________________
# MOG_Cursed Weapon V2.0 (Lasted Update 26/05/2007)
#_________________________________________________
# By Moghunter
# http://www.atelier-rgss.com
#_________________________________________________
# Quando o personagem usar uma arma amaldiçoada ele
#receberá dano de hp, sp ou será adicionado uma condição.
# Adiciona a chance da arma quebrar.
#__________________________________________________
module MOG
#Apresentar o texto ou o valor real do dano.
CURSED_DAM_TEXT = true
#Definição do texto.
CURSED_TEXT = "Cursed Weapon"
#Definição do audio quando a arma é almadiçoada.
CURSED_SE = RPG::AudioFile.new("144-Support02", 100, 100)
#Definição do texto quando a arma é quebrada.
BROKEN_SWORD_TEXT = "Weapon Broken"
#Definição do audio quando a arma é quebrada.
BROKEN_SE = RPG::AudioFile.new("097-Attack09", 100, 50)
#Definição das armas que causam dano de HP e a
#sua % de dano ou a ID do Status.
#
# HPDAM = {A=>B ,A=>B,...}
#
# A = ID da arma
# B = % de dano ,ID do status ou a chance de quebrar.
#
#CAUSAR DANO DE HP.(% de dano)
HPDAM = {
29=>5 , #Bronze Rod
3=>30 , #Steel Sword
4=>15 #Mythril Sword
}
#CAUSAR DANO DE SP.(% de dano)
SPDAM = {
5=>6 , #Bronze Spear
6=>10 , #Iron Spear
7=>3 , #Steel Spear
8=>32 #Mythril Spear
}
#ADICIONAR UMA CONDIÇÃO.(ID do Status)
STDAM = {
10=>2 , #Iron Axe
11=>3 , #Steel Axe
12=>4 , #Mythril Axe
25=>1 #Bronze Mace
}
#Porcentagem de chance para quebrar a arma.
BROKEN_PERCE = {
1=>100, #Bronze Sword
14=>30, #Iron Knife
15=>50, #Steel Knife
16=>12 #Mythril Knife
}
#__________________________________________________
end
$mogscript = {} if $mogscript == nil
$mogscript["cursed_weapon"] = true
################
# Scene_Battle #
################
class Scene_Battle
include MOG
alias mog27_update_phase4_step5 update_phase4_step5
def update_phase4_step5
mog27_update_phase4_step5
for target in @target_battlers
if target.is_a?(Game_Enemy) and target.damage != "Miss"
battler = @active_battler
if battler.current_action.kind == 0 and battler.current_action.basic == 0
weapon_cursed_hp = HPDAM[battler.weapon_id]
if weapon_cursed_hp != nil and battler.damage == nil
dmg = battler.maxhp * weapon_cursed_hp / 100
battler.hp -= dmg
$game_system.se_play(CURSED_SE)
$game_screen.start_flash(Color.new(150,150,0,150), 20)
if CURSED_DAM_TEXT == true
battler.damage = CURSED_TEXT
else
battler.damage = dmg
end
battler.damage_pop = true
end
weapon_cursed_sp = SPDAM[battler.weapon_id]
if weapon_cursed_sp != nil and battler.damage == nil
dmg = battler.maxsp * weapon_cursed_sp / 100
battler.sp -= dmg
$game_system.se_play(CURSED_SE)
$game_screen.start_flash(Color.new(0,150,150,150), 20)
if CURSED_DAM_TEXT == true
battler.damage = CURSED_TEXT
else
battler.damage = "-SP " + dmg.to_s
end
battler.damage_pop = true
end
weapon_cursed_st = STDAM[battler.weapon_id]
if weapon_cursed_st != nil and battler.damage == nil
battler.add_state(weapon_cursed_st)
$game_system.se_play(CURSED_SE)
$game_screen.start_flash(Color.new(150,0,150,150), 20)
if CURSED_DAM_TEXT == true
battler.damage = CURSED_TEXT
else
stname = $data_states[weapon_cursed_st].name rescue nil
battler.damage = stname.to_s
end
battler.damage_pop = true
end
weapon_broken = BROKEN_PERCE[battler.weapon_id]
if weapon_broken != nil and rand(100) < weapon_broken and battler.damage == nil
$game_screen.start_flash(Color.new(250,150,0,150), 20)
$game_screen.start_shake(5,10,20)
wb = battler.weapon_id
battler.equip(0, 0)
$game_party.lose_weapon(wb, 1)
$game_system.se_play(BROKEN_SE)
battler.damage_pop = true
battler.damage = BROKEN_SWORD_TEXT
end
end
end
end
end
endInformações adicionais
- Categoria: Programação XP
- Tag: RPG Maker XP
- Adicionado por: LichKing
- Acessos: 43
Link deste post:
Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!

Post muito bom ! Queria saber se funciona no VX/ACE?
Creio que não, a não ser que exista algum modo de compatibilidade de RGSS.