65 { name = loc("Dark Strawberry") }, |
65 { name = loc("Dark Strawberry") }, |
66 { name = loc("Watermelon Heart") }, |
66 { name = loc("Watermelon Heart") }, |
67 { name = loc("Deadly Grape") } |
67 { name = loc("Deadly Grape") } |
68 } |
68 } |
69 -- Hog Solo and Green Bananas |
69 -- Hog Solo and Green Bananas |
70 -- TODO: Use default clan colors |
|
71 teamA.name = loc("Hog Solo and GB") |
70 teamA.name = loc("Hog Solo and GB") |
72 teamA.color = 0x38D61C -- green |
71 teamA.color = -6 |
|
72 -- Captain Lime will use a color which is almost the same as the color of teamA. |
|
73 -- It works, but it's a hack. |
|
74 -- Technically, this makes Captain Lime an enemy team in the mission but for the player |
|
75 -- it looks like an ally. This is because Camptain Lime starts friendly (story-wise), |
|
76 -- but might become your enemy during the course of this mission. |
|
77 -- TODO: For teamB, use same color of teamA when friendly, change color when evil |
73 teamB.name = loc("Captain Lime") |
78 teamB.name = loc("Captain Lime") |
74 -- FIXME: Use different clan color |
|
75 teamB.color = 0x38D61D -- greenish |
|
76 teamC.name = loc("Fruit Assassins") |
79 teamC.name = loc("Fruit Assassins") |
77 teamC.color = 0xFF0000 -- red |
80 teamC.color = -1 |
78 |
81 |
79 function onGameInit() |
82 function onGameInit() |
80 GameFlags = gfDisableWind |
83 GameFlags = gfDisableWind |
81 Seed = 1 |
84 Seed = 1 |
82 TurnTime = 20000 |
85 TurnTime = 20000 |
91 Map = "fruit02_map" |
94 Map = "fruit02_map" |
92 Theme = "Fruit" |
95 Theme = "Fruit" |
93 |
96 |
94 local health = 100 |
97 local health = 100 |
95 |
98 |
|
99 |
|
100 -- Fruit Assassins |
|
101 local assasinsHats = { "NinjaFull", "NinjaStraight", "NinjaTriangle" } |
|
102 AddTeam(teamC.name, teamC.color, "bp2", "Island", "Default", "cm_scout") |
|
103 for i=1,table.getn(redHedgehogs) do |
|
104 redHedgehogs[i].gear = AddHog(redHedgehogs[i].name, 1, 100, assasinsHats[GetRandom(3)+1]) |
|
105 AnimSetGearPosition(redHedgehogs[i].gear, 2010 + 50*i, 630) |
|
106 end |
|
107 local assassinsColor = div(GetClanColor(GetHogClan(redHedgehogs[1].gear)), 0x100) |
|
108 |
96 -- Hog Solo and Green Bananas |
109 -- Hog Solo and Green Bananas |
97 AddTeam(teamA.name, teamA.color, "Simple", "Island", "Default", "hedgehog") |
110 AddTeam(teamA.name, teamA.color, "Simple", "Island", "Default", "hedgehog") |
98 hero.gear = AddHog(hero.name, 0, health, "war_desertgrenadier1") |
111 hero.gear = AddHog(hero.name, 0, health, "war_desertgrenadier1") |
99 AnimSetGearPosition(hero.gear, hero.x, hero.y) |
112 AnimSetGearPosition(hero.gear, hero.x, hero.y) |
100 HogTurnLeft(hero.gear, true) |
113 HogTurnLeft(hero.gear, true) |
102 AnimSetGearPosition(green2.gear, green2.x, green2.y) |
115 AnimSetGearPosition(green2.gear, green2.x, green2.y) |
103 HogTurnLeft(green2.gear, true) |
116 HogTurnLeft(green2.gear, true) |
104 green3.gear = AddHog(green3.name, 0, 100, "hair_red") |
117 green3.gear = AddHog(green3.name, 0, 100, "hair_red") |
105 AnimSetGearPosition(green3.gear, green3.x, green3.y) |
118 AnimSetGearPosition(green3.gear, green3.x, green3.y) |
106 HogTurnLeft(green3.gear, true) |
119 HogTurnLeft(green3.gear, true) |
|
120 local heroColor = div(GetClanColor(GetHogClan(hero.gear)), 0x100) |
|
121 |
107 -- Captain Lime |
122 -- Captain Lime |
108 AddTeam(teamB.name, teamB.color, "Cherry", "Island", "Default", "congo-brazzaville") |
123 -- Returns a color that is as close as possible to the color argument |
|
124 -- but does not equal color and otherCollision. |
|
125 local getSimilarColor = function(color, otherCollision) |
|
126 local goingUp = false |
|
127 local collision1 = color |
|
128 while(color == collision1 or color == otherCollision) do |
|
129 -- Try out colors by varying the blue color component until |
|
130 -- we don't collide with any of the 2 colors. |
|
131 if ((color % 0x100) > 0) and (not goingUp) then |
|
132 color = color - 0x1 |
|
133 else |
|
134 goingUp = true |
|
135 color = color + 0x1 |
|
136 end |
|
137 end |
|
138 return color |
|
139 end |
|
140 -- Captain Lime gets a fake color clore to hero's clan color. |
|
141 -- This is a hack, but it works. See explanation at top of file |
|
142 local cptnColor = getSimilarColor(heroColor, assassinsColor) |
|
143 AddTeam(teamB.name, cptnColor, "Cherry", "Island", "Default", "congo-brazzaville") |
109 green1.gear= AddHog(green1.name, 0, 100, "war_desertofficer") |
144 green1.gear= AddHog(green1.name, 0, 100, "war_desertofficer") |
110 AnimSetGearPosition(green1.gear, green1.x, green1.y) |
145 AnimSetGearPosition(green1.gear, green1.x, green1.y) |
111 -- Fruit Assassins |
|
112 local assasinsHats = { "NinjaFull", "NinjaStraight", "NinjaTriangle" } |
|
113 AddTeam(teamC.name, teamC.color, "bp2", "Island", "Default", "cm_scout") |
|
114 for i=1,table.getn(redHedgehogs) do |
|
115 redHedgehogs[i].gear = AddHog(redHedgehogs[i].name, 1, 100, assasinsHats[GetRandom(3)+1]) |
|
116 AnimSetGearPosition(redHedgehogs[i].gear, 2010 + 50*i, 630) |
|
117 end |
|
118 |
146 |
119 AnimInit(true) |
147 AnimInit(true) |
120 AnimationSetup() |
148 AnimationSetup() |
121 end |
149 end |
122 |
150 |