As requested here are some trigger implementation details. They will need to be typed directly into the map file as the GalaxyForge GUI is not wired correctly.
Example:
triggerCount 1
trigger
event
type "ON_PLAYER_DEFEATED"
playerName "NewPlayer0"
conditionCount 0
actionCount 1
action
type "MESSAGE_ALL_PLAYERS_X"
message "Too bad so sad"
Events:
ON_GAME_START,
ON_PLAYER_DEFEATED,
ON_RESEARCH_X_FINISHED_BY_A,
ON_ENTITY_A_DEATH,
ON_ENTITY_A_GAINING_BUFF_X,
ON_ENTITY_A_LOSING_BUFF_X,
ON_ENTITYTYPE_DEATH,
ON_ENTITYTYPE_CREATED,
Event Parameters:
case TriggerEventType::ON_PLAYER_DEFEATED:
archive->Read(_T("playerName"), ¶mStdFxdString);
break;
case TriggerEventType::ON_RESEARCH_X_FINISHED_BY_A:
archive->Read(_T("researchName"), ¶mStdFxdString);
archive->Read(_T("researchLevel"), ¶mInt_2);
archive->Read(_T("playerName"), ¶mStdFxdString_2nd);
break;
case TriggerEventType::ON_ENTITY_A_DEATH:
archive->Read(_T("targetEntity"), ¶mStdFxdString);
break;
case TriggerEventType::ON_ENTITY_A_GAINING_BUFF_X:
archive->Read(_T("targetEntity"), ¶mStdFxdString_2nd);
archive->Read(_T("buffName"), ¶mStdFxdString);
archive->Read(_T("buffLevel"), ¶mInt_2);
break;
case TriggerEventType::ON_ENTITY_A_LOSING_BUFF_X:
archive->Read(_T("targetEntity"), ¶mStdFxdString_2nd);
archive->Read(_T("buffName"), ¶mStdFxdString);
archive->Read(_T("buffLevel"), ¶mInt_2);
break;
case TriggerEventType::ON_ENTITYTYPE_DEATH:
archive->Read(_T("entityType"), ¶mStdFxdString);
break;
case TriggerEventType::ON_ENTITYTYPE_CREATED:
archive->Read(_T("entityType"), ¶mStdFxdString);
break;
Conditions:
Not Implemented.
Actions:
END_CURRENT_GAME,
MESSAGE_ALL_PLAYERS_X,
DEFEAT_PLAYER_A,
ADD_BOUNTY_X_TO_PLAYER_A,
SEND_MESSAGE_X_TO_PLAYER_A,
APPLY_BUFF_X_TO_TARGET_UNIT_A,
ADD_X_XP_TO_TARGET_UNIT_A,
APPLY_BUFF_X_TO_UNITTYPE_A,
SPAWN_UNITTYPE_A_NEAR_B,
Action Parameters:
case TriggerActionType::MESSAGE_ALL_PLAYERS_X:
archive->Read(_T("message"), ¶mStdFxdString);
break;
case TriggerActionType:DEFEAT_PLAYER_A:
archive->Read(_T("playerName"), ¶mStdFxdString);
break;
case TriggerActionType::ADD_BOUNTY_X_TO_PLAYER_A:
archive->Read(_T("bounty"), ¶mFloat);
archive->Read(_T("playerName"), ¶mStdFxdString);
break;
case TriggerActionType::SEND_MESSAGE_X_TO_PLAYER_A:
archive->Read(_T("message"), ¶mStdFxdString);
archive->Read(_T("toPlayer"), ¶mStdFxdString_2nd);
archive->Read(_T("fromPlayer"), ¶mStdFxdString_3rd);
break;
case TriggerActionType::APPLY_BUFF_X_TO_TARGET_UNIT_A:
archive->Read(_T("buffName"), ¶mStdFxdString);
archive->Read(_T("buffLevel"), ¶mFloat);
archive->Read(_T("targetName"), ¶mStdFxdString_2nd);
break;
case TriggerActionType::ADD_X_XP_TO_TARGET_UNIT_A:
archive->Read(_T("xpValue"), ¶mFloat);
archive->Read(_T("targetName"), ¶mStdFxdString);
break;
case TriggerActionType::APPLY_BUFF_X_TO_UNITTYPE_A:
archive->Read(_T("buffName"), ¶mStdFxdString);
archive->Read(_T("buffLevel"), ¶mFloat);
archive->Read(_T("unitType"), ¶mStdFxdString_2nd);
break;
case TriggerActionType::SPAWN_UNITTYPE_A_NEAR_B:
archive->Read(_T("unitType"), ¶mStdFxdString_2nd);
archive->Read(_T("targetName"), ¶mStdFxdString);
archive->Read(_T("ownerName"), ¶mStdFxdString_3rd);
break;