diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2017-01-02 19:33:41 +0100 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2017-01-05 16:31:26 +0100 |
| commit | fa5403dccd986022b2a849e2078f043c3225348a (patch) | |
| tree | 223fac13363b078720cd6e0d04d6adf53edc5dc9 /Targets.c4d/System.c4g/CannonTower.c | |
| download | DTSensors.c4d-fa5403dccd986022b2a849e2078f043c3225348a.tar.gz DTSensors.c4d-fa5403dccd986022b2a849e2078f043c3225348a.zip | |
Initial
Diffstat (limited to 'Targets.c4d/System.c4g/CannonTower.c')
| -rw-r--r-- | Targets.c4d/System.c4g/CannonTower.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Targets.c4d/System.c4g/CannonTower.c b/Targets.c4d/System.c4g/CannonTower.c new file mode 100644 index 0000000..6d7d2ce --- /dev/null +++ b/Targets.c4d/System.c4g/CannonTower.c @@ -0,0 +1,41 @@ +#strict 2 +#appendto CTW0 + +func IsRemoteControllable() { return true; } + +func RemoteControlMap() +{ + var ret = _inherited(...); + ret[GetLength(ret)] = [RC7I_Control_T, "Shoot", "$CTW0_DirectShoot$"]; + return ret; +} + +func GetNextAmmo() +{ + if(cannon) + { + for(var i = 0, content; content = Contents(i); ++i) + { + if(GetID(content) != GUNP && cannon->~CannonAmmo(content)) + { + return content; + } + } + } +} + +func Shoot(object caller) +{ + if(cannon) + { + if(cannon->~IsDirectShoot()) + { + return ContainedDig(caller); + } + else + { + var ammo = GetNextAmmo(); + return ammo && cannon->~Shoot(GetID(ammo), ammo, caller); + } + } +} |
