mirror of
https://github.com/RYGhub/royal-mifia.git
synced 2024-11-26 07:34:19 +00:00
Aggiunti angeli. Speriamo che vadano
This commit is contained in:
parent
bfbd6eadca
commit
65e32447ae
1 changed files with 36 additions and 7 deletions
33
main.py
33
main.py
|
@ -20,6 +20,7 @@ class Role:
|
||||||
name = "UNDEFINED"
|
name = "UNDEFINED"
|
||||||
haspower = False
|
haspower = False
|
||||||
poweruses = 0
|
poweruses = 0
|
||||||
|
protectedby = None # Protettore
|
||||||
|
|
||||||
def power(self, bot, game, player, arg):
|
def power(self, bot, game, player, arg):
|
||||||
pass
|
pass
|
||||||
|
@ -43,15 +44,21 @@ class Mifioso(Role):
|
||||||
def power(self, bot, game, player, arg):
|
def power(self, bot, game, player, arg):
|
||||||
# Imposta qualcuno come bersaglio
|
# Imposta qualcuno come bersaglio
|
||||||
self.target = game.findplayerbyusername(arg)
|
self.target = game.findplayerbyusername(arg)
|
||||||
|
if self.target is not None:
|
||||||
player.message(bot, "Hai selezionato come bersaglio {0}.".format(self.target.tusername))
|
player.message(bot, "Hai selezionato come bersaglio {0}.".format(self.target.tusername))
|
||||||
|
|
||||||
def onendday(self, bot, game):
|
def onendday(self, bot, game):
|
||||||
# Uccidi il bersaglio
|
# Uccidi il bersaglio
|
||||||
if self.target is not None:
|
if self.target is not None:
|
||||||
|
if self.target.protectedby is None:
|
||||||
self.target.kill()
|
self.target.kill()
|
||||||
game.message(bot, "{0} è stato ucciso dalla Mifia.\n"
|
game.message(bot, "{0} è stato ucciso dalla Mifia.\n"
|
||||||
"Era un {1} {2}."
|
"Era un {1} {2}."
|
||||||
.format(self.target.tusername, self.target.role.icon, self.target.role.name))
|
.format(self.target.tusername, self.target.role.icon, self.target.role.name))
|
||||||
|
else:
|
||||||
|
game.message(bot, "{0} è stato protetto dalla Mifia da {1} {2}!\n"
|
||||||
|
.format(self.target.tusername, self.target.protectedby.icon, self.target.protectedby.icon))
|
||||||
|
self.target = None
|
||||||
|
|
||||||
|
|
||||||
class Investigatore(Role):
|
class Investigatore(Role):
|
||||||
|
@ -78,6 +85,24 @@ class Investigatore(Role):
|
||||||
self.poweruses = 1
|
self.poweruses = 1
|
||||||
|
|
||||||
|
|
||||||
|
class Angelo(Role):
|
||||||
|
icon = "\U00128519"
|
||||||
|
team = 'Good' # Squadra: 'None', 'Good', 'Evil'
|
||||||
|
name = "Angelo"
|
||||||
|
protecting = None # Protetto
|
||||||
|
|
||||||
|
def power(self, bot, game, player, arg):
|
||||||
|
# Imposta qualcuno come bersaglio
|
||||||
|
selected = game.findplayerbyusername(arg)
|
||||||
|
if player is not selected and selected is not None:
|
||||||
|
self.protecting.protectedby = player
|
||||||
|
player.message(bot, "Hai selezionato come protetto {0}.".format(self.protecting.tusername))
|
||||||
|
|
||||||
|
def onendday(self, bot, game):
|
||||||
|
# Resetta la protezione
|
||||||
|
self.protecting.protectedby = None
|
||||||
|
self.protecting = None
|
||||||
|
|
||||||
# Classi per i giocatori
|
# Classi per i giocatori
|
||||||
class Player:
|
class Player:
|
||||||
tid = int()
|
tid = int()
|
||||||
|
@ -197,11 +222,15 @@ class Game:
|
||||||
# Mifiosi
|
# Mifiosi
|
||||||
for player in self.players:
|
for player in self.players:
|
||||||
if isinstance(player.role, Mifioso):
|
if isinstance(player.role, Mifioso):
|
||||||
player.role.onendday(bot, self)
|
player.role.onendday(self, bot)
|
||||||
# Investigatori
|
# Investigatori
|
||||||
for player in self.players:
|
for player in self.players:
|
||||||
if isinstance(player.role, Investigatore):
|
if isinstance(player.role, Investigatore):
|
||||||
player.role.onendday(bot, self)
|
player.role.onendday(self, bot)
|
||||||
|
# Angeli
|
||||||
|
for player in self.players:
|
||||||
|
if isinstance(player.role, Angelo):
|
||||||
|
player.role.onendday(self, bot)
|
||||||
lynched = self.mostvotedplayer()
|
lynched = self.mostvotedplayer()
|
||||||
if lynched is not None:
|
if lynched is not None:
|
||||||
self.message(bot, "{0} era il più votato ed è stato ucciso dai Royal.\n"
|
self.message(bot, "{0} era il più votato ed è stato ucciso dai Royal.\n"
|
||||||
|
|
Loading…
Reference in a new issue