/* * Copyright (c) 2002, Stefan Farfeleder * $Id: explosion_s.cc,v 1.2 2002/09/17 17:15:05 stefan Exp $ */ #include #include #include "explosion_s.h" #include "object_s.h" #include "objhandle.h" #include "parse.h" #include "person_s.h" using namespace JFK::server; using std::string; explosion::explosion(objhandle ioriginator) : ttl(100), originator(ioriginator) { } void explosion::assign(const object* obj) { *this = *dynamic_cast(obj); } string explosion::diffstring(const object*) const { return ""; } void explosion::move(double t) { object::move(t); /* XXX: rotate this explosion */ r += t / 5; /* grow */ } object* explosion::action(double t) { ttl -= t; if (ttl < 0.0) suicide = true; return NULL; } void explosion::delegate_collision(object* obj) const { obj->collide_with_explosion(this); }