really compiles! ;-)
[dd2d.git] / data / scripts / item / stimpack.dacs
blob9bfff03706a499b4ef9927995494d57801f32f6a
1 /* DooM2D: Midnight on the Firing Line
2  * coded by Ketmar // Invisible Vector <ketmar@ketmar.no-ip.org>
3  * Understanding is not required. Only obedience.
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (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.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 module itemStimpack is "item" "StimPack";
20 import apiActor;
21 import aiItem;
23 import stdlib;
26 // setup actor animations
27 public void initializeAnim () {
28   animClearFrames("item", "StimPack", "sleep");
29   animAddFrame("item", "StimPack", "sleep", ACTOR_DIR_LEFT, "sprites/items/stima0.vga");
33 // setup actor properties
34 public void initialize (Actor me) {
35   // `classname` and `classtype` will be set by the engine
36   //me.classname = "StimPack";
37   //me.classtype = "item";
38   me.radius = 10;
39   me.height = 8;
40   me.actorSetAnimation("sleep");
41   // add attached light
42   me.attLightXOfs = 0;
43   me.attLightYOfs = -5;
44   me.attachedLightRGBX(200, 200, 0, 32);
45   me.flags |= AF_NOGRAVITY;
49 // thinker
50 public void think (Actor me) {
51   /*
52   if (me.x < 32) {
53     writeln("STIMPACK THINK: ", me);
54     writeln("  light: xofs=", me.attLightXOfs, "; yofs=", me.attLightYOfs, "; rgbx=", me.attLightRGBX);
55     //me.attLightXOfs = 0;
56     //me.attLightYOfs = -5;
57     //me.attachedLightRGBX(200, 200, 0, 32);
58   }
59   */
60   // we can directly check for player overlap, but i want to test hitlists
61   //writeln("stimpack: think");
62   rewindTouchList();
63   for (Actor other = getNextTouchListItem; other; other = getNextTouchListItem) {
64     //if (me.x < 32) writeln("stimpack: other=", other.classname);
65     if (other.isPlayer) {
66       writeln("actor took medkit!");
67       addMessage("actor took medkit!");
68       me.actorMarkDead();
69       return;
70     }
71   }
72   itemThink(me);