等級:25 - 爐火純青 經驗值:0 / 246 魔法值:14895 / 14895 生命值:6%
升級
  100%
TA的每日心情 | 奮斗 14 小時前 |
|---|
簽到天數: 5928 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
7 l8 _- `+ K! G& I3 Y
先進行普通戰鬥
' V. v' e1 w3 o0 Z' }$ G) T" U還有剩餘艦隊與死星) j, Z# x6 w5 n% [7 _! ~
便會進行毀月7 }7 Y. R1 e) H. F/ N# @
foreach ($fleetAttack as $fleetID => $fleetDetail) X ]) \+ R. o
{) i& A. |2 ]6 R$ T7 r
$fleetArray = '';
% M! P/ Q9 ?) N& h5 v6 { $totalCount = 0;8 @% L1 K1 f- J0 x, @5 |% S
- A1 `1 D4 N: Y+ F! r; X$ t
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);
" q) k1 O! _; A9 T& R4 }; M$ t& B foreach ($fleetDetail['unit'] as $elementID => $amount)
4 P8 F+ u/ f+ O {
& V5 U7 ^9 s: }7 N! M* C $fleetArray .= $elementID.','.floattostring($amount).';';4 ]! K# h) y, d& M% F" g% I T
$totalCount += $amount;
# j$ x6 n4 ^' v8 O4 q$ w" n, b7 D7 V }& B G' C i) T( s+ r5 p3 M8 g5 L& C
; @% s, E. d. h, A
if($totalCount == 0)2 K$ o: { T; G2 M0 s8 Y
{4 n4 a$ z0 a$ Y' C1 K% N
if($this->_fleet['fleet_id'] == $fleetID); p9 e7 p& x& X( l4 }
{
" s( C. L; `) n& Q$ X* f $this->KillFleet();
! P" Q; a: [" q }
5 A0 `) H' q u else# ]- p S; g# R. x' |
{7 A# C2 p' B8 ], I7 {$ q" p
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";7 c& Q) V6 T5 N [/ D: a
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
8 @; o0 U+ r1 g6 @/ s- @ }- Z. n8 [" [1 N; b: |
4 y1 H( K- I: c% `4 q5 |0 C1 X
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";. ]9 F2 l. t! O+ N
}: s! V/ ]6 b' M6 e3 J
elseif($totalCount > 0)- z! T' ?, `. y' G& x1 Q( T8 H/ p7 Y- L
{$ B: T) `$ d7 h3 M' b6 ]; i
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
; W% D7 T+ L/ O/ h1 q $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";8 H+ G1 V0 _( Q" @; A' c8 i
}) }2 X* H$ H5 W# k
else( ^, ]/ \) ^; m5 g7 o
{' } l; J# L* r; I& ?
throw new Exception("Negative Fleet amount ....");2 \; p, X6 q0 h; z; X. z
}# e- a$ v, J) Z! D- t+ ]# W
}7 ~8 ?1 S) P* k' _+ X3 G: P/ Z
% H6 m1 _% Y$ {9 N+ V
foreach ($fleetDefend as $fleetID => $fleetDetail)
8 ?7 l2 d. s$ K3 C$ u# c {
& r8 |& k/ O* s- X3 ? if($fleetID != 0)3 v+ W8 J0 o% |: L6 k
{
- S! u1 a8 |; E: B) N) F7 [ $fleetArray = '';% V0 B* p1 C* V! b, D6 t, h A
$totalCount = 0;
4 H/ ^1 |& m) U- G) ?9 T* E
9 {% M4 A2 x" q% Y $fleetDetail['unit'] = array_filter($fleetDetail['unit']);
) w/ d; C0 l+ V7 m0 r6 \4 w8 ? foreach ($fleetDetail['unit'] as $elementID => $amount)% \7 N4 _* X; \ T# c
{ : ~' u' T& T" i+ I/ P9 O v) q$ x3 Q
$fleetArray .= $elementID.','.floattostring($amount).';';4 {8 Q+ O' n% [2 Y$ ]3 [- S3 R
$totalCount += $amount;
4 U0 y! A' u) f7 p }
- v" v) g. k) z# I# v5 ?6 E% u
1 {: _ p* M. _0 g. u5 D" e# n if($totalCount == 0)
( k3 h' b, q- d+ J. f' Z, w {
% H! ^1 c8 M( S: _ $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
: y h2 _& A: R" [ C* @ $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
% M2 S! G2 l4 B $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";: d: P- \5 ]- K% I. `
}! P! A2 M# y: V8 e" p+ Y
elseif($totalCount > 0)$ m, Z/ {% D, e5 a j/ t& b
{
% |% z2 H7 ?7 O8 o( S5 z p% F% x $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
) ^2 u' [; j+ A) s1 _( w $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
' s* I$ }7 }8 b1 L( d' e3 d" Q }
+ R: ?8 Y% W1 y else
! m$ ?3 B( Y+ i {& n3 b4 l6 _3 X3 |
throw new Exception("Negative Fleet amount ....");! t! L8 H# k; e% f" n
}
6 C) u( E ]3 q5 o& x }/ y0 Z! k: R% W
else
: N& q: O. J) N0 S6 [ {
% f& Z$ ]$ L! O" X i& K $fleetArray = array();
3 S3 X& x1 G+ R2 w- C foreach ($fleetDetail['unit'] as $elementID => $amount); X8 C) C6 Q( R7 ?* W% R
{ 0 f5 L/ c' Z' [: k
$fleetArray[] = $resource[$elementID]." = ".$amount;( d) u( [0 }; K- c T4 s1 R' A
}
\, ?3 S6 C, n3 q/ n5 f& j ! t( A6 _. G+ ?. p7 y2 i S
if(!empty($fleetArray)) N0 Z8 W& b7 p, {% Y
{
4 Y. s/ _; P8 `# X* j* M" k $sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";/ N# l- I r; r
}, F% I. S4 ]# Y& k6 |5 F. A
}
5 q s% P9 C! [( j0 D" a- c% V }
4 R8 O1 G& c1 g& e8 C# s8 C1 R & M/ j7 o: L: H( q
$GLOBALS['DATABASE']->multi_query($sqlQuery);9 c; C8 W! }- o
2 s# W* x# L7 f, ]0 | if ($combatResult['won'] == "a")
; B8 d' H) S; A; }- D. D5 A {
' G, x2 N4 y5 y- ]' M( C# j+ n require_once('calculateSteal.php');
2 p t& y9 a2 e: R1 |) x- {- P $stealResource = calculateSteal($fleetAttack, $targetPlanet);
R: W# X6 W5 u) T) d4 x: j$ K( r2 s }
s# `* ]8 p. B8 v* b
0 N% t0 W+ t9 V/ p* \ if($this->_fleet['fleet_end_type'] == 3)
$ \, C# j4 W+ h% D- k, h% f4 m7 ^ {
) x1 s! V; C- @ u4 F' g // Use planet debris, if attack on moons3 ~, D1 `8 W' B! J9 n
$targetPlanet = array_merge(
$ b" u% ~3 _+ E $targetPlanet,2 j% `; @- R% d; R( M
$GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")
, t1 H3 {' ]9 U );
% m/ D# c: k1 M _ }, m( P* _$ r2 L. i1 S8 q
, m V9 n( q- Z' U
foreach($debrisRessource as $elementID)
4 V+ j+ P1 o3 {( ?# _) |; [( Y {
. i- K6 N$ E, i5 K6 T3 A1 u" e $debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];/ G1 w1 j6 S$ N2 C9 X
$planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];
6 x$ j: H$ H9 {7 n4 s9 e7 ]! V }
% x. y5 x9 y% ?9 s& K) W : y# s& d9 k2 m) H5 ^" \1 A
$debrisTotal = array_sum($debris);
s8 ?4 t) A' O- i - M/ V5 W+ S" T( {+ b4 E! [
$raportInfo = array($ T8 s+ b" l+ X" A. `2 F
'thisFleet' => $this->_fleet,( {, f. o3 K D, H% l) N
'debris' => $debris,. j2 r8 j! u B6 Y: l
'stealResource' => $stealResource,
6 O; }1 E( m, N' { H( G% j 'moonChance' => null,
! B% X7 y/ e: L3 U! k0 @% h( c 'moonDestroy' => true," |& H' |" P* y/ H$ s7 _! S! ~
'moonName' => null,$ o3 I7 O1 L" C0 d
'moonDestroyChance' => null,
+ |0 l+ _' m, c" Z" e% T 'moonDestroySuccess' => null,
' t6 A4 v. B; H9 T& i 'fleetDestroyChance' => null,8 P9 I* E3 u/ V* a9 ]2 O: J
'fleetDestroySuccess' => false,
0 v( R/ W! s# l );
% }2 W+ q& f+ x! P' y1 z& e5 i, W& v2 g- T
$destext = "";
5 P; E- I! F: V2 Z5 R2 f2 ^4 ^ ) w1 `) K1 E* f; u O
switch($combatResult['won']); v* r' w5 P/ U9 _
{
( K0 G G k4 }/ x* @ e: R* V+ M case "a"://勝利
$ B1 h5 e- f; v1 W- a* o $moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);" E( S* H0 R0 ?) X
5 N: V, G$ {" _" S1 ^ // Max 100% | Min 0%
' z8 p+ C! U- L/ ~6 Z $moonDestroyChance = min($moonDestroyChance, 100);
% v; ^+ U9 z3 g% @ $moonDestroyChance = max($moonDestroyChance, 0);; t. i/ H6 F6 E- K- ^
0 b( M# \$ [5 }, _6 ]8 k6 e9 t+ @# K3 } $randChance = mt_rand(1, 100);, U# u% Q$ G3 E" u9 \
if ($randChance <= $moonDestroyChance); x, D& ]+ E( Y1 p7 S- \ m
//毀月成功 |
|