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

#include <Scripts.h>

Inherits MemoryPoolObject.

Public Types

enum  ConditionType {
  CONDITION_FALSE , COUNTER , FLAG , CONDITION_TRUE ,
  TIMER_EXPIRED , PLAYER_ALL_DESTROYED , PLAYER_ALL_BUILDFACILITIES_DESTROYED , TEAM_INSIDE_AREA_PARTIALLY ,
  TEAM_DESTROYED , CAMERA_MOVEMENT_FINISHED , TEAM_HAS_UNITS , TEAM_STATE_IS ,
  TEAM_STATE_IS_NOT , NAMED_INSIDE_AREA , NAMED_OUTSIDE_AREA , NAMED_DESTROYED ,
  NAMED_NOT_DESTROYED , TEAM_INSIDE_AREA_ENTIRELY , TEAM_OUTSIDE_AREA_ENTIRELY , NAMED_ATTACKED_BY_OBJECTTYPE ,
  TEAM_ATTACKED_BY_OBJECTTYPE , NAMED_ATTACKED_BY_PLAYER , TEAM_ATTACKED_BY_PLAYER , BUILT_BY_PLAYER ,
  NAMED_CREATED , TEAM_CREATED , PLAYER_HAS_CREDITS , NAMED_DISCOVERED ,
  TEAM_DISCOVERED , MISSION_ATTEMPTS , NAMED_OWNED_BY_PLAYER , TEAM_OWNED_BY_PLAYER ,
  PLAYER_HAS_N_OR_FEWER_BUILDINGS , PLAYER_HAS_POWER , NAMED_REACHED_WAYPOINTS_END , TEAM_REACHED_WAYPOINTS_END ,
  NAMED_SELECTED , NAMED_ENTERED_AREA , NAMED_EXITED_AREA , TEAM_ENTERED_AREA_ENTIRELY ,
  TEAM_ENTERED_AREA_PARTIALLY , TEAM_EXITED_AREA_ENTIRELY , TEAM_EXITED_AREA_PARTIALLY , MULTIPLAYER_ALLIED_VICTORY ,
  MULTIPLAYER_ALLIED_DEFEAT , MULTIPLAYER_PLAYER_DEFEAT , PLAYER_HAS_NO_POWER , HAS_FINISHED_VIDEO ,
  HAS_FINISHED_SPEECH , HAS_FINISHED_AUDIO , BUILDING_ENTERED_BY_PLAYER , ENEMY_SIGHTED ,
  UNIT_HEALTH , BRIDGE_REPAIRED , BRIDGE_BROKEN , NAMED_DYING ,
  NAMED_TOTALLY_DEAD , PLAYER_HAS_OBJECT_COMPARISON , OBSOLETE_SCRIPT_1 , OBSOLETE_SCRIPT_2 ,
  PLAYER_TRIGGERED_SPECIAL_POWER , PLAYER_COMPLETED_SPECIAL_POWER , PLAYER_MIDWAY_SPECIAL_POWER , PLAYER_TRIGGERED_SPECIAL_POWER_FROM_NAMED ,
  PLAYER_COMPLETED_SPECIAL_POWER_FROM_NAMED , PLAYER_MIDWAY_SPECIAL_POWER_FROM_NAMED , DEFUNCT_PLAYER_SELECTED_GENERAL , DEFUNCT_PLAYER_SELECTED_GENERAL_FROM_NAMED ,
  PLAYER_BUILT_UPGRADE , PLAYER_BUILT_UPGRADE_FROM_NAMED , PLAYER_DESTROYED_N_BUILDINGS_PLAYER , UNIT_COMPLETED_SEQUENTIAL_EXECUTION ,
  TEAM_COMPLETED_SEQUENTIAL_EXECUTION , PLAYER_HAS_COMPARISON_UNIT_TYPE_IN_TRIGGER_AREA , PLAYER_HAS_COMPARISON_UNIT_KIND_IN_TRIGGER_AREA , UNIT_EMPTIED ,
  TYPE_SIGHTED , NAMED_BUILDING_IS_EMPTY , PLAYER_HAS_N_OR_FEWER_FACTION_BUILDINGS , UNIT_HAS_OBJECT_STATUS ,
  TEAM_ALL_HAS_OBJECT_STATUS , TEAM_SOME_HAVE_OBJECT_STATUS , PLAYER_POWER_COMPARE_PERCENT , PLAYER_EXCESS_POWER_COMPARE_VALUE ,
  SKIRMISH_SPECIAL_POWER_READY , SKIRMISH_VALUE_IN_AREA , SKIRMISH_PLAYER_FACTION , SKIRMISH_SUPPLIES_VALUE_WITHIN_DISTANCE ,
  SKIRMISH_TECH_BUILDING_WITHIN_DISTANCE , SKIRMISH_COMMAND_BUTTON_READY_ALL , SKIRMISH_COMMAND_BUTTON_READY_PARTIAL , SKIRMISH_UNOWNED_FACTION_UNIT_EXISTS ,
  SKIRMISH_PLAYER_HAS_PREREQUISITE_TO_BUILD , SKIRMISH_PLAYER_HAS_COMPARISON_GARRISONED , SKIRMISH_PLAYER_HAS_COMPARISON_CAPTURED_UNITS , SKIRMISH_NAMED_AREA_EXIST ,
  SKIRMISH_PLAYER_HAS_UNITS_IN_AREA , SKIRMISH_PLAYER_HAS_BEEN_ATTACKED_BY_PLAYER , SKIRMISH_PLAYER_IS_OUTSIDE_AREA , SKIRMISH_PLAYER_HAS_DISCOVERED_PLAYER ,
  PLAYER_ACQUIRED_SCIENCE , PLAYER_HAS_SCIENCEPURCHASEPOINTS , PLAYER_CAN_PURCHASE_SCIENCE , MUSIC_TRACK_HAS_COMPLETED ,
  PLAYER_LOST_OBJECT_TYPE , SUPPLY_SOURCE_SAFE , SUPPLY_SOURCE_ATTACKED , START_POSITION_IS ,
  NAMED_HAS_FREE_CONTAINER_SLOTS , NUM_ITEMS
}
 

Public Member Functions

 Condition (enum ConditionType type)
 
Conditionduplicate (void) const
 
ConditionduplicateAndQualify (const AsciiString &qualifier, const AsciiString &playerTemplateName, const AsciiString &newPlayerName) const
 
void setConditionType (enum ConditionType type)
 
void setNextCondition (Condition *pScr)
 
void setWarnings (Bool warnings)
 
enum ConditionType getConditionType (void)
 
ConditiongetNext (void)
 
AsciiString getUiText (void)
 
ParametergetParameter (Int ndx)
 
Int getNumParameters (void)
 
Int getUiStrings (AsciiString strings[MAX_PARMS])
 
Bool hasWarnings (void) const
 
Int getCustomData (void) const
 
void setCustomData (Int val)
 
Int getCustomFrame (void) const
 
void setCustomFrame (Int val)
 
- Public Member Functions inherited from MemoryPoolObject
void deleteInstance ()
 

Static Public Member Functions

static void WriteConditionDataChunk (DataChunkOutput &chunkWriter, Condition *pCond)
 
static Bool ParseConditionDataChunk (DataChunkInput &file, DataChunkInfo *info, void *userData)
 

Protected Member Functions

 Condition ()
 Protected constructor for read.
 
- Protected Member Functions inherited from MemoryPoolObject
virtual ~MemoryPoolObject ()
 
void * operator new (size_t s)
 
void operator delete (void *p)
 
virtual MemoryPoolgetObjectMemoryPool ()=0
 

Detailed Description

This is a condition. The parameters for a ConditionType are set up in ConditionTemplates created in ScriptEngine::init.

SPECIAL NOTE ABOUT Skirmish Scripts: Please note that ALL Skirmish conditions should first pass a pSkirmishPlayerParm to prevet the necessity of having to write additional scripts for other players / skirmish types later.

Definition at line 857 of file Scripts.h.

Member Enumeration Documentation

◆ ConditionType

Enumerator
CONDITION_FALSE 
COUNTER 
FLAG 
CONDITION_TRUE 
TIMER_EXPIRED 
PLAYER_ALL_DESTROYED 
PLAYER_ALL_BUILDFACILITIES_DESTROYED 
TEAM_INSIDE_AREA_PARTIALLY 
TEAM_DESTROYED 
CAMERA_MOVEMENT_FINISHED 
TEAM_HAS_UNITS 
TEAM_STATE_IS 
TEAM_STATE_IS_NOT 
NAMED_INSIDE_AREA 
NAMED_OUTSIDE_AREA 
NAMED_DESTROYED 
NAMED_NOT_DESTROYED 
TEAM_INSIDE_AREA_ENTIRELY 
TEAM_OUTSIDE_AREA_ENTIRELY 
NAMED_ATTACKED_BY_OBJECTTYPE 
TEAM_ATTACKED_BY_OBJECTTYPE 
NAMED_ATTACKED_BY_PLAYER 
TEAM_ATTACKED_BY_PLAYER 
BUILT_BY_PLAYER 
NAMED_CREATED 
TEAM_CREATED 
PLAYER_HAS_CREDITS 
NAMED_DISCOVERED 
TEAM_DISCOVERED 
MISSION_ATTEMPTS 
NAMED_OWNED_BY_PLAYER 
TEAM_OWNED_BY_PLAYER 
PLAYER_HAS_N_OR_FEWER_BUILDINGS 
PLAYER_HAS_POWER 
NAMED_REACHED_WAYPOINTS_END 
TEAM_REACHED_WAYPOINTS_END 
NAMED_SELECTED 
NAMED_ENTERED_AREA 
NAMED_EXITED_AREA 
TEAM_ENTERED_AREA_ENTIRELY 
TEAM_ENTERED_AREA_PARTIALLY 
TEAM_EXITED_AREA_ENTIRELY 
TEAM_EXITED_AREA_PARTIALLY 
MULTIPLAYER_ALLIED_VICTORY 
MULTIPLAYER_ALLIED_DEFEAT 
MULTIPLAYER_PLAYER_DEFEAT 
PLAYER_HAS_NO_POWER 
HAS_FINISHED_VIDEO 
HAS_FINISHED_SPEECH 
HAS_FINISHED_AUDIO 
BUILDING_ENTERED_BY_PLAYER 
ENEMY_SIGHTED 
UNIT_HEALTH 
BRIDGE_REPAIRED 
BRIDGE_BROKEN 
NAMED_DYING 
NAMED_TOTALLY_DEAD 
PLAYER_HAS_OBJECT_COMPARISON 
OBSOLETE_SCRIPT_1 
OBSOLETE_SCRIPT_2 
PLAYER_TRIGGERED_SPECIAL_POWER 
PLAYER_COMPLETED_SPECIAL_POWER 
PLAYER_MIDWAY_SPECIAL_POWER 
PLAYER_TRIGGERED_SPECIAL_POWER_FROM_NAMED 
PLAYER_COMPLETED_SPECIAL_POWER_FROM_NAMED 
PLAYER_MIDWAY_SPECIAL_POWER_FROM_NAMED 
DEFUNCT_PLAYER_SELECTED_GENERAL 
DEFUNCT_PLAYER_SELECTED_GENERAL_FROM_NAMED 
PLAYER_BUILT_UPGRADE 
PLAYER_BUILT_UPGRADE_FROM_NAMED 
PLAYER_DESTROYED_N_BUILDINGS_PLAYER 
UNIT_COMPLETED_SEQUENTIAL_EXECUTION 
TEAM_COMPLETED_SEQUENTIAL_EXECUTION 
PLAYER_HAS_COMPARISON_UNIT_TYPE_IN_TRIGGER_AREA 
PLAYER_HAS_COMPARISON_UNIT_KIND_IN_TRIGGER_AREA 
UNIT_EMPTIED 
TYPE_SIGHTED 
NAMED_BUILDING_IS_EMPTY 
PLAYER_HAS_N_OR_FEWER_FACTION_BUILDINGS 
UNIT_HAS_OBJECT_STATUS 
TEAM_ALL_HAS_OBJECT_STATUS 
TEAM_SOME_HAVE_OBJECT_STATUS 
PLAYER_POWER_COMPARE_PERCENT 
PLAYER_EXCESS_POWER_COMPARE_VALUE 
SKIRMISH_SPECIAL_POWER_READY 
SKIRMISH_VALUE_IN_AREA 
SKIRMISH_PLAYER_FACTION 
SKIRMISH_SUPPLIES_VALUE_WITHIN_DISTANCE 
SKIRMISH_TECH_BUILDING_WITHIN_DISTANCE 
SKIRMISH_COMMAND_BUTTON_READY_ALL 
SKIRMISH_COMMAND_BUTTON_READY_PARTIAL 
SKIRMISH_UNOWNED_FACTION_UNIT_EXISTS 
SKIRMISH_PLAYER_HAS_PREREQUISITE_TO_BUILD 
SKIRMISH_PLAYER_HAS_COMPARISON_GARRISONED 
SKIRMISH_PLAYER_HAS_COMPARISON_CAPTURED_UNITS 
SKIRMISH_NAMED_AREA_EXIST 
SKIRMISH_PLAYER_HAS_UNITS_IN_AREA 
SKIRMISH_PLAYER_HAS_BEEN_ATTACKED_BY_PLAYER 
SKIRMISH_PLAYER_IS_OUTSIDE_AREA 
SKIRMISH_PLAYER_HAS_DISCOVERED_PLAYER 
PLAYER_ACQUIRED_SCIENCE 
PLAYER_HAS_SCIENCEPURCHASEPOINTS 
PLAYER_CAN_PURCHASE_SCIENCE 
MUSIC_TRACK_HAS_COMPLETED 
PLAYER_LOST_OBJECT_TYPE 
SUPPLY_SOURCE_SAFE 
SUPPLY_SOURCE_ATTACKED 
START_POSITION_IS 
NAMED_HAS_FREE_CONTAINER_SLOTS 

Kris – Checks if any given container has any free slots.

NUM_ITEMS 

Definition at line 863 of file Scripts.h.

Constructor & Destructor Documentation

◆ Condition() [1/2]

Condition::Condition ( enum ConditionType type)

Definition at line 1528 of file Scripts.cpp.

◆ Condition() [2/2]

Condition::Condition ( )
protected

Protected constructor for read.

Definition at line 1513 of file Scripts.cpp.

Member Function Documentation

◆ duplicate()

Condition * Condition::duplicate ( void ) const

Definition at line 1559 of file Scripts.cpp.

◆ duplicateAndQualify()

Condition * Condition::duplicateAndQualify ( const AsciiString & qualifier,
const AsciiString & playerTemplateName,
const AsciiString & newPlayerName ) const

Definition at line 1579 of file Scripts.cpp.

◆ getConditionType()

enum ConditionType Condition::getConditionType ( void )
inline

Definition at line 1006 of file Scripts.h.

◆ getCustomData()

Int Condition::getCustomData ( void ) const
inline

Definition at line 1020 of file Scripts.h.

◆ getCustomFrame()

Int Condition::getCustomFrame ( void ) const
inline

Definition at line 1023 of file Scripts.h.

◆ getNext()

Condition * Condition::getNext ( void )
inline

Definition at line 1007 of file Scripts.h.

◆ getNumParameters()

Int Condition::getNumParameters ( void )
inline

Definition at line 1017 of file Scripts.h.

◆ getParameter()

Parameter * Condition::getParameter ( Int ndx)
inline

Definition at line 1009 of file Scripts.h.

◆ getUiStrings()

Int Condition::getUiStrings ( AsciiString strings[MAX_PARMS])

Definition at line 1623 of file Scripts.cpp.

◆ getUiText()

AsciiString Condition::getUiText ( void )

Definition at line 1629 of file Scripts.cpp.

◆ hasWarnings()

Bool Condition::hasWarnings ( void ) const
inline

Definition at line 1019 of file Scripts.h.

◆ ParseConditionDataChunk()

Bool Condition::ParseConditionDataChunk ( DataChunkInput & file,
DataChunkInfo * info,
void * userData )
static

Condition::ParseConditionDataChunk - read a condition. Format is the newer CHUNKY format. See Condition::WriteActionDataChunk for the writer. Input: DataChunkInput

Definition at line 1688 of file Scripts.cpp.

◆ setConditionType()

void Condition::setConditionType ( enum ConditionType type)

Definition at line 1543 of file Scripts.cpp.

◆ setCustomData()

void Condition::setCustomData ( Int val)
inline

Definition at line 1021 of file Scripts.h.

◆ setCustomFrame()

void Condition::setCustomFrame ( Int val)
inline

Definition at line 1024 of file Scripts.h.

◆ setNextCondition()

void Condition::setNextCondition ( Condition * pScr)
inline

Definition at line 1004 of file Scripts.h.

◆ setWarnings()

void Condition::setWarnings ( Bool warnings)
inline

Definition at line 1005 of file Scripts.h.

◆ WriteConditionDataChunk()

void Condition::WriteConditionDataChunk ( DataChunkOutput & chunkWriter,
Condition * pCondition )
static

Condition::WriteConditionDataChunk - Writes a condition chunk. Format is the newer CHUNKY format. Input: DataChunkInput

Definition at line 1659 of file Scripts.cpp.


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