#renvoie un paquet avec le bon nombre de cartes & les bonnes classes
#renvoie un paquet avec le bon nombre de cartes & les bonnes classes
defPaquet(nbrJoueurs):
defPaquet(nbrJoueurs):
ifnbrJoueurs==4:
ifnbrJoueurs==4:
...
@@ -38,7 +41,9 @@ class Boooob(ircbot.SingleServerIRCBot):
...
@@ -38,7 +41,9 @@ class Boooob(ircbot.SingleServerIRCBot):
self.phase=0
self.phase=0
self.repet=0
self.repet=0
self.phase2trig=1
self.phase2=0
self.phase2=0
self.voyanteok=0
self.voyanteok=0
self.loupsok=0
self.loupsok=0
self.sorciereok=0
self.sorciereok=0
...
@@ -57,15 +62,26 @@ class Boooob(ircbot.SingleServerIRCBot):
...
@@ -57,15 +62,26 @@ class Boooob(ircbot.SingleServerIRCBot):
self.cankill=1#sorciere uniquement
self.cankill=1#sorciere uniquement
self.cansave=1#sorciere uniquement
self.cansave=1#sorciere uniquement
self.chasseur=""
self.chasseurok=1
self.chasseurtrig=1
self.pf=""
self.pf=""
self.voyante=""
self.voyante=""
self.cansee=1#voyante
self.cansee=1#voyante
self.cupidon=""
self.cupidon=""
self.cupidontrig=1
self.maire=""
self.maire=""
self.voleur=""
self.voleur=""
self.voleurtrig=1
self.ancien=""
self.ancien=""
self.victime=""
self.canlive=1
self.victime=[]
defon_welcome(self,serv,ev):
defon_welcome(self,serv,ev):
...
@@ -77,7 +93,7 @@ class Boooob(ircbot.SingleServerIRCBot):
...
@@ -77,7 +93,7 @@ class Boooob(ircbot.SingleServerIRCBot):
serv.privmsg("NickServ","identify MotDePasse")
serv.privmsg("NickServ","identify MotDePasse")
defon_join(self,serv,ev):#Quand qq entre dans le chann, le bot inclus
defon_join(self,serv,ev):#Quand qq entre dans le chann, le bot inclus
canal=ev.target()
canal=ev.target()
ifcanal=="#lg_putsch_loups":
ifcanal=="#lg_putsch_loups"andself.phase==3:
serv.privmsg(canal,"Vous pouvez maintenant voter en tapant '!vote pseudo'. Tout vote est definitif, vous avez le choix entre :"+", ".join(self.joueurs))
serv.privmsg(canal,"Vous pouvez maintenant voter en tapant '!vote pseudo'. Tout vote est definitif, vous avez le choix entre :"+", ".join(self.joueurs))
...
@@ -86,6 +102,7 @@ class Boooob(ircbot.SingleServerIRCBot):
...
@@ -86,6 +102,7 @@ class Boooob(ircbot.SingleServerIRCBot):
defon_privmsg(self,serv,ev):#msg privé
defon_privmsg(self,serv,ev):#msg privé
personne=ev.source()
personne=ev.source()
personne=couper(personne)
message=ev.arguments()[0]
message=ev.arguments()[0]
ifself.phase==2:
ifself.phase==2:
#Voleur
#Voleur
...
@@ -93,6 +110,11 @@ class Boooob(ircbot.SingleServerIRCBot):
...
@@ -93,6 +110,11 @@ class Boooob(ircbot.SingleServerIRCBot):
forfinself.cartes:
forfinself.cartes:
iffinmessage:
iffinmessage:
serv.privmsg(personne,"Tu as choisi : "+f)
serv.privmsg(personne,"Tu as choisi : "+f)
iff=="loups":
self.loups.append(personne)
serv.privmsg(personne,"Pense a rejoindre le chann #lg_putsch_loups !")
serv.invite(personne,"#lg_putsch_loups")
else:
setattr(self,f,personne)
setattr(self,f,personne)
self.phase2=self.phase2+1
self.phase2=self.phase2+1
break
break
...
@@ -105,6 +127,7 @@ class Boooob(ircbot.SingleServerIRCBot):
...
@@ -105,6 +127,7 @@ class Boooob(ircbot.SingleServerIRCBot):
forfinself.joueurs:
forfinself.joueurs:
iffinmessageandfnotinamants:
iffinmessageandfnotinamants:
amants.append(f)
amants.append(f)
iflen(amants)==2:
serv.privmsg(personne,"Tu as choisi ces deux couillons :"+", ".join(amants))
serv.privmsg(personne,"Tu as choisi ces deux couillons :"+", ".join(amants))
self.lovers=amants
self.lovers=amants
serv.privmsg(self.lovers[0],"Felicitations, tu es en couple avec "+self.lovers[1]+".")
serv.privmsg(self.lovers[0],"Felicitations, tu es en couple avec "+self.lovers[1]+".")
...
@@ -115,26 +138,42 @@ class Boooob(ircbot.SingleServerIRCBot):
...
@@ -115,26 +138,42 @@ class Boooob(ircbot.SingleServerIRCBot):
ifself.phase==3:
ifself.phase==3:
#voyante
#voyante
ifself.voyante==personneandself.cansee==1:
ifself.voyante==personneandself.cansee==1:
forfinjoueurs:
forfinself.joueurs:
iffinmessage:
iffinmessageand"!who"inmessage:
forgindir(self):
forgindir(self):
iff==getattr(self,g):
iffinstr(getattr(self,g))andg!="joueurs":
serv.privmsg(personne,"La classe de "+f+" est :"+g)
serv.privmsg(personne,"La classe de "+f+" est :"+g)
serv.privmsg(self.cupidon,"Tu es le cupidon, designe deux joueurs de cette maniere : 'pseudo1' + 'pseudo2'. La liste: "+", ".join(self.joueurs))
serv.privmsg(self.cupidon,"Tu es le cupidon, designe deux joueurs parmi ceux là : "+", ".join(self.joueurs))
self.cupidontrig=0
else:
else:
ifself.phase2==1andself.cupidontrig==1:
self.phase2=self.phase2+1
self.phase2=self.phase2+1
ifself.phase2==2:
ifself.phase2==2:
self.phase=3
self.phase=3
serv.privmsg("#lg_putsch","La partie commence dans 20s...")
time.sleep(20)
serv.privmsg("#lg_putsch","Debut de la partie")
serv.mode("#lg_putsch_loups","-m")
serv.mode("#lg_putsch_loups","-m")
serv.privmsg("#lg_putsch","Okay, la partie commence vraiment cette fois")
serv.privmsg("#lg_putsch_loups","Vous pouvez voter avec '!vote pseudo' . la liste des pseudos : "+" ,".join(self.joueurs))
time.sleep(10)
self.temps=time.time()
ifself.phase==3:
ifself.phase==3:
iftime.time()-self.temps>40:
iflen(self.votes)==len(self.loups):
ifself.sorciere=="":
self.sorciereok=1
serv.mode("#lg_putsch_loups","+m")
serv.privmsg("#lg_putsch","la sorciere se leve...")
serv.privmsg("#lg_putsch","la sorciere se leve...")
a=0
bid=[]
forfinself.joueurs:
forfinself.joueurs:
ifself.votes.count(f)>a:
bid.append(str(self.votes.count(f)))
a=self.vote.count(f)
a=max(bid)
self.victime=f
c=0
serv.privmsg(self.sorciere,self.victime+" est mort cette nuit. Souhaitez vous 1 : ressusciter "+self.victime+" ou 2 : tuer quelqu'un d'autre (un seul choix). Tapez : 'tuer groot' pour tuer groot, ou juste 'ress' pour ressusciter la victime")
forfinbid:
iff==a:
c=c+1
ifc==1:
self.victime.append(self.joueurs[bid.index(a)])
ifself.sorciere!="":
serv.privmsg(self.sorciere,list_to_str(self.victime)+" est mort cette nuit. Tapez : '!tuer pseudo' pour tuer quelqu'un ou '!ress' pour ressusciter la victime. Vous pouvez taper !nope pour ne rien faire. (un seul choix possible)")
self.votes=[]
...
@@ -262,7 +323,7 @@ class Boooob(ircbot.SingleServerIRCBot):
...
@@ -262,7 +323,7 @@ class Boooob(ircbot.SingleServerIRCBot):
ifself.voyanteok==0:
ifself.voyanteok==0:
serv.privmsg("#lg_putsch","J'appelle la voyante")
serv.privmsg("#lg_putsch","J'appelle la voyante")
serv.privmsg(self.voyante,"De quel joueur souhaites tu voir la carte ? Tu as le choix entre : "+", ".join(self.joueurs))
serv.privmsg(self.voyante,"Tape !who pseudo pour connaitre le role de pseudo. La liste : "+", ".join(self.joueurs))
self.voyanteok=1
self.voyanteok=1
...
@@ -271,24 +332,64 @@ class Boooob(ircbot.SingleServerIRCBot):
...
@@ -271,24 +332,64 @@ class Boooob(ircbot.SingleServerIRCBot):
serv.privmsg("#lg_putsch","Les loups se reveillent...")
serv.privmsg("#lg_putsch","Les loups se reveillent...")