mirror of
https://github.com/RYGhub/royal-mifia.git
synced 2025-02-16 13:24:06 +00:00
Nuove cose
This commit is contained in:
parent
7c7ac59cda
commit
51c44fb67e
2 changed files with 62 additions and 15 deletions
53
main.py
53
main.py
|
@ -47,6 +47,10 @@ class Role:
|
|||
"""Metodo chiamato alla morte del giocatore."""
|
||||
pass
|
||||
|
||||
def onstartgame(self, bot, game):
|
||||
"""Metodo chiamato all'inizio della partita."""
|
||||
pass
|
||||
|
||||
|
||||
class Royal(Role):
|
||||
"""Un membro della Royal Games. Il ruolo principale, non ha alcun potere se non quello di votare."""
|
||||
|
@ -286,9 +290,28 @@ class Disastro(Role):
|
|||
def ondeath(self, bot, game):
|
||||
self.icon = s.disaster_icon
|
||||
self.name = s.disaster_name
|
||||
|
||||
|
||||
rolepriority = [Mifioso, Investigatore, Disastro, Angelo, Derek, Terrorista]
|
||||
|
||||
|
||||
class Mamma(Role):
|
||||
"""La mamma sente i pettegolezzi in giro per la città e inizia conoscendo un ruolo a caso..."""
|
||||
icon = s.mom_icon
|
||||
team = 'Good'
|
||||
name = s.mom_name
|
||||
powerdesc = s.mom_power_description
|
||||
|
||||
def __repr__(self) -> str:
|
||||
r = "<Role: Mamma>"
|
||||
return r
|
||||
|
||||
def onstartgame(self, bot, game):
|
||||
target = random.sample(game.players, 1)[0]
|
||||
self.player.message(bot, s.mom_discovery.format(target=target.tusername,
|
||||
icon=target.role.icon,
|
||||
role=target.role.name))
|
||||
|
||||
|
||||
|
||||
rolepriority = [Mifioso, Investigatore, Disastro, Angelo, Derek, Terrorista, Mamma]
|
||||
|
||||
|
||||
class Player:
|
||||
|
@ -325,7 +348,7 @@ class Player:
|
|||
|
||||
|
||||
class Game:
|
||||
"""Classe di una partita, contenente parametri riguardanti stato della partita
|
||||
"""Classe di una partita, contenente parametri riguardanti stato della partita
|
||||
e informazioni sul gruppo di Telegram."""
|
||||
def __init__(self, groupid):
|
||||
self.groupid = groupid # ID del gruppo in cui si sta svolgendo una partita
|
||||
|
@ -557,7 +580,8 @@ class Game:
|
|||
"Angelo": 0,
|
||||
"Terrorista": 0,
|
||||
"Derek": 0,
|
||||
"Disastro": 0
|
||||
"Disastro": 0,
|
||||
"Mamma": 0
|
||||
}
|
||||
self.votingmifia = True
|
||||
self.missingmifia = False
|
||||
|
@ -570,7 +594,8 @@ class Game:
|
|||
"Angelo": math.floor(len(self.players) / 10) + 1,
|
||||
"Terrorista": 1 if random.randrange(0, 99) > 70 else 0,
|
||||
"Derek": 0,
|
||||
"Disastro": 0
|
||||
"Disastro": 0,
|
||||
"Mamma": 0
|
||||
}
|
||||
self.votingmifia = True
|
||||
self.missingmifia = False
|
||||
|
@ -579,11 +604,12 @@ class Game:
|
|||
# Preset completo
|
||||
self.roleconfig = {
|
||||
"Mifioso": math.floor(len(self.players) / 8) + 1,
|
||||
"Investigatore": math.floor(len(self.players) / 12) + 1,
|
||||
"Angelo": math.floor(len(self.players) / 10) + 1,
|
||||
"Terrorista": 1 if random.randrange(0, 100) > 60 else 0,
|
||||
"Derek": 1,
|
||||
"Disastro": math.floor(len(self.players) / 12) + 1
|
||||
"Investigatore": math.floor(len(self.players) / 8) + 1,
|
||||
"Angelo": math.floor(len(self.players) / 8) + 1,
|
||||
"Terrorista": math.floor(len(self.players) / 8) + 1,
|
||||
"Derek": math.floor(len(self.players) / 8) + 1,
|
||||
"Disastro": math.floor(len(self.players) / 8) + 1,
|
||||
"Mamma": math.floor(len(self.players) / 8) + 1
|
||||
}
|
||||
self.votingmifia = True
|
||||
self.missingmifia = True
|
||||
|
@ -613,6 +639,8 @@ class Game:
|
|||
self.day += 1
|
||||
self.assignroles(bot)
|
||||
self.message(bot, s.roles_assigned_successfully)
|
||||
for player in self.players:
|
||||
player.role.onstartgame(bot, self)
|
||||
|
||||
def endgame(self):
|
||||
inprogress.remove(self)
|
||||
|
@ -1059,6 +1087,9 @@ def selectpreset(bot, update):
|
|||
game = findgamebyid(update.callback_query.message.chat['id'])
|
||||
if game is not None and game.phase is 'Preset':
|
||||
if update.callback_query.from_user['id'] == game.admin.tid:
|
||||
bot.editMessageText(text=s.preset_selected.format(selected=update.callback_query.data),
|
||||
chat_id=update.callback_query.message.chat['id'],
|
||||
message_id=update.callback_query.message['id'])
|
||||
game.loadpreset(bot, update.callback_query.data)
|
||||
|
||||
|
||||
|
|
24
strings.py
24
strings.py
|
@ -104,7 +104,7 @@ derek_deathwish_set = "*Morirai* alla fine di questo giorno."
|
|||
derek_deathwish_unset = "*Vivrai* per morire un altro giorno."
|
||||
|
||||
# Derek: morte
|
||||
derek_deathwish_successful = "SPOILER: alla fine di questa giornata {icon} {role} (@{name}) muore.\n"
|
||||
derek_deathwish_successful = "SPOILER: alla fine di questa giornata *{icon} {role}* (@{name}) muore schiacciato da un container.\n"
|
||||
|
||||
# Disastro: icona
|
||||
disaster_icon = "\U0001F913"
|
||||
|
@ -112,6 +112,19 @@ disaster_icon = "\U0001F913"
|
|||
# Disastro: nome ruolo
|
||||
disaster_name = "Disastro"
|
||||
|
||||
# Mamma: icona
|
||||
mom_icon = "\U0001F917"
|
||||
|
||||
# Mamma: nome ruolo
|
||||
mom_name = "Mamma"
|
||||
|
||||
# Mamma: descrizione del potere
|
||||
mom_power_description = "All'inizio della partita scoprirai il ruolo di un giocatore casuale.\n" \
|
||||
"Usalo per sapere di chi (non) fidarti!\n"
|
||||
|
||||
# Mamma: scoperta di un ruolo
|
||||
mom_discovery = "@{target} è un *{icon} {role}*.\n" \
|
||||
|
||||
# Generale: ruolo assegnato
|
||||
role_assigned = "Ti è stato assegnato il ruolo di *{icon} {name}*."
|
||||
|
||||
|
@ -291,9 +304,9 @@ config_list = ["Quanti *Mifiosi* devono essere nella partita?",
|
|||
|
||||
# Scegli il preset
|
||||
preset_choose = "*Seleziona un preset per la partita:*\n" \
|
||||
"`Semplice`: solo royal, mifia e investigatori e niente meccaniche avanzate. _(minimo 2 giocatori)_\n" \
|
||||
"`Semplice`: solo royal, mifia e investigatori e niente meccaniche avanzate. _(minimo 3 giocatori)_\n" \
|
||||
"`Classico`: royal, mifia, investigatori, angeli e la comparsa casuale di un terrorista! _(minimo 4 giocatori)_\n" \
|
||||
"`Completo`: tutti i ruoli e le meccaniche nuove! _(minimo 6 giocatori)_\n" \
|
||||
"`Completo`: tutti i ruoli e le meccaniche nuove! _(minimo 7 giocatori)_\n" \
|
||||
"`Personalizzato`: scegli tu i ruoli e le meccaniche che vuoi in partita!"
|
||||
|
||||
# Preset semplice
|
||||
|
@ -306,4 +319,7 @@ preset_classic = "Classico"
|
|||
preset_full = "Completo"
|
||||
|
||||
# Personalizza
|
||||
preset_custom = "Personalizzato"
|
||||
preset_custom = "Personalizzato"
|
||||
|
||||
# Preset selezionato
|
||||
preset_selected = "Preset selezionato: {selected}"
|
Loading…
Add table
Reference in a new issue