new water flow seems to work
[k8vacspelynky.git] / mapent / sfxobjs / splash.vc
blob8035f163553c5c3f5d3490966eb5c498cd04eef4
1 /**********************************************************************************
2  * Copyright (c) 2008, 2009 Derek Yu and Mossmouth, LLC
3  * Copyright (c) 2018, Ketmar Dark
4  *
5  * This file is part of Spelunky.
6  *
7  * You can redistribute and/or modify Spelunky, including its source code, under
8  * the terms of the Spelunky User License.
9  *
10  * Spelunky is distributed in the hope that it will be entertaining and useful,
11  * but WITHOUT WARRANTY.  Please see the Spelunky User License for more details.
12  *
13  * The Spelunky User License should be available in "Game Information", which
14  * can be found in the Resource Explorer, or as an external file called COPYING.
15  * If not, please obtain a new copy of Spelunky from <http://spelunkyworld.com/>
16  *
17  **********************************************************************************/
18 // water splash
19 class MapObjSplash['oSplash'] : MapObject;
22 override bool initialize () {
23   if (!::initialize()) return false;
24   setSprite('sSplash');
25   return true;
29 override void onAnimationLooped () {
30   instanceRemove();
34 override void thinkFrame () {
38 defaultproperties {
39   depth = 1;
40   spectral = true;
41   imageSpeed = 0.6;
45 // ////////////////////////////////////////////////////////////////////////// //
46 // bubble
47 class MapObjBubble['oBubble'] : MapObject;
50 override bool initialize () {
51   if (!::initialize()) return false;
52   setSprite('sBubble');
53   yVel = -global.randOther(1, 3)*0.1;
54   imageSpeed = global.randOther(5, 20)/100.0;
55   fltx += global.randOther(-2, 2);
56   flty += global.randOther(-2, 2);
57   return true;
61 override void onAnimationLooped () {
62   instanceRemove();
66 override void thinkFrame () {
67   flty += yVel;
68   if (level.isSolidAtPoint(ix, iy) || !level.isLiquidAtPoint(ix, iy)) {
69     //writeln("solid: ", level.isSolidAtPoint(ix, iy), "; liquid: ", level.isLiquidAtPoint(ix, iy));
70     instanceRemove();
71   }
75 defaultproperties {
76   depth = 1;
77   spectral = true;
78   yAcc = 0.1;
79   imageSpeed = 0.2;