赞 | 153 |
VIP | 10 |
好人卡 | 39 |
积分 | 93 |
经验 | 146191 |
最后登录 | 2024-5-6 |
在线时间 | 2504 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 9280
- 在线时间
- 2504 小时
- 注册时间
- 2011-5-20
- 帖子
- 15389
|
- #==============================================================================
- # ■ Enemy_property
- #------------------------------------------------------------------------------
- # 确定怪物的属性及伤害等。
- #==============================================================================
- class Enemy_property
- #--------------------------------------------------------------------------
- # ● 初始化状态
- #--------------------------------------------------------------------------
- def initialize(enemyid)
- @enemyid=enemyid
- @enemyid2=enemyid+1
- cal_enemy#计算怪物各种能力
- end
-
- #--------------------------------------------------------------------------
- # ● 计算怪物的各种能力等
- #--------------------------------------------------------------------------
- def cal_enemy
- #属性表
- table=[false,true,false,false,false,false,false]
-
- @orbatk=$game_variables[44]#攻击魔杖
- @orbdef=$game_variables[45]#防御魔杖
- @orbhp=$game_variables[46]#生命魔杖
- @orbatktimes=$game_variables[47]#连击魔杖
- @orbmdef=$game_variables[42]#魔防魔杖
- @first=0#没有先攻的情况下@first=0
- if $game_switches[65]
- else
- @turnatk=$data_enemies[@enemyid].agi#从敌人的AGI中获得连击
- @vampire=$game_actors[$game_variables[1]+1].hp*$data_enemies[@enemyid].eva/100#吸血量
- @reatk=$game_actors[$game_variables[1]+1].hp*$data_enemies[@enemyid].maxsp/100#反弹伤害
- end
- @epdef=0#坚固下的防御
- @blow=0#自爆伤害
- @hate=0#仇恨伤害
- @mhp=$game_actors[$game_variables[1]+1].hp#基础勇生命
- if $game_switches[19]
- @ma=$game_actors[$game_variables[1]+1].agi#基础勇攻
- @md=$game_actors[$game_variables[1]+1].int#基础勇防
- else
- @ma=$game_actors[$game_variables[1]+1].str#基础勇攻
- @md=$game_actors[$game_variables[1]+1].dex#基础勇防
- end
- @maa=$game_actors[$game_variables[1]+2].hp#基础勇攻
- @mdd=$game_actors[$game_variables[1]+2].sp#基础勇防
- @mgs=$game_actors[$game_variables[1]+2].level#基础勇攻速
- @mxx=$game_actors[$game_variables[1]+2].str#基础勇吸血
- @mft=$game_actors[$game_variables[1]+2].dex#基础勇反弹
- @mmz=$game_actors[$game_variables[1]+2].str#基础勇命中
- @msb=$game_actors[$game_variables[1]+2].dex#基础勇闪避
- @kind=0#属性种数
- for i in 1...$data_enemies[@enemyid].element_ranks.xsize
- if table[$data_enemies[@enemyid].element_ranks[i]]
- @kind+=1
- end
- end
- if table[$data_enemies[@enemyid].element_ranks[30]]#坚固
- if $data_enemies[@enemyid].pdef<@ma
- @epdef=(@ma-$game_variables[54]).to_i
- end#只有怪物基础防御小于勇士攻击后才使它的防御等于勇士攻击-1
- end
- if table[$data_enemies[@enemyid].element_ranks[30]]#先 攻
- @first=$game_variables[55]
- end
- if table[$data_enemies[@enemyid].element_ranks[30]]#模 仿
- $data_enemies[@enemyid].atk=(@ma*$game_variables[60]).to_i
- $data_enemies[@enemyid].pdef=(@md*$game_variables[60]).to_i
- end
- if table[$data_enemies[@enemyid].element_ranks[30]]#仇 恨
- @hate=($game_variables[111]).to_i
- end
- if $game_switches[19]
- @ea=$data_enemies[@enemyid].dex#怪攻
- @ed=$data_enemies[@enemyid].pdef#怪防
- else
- @ea=$data_enemies[@enemyid].str#怪攻
- @ed=$data_enemies[@enemyid].atk#怪防
- end
- if $game_variables[71]!=0
- @ehp=$data_enemies[@enemyid].maxhp*(100-$game_variables[71])/100#怪生命
- else
- @ehp=$data_enemies[@enemyid].maxhp#怪生命
- @mxhp=$data_enemies[@enemyid].maxhp*$game_actors[$game_variables[1]+2].str/100#吸血量
- @mfhp=$data_enemies[@enemyid].maxhp*$game_actors[$game_variables[1]+2].dex/100#反弹量
- @ehp+=@vampire #怪生命+吸血得到的生命
- # @ehp-=@mfhp
- end
- # @ma=($game_actors[$game_variables[1]+1].str*@orbatk).to_i#修正勇攻
- # @md=($game_actors[$game_variables[1]+1].dex*@orbdef).to_i#修正勇防
- # if $game_switches[Playerdate_magicdef]
- # @mmd=($game_actors[$game_variables[1]+1].int*@orbmdef).to_i#修正勇魔防
- # else
- # @mmd=0#未开启魔防下魔防=0
- #end
- if table[$data_enemies[@enemyid].element_ranks[30]]#自 爆
- @blow=1
- end
- if $game_switches[65]
-
- else
- if @ma-@ed>0 #勇士的攻击>怪物的防御
- @eatimes=(@ehp/((@ma-@ed)*@mgs*(100-@mmz)/100+@maa).to_i).to_i#怪物的攻击次数
- @eatimes-=1 if @eatimes==@ehp*1.0/((@ma-@ed)*@mgs*(100-@mmz)/100+@maa).to_i
- #整数的情况下怪物的攻击次数要-1
- @eatimes+=@first #先攻的怪物要加先攻次数
- @eatimes=0 if @eatimes<0#不能攻击的怪物攻击次数=0
- @reatk*=(@eatimes+1)#得到总的反弹伤害(勇攻次数*单次反弹伤害)
- if @md>=@ea#如果勇士的防御大于怪物的攻击
- @edamage=0-@mdd+@reatk+@vampire
- #反弹、吸血、爆击、净化怪物的伤害等于反弹+吸血量+爆击量+净化量-勇士魔防
- else
- @edamage=((@ea-@md)*@turnatk*@eatimes*(100-@msb)/100-@mdd).to_i+@reatk+@vampire
- end
- # @edamage=0 if @edamage<=0#伤害小于0则等于0
- @edamage+=@hate#仇恨的伤害无视主角防御和魔防
- if @edamage<=@mhp-1 and @blow!=0
- @edamage=@mhp-1
- end#伤害小于勇士生命且具有自爆属性,则伤害为勇生命-1
- @nowin=0#代表勇士攻击够高
- if @edamage>=999999#避免由于坚固属性造成伤害超大
- @edamage=999999 #因为勇士生命最大值为999999
- @nowin=1
- end
- else#勇士的攻击<怪物的防御
- @edamage=1000000#伤害等于次大
- @nowin=1#代表勇士攻击太低
- end
-
- if table[$data_enemies[@enemyid].element_ranks[32]]#怪物拥有无敌属性
- if $game_party.item_number(44)<1#未持有反无敌的物品
- @edamage=9999999#伤害等于最大
- @nowin=2#代表敌人是无敌的
- end
- end
- end
- end
- #--------------------------------------------------------------------------
- # ● 返回怪物的伤害类型
- #--------------------------------------------------------------------------
- def got_nowin
- return @nowin
- #0代表可以对怪物造成伤害,1代表无法伤害,2代表怪物无敌
- end
- #--------------------------------------------------------------------------
- # ● 返回怪物的伤害
- #--------------------------------------------------------------------------
- def got_damage
- return @edamage
- end
- #--------------------------------------------------------------------------
- # ● 返回怪物的攻击
- #--------------------------------------------------------------------------
- def got_ea
- return @ea
- end
- #--------------------------------------------------------------------------
- # ● 返回怪物的防御
- #--------------------------------------------------------------------------
- def got_ed
- return @ed
- end
- #--------------------------------------------------------------------------
- # ● 返回怪物的属性
- #--------------------------------------------------------------------------
- def got_p(val)
- table=[false,true,false,false,false,false,false]
- return table[$data_enemies[@enemyid].element_ranks[val]]
- end
- #--------------------------------------------------------------------------
- # ● 返回怪物的属性种数
- #--------------------------------------------------------------------------
- def got_kind
- return @kind
- end
- end
复制代码 这个脚本的问题处在哪里?
工程.zip
(917.46 KB, 下载次数: 794)
这个是工程 |
|