- 注册时间
- 2005-2-1
- 最后登录
- 2007-1-7
⑥精研
不灌水者
- 积分
- 2494
|
发表于 2006-7-29 17:03:41
|
显示全部楼层
让每把武器都有ID就行,这样就可以打造独有的武器了,脚本如下
class Game_Party
def gain_weapon(weapon_id, n)
if weapon_id > 0
if $scene.is_a?(Scene_Shop)
for d in 0..n
new_weapon = $data_weapons[weapon_id].clone
new_weapon.id = $data_weapons.size
$data_weapons.push(new_weapon)
for i in 1...$data_classes.size
if $data_classes.weapon_set.include?(weapon_id)
$data_classes.weapon_set.push(new_weapon.id)
end
end
@weapons[new_weapon.id] = [[weapon_number(new_weapon.id) + 1, 0].max, 99].min
end
elsif $scene.is_a?(Scene_Equip)
@weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
else
for d in 0...n
add_atk = rand(10)
new_weapon = $data_weapons[weapon_id].clone
new_weapon.id = $data_weapons.size
new_weapon.name = $data_weapons[weapon_id].name
a_atk=1
b_atk=1
b=rand(2)
if b == 0
new_weapon.name = "卓越的"+new_weapon.name
if new_weapon.element_set.include?(17)
else
new_weapon.element_set.push(17)
end
if new_weapon.minus_state_set.include?(17)
else
new_weapon.minus_state_set.push(17)
end
if new_weapon.plus_state_set.include?(17)
else
new_weapon.plus_state_set.push(17)
end
else
new_weapon.name = "一般的"+new_weapon.name
end
c=rand(2)
if c == 0
new_weapon.name = new_weapon.name+"·屠龙"
else
new_weapon.name = new_weapon.name+"·混沌之血"
b_atk=100
end
if add_atk<0
new_weapon.name = new_weapon.name+"-"+add_atk.abs.to_s
else
new_weapon.name = new_weapon.name+"+"+add_atk.abs.to_s
end
new_weapon.atk = $data_weapons[weapon_id].atk+add_atk+a_atk+b_atk
$data_weapons.push(new_weapon)
for i in 1...$data_classes.size
if $data_classes.weapon_set.include?(weapon_id)
$data_classes.weapon_set.push(new_weapon.id)
end
end
@weapons[new_weapon.id] = [[weapon_number(new_weapon.id) + 1, 0].max, 99].min
end
end
end
end
def lose_weapon(weapon_id, n)
if weapon_id > 0
@weapons[weapon_id] = [[weapon_number(weapon_id) - n, 0].max, 99].min
end
end
def gain_armor(armor_id, n)
if armor_id > 0
if $scene.is_a?(Scene_Shop)
for d in 0..n
new_armor = $data_armors[armor_id].clone
new_armor.id = $data_armors.size
$data_armors.push(new_armor)
for i in 1...$data_classes.size
if $data_classes.armor_set.include?(armor_id)
$data_classes.armor_set.push(new_armor.id)
end
end
@armors[new_armor.id] = [[armor_number(new_armor.id) + 1, 0].max, 99].min
end
elsif $scene.is_a?(Scene_Equip)
@armors[armor_id] = [[armor_number(armor_id) + n, 0].max, 99].min
else
for d in 0...n
add_atk = rand(10)
new_armor = $data_armors[armor_id].clone
new_armor.id = $data_armors.size
new_armor.name = $data_armors[armor_id].name
$data_armors.push(new_armor)
for i in 1...$data_classes.size
if $data_classes.armor_set.include?(armor_id)
$data_classes.armor_set.push(new_armor.id)
end
end
@armors[new_armor.id] = [[armor_number(new_armor.id) + 1, 0].max, 99].min
end
end
end
end
def lose_armor(armor_id, n)
if armor_id > 0
@armors[armor_id] = [[armor_number(armor_id) - n, 0].max, 99].min
end
end
end |
|