Jagged Alliance Center - Forum

Nowy temat Odpowiedz w temacie  [ Posty: 52 ]  Przejdź na stronę   Poprzednia   1, 2, 3, 4  Następna
Autor Wiadomość
hasan_talib
Post : 02 sty 2012 22:34
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Starszy sierżant
Starszy sierżant
  • Posty: 328
  • Dołączył: 25.08.2010


Myślę, że "wyglądają na szczęśliwych" to była sobie taka przenośnia raczej :P


*
 
Kynio
Post : 02 sty 2012 23:51
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Kapral
Kapral
  • Posty: 52
  • Dołączył: 16.12.2011


micand1989 pisze:
O wyglądzie szczęśliwym jeszcze nie słyszałem.


Noo... mają takie radosne błyski w oczkach... :D

hasan_talib pisze:
Myślę, że "wyglądają na szczęśliwych" to była sobie taka przenośnia raczej


Tak, chodziło mi o zielony pasek morale. W sumie nawet nie wiem jak wpływa on na grę. A właśnie - która umiejętność odpowiada za punkty akcji? Raz czytam, że Zwinność, innym razem zręczność, a w grze w niektórych oknach mam jeszcze Sprawność. Kręćka można dostać...

_________________
http://gryziemiajalowa.blogspot.com/


*
 
hasan_talib
Post : 03 sty 2012 00:51
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Starszy sierżant
Starszy sierżant
  • Posty: 328
  • Dołączył: 25.08.2010


Tak naprawdę na punkty akcji wpływa więcej, niż jedna umiejętność, ale nie jestem Ci w stanie powiedzieć, która. Na pewno zręczność i zwinność, zdrowie, siła (bo PA zależy też od obciążenia), do tego osobowość najemnika (na przykład jeśli boi się owadów, ma mniej w walce z robalami i w tropikach, jeśli ma klaustrofobię ma mniej pod ziemią) i tak dalej. Być może morale też wpływają na PA, ale za to głowy nie dam.

A co do samego morale, to wpływa na ogólną skuteczność. Najemnikowi z wysokim morale wszystko lepiej się udaje (częściej trafia, szybciej odcina karabin, lepiej szkoli samoobronę, lepiej naprawia, lepiej otwiera drzwi, itd. itp.). Być może ma też więcej PA.


*
 
micand1989
Post : 03 sty 2012 12:24
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Major
Major
  • Posty: 1585
  • Dołączył: 30.12.2010
  • Skąd: Łagiewniki Nowe


Na PA wpływ mają:

Zdrowie
Aktywne zdrowie
Zwinność
Siła
Energia (zmęczenie)
Obciążenie
Czasami pozycja najemnika
Morale
osobowość najemnika (to o czym pisał hasan_talib)

_________________
Obrazek
Obrazek


Ostatnio zmieniony 03 sty 2012 12:24 przez micand1989, łącznie zmieniany 1 raz

*
 
Kynio
Post : 04 sty 2012 17:30
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Kapral
Kapral
  • Posty: 52
  • Dołączył: 16.12.2011


Jest jakiś przybliżony wzór na PA? Lepiej dawać max w Zdrowie czy w Zwinność, żeby mieć jak najwięcej PA? WPływ ran i obciążenia, jak i innych czynników zewnętrznych rozumiem, ale chciałbym się dowiedzieć jak określa się bazowe PA (czyli takie, jakie mamy w 1 turze walki na otwartym, zwykłym terenie, w pełni wypoczęci i bez obrażeń).

_________________
http://gryziemiajalowa.blogspot.com/


*
 
hasan_talib
Post : 04 sty 2012 19:06
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Starszy sierżant
Starszy sierżant
  • Posty: 328
  • Dołączył: 25.08.2010


Myślę, że to może siedzieć w kodzie źródłowym. Ale jeśli się mylę, niech Starchris mnie poprawi ;) A jak on nie wie, to się kiedyś tym pobawię i Ci powiem, ale nie obiecuję kiedy.


*
 
Stridingshadow
Post : 04 sty 2012 19:16
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Pułkownik
Pułkownik
  • Posty: 2260
  • Dołączył: 07.03.2009
  • Skąd: Bejrut


Kynio pisze:
Lepiej dawać max w Zdrowie czy w Zwinność, żeby mieć jak najwięcej PA?

Ilość AP zależy przede wszystkim od zwinności, ona określa maksymalną liczbę AP.
Zdrowy, ale niezdarny najemnik będzie ruszał się wolniej niż zwinny ale mniej wydolny najemnik, chociaż ten drugi szybciej się zmęczy.
Właśnie zdrowie odpowiada za to, jak szybko najemnik się męczy.
Zdrowie ma raczej wpływ na to ile AP ubędzie najemnikowi na skutek zmęczenia (wykorzystywania znacznej większości AP co turę bez odpoczynku), braku snu i odniesionych ran.
Siła określa udźwig maksymalny, a zatem wpływa na to, jaki ładunek przeciąży najemnika.
Przy obciążeniu poniżej 100% (osobiście utrzymywałem zawsze mniejsze) nie widać dużych różnic w zużyciu AP niezależnie od dokładnej wartości obciążenia, ale obciążenie powyżej 100% dość istotnie obniża maksymalny limit AP, oraz zmęczenie najemnika.

Dokładnego wzoru nie znam, ale właśnie zwinność określa maksymalne AP, podczas gdy inne parametry mają raczej funkcję 'ochronną' przed utratą AP wobec różnych 'przeciwności' (jak zmęczenie, niewyspanie, czy rany).

Reasumując: jak pójdziesz w zwinność, to będziesz miał więcej AP wyjściowo, a jak w zdrowie, to będziesz tracił mniej AP na skutek różnych działań.
Ostateczny wybór zależy od Twojego stylu gry (np. snajper może mieć spokojnie zwinność 90 i zdrowie 60, podczas gdy 'szturmowiec' zrobiłby większy użytek ze zdrowia 80 i zwinności 70).

_________________
Obrazek


*
 
Starchris
Post : 04 sty 2012 23:17
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Pułkownik
Pułkownik
  • Posty: 2054
  • Dołączył: 25.06.2010


hasan_talib pisze:
Myślę, że to może siedzieć w kodzie źródłowym. Ale jeśli się mylę, niech Starchris mnie poprawi

Dokładnie tak jest czyli w kodzie źródłowym, a dokładnie w pliku "Soldier Control.c" w katalogu "ja2 / Build / Tactical". Linijka od 473 do 611. Poniżej jest plik, w którym są dokładnie te linijki. Do otwarcia zalecam program Notepad ++ ponieważ otworzy tekst ze wszystkimi kolorkami i upiększaczami, którego kod wdrożony w ten post nie posiada.

Załącznik:
Punkty akcji - JA2.7z [1.62 KiB]
Pobrany 137 razy

Natomiast tu jest cały kod źródłowy jak by ktoś chciał.

https://jagged-alliance.pl/plik12/



Poniżej jest główny kod, przez który oblicza się ilość punktów akcji. Jak widać główne umiejętności, które mają wpływ na punkty akcji to: doświadczenie, zwinność, życie i zręczność.

Kod:
  // Calculate merc's action points at 100% capability (range is 10 - 25)
  // round fractions of .5 up (that's why the +20 before the division!
   ubPoints = 5 + (((10 * EffectiveExpLevel( pSold ) +
                     3 * EffectiveAgility( pSold )   +
                               2 * pSold->bLifeMax   +
                               2 * EffectiveDexterity( pSold ) ) + 20) / 40);

  //if (GameOption[INCREASEDAP] % 2 == 1)
    //points += AP_INCREASE;

Zakładając, że nasz najemnik ma wszystkie statystyki po 100 punktów oraz doświadczenie na 10, to wzór wyglądałby następująco:

Punkty Akcji = 5 + { [ (10 x doświadczenie) + (3 x zwinność) + (2 x życie) + (2 x zręczność) + 20 ] / 40 } = 5 + { [ (10 x 10) + (3 x 100) + (2 x 100) + (2 x 100) + 20 ] / 40} = 25,5



Tutaj z kolei jest powyższy kod ze wszystkimi dodatkami, które odpowiadają za punkty akcji, gdy ktoś jest ranny, zmęczony, przeciążony i tak dalej.
Kod:
INT8 CalcActionPoints(SOLDIERTYPE *pSold)
{
  UINT8 ubPoints,ubMaxAPs;
   INT8  bBandage;

  // dead guys don't get any APs (they shouldn't be here asking for them!)
  if (!pSold->bLife)
    return(0);

   // people with sleep dart drug who have collapsed get no APs
   if ( (pSold->bSleepDrugCounter > 0) && pSold->bCollapsed )
      return( 0 );

  // Calculate merc's action points at 100% capability (range is 10 - 25)
  // round fractions of .5 up (that's why the +20 before the division!
   ubPoints = 5 + (((10 * EffectiveExpLevel( pSold ) +
                     3 * EffectiveAgility( pSold )   +
                               2 * pSold->bLifeMax   +
                               2 * EffectiveDexterity( pSold ) ) + 20) / 40);

  //if (GameOption[INCREASEDAP] % 2 == 1)
    //points += AP_INCREASE;


   // Calculate bandage
   bBandage = pSold->bLifeMax - pSold->bLife - pSold->bBleeding;

  // If injured, reduce action points accordingly (by up to 2/3rds)
  if (pSold->bLife < pSold->bLifeMax)
  {
    ubPoints -= (2 * ubPoints * (pSold->bLifeMax - pSold->bLife + (bBandage / 2))) /
              (3 * pSold->bLifeMax);
   }

  // If tired, reduce action points accordingly (by up to 1/2)
  if (pSold->bBreath < 100)
    ubPoints -= (ubPoints * (100 - pSold->bBreath)) / 200;

   if (pSold->sWeightCarriedAtTurnStart > 100)
   {
      ubPoints = (UINT8) ( ((UINT32)ubPoints) * 100 / pSold->sWeightCarriedAtTurnStart );
   }

  // If resulting APs are below our permitted minimum, raise them to it!
  if (ubPoints < AP_MINIMUM)
      ubPoints = AP_MINIMUM;

  // make sure action points doesn't exceed the permitted maximum
  ubMaxAPs = gubMaxActionPoints[ pSold->ubBodyType ];

  //if (GameOption[INCREASEDAP] % 2 == 1)
    // maxAPs += AP_INCREASE;


  // If resulting APs are below our permitted minimum, raise them to it!
  if (ubPoints > ubMaxAPs)
     ubPoints = ubMaxAPs;

   if ( pSold->ubBodyType == BLOODCAT )
   {
      // use same as young monsters
      ubPoints = (ubPoints * AP_YOUNG_MONST_FACTOR) / 10;
   }
   else if (pSold->uiStatusFlags & SOLDIER_MONSTER)
   {
      // young monsters get extra APs
      if ( pSold->ubBodyType == YAF_MONSTER || pSold->ubBodyType == YAM_MONSTER || pSold->ubBodyType == INFANT_MONSTER )
      {
         ubPoints = (ubPoints * AP_YOUNG_MONST_FACTOR) / 10;
      }

      // if frenzied, female monsters get more APs! (for young females, cumulative!)
      if (pSold->bFrenzied)
      {

         ubPoints = (ubPoints * AP_MONST_FRENZY_FACTOR) / 10;
      }
   }

   // adjust APs for phobia situations
   if ( pSold->ubProfile != NO_PROFILE )
   {
      if ( (gMercProfiles[ pSold->ubProfile ].bPersonalityTrait == CLAUSTROPHOBIC) && (gbWorldSectorZ > 0) )
      {
         ubPoints = (ubPoints * AP_CLAUSTROPHOBE) / 10;
      }
      else if ( (gMercProfiles[ pSold->ubProfile ].bPersonalityTrait == FEAR_OF_INSECTS) && (MercSeesCreature( pSold ) ) )
      {
         ubPoints = (ubPoints * AP_AFRAID_OF_INSECTS) / 10;
      }
   }

   // Adjusat APs due to drugs...
   HandleAPEffectDueToDrugs( pSold, &ubPoints );

   // If we are a vehicle, adjust APS...
   if ( pSold->uiStatusFlags & SOLDIER_VEHICLE )
   {
      AdjustVehicleAPs( pSold, &ubPoints );
   }


   // if we are in boxing mode, adjust APs... THIS MUST BE LAST!
   if ( gTacticalStatus.bBoxingState == BOXING || gTacticalStatus.bBoxingState == PRE_BOXING )
   {
      ubPoints /= 2;
   }

  return (ubPoints);
}



Ostatnim kodem jest kod, który oblicza punkty akcji dla walk bokserskich. MAX_AP_CARRIED to 25. Jest on dzielony przez 2, dlatego na ringu mamy maksymalnie 12 lub 13 punktów akcji.
Kod:
void CalcNewActionPoints( SOLDIERTYPE *pSoldier )
{
   if ( gTacticalStatus.bBoxingState == BOXING || gTacticalStatus.bBoxingState == PRE_BOXING )
   {
      // if we are in boxing mode, carry 1/2 as many points
      if (pSoldier->bActionPoints > MAX_AP_CARRIED / 2)
      {
         pSoldier->bActionPoints = MAX_AP_CARRIED / 2;
      }
   }
   else
   {
      if (pSoldier->bActionPoints > MAX_AP_CARRIED)
      {
         pSoldier->bActionPoints = MAX_AP_CARRIED;
      }
   }

   pSoldier->bActionPoints               += CalcActionPoints( pSoldier);

   // Don't max out if we are drugged....
   if ( !GetDrugEffect( pSoldier, DRUG_TYPE_ADRENALINE ) )
   {
      pSoldier->bActionPoints               = __min( pSoldier->bActionPoints, gubMaxActionPoints[ pSoldier->ubBodyType ] );
   }

   pSoldier->bInitialActionPoints   = pSoldier->bActionPoints;
}

_________________
Obrazek
Poradniki Modera


*
 
Kynio
Post : 06 sty 2012 00:34
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Kapral
Kapral
  • Posty: 52
  • Dołączył: 16.12.2011


Dzięki Starchris !

Muszę się przez to przegryźć.

Uff... czyli wzór na "BAZOWE" PA: 5+ {[(10x Poziom Doświadczenia + 3x Zwinność + 2x maksymalne Zdrowie + 2x Zręczność) +20] :40}

Czyli najważniejsze są: Poziom i Zwinność, potem Zdrowie i Zręczność? Dobrze wiedzieć, zawsze trochę olewałem zdrowie (odpoczynek przed walką i częsty S/L...).

Są gdzieś wzory na różne testy w JA2? Np. obrażenia od broni (jaki wpływ ma kaliber i amunicja, jaki wpływ ma siła na obrażenia nożem rzucanym etc.), zasięg rzutu, efektywność skradania i kamuflażu... W sumie na razie wszystko robię "na czuja".

_________________
http://gryziemiajalowa.blogspot.com/


*
 
micand1989
Post : 06 sty 2012 10:46
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Major
Major
  • Posty: 1585
  • Dołączył: 30.12.2010
  • Skąd: Łagiewniki Nowe


Kynio pisze:
Są gdzieś wzory na różne testy w JA2? Np. obrażenia od broni (jaki wpływ ma kaliber i amunicja, jaki wpływ ma siła na obrażenia nożem rzucanym etc.), zasięg rzutu, efektywność skradania i kamuflażu... W sumie na razie wszystko robię "na czuja".

Amunicja dzieli się tylko na AP i HP (różnica w obrażeniach). No i na początku na zwykłą amunicję.

Kaliber 7.62 NATO - najlepszy w dwójce.

Siła nie ma wpływu (Shank ma 36 siły a dobrze rzuca) na rzut nożem. Ma znaczenie: zręczność + specjalność 'rzucanie' + zasięg.

Efektywność skradania...nic tylko zwinność + specjalność 'skradanie'

Kamuflaż - zestawy do kamuflażu dają po użyciu 100% (ale się ściera całkiem chyba po około 8 godzinach)

_________________
Obrazek
Obrazek


Ostatnio zmieniony 06 sty 2012 10:47 przez micand1989, łącznie zmieniany 1 raz

*
 
Kynio
Post : 06 sty 2012 11:40
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Kapral
Kapral
  • Posty: 52
  • Dołączył: 16.12.2011


micand1989 pisze:
Kamuflaż - zestawy do kamuflażu dają po użyciu 100% (ale się ściera całkiem chyba po około 8 godzinach)


Tyle wiem, ale jak to wpływa na widzenie przez przeciwnika? Jak blisko mogę podejść frontem do wroga w nocy i za dnia?

micand1989 pisze:
Kaliber 7.62 NATO - najlepszy w dwójce.

Skoro kaliber ma znaczenie, to jakie? Czy FN-Fal z siłą (bodaj) 32 zadaje DUŻO większe obrażenia niż STEYR z siłą 30, bo jeden ma naboje NATO a drugi 5.56?

_________________
http://gryziemiajalowa.blogspot.com/


*
 
hasan_talib
Post : 06 sty 2012 12:24
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Starszy sierżant
Starszy sierżant
  • Posty: 328
  • Dołączył: 25.08.2010


micand1989 pisze:
Siła nie ma wpływu (Shank ma 36 siły a dobrze rzuca) na rzut nożem. Ma znaczenie: zręczność + specjalność 'rzucanie' + zasięg.



Dodatkowo mają znaczenie jeszcze umiejętności strzeleckie.


*
 
micand1989
Post : 06 sty 2012 15:17
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Major
Major
  • Posty: 1585
  • Dołączył: 30.12.2010
  • Skąd: Łagiewniki Nowe


Kynio pisze:
Tyle wiem, ale jak to wpływa na widzenie przez przeciwnika? Jak blisko mogę podejść frontem do wroga w nocy i za dnia?

W "dwójce" w dzień nic Ci kamuflaż nie da (frontem do klienta, któremu dostarczasz kulkę :D ). Jeśli patrzy na Ciebie to masz małe szanse, że Cię nie widzi.
W nocy jest przydatny. Jeśli przeciwnik nie ma noktowizora to około 5-6 kratek w pozycji leżącej i trawie.

Kynio pisze:
Skoro kaliber ma znaczenie, to jakie? Czy FN-Fal z siłą (bodaj) 32 zadaje DUŻO większe obrażenia niż STEYR z siłą 30, bo jeden ma naboje NATO a drugi 5.56?

FN-FAL jest następcą STEYRa (jeśli do tej pory strzelałeś z Steyra to na pewno go oddasz komuś innemu, a weźmiesz FALa) :ok:
FN-FAL wymiata w tej wersji. Wg mnie najlepszy w "dwójce".

hasan_talib pisze:
micand1989 pisze:
Siła nie ma wpływu (Shank ma 36 siły a dobrze rzuca) na rzut nożem. Ma znaczenie: zręczność + specjalność 'rzucanie' + zasięg.


Dodatkowo mają znaczenie jeszcze umiejętności strzeleckie.

Zapomniałem tego dodać, dzięki za uzupełnienie :ok:

_________________
Obrazek
Obrazek


*
 
Starchris
Post : 06 sty 2012 15:53
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Pułkownik
Pułkownik
  • Posty: 2054
  • Dołączył: 25.06.2010


Kynio pisze:
Np. obrażenia od broni (jaki wpływ ma kaliber i amunicja,

W zwykłym Jagged Alliance 2 kaliber nie ma żadnego znaczenia. Dla amunicji i broni jest to tylko i wyłącznie nazwa i nic więcej. W kodzie źródłowym nie ma nic na temat różnorodności obrażeń w stosunku do różnych kalibrów.

To samo jest z rodzajami amunicji. Każda amunicja HP daje takie same obrażenia. Każda amunicja AP daje takie same obrażenia. Tak samo jest ze strzałkami usypiającymi oraz rakietkami do karabinów rakietowych. Jedynie co rozróżnia dany rodzaj amunicji to siła broni. To ona decyduje czy dana broń i dany rodzaj amunicji zadaje więcej obrażeń.


Poniżej jest wzór w kodzie źródłowym, który odpowiada za obrażenia dla danego rodzaju amunicji.
Kod:
// hollow point bullets do lots of damage to people
#define AMMO_DAMAGE_ADJUSTMENT_HP( x ) ( (x * 17) / 10 )


// but they SUCK at penetrating armour
#define AMMO_ARMOUR_ADJUSTMENT_HP( x ) ( (x * 3) / 2 )


// armour piercing bullets are good at penetrating armour
#define AMMO_ARMOUR_ADJUSTMENT_AP( x ) ((x * 3) / 4)


// "super" AP bullets are great at penetrating armour
#define AMMO_ARMOUR_ADJUSTMENT_SAP( x ) (x / 2)


// high explosive damage value (PRIOR to armour subtraction)
#define AMMO_DAMAGE_ADJUSTMENT_HE( x ) ((x * 4) / 3)


// but they SUCK at penetrating armour
#define AMMO_STRUCTURE_ADJUSTMENT_HP( x ) (x * 2)


// armour piercing bullets are good at penetrating structure
#define AMMO_STRUCTURE_ADJUSTMENT_AP( x ) ( (x * 3 ) / 4)


// "super" AP bullets are great at penetrating structures
#define AMMO_STRUCTURE_ADJUSTMENT_SAP( x ) ( x / 2 )


// one quarter of punching damage is "real" rather than breath damage
#define PUNCH_REAL_DAMAGE_PORTION 4


Wyjątkiem są strzelby, których obrażenia nie do końca biorą się z tego ile dana strzelba ma siły. O sile obrażeń strzelb decyduje ilość śrutu. Domyślnie jest go 9. Sprawdzałem to wielokrotnie. Dla przykładu ustawiłem ilość śrutu na 1000 i gdy strzeliłem do wroga, to zadało mu to ponad siedem tysięcy obrażeń. Np w New Classic strzelby mają siłę obrażeń na poziomie 80 (ilość śrutu dalej jest 9) i te strzelby dalej zadają podobne obrażenia jakby miały siłę obrażeń 32.

Kod:
#define BUCKSHOT_SHOTS 9

#define AMMO_DAMAGE_ADJUSTMENT_BUCKSHOT( x ) (x / 4)
#define NUM_BUCKSHOT_PELLETS 9

_________________
Obrazek
Poradniki Modera


*
 
M'cin
Post : 06 sty 2012 16:00
Cytowanie selektywne Odpowiedz z cytatem
Offline
Awatar użytkownika
Starszy chorąży sztabowy
Starszy chorąży sztabowy
  • Posty: 775
  • Dołączył: 18.11.2009


A jak strzela się zwykłymi, kulkowymi? Wtedy jak zwykła amunicja do karabinu się liczy?


*
 
Nowy temat Odpowiedz w temacie Przejdź na stronę   Poprzednia   1, 2, 3, 4  Następna