/// Wenn ein Kampf gewonnen wurde void nofDefender::WonFighting() { //addon BattlefieldPromotion active? -> increase rank! if(GAMECLIENT.GetGGS().isEnabled(ADDON_BATTLEFIELD_PROMOTION)) IncreaseRank(); // Angreifer tot attacker = 0; // Ist evtl. unser Heimatgebäude zerstört? if(!building) { // Rumirren state = STATE_FIGUREWORK; StartWandering(); Wander(); return; } // Neuen Angreifer rufen if( (attacker = building->FindAttackerNearBuilding()) ) { // Ein Angreifer gefunden, dann warten wir auf ihn, bis er kommt state = STATE_DEFENDING_WAITING; } else { // Kein Angreifer gefunden, dann gehen wir wieder in unser Gebäude state = STATE_DEFENDING_WALKINGFROM; StartWalking(1); // Angreifer auf 0 setzen, er ist ja tot attacker = 0; } }
/// Wenn ein Kampf gewonnen wurde void nofAttacker::WonFighting() { // addon BattlefieldPromotion active? -> increase rank! if(gwg->GetGGS().isEnabled(AddonId::BATTLEFIELD_PROMOTION)) IncreaseRank(); // Ist evtl. unser Heimatgebäude zerstört? if(!building && state != STATE_ATTACKING_FIGHTINGVSDEFENDER) { // Dann dem Ziel Bescheid sagen, falls es existiert (evtl. wurdes zufällig zur selben Zeit zerstört) InformTargetsAboutCancelling(); // Ggf. Schiff Bescheid sagen (Schiffs-Angreifer) if(ship_obj_id) CancelAtShip(); // Rumirren state = STATE_FIGUREWORK; StartWandering(); Wander(); return; } // Ist evtl. unser Ziel-Gebäude zerstört? if(!attacked_goal) { // Nach Hause gehen ReturnHomeMissionAttacking(); return; } ContinueAtFlag(); }
/// Wenn ein Kampf gewonnen wurde void nofAggressiveDefender::WonFighting() { //addon BattlefieldPromotion active? -> increase rank! if(GAMECLIENT.GetGGS().isEnabled(ADDON_BATTLEFIELD_PROMOTION)) IncreaseRank(); // Angreifer tot attacker = NULL; // Ist evtl. unser Heimatgebäude zerstört? if(!building) { // Rumirren state = STATE_FIGUREWORK; StartWandering(); Wander(); // Ziel Bescheid sagen if(attacked_goal) attacked_goal->UnlinkAggressiveDefender(this); return; } // Angreifer ist tot, nach anderen suchen, die in meiner Nähe sind und mich evtl noch mit denen kloppen MissionAggressiveDefendingLookForNewAggressor(); }
/// Wenn ein Kampf gewonnen wurde void nofAggressiveDefender::WonFighting() { // addon BattlefieldPromotion active? -> increase rank! if(gwg->GetGGS().isEnabled(AddonId::BATTLEFIELD_PROMOTION)) IncreaseRank(); // Ist evtl. unser Heimatgebäude zerstört? if(!building) { // Ziel Bescheid sagen InformTargetsAboutCancelling(); // Rumirren state = STATE_FIGUREWORK; StartWandering(); Wander(); return; } // Continue walking to our attacker MissAggressiveDefendingContinueWalking(); }