diff --git a/code/game/gamemodes/nations/flagprocs.dm b/code/game/gamemodes/nations/flagprocs.dm
index 161831183ad..e058ab41fb3 100644
--- a/code/game/gamemodes/nations/flagprocs.dm
+++ b/code/game/gamemodes/nations/flagprocs.dm
@@ -36,8 +36,12 @@
/obj/item/flag/nation/attack_hand(mob/user as mob)
if(user.mind)
if(user.mind.nation)
+ var/obj/item/flag/nation/F = locate(user.mind.nation.flagpath)
if(user.mind.nation.type == nation) //Same team as flag
- if(loc != startloc)
+ if(liege && liege == F.liege)
+ user << "You can't steal your liege's flags!"
+ return
+ else if(loc != startloc)
loc = startloc
user.visible_message("[user] sends [src] back to base!", "You return [src] to your base!")
return
@@ -45,13 +49,9 @@
user << "You can't move your flag from it's home location!"
return
else
- var/obj/item/flag/nation/F = locate(user.mind.nation.flagpath)
if(captured && Adjacent(F.startloc))
user << "This flag has already been captured by your team!"
return
- if(liege && liege == F.liege)
- user << "You can't steal your liege's flags!"
- return
else if(..())
captured = 0
anchored = 0
@@ -82,17 +82,17 @@
//Announce capture/vassalage here.
for(var/mob/living/carbon/human/H in player_list)
if(H.mind && H.mind.nation)
- if(H.mind.nation.type == F.nation)
+ if(H.mind.nation == F.nation)
H << "You have just vassalized [nation.name]! They must now obey any memebrs of your nation!"
continue
- else if(H.mind.nation.type == nation)
+ else if(H.mind.nation == nation)
H << "You are now vassals of [liege.name]! You must now obey the orders of any of their members!"
continue
//Check for Victory
for(var/obj/item/flag/nation/N in flag_list)
if(N == F)
continue
- if(N.captured && (N.liege == F.nation) && N.Adjacent(F))
+ if(N.captured && (N.liege == F.nation) && N.Adjacent(F.startloc))
continue
else
return