等級:25 - 爐火純青 經驗值:0 / 245 魔法值:13941 / 13941 生命值:5%
升級
  100%
TA的每日心情 | 奮斗 20 分鐘前 |
---|
簽到天數: 5628 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
' h& a% `, G( q$ O先進行普通戰鬥% X8 v" y( j% B+ p
還有剩餘艦隊與死星
" {" ~+ S( l: Z9 n% w便會進行毀月. Q( ?1 {( E1 L1 [. ]
foreach ($fleetAttack as $fleetID => $fleetDetail)' t5 y0 ?; P7 l$ z/ l$ @
{
& t0 U7 X8 X! _' ^9 H% T. C7 V, |0 F- f $fleetArray = '';5 S7 K! q- P; w7 o) p0 \5 S' Q; N5 B
$totalCount = 0;* D8 Y. I( a" O( V
3 G" d" q7 k k! _3 N0 l* X
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);
- A: S" \2 K' R# j/ O7 }% w foreach ($fleetDetail['unit'] as $elementID => $amount)
: I0 {7 v& u* d9 Z( L( s7 {* ^ {
* R; C$ p! p5 b" z6 ^3 D( G $fleetArray .= $elementID.','.floattostring($amount).';';2 @) X3 R* o6 s& w* m& S, C
$totalCount += $amount;
' f3 W E& f& C3 O. V' o7 f }. ^2 B; @1 `$ k2 Y, b
1 T% A# L* I/ |/ V# |
if($totalCount == 0)
' q5 q4 x$ Y) J; Q2 U) I1 y/ X {
' E; c: I. k+ a4 L U if($this->_fleet['fleet_id'] == $fleetID)' p$ _: o! ]; e! B- d5 ?5 M1 a
{# i: `; i8 h: B; N& A
$this->KillFleet();
1 t6 n, g% |1 [0 ^3 \- \ }
: K, o, y' |9 z# N# Z else6 n2 X N, g. N3 u5 \/ E# l4 ~
{
3 Y* L4 ~* L! i' ^* B8 ~8 C l8 |& C $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";6 Q9 O' ?. W8 I6 v; e, r
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
5 H. l4 w8 M6 K } }3 F0 b+ A" z* _# P* k0 q. I& |
) w' k7 S5 }- r$ \0 o
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";! e3 X5 F2 B1 p/ w' @; o) n& M
}
! q3 j' E( X7 X8 m7 Y9 l7 x& F" ^ elseif($totalCount > 0)" L$ l0 R5 H4 z+ @/ |5 {
{4 t) b. t/ R0 H
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";5 E: R8 E* h7 J
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
" B: ]/ R4 R! [, K. d }8 G( R L; m9 n' K
else
- X) u8 T! T/ ~8 |5 h( l1 P4 |. W {/ V; Y& A& ]/ o) F0 ?/ y
throw new Exception("Negative Fleet amount ....");& o/ F" Y- ]% S7 c/ X! e
}( p' u. ^4 C, i6 |. q. x4 X, o
}
) t6 k" o; s1 v% m$ Q - R0 d; u0 P3 O( E
foreach ($fleetDefend as $fleetID => $fleetDetail)% C: V5 E1 F' w
{
3 |$ _, ^/ p" D: o if($fleetID != 0)
0 M5 U2 r$ `: C4 \7 B- q {+ @5 |& N( r, A2 l8 [# g
$fleetArray = '';
& D! U4 K% h, t* H2 Y- l $totalCount = 0;: u. P& Y) u6 e q+ ?) f
- L! l8 y, h5 U7 [9 d& A+ h
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);
, z+ l( K2 h* F) X2 s foreach ($fleetDetail['unit'] as $elementID => $amount)& ?0 m' E: {- @
{ ' r) p5 U, ?% [. H' X6 t$ v# v) u
$fleetArray .= $elementID.','.floattostring($amount).';';
2 g) o1 p" U0 A4 j2 i $totalCount += $amount;7 S7 Q4 V. ?# M* f+ I5 J
}
' a/ N. Q! c e+ P$ {
8 A, `0 E3 b9 i$ N: ~$ u. L if($totalCount == 0)6 E; A( J& \0 G" j4 \/ J
{# O+ m. @ s4 U7 o! M* P
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";; \9 G7 I# { n0 @3 o( i7 _/ ?
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";( Z7 C8 M/ _; n% I/ y9 s
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
6 r9 v2 v- d/ I- z+ h, X6 s }
$ x# p# h: L4 p1 i elseif($totalCount > 0)0 m" E* C( ~+ O Z+ D6 M& S! I
{- W& J3 G8 G, A
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
9 M2 D2 ?- V/ i1 u B; | $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";+ S: f$ H0 G- ? W& c: O1 @
}( y- ^9 C) T/ c% n; v+ n0 a
else4 v- `- Y( ]# R8 W" F+ G
{
$ n1 q5 F" J2 ^3 i1 P, @! A throw new Exception("Negative Fleet amount ....");7 R; _' z5 r( |* Y
}
. p( ~% w' k& P; A5 I. x0 d }
0 I. j" Z7 I) i6 E/ T6 ` else
$ p$ B+ y% P- Y {
1 Q& T$ v$ k+ d* W( P/ g3 Q $fleetArray = array();
; v6 i6 @- C/ D- d9 A foreach ($fleetDetail['unit'] as $elementID => $amount)
9 n% L3 ]5 R; Y+ h { - }, I2 x/ q, Z5 f" X8 N8 j
$fleetArray[] = $resource[$elementID]." = ".$amount;
/ V# c4 t0 G$ g; ]8 ?: o }
4 \0 i4 m \: g9 ~0 t
8 K2 w6 T) w" R7 n) ] H9 q if(!empty($fleetArray))
8 J0 `8 l; ]5 `) e {
, U/ U3 M+ x8 p6 \* M9 h2 a [ $sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";
3 F) M2 g- h4 T8 S/ w1 |- N }
, l9 u% _. @9 h' z) I+ I }
$ i2 G/ i1 [& G }( J5 K( k3 e, `& ]# w4 U
' x' p; B- X Y* ~
$GLOBALS['DATABASE']->multi_query($sqlQuery);
$ X0 m5 u/ V2 `8 L) b , Q/ w, D7 d6 N. h5 c
if ($combatResult['won'] == "a")
, ?; t/ n+ }* ]7 C {
. {4 F" I& T+ W8 N# {) V, Y require_once('calculateSteal.php');! z- H1 B; }( q! u: Y
$stealResource = calculateSteal($fleetAttack, $targetPlanet);
$ k4 t* C$ @/ _1 W! y/ ^# A2 ~ } j; _! p6 Z4 S8 P/ O- r% Z
- s2 k$ I$ i+ Q if($this->_fleet['fleet_end_type'] == 3)
3 r- b" u1 F* i, w& z {
B" [2 l2 V6 n/ l! N // Use planet debris, if attack on moons
+ l4 u# r H0 G2 a; [" s7 w' O7 A" S $targetPlanet = array_merge(
4 l" u( M; u/ ]$ h $targetPlanet,( f, b; J* n. A$ ?1 p4 _' A; z
$GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";"). a( I! w9 e; R
);
- x5 b: y7 P) h5 j% @4 r }
1 E# o) O( o( D 7 ~ _( F- j6 K' D% h8 O3 g( I
foreach($debrisRessource as $elementID)
' W; {4 ~- [. k2 q" i" z* x {- a7 u/ h; b2 f" J
$debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID]; n' m2 c, i5 r. J1 O
$planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];
) x k% H5 G4 _: X' q }, Q& m M+ j$ t& x% s
; c5 i* \6 A) z7 c# I& D0 @ $debrisTotal = array_sum($debris);! y2 v8 Z! G+ P! e$ B% [
7 o+ ~6 y' w* i8 O l
$raportInfo = array(
/ z! e3 a. w% e4 N 'thisFleet' => $this->_fleet,
( k: y$ g! V5 _& [/ y 'debris' => $debris,: v4 J6 m8 T' l; B
'stealResource' => $stealResource,! ^% D4 ^& E+ T% g
'moonChance' => null,' r% G9 z) l- P$ n
'moonDestroy' => true,
\9 A9 d8 Q2 w 'moonName' => null,
- d2 L$ d5 n% A2 ]1 a& ]5 B 'moonDestroyChance' => null,
9 ~4 k8 m- g l% j! E: v* H c$ C 'moonDestroySuccess' => null,
: W9 b, u" I! I: z& F 'fleetDestroyChance' => null,+ O5 C0 p+ t t$ Y6 ]
'fleetDestroySuccess' => false,' X; ~( t6 O7 Y7 q+ @
);% k- A& b6 Z; E+ d5 B% q
5 F; z8 g/ Z) S4 N5 d, } $destext = "";
3 S% U; x+ }$ W8 a
- N- ^% n* V" {. y3 ] switch($combatResult['won'])
" S! W, j6 w4 J% x {- B! n: f; v0 G
case "a"://勝利1 d* ?1 y( e$ s# v
$moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);
" F( h. t3 E+ i9 S4 @7 G) ? ' G, q/ a! ^* r( A% |& m2 E
// Max 100% | Min 0%7 a v+ r1 J' J. M
$moonDestroyChance = min($moonDestroyChance, 100);- d) i& g$ v% @, @+ o& z
$moonDestroyChance = max($moonDestroyChance, 0); Q7 G: I5 |( ~4 L L
; D/ n% Q) @! o2 g- B
$randChance = mt_rand(1, 100);
7 `5 |4 Y0 f7 u5 E S- p [if ($randChance <= $moonDestroyChance)
4 y8 I" w5 ^8 A1 \, h# X p//毀月成功 |
|