1
00:00:05,053 --> 00:00:06,060
right we're back once again

2
00:00:07,023 --> 00:00:10,086
and up to this point we've actually
accomplished quite a bit if we just do a

3
00:00:10,086 --> 00:00:11,435
really quick play test

4
00:00:12,209 --> 00:00:15,440
we got a character that we can move and
rotate

5
00:00:15,044 --> 00:00:19,723
he can shoot his weapon we have an enemy
that will chasing down the right now

6
00:00:20,119 --> 00:00:24,320
are projectiles that really do anything
are what we want

7
00:00:24,032 --> 00:00:28,881
is for them to damage the enemy and then
that eventually destroy him

8
00:00:29,169 --> 00:00:33,200
so that's really do in this video we're
going to set up that damaging behavior

9
00:00:33,002 --> 00:00:38,591
between the projectiles and the enemy to
start this off we're going to begin

10
00:00:38,789 --> 00:00:42,791
inside the enemy character class we need
to basically

11
00:00:42,989 --> 00:00:47,920
expose the ability to transfer damage to
talk

12
00:00:47,092 --> 00:00:51,134
to that health value that we set up in C
plus plus because accident two things in

13
00:00:52,034 --> 00:00:53,075
C plus plus if you recall

14
00:00:53,075 --> 00:00:56,128
we set up are these variables and then

15
00:00:57,028 --> 00:01:00,737
week also who created the calculates

16
00:01:00,989 --> 00:01:04,003
health function which is really it's
gonna take an incoming Delta

17
00:01:04,129 --> 00:01:07,850
added to the existing health and then
store whatever that you value is

18
00:01:07,085 --> 00:01:10,644
as the new health which is great what
we've Edo

19
00:01:11,409 --> 00:01:14,450
is a way to talk between blueprints

20
00:01:14,045 --> 00:01:17,118
the projectile is one blueprint the a

21
00:01:18,018 --> 00:01:21,317
enemy is another and we need a way to
communicate in between them

22
00:01:21,479 --> 00:01:24,480
and the way we do that communication or

23
00:01:24,579 --> 00:01:28,610
one of the ways in which we can do that
communication is with and interface

24
00:01:28,061 --> 00:01:31,600
so we're gonna make a blueprint
interface and use that

25
00:01:32,149 --> 00:01:35,157
to communicate with that calculate
health

26
00:01:35,229 --> 00:01:38,750
function that we set up in C plus plus
so too

27
00:01:38,075 --> 00:01:42,107
to set this up actually before we send
anything out let me come to describe

28
00:01:43,007 --> 00:01:46,008
because in general terms what and
interface is

29
00:01:46,017 --> 00:01:49,059
and interface is a collection I love

30
00:01:49,059 --> 00:01:52,138
on implemented functionality and some
licorice

31
00:01:53,038 --> 00:01:56,042
that's really a program re way to
explain its let me think a different way

32
00:01:56,042 --> 00:01:56,081
to say it

33
00:01:56,081 --> 00:01:59,430
fired two people in front me was a Bob

34
00:02:00,159 --> 00:02:03,360
and Tom so that these two characters Bob

35
00:02:03,036 --> 00:02:06,545
and Tom and if I tell Bob to tell me a
story bob

36
00:02:06,869 --> 00:02:09,800
might tell me about how he walked home

37
00:02:09,008 --> 00:02:12,081
on last night and stop by the grocery
store and bought something for dinner

38
00:02:13,053 --> 00:02:16,117
but fertile time to tell me a story he
might tell me about something he did

39
00:02:17,017 --> 00:02:18,112
last weekend maybe he went camping

40
00:02:19,012 --> 00:02:23,101
maybe he he but well the point is he did
something totally different than bob is

41
00:02:24,001 --> 00:02:24,009
they both

42
00:02:24,081 --> 00:02:28,105
had two different result that they gave
back to me even though I gave them

43
00:02:29,005 --> 00:02:32,103
the same command both just told them
tell me a story well interface

44
00:02:33,003 --> 00:02:36,085
is how you set up those generic commands
like tell me a story

45
00:02:36,085 --> 00:02:39,168
and then within each receiving thing
with deep within each thing that knows

46
00:02:40,068 --> 00:02:40,077
what that command is

47
00:02:41,058 --> 00:02:45,060
you can make it define what that really
means if it's confusing in any way

48
00:02:45,006 --> 00:02:49,071
just watch will make it all makes sense
excellent start building our interface

49
00:02:50,025 --> 00:02:53,100
we're gonna right click and go under the
blueprints submenu

50
00:02:54,000 --> 00:02:57,043
and there it is blueprint interface so

51
00:02:57,043 --> 00:03:00,090
click and we're gonna call this all I
lower case I

52
00:03:00,009 --> 00:03:03,012
I'm short for interface damage herbal

53
00:03:03,093 --> 00:03:07,127
that is a common code naming convention
for

54
00:03:08,027 --> 00:03:12,100
interfaces to I damage will we're gonna
double click it now we had

55
00:03:13,000 --> 00:03:16,088
know what has your is a function that
will have no implementation

56
00:03:16,088 --> 00:03:20,197
basically it's like kinda declaring that
we're gonna do something

57
00:03:20,989 --> 00:03:24,086
with this given name but we don't really
know what yet and we're gonna name this

58
00:03:24,959 --> 00:03:25,530
function

59
00:03:25,053 --> 00:03:31,120
is fact health now affect health is
gonna need to take in

60
00:03:32,002 --> 00:03:35,015
some value some numeric value that we
can use

61
00:03:35,033 --> 00:03:38,037
to affect our health by some amount so
under the

62
00:03:38,073 --> 00:03:41,110
input section down here in the details
panel I'm sorry under

63
00:03:42,001 --> 00:03:45,084
yeah it is in the detail excuse me click
on the new button

64
00:03:45,093 --> 00:03:48,117
and let's set this to you name

65
00:03:49,017 --> 00:03:52,306
love tell top girl

66
00:03:52,459 --> 00:03:56,190
and then take its type and said it too
afloat

67
00:03:56,019 --> 00:04:00,041
that's it that's all we had to do were
not get reno's we can't even connect

68
00:04:00,041 --> 00:04:04,059
any notes to this because it's all
greyed out the purpose 7 interfaces that

69
00:04:04,059 --> 00:04:05,085
you just define

70
00:04:05,085 --> 00:04:09,170
this structure for white AL what
functionality want and you define what

71
00:04:10,007 --> 00:04:11,042
that functionality is

72
00:04:12,005 --> 00:04:15,037
within any object implements that
interface so

73
00:04:15,037 --> 00:04:19,456
the function could mean different things
to different classes so let's compile

74
00:04:19,789 --> 00:04:22,610
and save this and then we're actually
done with my damage will

75
00:04:22,061 --> 00:04:25,960
don't have to do anything else to it we
can close it however we need to make

76
00:04:26,509 --> 00:04:27,090
sure

77
00:04:27,009 --> 00:04:30,828
that our enemy character implements I
damage it'll

78
00:04:30,909 --> 00:04:34,250
now another fun fact just Kenneth

79
00:04:34,025 --> 00:04:38,244
introducing you to some other concept
working with interfaces

80
00:04:38,469 --> 00:04:43,476
any class in your game can talk to this
interface now

81
00:04:43,539 --> 00:04:46,561
so like right now I could say affect
health

82
00:04:46,759 --> 00:04:49,797
and there it is interface message so he
can send out

83
00:04:50,139 --> 00:04:53,160
a call through the interface to talk to
other things

84
00:04:53,349 --> 00:04:56,360
he doesn't have to have anything special
to do that the interface just has to

85
00:04:56,036 --> 00:04:56,043
exist

86
00:04:57,006 --> 00:05:00,085
but if he needs to receive

87
00:05:00,139 --> 00:05:03,185
data worse receive some sort of call
from

88
00:05:03,599 --> 00:05:06,642
the interface then he must implement
that interface

89
00:05:07,029 --> 00:05:10,120
and here's how you do that if you go
under your class

90
00:05:10,012 --> 00:05:13,025
settings not class default class
settings

91
00:05:13,025 --> 00:05:16,554
there's a section here called interfaces
and there's implemented interfaces:

92
00:05:16,779 --> 00:05:17,842
right now none are implemented

93
00:05:18,409 --> 00:05:21,428
so click the Add button and from the job
dropdown you'll see

94
00:05:21,599 --> 00:05:25,050
I damage it'll click on that and they go

95
00:05:25,005 --> 00:05:28,984
that's it that's all you had to do make
sure you compile and save once you've

96
00:05:29,029 --> 00:05:29,560
done that

97
00:05:29,056 --> 00:05:32,125
now when you right-click check it out if
you type

98
00:05:32,629 --> 00:05:35,700
affect health there is now an event for
it

99
00:05:36,339 --> 00:05:39,378
so this event will be fired whenever

100
00:05:39,729 --> 00:05:43,460
any other blueprint calls affect health

101
00:05:43,046 --> 00:05:47,065
on this subject so now you basically
just created a pathway

102
00:05:47,479 --> 00:05:52,523
were other blueprints can talk to this
guy now what's gonna happen we call this

103
00:05:52,919 --> 00:05:56,986
this is where our C plus plus code
becomes handy drag a wire out from this

104
00:05:57,589 --> 00:06:03,590
just say calculate health so we've
perfected it from some outside source

105
00:06:03,599 --> 00:06:07,250
now let's calculate and get our new
result and Delta

106
00:06:07,025 --> 00:06:11,904
just plugs right into Delta that's it
now

107
00:06:12,129 --> 00:06:16,560
let's talk about what happens when this
guy dies

108
00:06:16,056 --> 00:06:19,195
so I remember calculate health

109
00:06:19,699 --> 00:06:22,701
is going to take in incoming Delta its
gonna

110
00:06:22,719 --> 00:06:25,795
add that to the existing health and then
store that has the new health so if you

111
00:06:26,479 --> 00:06:28,110
if the values -20

112
00:06:28,011 --> 00:06:31,070
the new result will be eighty exits
counting down

113
00:06:31,169 --> 00:06:34,222
and then is going to run that little
helper function we set up

114
00:06:34,699 --> 00:06:36,160
called calculate

115
00:06:36,016 --> 00:06:40,077
it and calculate dead just simply says
hate did health make it till

116
00:06:40,077 --> 00:06:43,098
zero or less yet because if it did

117
00:06:43,098 --> 00:06:46,141
them set is dead to true hasn't yet

118
00:06:47,041 --> 00:06:51,053
leave is dead at Falls that's great
because what that means is

119
00:06:51,053 --> 00:06:54,053
we can grab is dead and notice something

120
00:06:54,053 --> 00:06:57,127
do you remember actually let me I'm I'm
just gonna I'm hoping up and show you

121
00:06:58,027 --> 00:06:59,092
watch this this is pretty awesome

122
00:06:59,092 --> 00:07:02,167
if we open up our base character class
which is going to open up Visual Studio

123
00:07:03,067 --> 00:07:07,086
will let it do its thing thank you
prepare solutions hi we're back

124
00:07:07,086 --> 00:07:10,088
that was nice and fast if you remember

125
00:07:11,006 --> 00:07:15,041
so there's calculate dead and you can
see is just

126
00:07:15,041 --> 00:07:18,093
checking to see if something sorry dad
or not and setting the value

127
00:07:18,093 --> 00:07:22,152
but if we take a look when we declared
the is dead Boolean property we had

128
00:07:23,052 --> 00:07:24,059
those keywords right

129
00:07:24,059 --> 00:07:28,125
blueprint read only it's not blueprint
read/write

130
00:07:29,025 --> 00:07:33,046
we can actually verified check this out
by closer to Visual Studio

131
00:07:33,046 --> 00:07:36,081
so we don't need anymore let's go back
over to unreal

132
00:07:36,081 --> 00:07:39,107
and we go insider enemy character look
at this

133
00:07:40,007 --> 00:07:44,009
I drag is dead in the world noticed that
set is greyed out

134
00:07:44,009 --> 00:07:47,037
I cannot set that's because this is Reed
only

135
00:07:47,037 --> 00:07:50,040
but I can get it which is all I need to
do wanted to point that out

136
00:07:50,067 --> 00:07:54,143
that's how those keywords rex lee doing
cool stuff so now we can take is dead

137
00:07:55,043 --> 00:08:00,135
and let's test it boo branch and

138
00:08:01,035 --> 00:08:04,086
if is dead test out to be true

139
00:08:04,086 --> 00:08:07,123
then lights destroy this actor

140
00:08:08,023 --> 00:08:11,121
to the enemy will just cease to exist
because that's how destruction tends to

141
00:08:12,021 --> 00:08:12,026
work

142
00:08:12,071 --> 00:08:15,082
now let's just for debugging purposes

143
00:08:15,082 --> 00:08:19,163
I'm gonna set up some temporary II
quote-unquote code here

144
00:08:20,063 --> 00:08:24,099
as soon as we calculate health I want to
get

145
00:08:24,099 --> 00:08:28,099
our health and i wanna printed out to
the screen

146
00:08:28,099 --> 00:08:33,150
steep print string

147
00:08:34,005 --> 00:08:38,023
will connect this into the line and
noticed the stakes in a straying

148
00:08:38,068 --> 00:08:41,076
and health is a float value if I try to
connect them

149
00:08:41,076 --> 00:08:44,165
on reels like 0 you don't know the
difference between a flow in a string

150
00:08:45,065 --> 00:08:49,096
that's fine don't worry I'll convert
them for you so call

151
00:08:49,096 --> 00:08:53,108
I'll what this means is we will get a
message from some outside source

152
00:08:54,008 --> 00:08:57,096
spoiler alert it's gonna be from the
laser pleasers gonna call this

153
00:08:57,096 --> 00:09:01,172
we will calculator health will print out
whatever our new health happens to be

154
00:09:02,072 --> 00:09:03,076
then we'll check in see

155
00:09:04,012 --> 00:09:07,020
if the character is dead if it turns out
they did I

156
00:09:07,092 --> 00:09:10,139
then we're just gonna destroy themselves
disappear was compile

157
00:09:11,039 --> 00:09:14,081
and save now this won't do anything

158
00:09:14,081 --> 00:09:18,084
just yet we had to tell the projectile

159
00:09:19,011 --> 00:09:22,016
the it can talk to the enemy

160
00:09:22,061 --> 00:09:26,157
by way at the interface and here's how
we're gonna set that up so

161
00:09:27,057 --> 00:09:30,095
if you take a look at our project I'll
we have this nice

162
00:09:30,095 --> 00:09:33,138
collisions fear we're going to use this
to our advantage

163
00:09:34,038 --> 00:09:37,082
so let's add start by grabbing

164
00:09:37,082 --> 00:09:40,159
here in art and craft we're gonna begin
with event

165
00:09:41,059 --> 00:09:44,152
actor begin overlap and overlap is what
happens when

166
00:09:45,052 --> 00:09:48,091
to actor at two actors components are

167
00:09:48,091 --> 00:09:51,177
intersecting the same space to basically
that collisions here we set up

168
00:09:52,077 --> 00:09:56,077
that overlapping something then we're
gonna get this service event call

169
00:09:56,077 --> 00:10:00,078
also it's a good idea to double check
your collision settings so

170
00:10:00,087 --> 00:10:04,105
let's click on our project I'll
collision this is currently set to

171
00:10:05,005 --> 00:10:09,028
overlap all dynamic I'm kinda okay with
that but

172
00:10:09,028 --> 00:10:12,075
since we're only ever shooting at pawns
what surfaced

173
00:10:12,075 --> 00:10:17,121
overlap only pawn it'll probably work
better in the long run

174
00:10:18,021 --> 00:10:21,063
so compile and save now

175
00:10:21,063 --> 00:10:24,147
back over here in the event graph as
soon as we detect and overlap

176
00:10:25,047 --> 00:10:29,145
what's gonna happen well week we have at
we have access to the other actor

177
00:10:30,045 --> 00:10:33,138
this is the other thing that we just
overlapped with so check this out

178
00:10:34,038 --> 00:10:37,094
we can check to see if it implements

179
00:10:37,094 --> 00:10:41,139
a given interface does it yes or no and
the interface who wanna look for

180
00:10:42,039 --> 00:10:46,080
obviously is I damage people

181
00:10:46,008 --> 00:10:49,073
so I just held on the beach key and
click to that created a branch node

182
00:10:50,045 --> 00:10:53,104
super useful shortcut once again I'll
show you hold down be

183
00:10:54,004 --> 00:10:57,041
click you get a branch will connect that
up

184
00:10:57,041 --> 00:11:01,048
so we just tested to see if whatever we
just hit

185
00:11:02,011 --> 00:11:06,060
or whatever we just overlap with
implements the I damage will interface

186
00:11:06,006 --> 00:11:11,078
awesome now if it does if it does we
could just

187
00:11:12,032 --> 00:11:16,039
damage that whatever it is we had right
and that would work just fine

188
00:11:16,039 --> 00:11:20,070
but on one extra spoiler depending on
how

189
00:11:20,007 --> 00:11:23,084
you set up your narrow component where
you're shooting depending on where

190
00:11:24,047 --> 00:11:24,076
you're

191
00:11:24,076 --> 00:11:28,142
gun is placed it is possible in extreme
circumstances

192
00:11:29,042 --> 00:11:33,079
you could end up colliding with
overlapping the player

193
00:11:33,079 --> 00:11:36,147
in effect it's kinda like saying you
have the ability for the player to shoot

194
00:11:37,047 --> 00:11:38,047
himself

195
00:11:38,047 --> 00:11:41,051
or arm put another way you could shoot

196
00:11:41,051 --> 00:11:45,063
other hero characters if you modify disc
in the multiplayer so what I'd like to

197
00:11:45,063 --> 00:11:45,112
do

198
00:11:46,012 --> 00:11:50,048
is established a system where we then
check to see if we just

199
00:11:50,048 --> 00:11:53,157
overlap with the player and if we
overlap with the player

200
00:11:53,589 --> 00:11:56,594
we're not going to do anything so I
would because in the at the end of the

201
00:11:57,089 --> 00:11:58,480
day the reason I'm checking for this

202
00:11:58,048 --> 00:12:01,086
is the player will eventually also
implement

203
00:12:01,086 --> 00:12:04,180
I damaged he doesn't right now but he
would test true at this point we need to

204
00:12:05,008 --> 00:12:06,075
verify we didn't actually hit him

205
00:12:07,047 --> 00:12:11,065
here's our didn't do it go to the hero
character class

206
00:12:11,065 --> 00:12:14,154
so here we are in the euro go over to at
the event graph

207
00:12:15,054 --> 00:12:19,150
and I'll we're going to select his class
default properties

208
00:12:20,005 --> 00:12:25,027
not settings is defaults an open details
panel at the very bottom there's this

209
00:12:25,072 --> 00:12:30,099
actor category expand that and there's
this little hidden property called

210
00:12:30,099 --> 00:12:33,172
tags: tags are just like tags: on

211
00:12:34,072 --> 00:12:37,130
a whole lotta different internet
activity is right there just

212
00:12:38,003 --> 00:12:41,015
the ability to put some sort %uh name

213
00:12:41,042 --> 00:12:44,065
in place that could mean anything so I
like

214
00:12:44,065 --> 00:12:47,118
at least was hits the usual plus beyond
at a new

215
00:12:48,018 --> 00:12:51,018
tag and let's call this

216
00:12:51,018 --> 00:12:53,857
friendly awesome

217
00:12:54,019 --> 00:12:58,060
so we have a tad name friendly so now we
can look for that tag

218
00:12:58,006 --> 00:13:01,055
but compile in safe and over here in our
project I'll

219
00:13:01,055 --> 00:13:06,074
we can take the other actor now I'm any
use reroute knows just so it's easy for

220
00:13:06,569 --> 00:13:07,860
you to see what we're doing

221
00:13:07,086 --> 00:13:12,315
we can say has tagged look at there's no
to that

222
00:13:13,089 --> 00:13:16,490
actor has tech now what actually looking
for

223
00:13:16,049 --> 00:13:21,130
obviously we're looking for friendly now
that just reports out a boolean value

224
00:13:22,003 --> 00:13:25,102
didn't find the tag yessir now switch to
another branch

225
00:13:25,399 --> 00:13:28,550
will than be in click so if this tested
true

226
00:13:28,055 --> 00:13:32,144
with the intestine see if he's got the
TAC

227
00:13:32,639 --> 00:13:36,970
now here's the deal whenever I get the
result

228
00:13:36,097 --> 00:13:39,162
that I want at a branch I would rather
that result be true

229
00:13:40,062 --> 00:13:43,761
basically I would like all of my test to
return true

230
00:13:44,319 --> 00:13:48,690
if they can so we're gonna take actor
has tagged actually going to attach that

231
00:13:48,069 --> 00:13:48,142
to a

232
00:13:49,042 --> 00:13:53,331
not node just kinda converting it if you
read this out

233
00:13:53,709 --> 00:13:57,670
in plain English would say hey does this
object not

234
00:13:57,067 --> 00:14:01,586
have the friendly tag which is a little
different than how you actually say that

235
00:14:02,189 --> 00:14:02,990
because

236
00:14:02,099 --> 00:14:05,878
turns out you can see that in common
everyday

237
00:14:06,769 --> 00:14:09,844
we speak which is kinda annoying okay so

238
00:14:10,519 --> 00:14:15,170
we check in see if they do not have the
tag we make sure they don't have the tag

239
00:14:15,017 --> 00:14:18,111
and if they'd don't have to tag then

240
00:14:19,011 --> 00:14:23,104
finally we can affect their health so
let's do another reroute node

241
00:14:24,004 --> 00:14:30,092
now to make sure that we're calling

242
00:14:30,092 --> 00:14:35,501
affect health on the right object want
to do this with us to say

243
00:14:36,329 --> 00:14:39,335
are affect health

244
00:14:39,389 --> 00:14:43,180
XO now

245
00:14:43,018 --> 00:14:46,075
that is asking for a delta right how
much you're affecting the health

246
00:14:46,075 --> 00:14:50,604
let's set this to negative 20 remember
our C plus plus code is

247
00:14:51,279 --> 00:14:54,328
adding the values together so who won a
detriment health we need to set this to

248
00:14:54,769 --> 00:14:55,660
a negative number

249
00:14:55,066 --> 00:15:00,122
okay so we done that but let's not make
this into a variable summit take Delta

250
00:15:01,022 --> 00:15:01,054
Monroe

251
00:15:01,054 --> 00:15:04,080
right click on it and promote that to
variable

252
00:15:04,008 --> 00:15:09,096
will call this damage cool

253
00:15:10,068 --> 00:15:15,087
and that's being stored now pretty much
no matter what happens

254
00:15:15,087 --> 00:15:18,556
I want ass too destroy

255
00:15:19,339 --> 00:15:23,351
this laser or this projectile when we're
done so make it destroy actor node

256
00:15:23,459 --> 00:15:27,720
and after we've affected health we want
to destroy the actor

257
00:15:27,072 --> 00:15:30,111
if we hit something that did not

258
00:15:30,759 --> 00:15:33,870
implement the interface also

259
00:15:33,087 --> 00:15:37,119
destroy the actor but if we hit
something and it turned out to be the

260
00:15:38,019 --> 00:15:38,068
player

261
00:15:38,068 --> 00:15:41,119
we're gonna do nothing solely false
disconnected and no you some reroute

262
00:15:42,019 --> 00:15:43,838
notes to make this a little bit cleaner

263
00:15:44,009 --> 00:15:48,940
okay so if you need to see that whole
network again

264
00:15:48,094 --> 00:15:51,191
with stretch this out just a little bit
it all

265
00:15:52,091 --> 00:15:55,136
up trying to condense things down as
best I can swing fit them all on the

266
00:15:56,036 --> 00:15:58,111
screen for just a moment bear with me

267
00:15:59,011 --> 00:16:03,300
with me week

268
00:16:03,399 --> 00:16:07,370
you know and polis and so there you go
so begin overlap

269
00:16:07,037 --> 00:16:10,110
check and see if implement the interface
if it does

270
00:16:11,001 --> 00:16:15,005
check and make sure that it doesn't have
a friendly tag and if that's true many

271
00:16:15,005 --> 00:16:17,654
doesn't have the friendly tactless go
ahead affect its health

272
00:16:18,149 --> 00:16:23,000
alright awesome sort compile and save

273
00:16:23,000 --> 00:16:26,097
what's come out here to our map when he
control ass to save everything let it

274
00:16:26,097 --> 00:16:26,179
play

275
00:16:27,079 --> 00:16:31,135
and jury is of check it out you see is
health dropping

276
00:16:32,035 --> 00:16:35,274
account only ten to twenty just like
that it again

277
00:16:35,589 --> 00:16:39,620
he's gone booms we got it we're doing
damage to the enemy

278
00:16:39,062 --> 00:16:42,091
now that we've confirmed that however

279
00:16:42,649 --> 00:16:47,860
just to be on the nice and neat side
let's go into our enemy and let's remove

280
00:16:47,086 --> 00:16:50,545
this little portion %uh the graph

281
00:16:51,319 --> 00:16:54,420
that is reporting that out

282
00:16:54,042 --> 00:16:59,042
we don't really need it we know it's
working to compile save play one more

283
00:16:59,042 --> 00:16:59,049
time

284
00:17:00,012 --> 00:17:04,101
and now we shoot after five shots

285
00:17:04,209 --> 00:17:08,257
player the enemy goes away which is
perfect so we have the ability to damage

286
00:17:08,689 --> 00:17:09,390
the enemy

287
00:17:09,039 --> 00:17:13,041
that's great that is going to wrap
things up for this video

288
00:17:13,041 --> 00:17:21,450
thanks a lot for


