]> git.mxchange.org Git - quix0rs-blobwars.git/blob - src/CEffect.cpp
Prevent a segmentation fault when using the -map option without specifying a map.
[quix0rs-blobwars.git] / src / CEffect.cpp
1 /*
2 Copyright (C) 2004-2011 Parallel Realities
3 Copyright (C) 2011-2015 Perpendicular Dimensions
4
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
14 See the GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19
20 */
21
22 #include "headers.h"
23
24 Effect::Effect()
25 {
26         x = y = dx = dy = 0;
27         health = 0;
28         //frames = frameTime = currentFrameTime = 0;
29         flags = 0;
30         color = 0;
31
32         /*
33         for (int i = 0 ; i < 4 ; i++)
34         {
35                 frame[i] = NULL;
36         }
37         */
38
39         next = NULL;
40 }
41
42 void Effect::create(float x, float y, float dx, float dy, int flags)
43 {
44         this->x = x;
45         this->y = y;
46         this->dx = dx;
47         this->dy = dy;
48         this->flags = flags;
49
50         this->health = 120;
51 }
52
53 void Effect::update()
54 {
55         x += dx;
56         y += dy;
57
58         if (!(flags & EFF_WEIGHTLESS))
59         {
60                 dy += 0.5;
61         }
62
63         health--;
64 }