module DL module VORE REMOVEFORCUTSCENE = true end end module RPG class BaseItem def digestrewardswitch bob = 0 res = self.note.match(//i) bob = res[1].to_i if res return bob end def digestrewardvariable bob = [0,0] res = self.note.match(//i) if res bob[0] = res[1].to_i bob[1] = res[2].to_i end return bob end def digestdeath res = self.note.match(//i) return res end def digestgameover res = self.note.match(//i) return res end end end class Game_Battler < Game_BattlerBase def digest_switch bob = 0 bob = enemy.digestrewardswitch if enemy? bob = actor.digestrewardswitch if actor? $game_switches[bob] = true if bob > 0 bob2 = [0,0] bob2 = enemy.digestrewardvariable if enemy? bob2 = actor.digestrewardvariable if actor? if bob2[0] > 0 case bob2[1] when 1 #add to variable $game_variables[bob2[0]] += 1 when 2 #subtract from variable if above 0 $game_variables[bob2[0]] -= 1 if $game_variables[bob2[0]] > 0 when 3 #variable equals map id $game_variables[bob2[0]] = $game_map.map_id when 4 #variable equals pred's id if state_casters[DL::VORE::VORESTATE] != nil $game_variables[bob2[0]] = (state_casters[DL::VORE::VORESTATE].enemy? ? state_casters[DL::VORE::VORESTATE].enemy_id : state_casters[DL::VORE::VORESTATE].id) end when 5 $game_variables[bob2[0]] = 0 end end if actor? and actor.digestgameover BattleManager.process_defeat if $game_party.members.size > 1 end if actor? and actor.digestdeath if $game_party.members.size > 1 $game_party.remove_actor(id) elsif DL::VORE::REMOVEFORCUTSCENE @character_name = "" @character_index = 0 $game_player.refresh end end end def execute_damage(user) if @result.hp_damage > 0 remove_states_by_damage(user) charge_tp_by_damage(@result.hp_damage.to_f / mhp) end if self.hp <= @result.hp_damage if state?(DL::VORE::VORESTATE) digest_switch add_state(state_casters[DL::VORE::VORESTATE].poop_state) if state_casters[DL::VORE::VORESTATE].poop_state > 0 state_casters[DL::VORE::VORESTATE].hp += (prey_digest_reward[0] + state_casters[DL::VORE::VORESTATE].digest_reward[0]).to_i state_casters[DL::VORE::VORESTATE].mp += (prey_digest_reward[1] + state_casters[DL::VORE::VORESTATE].digest_reward[1]).to_i state_casters[DL::VORE::VORESTATE].add_state(digestion_state_buff) if digestion_state_buff > 0 state_casters[DL::VORE::VORESTATE].add_state(state_casters[DL::VORE::VORESTATE].digestion_state) if state_casters[DL::VORE::VORESTATE].digestion_state > 0 add_state(death_state_id) end remove_state(pred_full_state) if pred_full_state > 0 sam = opponents_unit.members + friends_unit.members sam.each do |member| if member.state_casters[DL::VORE::VORESTATE] == self or dead? member.record_pred remove_state(member.prey_full_state) if member.prey_full_state > 0 remove_state(pred_full_state) if pred_full_state > 0 member.remove_state(prey_bellied) if prey_bellied_end member.state_casters[DL::VORE::VORESTATE] = self.state_casters[DL::VORE::VORESTATE] if member.state_casters[DL::VORE::VORESTATE] == nil member.remove_state(DL::VORE::VORESTATE) member.hide if member.belly_pet? and member.alive? #self.animation_id = vore_animation[3] #member.animation_id = vore_animation[4] member.hide if eggsac? and member.alive? and member.enemy? == enemy? else member.state_casters[DL::VORE::VORESTATE].add_state(member.prey_full_state) if member.prey_full_state > 0 member.add_state(member.state_casters[DL::VORE::VORESTATE].prey_bellied) if member.state_casters[DL::VORE::VORESTATE].prey_bellied > 0 member.reset_state_counts(DL::VORE::VORESTATE) end end end end self.hp -= @result.hp_damage self.mp -= @result.mp_damage user.hp += @result.hp_drain user.mp += @result.mp_drain end def regenerate_all sam = opponents_unit.members + friends_unit.members sam.select{|m| m.alive?}.each do |member| next if eggsac? and self.enemy? == member.enemy? if member.state_casters[DL::VORE::VORESTATE] == self and !member.belly_pet? member.hp += (vore_digest(member)[0].to_f * member.digest_resist).to_i member.mp += (vore_digest(member)[1].to_f * member.digest_resist).to_i self.hp += (vore_digest(member)[0].to_f.abs * member.digest_resist * (member.prey_digest_absorb + digest_absorb)).to_i self.mp += (vore_digest(member)[1].to_f.abs * member.digest_resist * (member.prey_digest_absorb + digest_absorb)).to_i if member.hp <= 0 member.digest_switch member.add_state(poop_state) if poop_state > 0 member.add_state(member.death_state_id) self.hp += member.prey_digest_reward[0] + digest_reward[0] self.mp += member.prey_digest_reward[1] + digest_reward[1] end self.animation_id = vore_animation[2]# if member.alive? end end if alive? regenerate_hp regenerate_mp regenerate_tp end hide if belly_pet? and !state?(DL::VORE::VORESTATE) sam.each do |member| bob = false bpb = true if dead? and sam.any?{|m| m.state_casters[DL::VORE::VORESTATE] == self} bob = true if member.dead? and member.state_casters[DL::VORE::VORESTATE] == self if bob member.record_pred remove_state(member.prey_full_state) if member.prey_full_state > 0 add_state(member.digestion_state_buff) if member.digestion_state_buff > 0 and member.dead? add_state(digestion_state) if digestion_state > 0 and member.dead? member.state_casters[DL::VORE::VORESTATE] = self.state_casters[DL::VORE::VORESTATE] if member.state_casters[DL::VORE::VORESTATE] == nil member.remove_state(DL::VORE::VORESTATE) member.hide if member.belly_pet? #self.animation_id = vore_animation[3] #member.animation_id = vore_animation[4] member.hide if eggsac? and member.alive? and member.enemy? == enemy? else member.state_casters[DL::VORE::VORESTATE].add_state(member.prey_full_state) if member.prey_full_state > 0 member.add_state(member.state_casters[DL::VORE::VORESTATE].prey_bellied) if member.state_casters[DL::VORE::VORESTATE].prey_bellied > 0 member.reset_state_counts(DL::VORE::VORESTATE) end member.refresh end end if sam.none? {|m| m.state_casters[DL::VORE::VORESTATE] == self} remove_state(pred_full_state) if pred_full_state > 0 hide if eggsac? and alive? refresh end end end