Merge branch 'dev' into main
This commit is contained in:
commit
09579b2239
@ -77,6 +77,11 @@ class Game:
|
|||||||
'available_expansions': self.available_expansions,
|
'available_expansions': self.available_expansions,
|
||||||
})
|
})
|
||||||
self.sio.emit('debug', room=self.name, data=self.debug)
|
self.sio.emit('debug', room=self.name, data=self.debug)
|
||||||
|
if self.debug:
|
||||||
|
commands = ['/debug', '/set_chars', '/suicide', '/nextevent', '/notify', '/show_cards', '/ddc', '/dsh', '/togglebot', '/cancelgame', '/startgame', '/setbotspeed', '/addex', '/setcharacter', '/setevent', '/removecard', '/getcard', '/meinfo', '/gameinfo', '/mebot']
|
||||||
|
self.sio.emit('commands', room=self.name, data=commands)
|
||||||
|
else:
|
||||||
|
self.sio.emit('commands', room=self.name, data=['/debug'])
|
||||||
self.sio.emit('spectators', room=self.name, data=len(self.spectators))
|
self.sio.emit('spectators', room=self.name, data=len(self.spectators))
|
||||||
|
|
||||||
def toggle_expansion(self, expansion_name):
|
def toggle_expansion(self, expansion_name):
|
||||||
@ -449,12 +454,14 @@ class Game:
|
|||||||
if self.disconnect_bot and self.started:
|
if self.disconnect_bot and self.started:
|
||||||
player.is_bot = True
|
player.is_bot = True
|
||||||
if len([p for p in self.players if not p.is_bot]) == 0:
|
if len([p for p in self.players if not p.is_bot]) == 0:
|
||||||
print(f'no players left in game {self.name}, shutting down')
|
eventlet.sleep(5)
|
||||||
self.shutting_down = True
|
if len([p for p in self.players if not p.is_bot]) == 0:
|
||||||
self.players = []
|
print(f'no players left in game {self.name}, shutting down')
|
||||||
self.spectators = []
|
self.shutting_down = True
|
||||||
self.deck = None
|
self.players = []
|
||||||
return True
|
self.spectators = []
|
||||||
|
self.deck = None
|
||||||
|
return True
|
||||||
eventlet.sleep(15) # he may reconnect
|
eventlet.sleep(15) # he may reconnect
|
||||||
if player.is_bot:
|
if player.is_bot:
|
||||||
if len(player.available_characters) > 0:
|
if len(player.available_characters) > 0:
|
||||||
|
@ -153,7 +153,7 @@ html {
|
|||||||
#app {
|
#app {
|
||||||
margin: 4pt;
|
margin: 4pt;
|
||||||
margin-top: -16pt;
|
margin-top: -16pt;
|
||||||
zoom: 0.8;
|
zoom: 0.75;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
h1,h2,h3,h4,p,span,b,label{
|
h1,h2,h3,h4,p,span,b,label{
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
<transition-group name="message" tag="div" id="chatbox">
|
<transition-group name="message" tag="div" id="chatbox">
|
||||||
<!-- <div id="chatbox"> -->
|
<!-- <div id="chatbox"> -->
|
||||||
<p style="margin:1pt;" class="chat-message" v-for="(msg, i) in messages" v-bind:key="`${i}-c`" :style="`color:${msg.color}`">{{msg.text}}</p>
|
<p style="margin:1pt;" class="chat-message" v-for="(msg, i) in messages" v-bind:key="`${i}-c`" :style="`color:${msg.color}`">{{msg.text}}</p>
|
||||||
|
<p style="margin:1pt 15pt;" class="chat-message" v-for="(msg, i) in commandSuggestion" v-bind:key="`${i}-c`" :style="`color:orange`">{{msg}}</p>
|
||||||
<p class="end" key="end" style="color:#0000">.</p>
|
<p class="end" key="end" style="color:#0000">.</p>
|
||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
</transition-group>
|
</transition-group>
|
||||||
@ -31,7 +32,17 @@ export default {
|
|||||||
messages: [],
|
messages: [],
|
||||||
text: '',
|
text: '',
|
||||||
spectators: 0,
|
spectators: 0,
|
||||||
|
commands: ['/debug'],
|
||||||
}),
|
}),
|
||||||
|
computed: {
|
||||||
|
commandSuggestion() {
|
||||||
|
this.text;
|
||||||
|
if (this.text.length < 1) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
return this.commands.filter(x => x.slice(0, this.text.length) == this.text);
|
||||||
|
},
|
||||||
|
},
|
||||||
sockets: {
|
sockets: {
|
||||||
chat_message(msg) {
|
chat_message(msg) {
|
||||||
// console.log(msg)
|
// console.log(msg)
|
||||||
@ -84,6 +95,9 @@ export default {
|
|||||||
},
|
},
|
||||||
spectators(val) {
|
spectators(val) {
|
||||||
this.spectators = val
|
this.spectators = val
|
||||||
|
},
|
||||||
|
commands(list) {
|
||||||
|
this.commands = list;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -17,6 +17,25 @@
|
|||||||
|
|
||||||
<!-- <div class="players-table"> -->
|
<!-- <div class="players-table"> -->
|
||||||
<!-- <div style="position: relative;width:260pt;height:400pt;"> -->
|
<!-- <div style="position: relative;width:260pt;height:400pt;"> -->
|
||||||
|
<!-- :style="p.style"/> -->
|
||||||
|
<!-- </div> -->
|
||||||
|
<!-- </div> -->
|
||||||
|
<div v-if="!started">
|
||||||
|
<h3>{{$t("expansions")}}</h3>
|
||||||
|
<div v-for="ex in expansionsStatus" v-bind:key="ex.id">
|
||||||
|
<PrettyCheck @click.native="toggleExpansions(ex.id)" :disabled="!isRoomOwner" :checked="ex.enabled" class="p-switch p-fill" style="margin-top:5px; margin-bottom:3px;">{{ex.name}}</PrettyCheck>
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
|
<h3>{{$t('mods')}}</h3>
|
||||||
|
<PrettyCheck @click.native="toggleCompetitive" :disabled="!isRoomOwner" v-model="is_competitive" class="p-switch p-fill" style="margin-top:5px; margin-bottom:3px;">{{$t('mod_comp')}}</PrettyCheck>
|
||||||
|
<h3>{{$t('bots')}}</h3>
|
||||||
|
<input type="button" class="btn" :value="$t('add_bot')" :disabled="!isRoomOwner || players.length > 7" @click="(e)=>{this.$socket.emit('chat_message', '/addbot'); e.preventDefault()}"/>
|
||||||
|
<input type="button" class="btn" style="margin-left: 10pt;" :value="$t('remove_bot')" :disabled="!isRoomOwner || !isThereAnyBot" @click="(e)=>{this.$socket.emit('chat_message', '/removebot'); e.preventDefault()}"/>
|
||||||
|
<!-- <br> -->
|
||||||
|
<!-- <PrettyCheck @click.native="toggleReplaceWithBot" :disabled="!isRoomOwner" v-model="disconnect_bot" class="p-switch p-fill" style="margin-top:5px; margin-bottom:3px;">{{$t('disconnect_bot')}}</PrettyCheck> -->
|
||||||
|
<p v-if="players.length < 3" class="center-stuff" style="min-height: 19px;">{{$t('minimum_players')}}</p>
|
||||||
|
<p v-else style="min-height: 19px;"> </p>
|
||||||
|
</div>
|
||||||
<transition-group name="list" tag="div" class="players-table">
|
<transition-group name="list" tag="div" class="players-table">
|
||||||
<Card v-if="startGameCard" key="_start_game_" :donotlocalize="true" :card="startGameCard" @click.native="startGame"/>
|
<Card v-if="startGameCard" key="_start_game_" :donotlocalize="true" :card="startGameCard" @click.native="startGame"/>
|
||||||
<div v-for="p in playersTable" v-bind:key="p.card.name" style="position:relative;">
|
<div v-for="p in playersTable" v-bind:key="p.card.name" style="position:relative;">
|
||||||
@ -42,25 +61,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</transition-group>
|
</transition-group>
|
||||||
<!-- :style="p.style"/> -->
|
|
||||||
<!-- </div> -->
|
|
||||||
<!-- </div> -->
|
|
||||||
<div v-if="!started">
|
|
||||||
<p v-if="players.length < 3" class="center-stuff" style="min-height: 19px;">{{$t('minimum_players')}}</p>
|
|
||||||
<p v-else style="min-height: 19px;"> </p>
|
|
||||||
<h3>{{$t("expansions")}}</h3>
|
|
||||||
<div v-for="ex in expansionsStatus" v-bind:key="ex.id">
|
|
||||||
<PrettyCheck @click.native="toggleExpansions(ex.id)" :disabled="!isRoomOwner" :checked="ex.enabled" class="p-switch p-fill" style="margin-top:5px; margin-bottom:3px;">{{ex.name}}</PrettyCheck>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
<h3>{{$t('mods')}}</h3>
|
|
||||||
<PrettyCheck @click.native="toggleCompetitive" :disabled="!isRoomOwner" v-model="is_competitive" class="p-switch p-fill" style="margin-top:5px; margin-bottom:3px;">{{$t('mod_comp')}}</PrettyCheck>
|
|
||||||
<h3>{{$t('bots')}}</h3>
|
|
||||||
<input type="button" class="btn" :value="$t('add_bot')" :disabled="!isRoomOwner || players.length > 7" @click="(e)=>{this.$socket.emit('chat_message', '/addbot'); e.preventDefault()}"/>
|
|
||||||
<input type="button" class="btn" style="margin-left: 10pt;" :value="$t('remove_bot')" :disabled="!isRoomOwner || !isThereAnyBot" @click="(e)=>{this.$socket.emit('chat_message', '/removebot'); e.preventDefault()}"/>
|
|
||||||
<!-- <br> -->
|
|
||||||
<!-- <PrettyCheck @click.native="toggleReplaceWithBot" :disabled="!isRoomOwner" v-model="disconnect_bot" class="p-switch p-fill" style="margin-top:5px; margin-bottom:3px;">{{$t('disconnect_bot')}}</PrettyCheck> -->
|
|
||||||
</div>
|
|
||||||
<div v-if="started">
|
<div v-if="started">
|
||||||
<deck :endTurnAction="()=>{wantsToEndTurn = true}"/>
|
<deck :endTurnAction="()=>{wantsToEndTurn = true}"/>
|
||||||
<player :isEndingTurn="wantsToEndTurn" :cancelEndingTurn="()=>{wantsToEndTurn = false}" :chooseCardFromPlayer="choose" :cancelChooseCardFromPlayer="()=>{hasToChoose=false}"/>
|
<player :isEndingTurn="wantsToEndTurn" :cancelEndingTurn="()=>{wantsToEndTurn = false}" :chooseCardFromPlayer="choose" :cancelChooseCardFromPlayer="()=>{hasToChoose=false}"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user