author  unC0Rr 
Wed, 11 Nov 2015 13:31:31 +0300  
changeset 11346  9fc4dc5f8446 
parent 10656  2093cf51eea1 
child 11767  c21278c4218d 
permissions  rwrr 
10656
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

1 
[=[ 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

2 
Target Practice Mission Framework for Hedgewars 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

3 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

4 
This is a simple library intended to make setting up simple training missions a trivial 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

5 
task requiring just. The library has been created to reduce redundancy in Lua scripts. 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

6 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

7 
The training framework generates complete and fully usable training missions by just 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

8 
one function call. 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

9 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

10 
The missions generated by this script are all the same: 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

11 
 The player will get a team with a single hedgehog. 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

12 
 The team gets a single predefined weapon infinitely times. 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

13 
 A fixed sequence of targets will spawn at predefined positions. 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

14 
 When a target has been destroyed, the next target of the target sequence appears 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

15 
 The mission ends successfully when all targets have been destroyed 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

16 
 The mission ends unsuccessfully when the time runs out or the hedgehog dies 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

17 
 When the mission ends, a score is awarded, based on the performance (hit targets, 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

18 
accuracy and remaining time) of the hedgehog. When not all targets are hit, there 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

19 
will be no accuracy and time bonuses. 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

20 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

21 
To use this library, you first have to load it and to call TrainingMission once with 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

22 
the appropriate parameters. Really, that’s all! 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

23 
See the comment of TrainingMission for a specification of all parameters. 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

24 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

25 
Below is a template for your convenience, you just have to fill in the fields and delete 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

26 
optional arguments you don’t want. 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

27 
 snip  
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

28 
HedgewarsScriptLoad("/Scripts/Training.lua") 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

29 
params = { 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

30 
missionTitle = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

31 
map = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

32 
theme = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

33 
time = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

34 
ammoType = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

35 
gearType = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

36 
targets = { 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

37 
{ x = , y = }, 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

38 
{ x = , y = }, 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

39 
 etc. 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

40 
}, 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

41 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

42 
wind = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

43 
solidLand = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

44 
artillery = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

45 
hogHat = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

46 
hogName = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

47 
teamName = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

48 
teamGrave = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

49 
clanColor = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

50 
goalText = , 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

51 
shootText = 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

52 
} 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

53 
TargetPracticeMission(params) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

54 
 snip  
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

55 
]=] 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

56 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

57 
HedgewarsScriptLoad("/Scripts/Locale.lua") 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

58 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

59 
local player = nil 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

60 
local scored = 0 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

61 
local shots = 0 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

62 
local end_timer = 1000 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

63 
local game_lost = false 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

64 
local time_goal = 0 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

65 
local total_targets 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

66 
local targets 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

67 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

68 
[[ 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

69 
TrainingMission(params) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

70 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

71 
This function sets up the *entire* training mission and needs one argument: params. 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

72 
The argument “params” is a table containing fields which describe the training mission. 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

73 
mandatory fields: 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

74 
 missionTitle: the name of the mission 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

75 
 map: the name map to be used 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

76 
 theme: the name of the theme (does not need to be a standalone theme) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

77 
 time: the time limit in milliseconds 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

78 
 ammoType: the ammo type of the weapon to be used 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

79 
 gearType: the gear type of the gear which is fired (used to count shots) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

80 
 targets: The coordinates of where the targets will be spawned. 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

81 
It is a table containing tables containing coordinates of format 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

82 
{ x=value, y=value }. The targets will be spawned in the same 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

83 
order as specified the coordinate tables appear. Example: 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

84 
targets = { 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

85 
{ x = 324, y = 43 }, 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

86 
{ x = 123, y = 56 }, 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

87 
{ x = 6, y = 0 }, 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

88 
} 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

89 
There must be at least 1 target. 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

90 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

91 
optional fields: 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

92 
 wind: the initial wind (100 to 100) (default: 0 (no wind)) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

93 
 solidLand: weather the terrain is indestructible (default: false) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

94 
 artillery: if true, the hog can’t move (default: false) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

95 
 hogHat: hat of the hedgehog (default: "NoHat") 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

96 
 hogName: name of the hedgehog (default: "Trainee") 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

97 
 teamName: name of the hedgehog’s team (default: "Training Team") 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

98 
 teamGrave: name of the hedgehog’s grave 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

99 
 clanColor: color of the (only) clan (default: 0xFF0204, which is a red tone) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

100 
 goalText: A short string explaining the goal of the mission 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

101 
(default: "Destroy all targets within the time!") 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

102 
 shootText: A string which says how many times the player shot, “%d” is replaced 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

103 
by the number of shots. (default: "You have shot %d times.") 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

104 
]] 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

105 
function TargetPracticeMission(params) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

106 
if params.hogHat == nil then params.hogHat = "NoHat" end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

107 
if params.hogName == nil then params.hogName = loc("Trainee") end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

108 
if params.teamName == nil then params.teamName = loc("Training Team") end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

109 
if params.goalText == nil then params.goalText = loc("Eliminate all targets before your time runs out.You have unlimited ammo for this mission.") end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

110 
if params.shootText == nil then params.shootText = loc("You have shot %d times.") end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

111 
if params.clanColor == nil then params.clanColor = 0xFF0204 end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

112 
if params.teamGrave == nil then params.teamGrave= "Statue" end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

113 
if params.wind == nil then params.wind = 0 end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

114 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

115 
local solid, artillery 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

116 
if params.solidLand == true then solid = gfSolidLand else solid = 0 end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

117 
if params.artillery == true then artillery = gfArtillery else artillery = 0 end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

118 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

119 
targets = params.targets 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

120 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

121 
total_targets = #targets 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

122 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

123 
_G.onAmmoStoreInit = function() 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

124 
SetAmmo(params.ammoType, 9, 0, 0, 0) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

125 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

126 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

127 
_G.onGameInit = function() 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

128 
Seed = 1 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

129 
GameFlags = gfDisableWind + gfInfAttack + gfOneClanMode + solid + artillery 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

130 
TurnTime = params.time 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

131 
Map = params.map 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

132 
Theme = params.theme 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

133 
Goals = params.goalText 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

134 
CaseFreq = 0 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

135 
MinesNum = 0 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

136 
Explosives = 0 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

137 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

138 
SetWind(params.wind) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

139 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

140 
AddTeam(loc(params.teamName), params.clanColor, params.teamGrave, "Island", "Default", "Flowerhog") 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

141 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

142 
player = AddHog(loc(params.hogName), 0, 1, params.hogHat) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

143 
SetGearPosition(player, params.hog_x, params.hog_y) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

144 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

145 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

146 
_G.onGameStart = function() 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

147 
SendHealthStatsOff() 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

148 
ShowMission(params.missionTitle, loc("Aiming practice"), params.goalText, params.ammoType, 5000) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

149 
spawnTarget() 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

150 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

151 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

152 
_G.onNewTurn = function() 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

153 
 TODO: Remove the else branch when 0.9.21 has been released 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

154 
if SetWeapon ~= nil then 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

155 
SetWeapon(params.ammoType) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

156 
else 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

157 
ParseCommand("/setweap "..string.char(params.ammoType)) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

158 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

159 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

160 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

161 
_G.spawnTarget = function() 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

162 
gear = AddGear(0, 0, gtTarget, 0, 0, 0, 0) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

163 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

164 
x = targets[scored+1].x 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

165 
y = targets[scored+1].y 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

166 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

167 
SetGearPosition(gear, x, y) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

168 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

169 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

170 
_G.onGameTick20 = function() 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

171 
if TurnTimeLeft < 40 and TurnTimeLeft > 0 and scored < total_targets and game_lost == false then 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

172 
game_lost = true 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

173 
AddCaption(loc("Time’s up!"), 0xFFFFFFFF, capgrpGameState) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

174 
ShowMission(params.missionTitle, loc("Aiming practice"), loc("Oh no! Time's up! Just try again."), amSkip, 0) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

175 
SetHealth(player, 0) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

176 
time_goal = 1 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

177 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

178 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

179 
if band(GetState(player), gstDrowning) == gstDrowning and game_lost == false and scored < total_targets then 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

180 
game_lost = true 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

181 
time_goal = 1 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

182 
AddCaption(loc("You lose!"), 0xFFFFFFFF, capgrpGameState) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

183 
ShowMission(params.missionTitle, loc("Aiming practice"), loc("Oh no! You failed! Just try again."), amSkip, 0) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

184 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

185 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

186 
if scored == total_targets or game_lost then 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

187 
if end_timer == 0 then 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

188 
generateStats() 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

189 
EndGame() 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

190 
else 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

191 
TurnTimeLeft = time_goal 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

192 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

193 
end_timer = end_timer  20 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

194 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

195 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

196 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

197 
_G.onGearAdd = function(gear) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

198 
if GetGearType(gear) == params.gearType then 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

199 
shots = shots + 1 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

200 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

201 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

202 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

203 
_G.onGearDamage = function(gear, damage) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

204 
if GetGearType(gear) == gtTarget then 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

205 
scored = scored + 1 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

206 
if scored < total_targets then 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

207 
AddCaption(string.format(loc("Targets left: %d"), (total_targetsscored)), 0xFFFFFFFF, capgrpMessage) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

208 
spawnTarget() 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

209 
else 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

210 
if not game_lost then 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

211 
AddCaption(loc("You have destroyed all targets!"), 0xFFFFFFFF, capgrpGameState) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

212 
ShowMission(params.missionTitle, loc("Aiming practice"), loc("Congratulations! You have destroyed all targets within the time."), 0, 0) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

213 
PlaySound(sndVictory, player) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

214 
SetState(player, bor(GetState(player), gstWinner)) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

215 
time_goal = TurnTimeLeft 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

216 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

217 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

218 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

219 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

220 
if GetGearType(gear) == gtHedgehog then 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

221 
if not game_lost then 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

222 
game_lost = true 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

223 
AddCaption(loc("You lose!", 0xFFFFFFFF, capgrpGameState)) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

224 
ShowMission(params.missionTitle, loc("Aiming practice"), loc("Oh no! You failed! Just try again."), amSkip, 0) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

225 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

226 
SetHealth(player, 0) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

227 
time_goal = 1 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

228 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

229 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

230 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

231 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

232 
_G.generateStats = function() 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

233 
local accuracy = (scored/shots)*100 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

234 
local end_score_targets = scored * math.ceil(6000/#targets) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

235 
local end_score_overall 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

236 
if not game_lost then 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

237 
local end_score_time = math.ceil(time_goal/(params.time/6000)) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

238 
local end_score_accuracy = math.ceil(accuracy * 60) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

239 
end_score_overall = end_score_time + end_score_targets + end_score_accuracy 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

240 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

241 
SendStat(siGameResult, loc("You have finished the target practice!")) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

242 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

243 
SendStat(siCustomAchievement, string.format(loc("You have destroyed %d of %d targets (+%d points)."), scored, total_targets, end_score_targets)) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

244 
SendStat(siCustomAchievement, string.format(params.shootText, shots)) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

245 
SendStat(siCustomAchievement, string.format(loc("Your accuracy was %.1f%% (+%d points)."), accuracy, end_score_accuracy)) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

246 
SendStat(siCustomAchievement, string.format(loc("You had %.1fs remaining on the clock (+%d points)."), (time_goal/1000), end_score_time)) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

247 
else 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

248 
SendStat(siGameResult, loc("You lose!")) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

249 

2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

250 
SendStat(siCustomAchievement, string.format(loc("You have destroyed %d of %d targets (+%d points)."), scored, total_targets, end_score_targets)) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

251 
SendStat(siCustomAchievement, string.format(params.shootText, shots)) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

252 
if(shots > 0) then 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

253 
SendStat(siCustomAchievement, string.format(loc("Your accuracy was %.1f%%."), accuracy)) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

254 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

255 
end_score_overall = end_score_targets 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

256 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

257 
SendStat(siPlayerKills, tostring(end_score_overall), loc(params.teamName)) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

258 
SendStat(siPointType, loc("points")) 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

259 
end 
2093cf51eea1
Add (and slightly tweak) Wuzzy's Target Practice missions
mikade <redgrinner@gmail.com>
parents:
diff
changeset

260 
end 