
Untitled
By: a guest on
May 24th, 2012 | syntax:
None | size: 2.59 KB | hits: 19 | expires: Never
class GuardScorpionAI(AIController):
def setup(self):
self.entity.set_stat("mdf", 256)
self.stage = 0
self.count = 0
self.warning = 0
self.s_def = self.entity.get_stat("def")
self.s_mdf = self.entity.get_stat("mdf")
def main(self):
if self.count == 0 or self.count == 2:
target = self.entity.get_random_opponent()
attack = self.search_scope
self.count += 1
elif self.count == 1 or self.count == 3:
target = self.target
if (self._chance(1, 3)):
attack = self.scorpion_tail
else:
if self.entity.get_cur("hp") < (self.entity.get_max("hp") * 0.5):
attack = self.scorpion_tail
else:
attack = self.rifle
self.count += 1
elif self.count == 4:
self.entity.set_stat("def", 255)
self.entity.set_stat("mdf", 384)
self.stage = 1
if (self.warning == 0):
# TODO: PRINT MESSAGES TO BATTLESCREEN
self.warning = 1
self.count += 1
elif self.count == 5 or self.count == 6:
self.count += 1
elif self.count == 7:
target = self.entity
attack = self.empty_attack
self.entity.set_stat("def", self.s_def)
self.entity.set_stat("mdf", self.s_mdf)
self.stage = 0
self.count = 0
attack(target)
def counter(self, target):
if (self.stage == 1):
target = self.entity.get_all_opponents
attack = self.tail_laser
else:
target = None
attack = self.empty_attack(target)
attack(target)
def rifle(self, target):
formula = PHYSICAL
power = self.entity.get_base(formula)
hit = 100
target = SINGLE_OPPONENT
element = "shoot"
def scorpion_tail(self, target):
formula = PHYSICAL
power = self.entity.get_base(formula) * 1.75
hit = 95
target = SINGLE_OPPONENT
element = "shoot"
def search_scope(self, target):
self.target = target
def tail_laser(self, target):
formula = PHYSICAL
power = self.entity.get_base(formula) * 3
hit = 120
target = ALL_OPPONENTS
element = "shoot"
attacks = [rifle, search_scope, scorpion_tail]