share/hedgewars/Data/Scripts/Multiplayer/WxW.lua
changeset 12067 18677a537d58
parent 12065 7df7c58ea965
child 12068 e2be2e6cf544
equal deleted inserted replaced
12066:d4860f0ce4a0 12067:18677a537d58
   339 	{"MaskedRopes",       			false, 	false, true},
   339 	{"MaskedRopes",       			false, 	false, true},
   340 	{"Octorama",       			false, 	false, true},
   340 	{"Octorama",       			false, 	false, true},
   341 	{"red vs blue - Castle",     		true, 	false, true},
   341 	{"red vs blue - Castle",     		true, 	false, true},
   342 	{"red vs blue - castle2",     		true, 	false, true},
   342 	{"red vs blue - castle2",     		true, 	false, true},
   343 	{"red vs blue - True Shoppa Sky",	true,	false, true},
   343 	{"red vs blue - True Shoppa Sky",	true,	false, true},
   344 	{"Ropes",       			false, 	false, true},
   344 	{"Ropes",       			false, 	true, true},
   345 	{"RopeLikeAKingInHellWithNeon",		false, 	true,  true},
   345 	{"RopeLikeAKingInHellWithNeon",		false, 	true,  true},
   346 	{"Ropes Flipped",      			false, 	false, true},
   346 	{"Ropes Flipped",      			false, 	false, true},
   347 	{"Ropes Rearranged",      		false, 	false, true},
   347 	{"Ropes Rearranged",      		false, 	false, true},
   348 	{"RopesRevenge Flipped",    		true, 	false, true},
   348 	{"RopesRevenge Flipped",    		true, 	false, true},
   349 	{"RopesThree",      			false, 	false, true},
   349 	{"RopesThree",      			false, 	false, true},
   520 	local left, right, roof
   520 	local left, right, roof
   521 	left = {LeftX+10,TopY+10,margin,WaterLine}
   521 	left = {LeftX+10,TopY+10,margin,WaterLine}
   522 	right = {RightX-10-margin,TopY+10,margin,WaterLine}
   522 	right = {RightX-10-margin,TopY+10,margin,WaterLine}
   523 	roof = {LeftX+10,TopY+10,RightX-LeftX-20,margin}
   523 	roof = {LeftX+10,TopY+10,RightX-LeftX-20,margin}
   524 
   524 
   525 	local border = MapHasBorder()
   525 	local border = MapHasBorder() == true
       
   526 	local leftRight = (WorldEdge == weBounce) or (WorldEdge == weNone and border)
   526 
   527 
   527 	if mapID ~= nil then
   528 	if mapID ~= nil then
   528 		if border then
   529 		if border and MapList[mapID][3] == true then
   529 			if MapList[mapID][3] == true then
   530 			NewWallSet({roof, desc=loc("Roof")}, "roof")
   530 				NewWallSet({roof, desc=loc("Roof")}, "roof")
   531 			wallSetID = #wallSets
   531 				wallSetID = #wallSets
   532 		end
   532 			end
   533 		if leftRight and MapList[mapID][4] == true then
   533 			if MapList[mapID][4] == true then
   534 			NewWallSet({left, right, desc=loc("Left and right")}, "leftright")
   534 				NewWallSet({left, right, desc=loc("Left and right")}, "leftright")
   535 			wallSetID = #wallSets
   535 				wallSetID = #wallSets
   536 		end
   536 			end
   537 		if leftRight and border and MapList[mapID][3] == true and MapList[mapID][4] == true then
   537 			if MapList[mapID][3] == true and MapList[mapID][4] == true then
   538 			NewWallSet({left, right, roof, desc=loc("Left, right and roof")}, "leftrightroof")
   538 				NewWallSet({left, right, roof, desc=loc("Left, right and roof")}, "leftrightroof")
       
   539 			end
       
   540 		end
   539 		end
   541 
   540 
   542 		-- add map specific walls
   541 		-- add map specific walls
   543 		if SpecialMapList[Map] ~= nil then
   542 		if SpecialMapList[Map] ~= nil then
   544 			local insideID = 1
   543 			local insideID = 1
   574 					if SpecialMapList[Map][ws].default == "noborder" then
   573 					if SpecialMapList[Map][ws].default == "noborder" then
   575 						wallSetID = #wallSets
   574 						wallSetID = #wallSets
   576 					end
   575 					end
   577 				end
   576 				end
   578 				local newwallset = {}
   577 				local newwallset = {}
   579 				if border then
   578 				if border and leftRight and walls.add == "all" then
   580 					if walls.add == "all" then
   579 					table.insert(newwallset, roof)
       
   580 					table.insert(newwallset, left)
       
   581 					table.insert(newwallset, right)
       
   582 				elseif walls.add == "default" then
       
   583 					if border and MapList[mapID][3] == true then
   581 						table.insert(newwallset, roof)
   584 						table.insert(newwallset, roof)
   582 						table.insert(newwallset, left)
   585 					end
   583 						table.insert(newwallset, right)
   586 					if leftRight and MapList[mapID][4] == true then
   584 					elseif walls.add == "default" then
       
   585 						if MapList[mapID][3] == true then
       
   586 							table.insert(newwallset, roof)
       
   587 						end
       
   588 						if MapList[mapID][4] == true then
       
   589 							table.insert(newwallset, left)
       
   590 							table.insert(newwallset, right)
       
   591 						end
       
   592 					elseif walls.add == "roof" then
       
   593 						table.insert(newwallset, roof)
       
   594 					elseif walls.add == "leftright" then
       
   595 						table.insert(newwallset, left)
   587 						table.insert(newwallset, left)
   596 						table.insert(newwallset, right)
   588 						table.insert(newwallset, right)
   597 					end
   589 					end
       
   590 				elseif border and walls.add == "roof" then
       
   591 					table.insert(newwallset, roof)
       
   592 				elseif leftRight and walls.add == "leftright" then
       
   593 					table.insert(newwallset, left)
       
   594 					table.insert(newwallset, right)
   598 				end
   595 				end
   599 				for w=1,#walls do
   596 				for w=1,#walls do
   600 					table.insert(newwallset, walls[w])
   597 					table.insert(newwallset, walls[w])
   601 				end
   598 				end
   602 				if border and ((walls.add ~= "none" and walls.add ~= nil) or walls.needsborder ~= false) then
   599 				if border and leftRight and ((walls.add ~= "none" and walls.add ~= nil) or walls.needsborder ~= false) then
   603 					mixedID, previousMixed = newInsideOrMixed(newwallset, previousMixed, mixedID, loc("Mixed"), loc("Mixed %d"))
   600 					mixedID, previousMixed = newInsideOrMixed(newwallset, previousMixed, mixedID, loc("Mixed"), loc("Mixed %d"))
   604 					newwallset.custom = true
   601 					newwallset.custom = true
   605 					NewWallSet(newwallset, "mixed")
   602 					NewWallSet(newwallset, "mixed")
   606 				end
   603 				end
   607 				if SpecialMapList[Map][ws].default == true then
   604 				if SpecialMapList[Map][ws].default == true then
   611 		end
   608 		end
   612 
   609 
   613 	else
   610 	else
   614 		if border then
   611 		if border then
   615 			NewWallSet({roof, desc=loc("Roof")}, "roof")
   612 			NewWallSet({roof, desc=loc("Roof")}, "roof")
       
   613 			wallSetID = #wallSets
       
   614 		end
       
   615 		if leftRight then
   616 			NewWallSet({left, right, desc=loc("Left and right")}, "leftright")
   616 			NewWallSet({left, right, desc=loc("Left and right")}, "leftright")
       
   617 			wallSetID = #wallSets
       
   618 		end
       
   619 		if leftRight and border then
   617 			NewWallSet({left, right, roof, desc=loc("Left, right and roof")}, "leftrightroof")
   620 			NewWallSet({left, right, roof, desc=loc("Left, right and roof")}, "leftrightroof")
   618 			wallSetID = 2
       
   619 		end
   621 		end
   620 	end
   622 	end
   621 
   623 
   622 	-- Choose random map when without without menu
   624 	-- Choose random map when without without menu
   623 	if useMenu == false and #wallSets > 0 then
   625 	if useMenu == false and #wallSets > 0 then