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
767d53b5
Commit
767d53b5
authored
Mar 31, 2012
by
Max-Wilhelm Bruker
Browse files
merged from master
parents
cdda3f15
befe2d52
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
cockatrice/cockatrice.qrc
View file @
767d53b5
...
...
@@ -65,8 +65,8 @@
<!-- <file>translations/cockatrice_cs.qm</file>
<file>translations/cockatrice_pl.qm</file>
<file>translations/cockatrice_sk.qm</file>
-->
<file>translations/cockatrice_sv.qm</file>
-->
<file>translations/cockatrice_sv.qm</file>
<file>resources/countries/ar.svg</file>
<file>resources/countries/at.svg</file>
<file>resources/countries/au.svg</file>
...
...
cockatrice/translations/cockatrice_sv.ts
View file @
767d53b5
This diff is collapsed.
Click to expand it.
common/server_game.cpp
View file @
767d53b5
...
...
@@ -413,7 +413,7 @@ void Server_Game::removePlayer(Server_Player *player)
players
.
remove
(
player
->
getPlayerId
());
GameEventStorage
ges
;
removeArrowsToPlayer
(
ges
,
player
);
removeArrows
Related
ToPlayer
(
ges
,
player
);
unattachCards
(
ges
,
player
);
ges
.
enqueueGameEvent
(
Event_Leave
(),
player
->
getPlayerId
());
ges
.
sendToGame
(
this
);
...
...
@@ -451,11 +451,13 @@ void Server_Game::removePlayer(Server_Player *player)
emit
gameInfoChanged
(
gameInfo
);
}
void
Server_Game
::
removeArrowsToPlayer
(
GameEventStorage
&
ges
,
Server_Player
*
player
)
void
Server_Game
::
removeArrows
Related
ToPlayer
(
GameEventStorage
&
ges
,
Server_Player
*
player
)
{
QMutexLocker
locker
(
&
gameMutex
);
// Remove all arrows of other players pointing to the player being removed or to one of his cards.
// Also remove all arrows starting at one of his cards. This is necessary since players can create
// arrows that start at another person's cards.
QMapIterator
<
int
,
Server_Player
*>
playerIterator
(
players
);
while
(
playerIterator
.
hasNext
())
{
Server_Player
*
p
=
playerIterator
.
next
().
value
();
...
...
@@ -467,7 +469,11 @@ void Server_Game::removeArrowsToPlayer(GameEventStorage &ges, Server_Player *pla
if
(
targetCard
)
{
if
(
targetCard
->
getZone
()
->
getPlayer
()
==
player
)
toDelete
.
append
(
a
);
}
else
if
((
static_cast
<
Server_Player
*>
(
a
->
getTargetItem
())
==
player
)
||
(
a
->
getStartCard
()
->
getZone
()
->
getPlayer
()
==
player
))
}
else
if
(
static_cast
<
Server_Player
*>
(
a
->
getTargetItem
())
==
player
)
toDelete
.
append
(
a
);
// Don't use else here! It has to happen regardless of whether targetCard == 0.
if
(
a
->
getStartCard
()
->
getZone
()
->
getPlayer
()
==
player
)
toDelete
.
append
(
a
);
}
for
(
int
i
=
0
;
i
<
toDelete
.
size
();
++
i
)
{
...
...
common/server_game.h
View file @
767d53b5
...
...
@@ -97,7 +97,7 @@ public:
bool
containsUser
(
const
QString
&
userName
)
const
;
void
addPlayer
(
Server_AbstractUserInterface
*
userInterface
,
ResponseContainer
&
rc
,
bool
spectator
,
bool
broadcastUpdate
=
true
);
void
removePlayer
(
Server_Player
*
player
);
void
removeArrowsToPlayer
(
GameEventStorage
&
ges
,
Server_Player
*
player
);
void
removeArrows
Related
ToPlayer
(
GameEventStorage
&
ges
,
Server_Player
*
player
);
void
unattachCards
(
GameEventStorage
&
ges
,
Server_Player
*
player
);
bool
kickPlayer
(
int
playerId
);
void
startGameIfReady
();
...
...
common/server_player.cpp
View file @
767d53b5
...
...
@@ -718,7 +718,7 @@ Response::ResponseCode Server_Player::cmdConcede(const Command_Concede & /*cmd*/
return
Response
::
RespContextError
;
setConceded
(
true
);
game
->
removeArrowsToPlayer
(
ges
,
this
);
game
->
removeArrows
Related
ToPlayer
(
ges
,
this
);
game
->
unattachCards
(
ges
,
this
);
clearZones
();
...
...
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