nl.tudelft.pogamut.ut2004.agent.module.shooting.weapon
Class FlakCannonShooting

Package class diagram package FlakCannonShooting
java.lang.Object
  extended by cz.cuni.amis.pogamut.base.agent.module.AgentModule<AGENT>
      extended by cz.cuni.amis.pogamut.base.agent.module.SensorModule<cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004Bot>
          extended by nl.tudelft.pogamut.unreal.agent.module.shooting.AbstractWeaponShooting
              extended by nl.tudelft.pogamut.ut2004.agent.module.shooting.weapon.FlakCannonShooting
All Implemented Interfaces:
cz.cuni.amis.pogamut.base.component.IComponent, nl.tudelft.pogamut.unreal.agent.module.shooting.WeaponShooting

public class FlakCannonShooting
extends nl.tudelft.pogamut.unreal.agent.module.shooting.AbstractWeaponShooting

Module to work efficiently with the flak cannon.

To avoid self damage the module won't use the secondary fire mode when it might blow up in it's face and won't be able to survive the damage. Instead secondary mode will be used. The effectiveness of this is somewhat limited as flak cannon projectiles bounce around. Consider using WeaponPrefs to ban the flak cannon on close range.

Author:
mpkorstanje

Field Summary
protected static cz.cuni.amis.pogamut.ut2004.agent.module.sensor.WeaponPref FLAK_CANNON_PRIMARY
           
protected static int FLAK_CANON_SECONDARY_PROJECTILE_DAMAGE
           
protected static double FLAK_CANON_SECONDARY_PROJECTILE_SPLASH_RADIUS
           
 
Fields inherited from class nl.tudelft.pogamut.unreal.agent.module.shooting.AbstractWeaponShooting
ABOVE_PLAYER_OFFSET, active, BELOW_PLAYER_OFFSET, endMessageListener, FACING_ANGLE, focus, info, shoot, target, weaponPref, weaponry
 
Fields inherited from class cz.cuni.amis.pogamut.base.agent.module.SensorModule
worldView
 
Fields inherited from class cz.cuni.amis.pogamut.base.agent.module.AgentModule
agent, controller, eventBus, log
 
Constructor Summary
FlakCannonShooting(cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004Bot<?,?,?> agent, cz.cuni.amis.pogamut.ut2004.agent.module.sensor.AgentInfo info, cz.cuni.amis.pogamut.ut2004.bot.command.ImprovedShooting shoot, cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.Weaponry weaponry)
           
 
Method Summary
protected  cz.cuni.amis.pogamut.ut2004.agent.module.sensor.WeaponPref getDefaultWeaponPref()
           
protected  boolean isSafeToShoot(cz.cuni.amis.pogamut.base3d.worldview.object.ILocated target)
          Don't shoot unless we are far away enough to avoid damaging ourselves, or healthy enough to survive the damage.
protected  void shoot()
           
 
Methods inherited from class nl.tudelft.pogamut.unreal.agent.module.shooting.AbstractWeaponShooting
getFocus, getWeaponType, hasTarget, isActive, isWeaponReady, setFocus, shoot, stopShoot
 
Methods inherited from class cz.cuni.amis.pogamut.base.agent.module.AgentModule
cleanUp, getComponentId, getLog, getState, initComponentId, isRunning, kill, pause, reset, resume, start, stop, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FLAK_CANNON_PRIMARY

protected static final cz.cuni.amis.pogamut.ut2004.agent.module.sensor.WeaponPref FLAK_CANNON_PRIMARY

FLAK_CANON_SECONDARY_PROJECTILE_SPLASH_RADIUS

protected static final double FLAK_CANON_SECONDARY_PROJECTILE_SPLASH_RADIUS
See Also:
Constant Field Values

FLAK_CANON_SECONDARY_PROJECTILE_DAMAGE

protected static final int FLAK_CANON_SECONDARY_PROJECTILE_DAMAGE
See Also:
Constant Field Values
Constructor Detail

FlakCannonShooting

public FlakCannonShooting(cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004Bot<?,?,?> agent,
                          cz.cuni.amis.pogamut.ut2004.agent.module.sensor.AgentInfo info,
                          cz.cuni.amis.pogamut.ut2004.bot.command.ImprovedShooting shoot,
                          cz.cuni.amis.pogamut.ut2004.agent.module.sensomotoric.Weaponry weaponry)
Method Detail

shoot

protected void shoot()
Specified by:
shoot in class nl.tudelft.pogamut.unreal.agent.module.shooting.AbstractWeaponShooting

isSafeToShoot

protected boolean isSafeToShoot(cz.cuni.amis.pogamut.base3d.worldview.object.ILocated target)
Don't shoot unless we are far away enough to avoid damaging ourselves, or healthy enough to survive the damage.

Parameters:
target - to shoot
Returns:
true iff we won't kill ourselves.

getDefaultWeaponPref

protected cz.cuni.amis.pogamut.ut2004.agent.module.sensor.WeaponPref getDefaultWeaponPref()
Specified by:
getDefaultWeaponPref in class nl.tudelft.pogamut.unreal.agent.module.shooting.AbstractWeaponShooting


Copyright © 2015 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.