Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Donald Haase
Cockatrice
Commits
4c2a553f
Commit
4c2a553f
authored
Jun 28, 2014
by
Daenyth
Browse files
Have servatrice inform players of sideboard size
Ref #142
parent
c0bd7db6
Changes
7
Hide whitespace changes
Inline
Side-by-side
cockatrice/src/messagelogwidget.cpp
View file @
4c2a553f
...
@@ -86,12 +86,16 @@ void MessageLogWidget::logLeaveSpectator(QString name)
...
@@ -86,12 +86,16 @@ void MessageLogWidget::logLeaveSpectator(QString name)
appendHtml
(
tr
(
"%1 is not watching the game any more."
).
arg
(
sanitizeHtml
(
name
)));
appendHtml
(
tr
(
"%1 is not watching the game any more."
).
arg
(
sanitizeHtml
(
name
)));
}
}
void
MessageLogWidget
::
logDeckSelect
(
Player
*
player
,
QString
deckHash
)
void
MessageLogWidget
::
logDeckSelect
(
Player
*
player
,
QString
deckHash
,
int
sideboardSize
)
{
{
if
(
isFemale
(
player
))
const
char
*
gender
=
isFemale
(
player
)
?
"female"
:
"male"
;
appendHtml
(
tr
(
"%1 has loaded a deck (%2)."
,
"female"
).
arg
(
sanitizeHtml
(
player
->
getName
())).
arg
(
deckHash
));
if
(
sideboardSize
<
0
)
appendHtml
(
tr
(
"%1 has loaded a deck (%2)."
,
gender
).
arg
(
sanitizeHtml
(
player
->
getName
())).
arg
(
deckHash
));
else
else
appendHtml
(
tr
(
"%1 has loaded a deck (%2)."
,
"male"
).
arg
(
sanitizeHtml
(
player
->
getName
())).
arg
(
deckHash
));
appendHtml
(
tr
(
"%1 has loaded a deck with (%2) sideboard cards (%3)."
,
gender
).
arg
(
sanitizeHtml
(
player
->
getName
())).
arg
(
sideboardSize
).
arg
(
deckHash
));
}
}
void
MessageLogWidget
::
logReadyStart
(
Player
*
player
)
void
MessageLogWidget
::
logReadyStart
(
Player
*
player
)
...
...
cockatrice/src/messagelogwidget.h
View file @
4c2a553f
...
@@ -48,7 +48,7 @@ public slots:
...
@@ -48,7 +48,7 @@ public slots:
void
logKicked
();
void
logKicked
();
void
logJoinSpectator
(
QString
name
);
void
logJoinSpectator
(
QString
name
);
void
logLeaveSpectator
(
QString
name
);
void
logLeaveSpectator
(
QString
name
);
void
logDeckSelect
(
Player
*
player
,
QString
deckHash
);
void
logDeckSelect
(
Player
*
player
,
QString
deckHash
,
int
sideboardSize
);
void
logReadyStart
(
Player
*
player
);
void
logReadyStart
(
Player
*
player
);
void
logNotReadyStart
(
Player
*
player
);
void
logNotReadyStart
(
Player
*
player
);
void
logSetSideboardLock
(
Player
*
player
,
bool
locked
);
void
logSetSideboardLock
(
Player
*
player
,
bool
locked
);
...
...
cockatrice/src/tab_game.cpp
View file @
4c2a553f
...
@@ -1012,7 +1012,10 @@ void TabGame::eventPlayerPropertiesChanged(const Event_PlayerPropertiesChanged &
...
@@ -1012,7 +1012,10 @@ void TabGame::eventPlayerPropertiesChanged(const Event_PlayerPropertiesChanged &
break
;
break
;
}
}
case
GameEventContext
::
DECK_SELECT
:
{
case
GameEventContext
::
DECK_SELECT
:
{
messageLog
->
logDeckSelect
(
player
,
QString
::
fromStdString
(
context
.
GetExtension
(
Context_DeckSelect
::
ext
).
deck_hash
()));
Context_DeckSelect
deckSelect
=
context
.
GetExtension
(
Context_DeckSelect
::
ext
);
messageLog
->
logDeckSelect
(
player
,
QString
::
fromStdString
(
deckSelect
.
deck_hash
()),
deckSelect
.
sideboard_size
());
break
;
break
;
}
}
case
GameEventContext
::
SET_SIDEBOARD_LOCK
:
{
case
GameEventContext
::
SET_SIDEBOARD_LOCK
:
{
...
...
common/decklist.cpp
View file @
4c2a553f
...
@@ -633,12 +633,27 @@ QStringList DeckList::getCardList() const
...
@@ -633,12 +633,27 @@ QStringList DeckList::getCardList() const
return
result
.
toList
();
return
result
.
toList
();
}
}
int
DeckList
::
getSideboardSize
()
const
{
int
size
=
0
;
for
(
int
i
=
0
;
i
<
root
->
size
();
++
i
)
{
InnerDecklistNode
*
node
=
dynamic_cast
<
InnerDecklistNode
*>
(
root
->
at
(
i
));
if
(
node
->
getName
()
!=
"side"
)
continue
;
for
(
int
j
=
0
;
j
<
node
->
size
();
j
++
)
{
DecklistCardNode
*
card
=
dynamic_cast
<
DecklistCardNode
*>
(
node
->
at
(
j
));
size
+=
card
->
getNumber
();
}
}
return
size
;
}
DecklistCardNode
*
DeckList
::
addCard
(
const
QString
&
cardName
,
const
QString
&
zoneName
)
DecklistCardNode
*
DeckList
::
addCard
(
const
QString
&
cardName
,
const
QString
&
zoneName
)
{
{
InnerDecklistNode
*
zoneNode
=
dynamic_cast
<
InnerDecklistNode
*>
(
root
->
findChild
(
zoneName
));
InnerDecklistNode
*
zoneNode
=
dynamic_cast
<
InnerDecklistNode
*>
(
root
->
findChild
(
zoneName
));
if
(
!
zoneNode
)
if
(
!
zoneNode
)
zoneNode
=
new
InnerDecklistNode
(
zoneName
,
root
);
zoneNode
=
new
InnerDecklistNode
(
zoneName
,
root
);
DecklistCardNode
*
node
=
new
DecklistCardNode
(
cardName
,
1
,
zoneNode
);
DecklistCardNode
*
node
=
new
DecklistCardNode
(
cardName
,
1
,
zoneNode
);
updateDeckHash
();
updateDeckHash
();
return
node
;
return
node
;
...
...
common/decklist.h
View file @
4c2a553f
...
@@ -160,7 +160,9 @@ public:
...
@@ -160,7 +160,9 @@ public:
void
cleanList
();
void
cleanList
();
bool
isEmpty
()
const
{
return
root
->
isEmpty
()
&&
name
.
isEmpty
()
&&
comments
.
isEmpty
()
&&
sideboardPlans
.
isEmpty
();
}
bool
isEmpty
()
const
{
return
root
->
isEmpty
()
&&
name
.
isEmpty
()
&&
comments
.
isEmpty
()
&&
sideboardPlans
.
isEmpty
();
}
QStringList
getCardList
()
const
;
QStringList
getCardList
()
const
;
int
getSideboardSize
()
const
;
QString
getDeckHash
()
const
{
return
deckHash
;
}
QString
getDeckHash
()
const
{
return
deckHash
;
}
void
updateDeckHash
();
void
updateDeckHash
();
...
...
common/pb/context_deck_select.proto
View file @
4c2a553f
import
"game_event_context.proto"
;
import
"game_event_context.proto"
;
message
Context_DeckSelect
{
message
Context_DeckSelect
{
extend
GameEventContext
{
extend
GameEventContext
{
optional
Context_DeckSelect
ext
=
1002
;
optional
Context_DeckSelect
ext
=
1002
;
}
}
optional
string
deck_hash
=
1
;
optional
string
deck_hash
=
1
;
optional
int32
sideboard_size
=
2
[
default
=
-
1
];
}
}
common/server_player.cpp
View file @
4c2a553f
...
@@ -657,6 +657,7 @@ Response::ResponseCode Server_Player::cmdDeckSelect(const Command_DeckSelect &cm
...
@@ -657,6 +657,7 @@ Response::ResponseCode Server_Player::cmdDeckSelect(const Command_DeckSelect &cm
Context_DeckSelect
context
;
Context_DeckSelect
context
;
context
.
set_deck_hash
(
deck
->
getDeckHash
().
toStdString
());
context
.
set_deck_hash
(
deck
->
getDeckHash
().
toStdString
());
context
.
set_sideboard_size
(
deck
->
getSideboardSize
());
ges
.
setGameEventContext
(
context
);
ges
.
setGameEventContext
(
context
);
Response_DeckDownload
*
re
=
new
Response_DeckDownload
;
Response_DeckDownload
*
re
=
new
Response_DeckDownload
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment