mirror of
https://github.com/wr34k/IRCUFC.git
synced 2024-11-22 07:26:39 +00:00
Colors! rolls nerf
This commit is contained in:
parent
3a5fa320b8
commit
4decd3787d
@ -20,16 +20,25 @@ class Fight(object):
|
|||||||
def addFighter(self, nick):
|
def addFighter(self, nick):
|
||||||
self.state = 'waiting_fighter'
|
self.state = 'waiting_fighter'
|
||||||
if nick in self.fighters:
|
if nick in self.fighters:
|
||||||
self.IRC.privmsg(self.IRC.channel, "Hey {} you're already registered!".format(nick))
|
self.IRC.privmsg(self.IRC.channel, "[{}] Hey {} you're already registered!".format( \
|
||||||
|
self.IRC.mirc.color("!", self.IRC.mirc.colors.YELLOW), \
|
||||||
|
self.IRC.mirc.color(nick, self.IRC.mirc.colors.YELLOW)) \
|
||||||
|
)
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
self.fighters += [nick]
|
self.fighters += [nick]
|
||||||
|
|
||||||
if len(self.fighters) == 2:
|
if len(self.fighters) == 2:
|
||||||
self.IRC.privmsg(self.IRC.channel, "Alright. {}, {}, let's fight!".format(self.fighters[0], self.fighters[1]))
|
self.IRC.privmsg(self.IRC.channel, "[{}] Alright. {}, {}, let's fight!".format( \
|
||||||
|
self.IRC.mirc.color("*", self.IRC.mirc.colors.GREEN), \
|
||||||
|
self.IRC.mirc.color(self.fighters[0], self.IRC.mirc.colors.RED), \
|
||||||
|
self.IRC.mirc.color(self.fighters[1], self.IRC.mirc.colors.BLUE)) \
|
||||||
|
)
|
||||||
self.state = 'fighters_ready'
|
self.state = 'fighters_ready'
|
||||||
else:
|
else:
|
||||||
self.IRC.privmsg(self.IRC.channel, "Waiting for 2nd fighter...")
|
self.IRC.privmsg(self.IRC.channel, "[{}] Waiting for 2nd fighter...".format( \
|
||||||
|
self.IRC.mirc.color("*", self.IRC.mirc.colors.GREEN)) \
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def startFight(self):
|
def startFight(self):
|
||||||
@ -38,14 +47,12 @@ class Fight(object):
|
|||||||
self.fighters[0] = Fighter(self.fighters[0], self.IRC.mirc.colors.RED)
|
self.fighters[0] = Fighter(self.fighters[0], self.IRC.mirc.colors.RED)
|
||||||
self.fighters[1] = Fighter(self.fighters[1], self.IRC.mirc.colors.BLUE)
|
self.fighters[1] = Fighter(self.fighters[1], self.IRC.mirc.colors.BLUE)
|
||||||
|
|
||||||
|
|
||||||
# who start?
|
# who start?
|
||||||
roll1 = roll2 = 0
|
roll1 = roll2 = 0
|
||||||
while roll1 == roll2:
|
while roll1 == roll2:
|
||||||
roll1 = random.random()
|
roll1 = random.random()
|
||||||
roll2 = random.random()
|
roll2 = random.random()
|
||||||
|
|
||||||
|
|
||||||
if roll1 > roll2:
|
if roll1 > roll2:
|
||||||
self.fighters[0].advantage = True
|
self.fighters[0].advantage = True
|
||||||
else:
|
else:
|
||||||
@ -58,8 +65,8 @@ class Fight(object):
|
|||||||
self.state = 'waiting_fighters_action'
|
self.state = 'waiting_fighters_action'
|
||||||
|
|
||||||
for f in self.fighters:
|
for f in self.fighters:
|
||||||
self.IRC.privmsg(f.nick, "What is your next move?")
|
self.IRC.privmsg(f.nick, "[{}] What is your next move? (Use {}action <action> to set your next move)".format(self.IRC.mirc.color("~", self.IRC.mirc.colors.BLUE), self.IRC.optkey))
|
||||||
self.IRC.privmsg(f.nick, "Actions available: '{}'".format("', '".join(self.get_next_avail_action(f.nick))))
|
self.IRC.privmsg(f.nick, "[{}] Actions available: '{}'".format(self.IRC.mirc.color("*", self.IRC.mirc.colors.GREEN), "', '".join(self.get_next_avail_action(f.nick))))
|
||||||
|
|
||||||
|
|
||||||
def get_next_avail_action(self, nick): # TODO: fix this mess.
|
def get_next_avail_action(self, nick): # TODO: fix this mess.
|
||||||
@ -81,14 +88,14 @@ class Fight(object):
|
|||||||
for f in self.fighters:
|
for f in self.fighters:
|
||||||
if f.nick == nick:
|
if f.nick == nick:
|
||||||
if f.nextAction is not None:
|
if f.nextAction is not None:
|
||||||
self.IRC.privmsg(nick, "You already chose your next move!")
|
self.IRC.privmsg(nick, "[{}] You already chose your next move!".format(self.IRC.mirc.color("!", self.IRC.mirc.colors.YELLOW)))
|
||||||
return
|
return
|
||||||
|
|
||||||
if " ".join(action) in self.get_next_avail_action(nick):
|
if " ".join(action) in self.get_next_avail_action(nick):
|
||||||
f.nextAction = action
|
f.nextAction = action
|
||||||
self.IRC.privmsg(nick, "Next move set!")
|
self.IRC.privmsg(nick, "[{}] Next move set!".format(self.IRC.mirc.color("*", self.IRC.mirc.colors.GREEN)))
|
||||||
else:
|
else:
|
||||||
self.IRC.privmsg(nick, "Move not recognized")
|
self.IRC.privmsg(nick, "[{}] Move not recognized".format(self.IRC.mirc.color("!", self.IRC.mirc.colors.YELLOW)))
|
||||||
|
|
||||||
done = True
|
done = True
|
||||||
for f in self.fighters:
|
for f in self.fighters:
|
||||||
@ -101,15 +108,15 @@ class Fight(object):
|
|||||||
|
|
||||||
def getStatus(self, nick):
|
def getStatus(self, nick):
|
||||||
if self.state == 'inactive':
|
if self.state == 'inactive':
|
||||||
self.IRC.privmsg(nick, "Standby, waiting for a fight to start...")
|
self.IRC.privmsg(nick, "[{}] Standby, waiting for a fight to start...".format(self.IRC.mirc.color("*", self.IRC.mirc.colors.GREEN)))
|
||||||
elif self.state == 'waiting_fighter':
|
elif self.state == 'waiting_fighter':
|
||||||
self.IRC.privmsg(nick, "Waiting for 2nd opponent, type {}fight to register for the next fight!".format(self.IRC.optkey))
|
self.IRC.privmsg(nick, "[{}] Waiting for 2nd opponent, type {}fight to register for the next fight!".format(self.IRC.mirc.color("*", self.IRC.mirc.colors.GREEN), self.IRC.optkey))
|
||||||
else:
|
else:
|
||||||
for f in self.fighters:
|
for f in self.fighters:
|
||||||
if f.nick == nick:
|
if f.nick == nick:
|
||||||
self.IRC.privmsg(nick, "Status for {} -> Current health: {} | Current stance: {} | Next action: {}".format(f.nick, f.hp, f.stance, f.nextAction))
|
self.IRC.privmsg(nick, "[{}] Status for {} -> Current health: {} | Current stance: {} | Next action: {}".format(self.IRC.mirc.color("*", self.IRC.mirc.colors.GREEN), f.nick, int(f.hp), f.stance, f.nextAction))
|
||||||
else:
|
else:
|
||||||
self.IRC.privmsg(nick, "Status for {} -> Current health: {} | Current stance: {}".format(f.nick, f.hp, f.stance))
|
self.IRC.privmsg(nick, "[{}] Status for {} -> Current health: {} | Current stance: {}".format(self.IRC.mirc.color("*", self.IRC.mirc.colors.GREEN), f.nick, int(f.hp), f.stance))
|
||||||
|
|
||||||
|
|
||||||
def fightOver(self):
|
def fightOver(self):
|
||||||
@ -119,8 +126,13 @@ class Fight(object):
|
|||||||
winner.wins += 1
|
winner.wins += 1
|
||||||
looser.looses += 1
|
looser.looses += 1
|
||||||
|
|
||||||
self.shout("\x02\x0315Fight is over.")
|
self.shout("{}{}".format(self.IRC.mirc.BOLD, self.IRC.mirc.color("Fight is over.", self.IRC.mirc.colors.LIGHTGREY)))
|
||||||
self.shout("\x02\x03{}{}\x0f won the fight against \x02\x03{}{}\x0f with \x02\x0303{}\x0f hp left.".format(winner.colour, winner.nick, looser.colour, looser.nick, int(winner.hp)))
|
self.shout("{}{} won the fight against {} with {} hp left.".format( \
|
||||||
|
self.IRC.mirc.BOLD,
|
||||||
|
self.IRC.mirc.color(winner.nick, winner.colour), \
|
||||||
|
self.IRC.mirc.color(looser.nick, looser.colour), \
|
||||||
|
self.IRC.mirc.color(int(winner.hp), self.IRC.mirc.colors.GREEN) ) \
|
||||||
|
)
|
||||||
|
|
||||||
self.state = 'inactive'
|
self.state = 'inactive'
|
||||||
self.fighters = []
|
self.fighters = []
|
||||||
@ -165,9 +177,9 @@ class Fight(object):
|
|||||||
|
|
||||||
|
|
||||||
if self.fighters[0].advantage:
|
if self.fighters[0].advantage:
|
||||||
roll1 += 0.15
|
roll1 += 0.08
|
||||||
else:
|
else:
|
||||||
roll2 += 0.15
|
roll2 += 0.08
|
||||||
|
|
||||||
if roll1 > roll2:
|
if roll1 > roll2:
|
||||||
attacker = self.fighters[0]
|
attacker = self.fighters[0]
|
||||||
@ -176,6 +188,8 @@ class Fight(object):
|
|||||||
attacker = self.fighters[1]
|
attacker = self.fighters[1]
|
||||||
defender = self.fighters[0]
|
defender = self.fighters[0]
|
||||||
|
|
||||||
|
# self.IRC.log.info("{} rolled {} and {} rolled {}".format(self.fighters[0].nick, roll1, self.fighters[1].nick, roll2))
|
||||||
|
|
||||||
if attacker.nextAction[0] == 'block' and defender.nextAction[0] != 'block':
|
if attacker.nextAction[0] == 'block' and defender.nextAction[0] != 'block':
|
||||||
tmp = attacker
|
tmp = attacker
|
||||||
attacker = defender
|
attacker = defender
|
||||||
@ -207,7 +221,7 @@ class Fight(object):
|
|||||||
self.shout("{}".format(blocktxt))
|
self.shout("{}".format(blocktxt))
|
||||||
else:
|
else:
|
||||||
if defender.nextAction[0] == 'block':
|
if defender.nextAction[0] == 'block':
|
||||||
self.shout("{} Tryed to block {} but failed miserably!".format(defender.nick, defender.nextAction[1]))
|
self.shout("{} Tryed to block {} but failed miserably!".format(self.IRC.mirc.color(defender.nick, defender.colour), defender.nextAction[1]))
|
||||||
|
|
||||||
|
|
||||||
realdmg = (random.random() * dmg) + mindmg
|
realdmg = (random.random() * dmg) + mindmg
|
||||||
@ -221,7 +235,7 @@ class Fight(object):
|
|||||||
|
|
||||||
|
|
||||||
if defender.hp <= 0:
|
if defender.hp <= 0:
|
||||||
self.IRC.privmsg(self.IRC.channel, "\x02\x0305{} passed out.\x0f".format(defender.nick))
|
self.shout("{}{} passed out.".format(self.IRC.mirc.BOLD, self.IRC.mirc.color(defender.nick, self.IRC.mirc.colors.YELLOW)))
|
||||||
self.state = "fight_over"
|
self.state = "fight_over"
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -241,8 +255,8 @@ class Fight(object):
|
|||||||
|
|
||||||
def prettyTxt(self, attacker, defender, txtlist):
|
def prettyTxt(self, attacker, defender, txtlist):
|
||||||
txt = txtlist[random.randint(0, len(txtlist)-1)]
|
txt = txtlist[random.randint(0, len(txtlist)-1)]
|
||||||
txt = txt.replace("%attacker%", "\x02\x03{}{}\x0f".format(attacker.colour, attacker.nick))
|
txt = txt.replace("%attacker%", "{}{}".format(self.IRC.mirc.BOLD, self.IRC.mirc.color(attacker.nick, attacker.colour)))
|
||||||
txt = txt.replace("%defender%", "\x02\x03{}{}\x0f".format(defender.colour, defender.nick))
|
txt = txt.replace("%defender%", "{}{}".format(self.IRC.mirc.BOLD, self.IRC.mirc.color(defender.nick, defender.colour)))
|
||||||
return txt
|
return txt
|
||||||
|
|
||||||
def shout(self, msg):
|
def shout(self, msg):
|
||||||
|
Loading…
Reference in New Issue
Block a user