Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
BodyModuleInterface Class Referenceabstract

#include <BodyModule.h>

Inherited by BodyModule.

Public Member Functions

virtual void attemptDamage (DamageInfo *damageInfo)=0
 
virtual void attemptHealing (DamageInfo *healingInfo)=0
 
virtual Real estimateDamage (DamageInfoInput &damageInfo) const =0
 
virtual Real getHealth () const =0
 get current health
 
virtual Real getMaxHealth () const =0
 
virtual Real getInitialHealth () const =0
 
virtual Real getPreviousHealth () const =0
 
virtual UnsignedInt getSubdualDamageHealRate () const =0
 
virtual Real getSubdualDamageHealAmount () const =0
 
virtual Bool hasAnySubdualDamage () const =0
 
virtual Real getCurrentSubdualDamageAmount () const =0
 
virtual BodyDamageType getDamageState () const =0
 
virtual void setDamageState (BodyDamageType newState)=0
 control damage state directly. Will adjust hitpoints.
 
virtual void setAflame (Bool setting)=0
 This is a major change like a damage state.
 
virtual void onVeterancyLevelChanged (VeterancyLevel oldLevel, VeterancyLevel newLevel, Bool provideFeedback)=0
 I just achieved this level right this moment.
 
virtual void setArmorSetFlag (ArmorSetType ast)=0
 
virtual void clearArmorSetFlag (ArmorSetType ast)=0
 
virtual Bool testArmorSetFlag (ArmorSetType ast)=0
 
virtual const DamageInfogetLastDamageInfo () const =0
 
virtual UnsignedInt getLastDamageTimestamp () const =0
 
virtual UnsignedInt getLastHealingTimestamp () const =0
 
virtual ObjectID getClearableLastAttacker () const =0
 
virtual void clearLastAttacker ()=0
 
virtual Bool getFrontCrushed () const =0
 
virtual Bool getBackCrushed () const =0
 
virtual void setInitialHealth (Int initialPercent)=0
 
virtual void setMaxHealth (Real maxHealth, MaxHealthChangeType healthChangeType=SAME_CURRENTHEALTH)=0
 
virtual void setFrontCrushed (Bool v)=0
 
virtual void setBackCrushed (Bool v)=0
 
virtual void applyDamageScalar (Real scalar)=0
 
virtual Real getDamageScalar () const =0
 
virtual void internalChangeHealth (Real delta)=0
 
virtual void setIndestructible (Bool indestructible)=0
 
virtual Bool isIndestructible (void) const =0
 
virtual void evaluateVisualCondition ()=0
 
virtual void updateBodyParticleSystems ()=0
 

Detailed Description

Definition at line 119 of file BodyModule.h.

Member Function Documentation

◆ applyDamageScalar()

virtual void BodyModuleInterface::applyDamageScalar ( Real scalar)
pure virtual

Implemented in BodyModule.

◆ attemptDamage()

virtual void BodyModuleInterface::attemptDamage ( DamageInfo * damageInfo)
pure virtual

Try to damage this Object. The module's Armor will be taken into account, so the actual damage done may vary considerably from what you requested. Also note that (if damage is done) the DamageFX will be invoked to provide a/v fx as appropriate.

Implemented in ActiveBody, BodyModule, HighlanderBody, HiveStructureBody, InactiveBody, and UndeadBody.

◆ attemptHealing()

virtual void BodyModuleInterface::attemptHealing ( DamageInfo * healingInfo)
pure virtual

Instead of having negative damage count as healing, or allowing access to the private changeHealth Method, we will use this parallel to attemptDamage to do healing without hack.

Implemented in ActiveBody, BodyModule, and InactiveBody.

◆ clearArmorSetFlag()

virtual void BodyModuleInterface::clearArmorSetFlag ( ArmorSetType ast)
pure virtual

Implemented in ActiveBody, BodyModule, and InactiveBody.

◆ clearLastAttacker()

virtual void BodyModuleInterface::clearLastAttacker ( )
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ estimateDamage()

virtual Real BodyModuleInterface::estimateDamage ( DamageInfoInput & damageInfo) const
pure virtual

Estimate the (unclipped) damage that would be done to this object by the given damage (taking bonuses, armor, etc into account), but DO NOT alter the body in any way. (This is used by the AI system to choose weapons.)

Implemented in ActiveBody, BodyModule, and InactiveBody.

◆ evaluateVisualCondition()

virtual void BodyModuleInterface::evaluateVisualCondition ( )
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ getBackCrushed()

virtual Bool BodyModuleInterface::getBackCrushed ( ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ getClearableLastAttacker()

virtual ObjectID BodyModuleInterface::getClearableLastAttacker ( ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ getCurrentSubdualDamageAmount()

virtual Real BodyModuleInterface::getCurrentSubdualDamageAmount ( ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ getDamageScalar()

virtual Real BodyModuleInterface::getDamageScalar ( ) const
pure virtual

Implemented in BodyModule.

◆ getDamageState()

virtual BodyDamageType BodyModuleInterface::getDamageState ( ) const
pure virtual

Implemented in ActiveBody, BodyModule, and InactiveBody.

◆ getFrontCrushed()

virtual Bool BodyModuleInterface::getFrontCrushed ( ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ getHealth()

virtual Real BodyModuleInterface::getHealth ( ) const
pure virtual

get current health

Implemented in ActiveBody, BodyModule, and InactiveBody.

◆ getInitialHealth()

virtual Real BodyModuleInterface::getInitialHealth ( ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ getLastDamageInfo()

virtual const DamageInfo * BodyModuleInterface::getLastDamageInfo ( ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ getLastDamageTimestamp()

virtual UnsignedInt BodyModuleInterface::getLastDamageTimestamp ( ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ getLastHealingTimestamp()

virtual UnsignedInt BodyModuleInterface::getLastHealingTimestamp ( ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ getMaxHealth()

virtual Real BodyModuleInterface::getMaxHealth ( ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ getPreviousHealth()

virtual Real BodyModuleInterface::getPreviousHealth ( ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ getSubdualDamageHealAmount()

virtual Real BodyModuleInterface::getSubdualDamageHealAmount ( ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ getSubdualDamageHealRate()

virtual UnsignedInt BodyModuleInterface::getSubdualDamageHealRate ( ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ hasAnySubdualDamage()

virtual Bool BodyModuleInterface::hasAnySubdualDamage ( ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ internalChangeHealth()

virtual void BodyModuleInterface::internalChangeHealth ( Real delta)
pure virtual

Change the module's health by the given delta. Note that the module's DamageFX and Armor are NOT taken into account, so you should think about what you're bypassing when you call this directly (especially when when decreasing health, since you probably want "attemptDamage" or "attemptHealing")

Implemented in ActiveBody, BodyModule, ImmortalBody, and InactiveBody.

◆ isIndestructible()

virtual Bool BodyModuleInterface::isIndestructible ( void ) const
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ onVeterancyLevelChanged()

virtual void BodyModuleInterface::onVeterancyLevelChanged ( VeterancyLevel oldLevel,
VeterancyLevel newLevel,
Bool provideFeedback )
pure virtual

I just achieved this level right this moment.

Implemented in ActiveBody, BodyModule, and InactiveBody.

◆ setAflame()

virtual void BodyModuleInterface::setAflame ( Bool setting)
pure virtual

This is a major change like a damage state.

Implemented in ActiveBody, BodyModule, and InactiveBody.

◆ setArmorSetFlag()

virtual void BodyModuleInterface::setArmorSetFlag ( ArmorSetType ast)
pure virtual

Implemented in ActiveBody, BodyModule, and InactiveBody.

◆ setBackCrushed()

virtual void BodyModuleInterface::setBackCrushed ( Bool v)
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ setDamageState()

virtual void BodyModuleInterface::setDamageState ( BodyDamageType newState)
pure virtual

control damage state directly. Will adjust hitpoints.

Implemented in ActiveBody, BodyModule, and InactiveBody.

◆ setFrontCrushed()

virtual void BodyModuleInterface::setFrontCrushed ( Bool v)
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ setIndestructible()

virtual void BodyModuleInterface::setIndestructible ( Bool indestructible)
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ setInitialHealth()

virtual void BodyModuleInterface::setInitialHealth ( Int initialPercent)
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ setMaxHealth()

virtual void BodyModuleInterface::setMaxHealth ( Real maxHealth,
MaxHealthChangeType healthChangeType = SAME_CURRENTHEALTH )
pure virtual

Implemented in ActiveBody, and BodyModule.

◆ testArmorSetFlag()

virtual Bool BodyModuleInterface::testArmorSetFlag ( ArmorSetType ast)
pure virtual

Implemented in ActiveBody, BodyModule, and InactiveBody.

◆ updateBodyParticleSystems()

virtual void BodyModuleInterface::updateBodyParticleSystems ( )
pure virtual

Implemented in ActiveBody, and BodyModule.


The documentation for this class was generated from the following file: