等級:25 - 爐火純青 經驗值:0 / 246 魔法值:14748 / 14748 生命值:6%
升級
  100%
TA的每日心情 | 奮斗 12 小時前 |
|---|
簽到天數: 5881 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
$ c& T6 j. D3 T+ b) L/ i' J
先進行普通戰鬥% `6 `1 e; E2 E8 \8 J' W) |
還有剩餘艦隊與死星
) U ^! j" A: b" W1 }便會進行毀月
9 W3 H* A# R" L: Q$ Y' x/ m! yforeach ($fleetAttack as $fleetID => $fleetDetail). H9 K, Q; S; F. d' M* T
{) M1 j6 C! `" [2 ^6 N6 ~
$fleetArray = '';0 Z. V1 u8 _7 {; w, u
$totalCount = 0;
* a7 g, ^) B2 w+ D+ m- l + `; C1 K) }* ~' t# P) h. I y) i
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);
& [. @0 E' x7 J/ \1 c+ Q foreach ($fleetDetail['unit'] as $elementID => $amount)
0 t7 B. m5 f6 [9 { @9 X9 k6 s { 8 D4 d5 D- R! ]9 X: O6 {
$fleetArray .= $elementID.','.floattostring($amount).';';6 R+ P8 Z- w f
$totalCount += $amount;
. I& H0 |) r1 T5 R6 U! Y }
- w8 |4 S( V: H9 _; c 0 I. I E9 N9 _6 U
if($totalCount == 0); Q; G' A- J: l- @' M1 n
{
2 o0 }7 {* {" s }1 V9 X% n if($this->_fleet['fleet_id'] == $fleetID)
$ U0 ^/ i: J U4 x {
' J# h5 y; Q: ~$ P $this->KillFleet();
0 S' h4 t' W) }, j0 b, U" j) s }9 t3 L6 ? b8 y# S. u% y
else/ M, u4 k5 r, i9 U z/ U
{
. J( `/ B/ O) X8 X2 j7 i& Q& F $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
) K& s) m c' X2 _0 G! _ $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";8 I: o; J3 f5 {; j7 r
}
. ^+ @, ^( E9 R8 d o- U& n# d6 @
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
5 Z( ~6 q2 I# t; d# a }
% S& z0 G0 i% \+ }# ] elseif($totalCount > 0)
% ?( M- t$ Y" o1 J$ \( A {
# W+ s, ~" Y' D! M4 R $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";/ [8 w3 y, I2 {6 \* U% n
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
, @ o1 h; q$ a& ~9 }3 S& ~2 }" T! Q }
9 O, ~* u& Y$ ~7 e; a" J; P4 d else, l: k2 S2 h0 {: K$ f3 J4 Q
{3 n D5 y' C+ }2 U' U& ]
throw new Exception("Negative Fleet amount ....");
1 v0 D* \4 _" d: Q' J# W }
" }0 X f0 r9 ^4 A }
3 q( ?0 Q$ W! L4 I
1 u3 k. p! W/ S2 u* w; L foreach ($fleetDefend as $fleetID => $fleetDetail)5 u& ^0 T& m( Z; R) u K
{
, O" g$ o, u g' k: Q Y# A4 |( i, n if($fleetID != 0)
, m, [' m! v' ?$ ?/ \ i {
2 ?4 X1 q' N, {8 \( x $fleetArray = '';
# d; O) v4 |2 f+ D }5 z5 ?( d# e $totalCount = 0;0 b3 O6 r; [8 X1 p7 K3 Q9 _
0 m9 W1 p: g1 O $fleetDetail['unit'] = array_filter($fleetDetail['unit']);" Y+ k. U9 |4 g
foreach ($fleetDetail['unit'] as $elementID => $amount)3 \# B) g! r! w* X5 o! |
{ 5 k1 |$ f. g z' r
$fleetArray .= $elementID.','.floattostring($amount).';';
, o, M' N5 x( C- U1 ^ $totalCount += $amount;6 b$ k+ V. C& b- M; f
}# G2 k- a0 }) x! o
2 L8 x( c7 J! b* i if($totalCount == 0)
. P# g3 D# m. j: {1 | {# L- W0 y! {- A4 n7 A( T* C
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
/ h0 ]6 s+ V4 x: s; Q" s/ h8 u, @ $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";' x9 I6 s: r% Q+ N- j
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";% a3 ?: i* s3 P" L" K
}/ ]% W' F! J0 \( u
elseif($totalCount > 0)! F D( A- y" ^# f8 a9 I
{0 J3 s4 \6 s2 v, S* E
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";. P5 b' U0 s F
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
/ ]/ h; u! S; u( [! D9 R }
/ i$ Y- q' x! y2 _ else
2 r; K/ l3 T5 X" Z/ B6 J {
! R/ R& x: _' g$ ]1 [ throw new Exception("Negative Fleet amount ....");, n5 n+ {/ J9 D. } r$ _3 K# t
}1 P+ }1 B$ G( E% I m6 O4 k2 _1 L @0 A
}
2 D ^* e8 w; C) J' X else9 F5 l9 t" j; M( D5 y- k
{
! l U" c+ O! ^. f! y/ U $fleetArray = array();
1 P& _$ G9 R- P2 Y! f foreach ($fleetDetail['unit'] as $elementID => $amount)
* S7 F: l9 ^# i/ P' I. l% t: o {
2 g$ M; c" u k, M- W $fleetArray[] = $resource[$elementID]." = ".$amount;* L1 O0 C8 Z# ^
}
* w, }/ y f1 b4 e6 G
W, F M! ]1 S6 G6 u) Y- m7 _* s9 B if(!empty($fleetArray))2 t8 \# g% A* i! C- C
{3 S3 E% W$ ~9 Y' N" G% D
$sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";
7 W, Z; I0 {& `' K! ^! A }1 c' V4 h0 q8 w ], B
}
$ e4 H$ x7 o' I4 T: }, i. d }1 S, ?: j. ], f- M/ G7 N' a+ E9 Y
6 M+ u6 p/ p0 l/ E
$GLOBALS['DATABASE']->multi_query($sqlQuery);1 N) T H& q. p& i, y5 h& r" V
8 Q) Z3 A( g: ^& h0 M
if ($combatResult['won'] == "a")
' f& H" H& E0 J. Y5 E* Y, W {! M3 _; O* |6 k6 V% {/ g& m9 q0 m6 ^
require_once('calculateSteal.php');
' G1 r* h! O6 D9 J% ^3 H7 r $stealResource = calculateSteal($fleetAttack, $targetPlanet);
! b+ X0 j9 z% b3 {8 A3 L$ T. Z }! T- V" v$ _, {7 g; B
2 }& O- O4 D7 b* E
if($this->_fleet['fleet_end_type'] == 3)6 y4 f+ F3 C$ u4 S+ y2 N
{
: J9 j8 G1 A- I' W) ~: k6 t3 |& t: E // Use planet debris, if attack on moons
5 L4 a' {( r' u5 ]5 |1 B $targetPlanet = array_merge(
. |- ^; G4 _% k! R $targetPlanet,% \& p9 I/ ~' v6 w' E
$GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")
' F8 d5 \/ g4 c$ @- i );
1 k. c# g6 p8 K; Y7 ~5 E i8 K }7 @$ b( @0 W r1 O3 ~
0 `7 c. S% ?6 M r' U foreach($debrisRessource as $elementID)
% ^6 B! B& U4 j1 J& a' ~) R {
y. c2 ?, s( B) A $debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];7 n8 }4 Z X3 x/ r% U
$planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];7 I2 z- W; E* ~0 w! a
}/ K; o4 n" X2 O8 v
# C. u5 f: K; e
$debrisTotal = array_sum($debris);$ i! }0 D2 a3 v% t
. D8 M# _; {9 j1 S
$raportInfo = array(
8 c( b! u$ F. M5 `0 D 'thisFleet' => $this->_fleet,
0 b2 E' Q: t9 o1 l$ E1 Z# B% D! U' h 'debris' => $debris,
4 }8 ~# \ I0 E1 [ 'stealResource' => $stealResource,, l, z$ R; i: `& I
'moonChance' => null," J7 @7 M E- ~9 W
'moonDestroy' => true,! p% \6 R- i* D6 [ ?% I( a0 u
'moonName' => null,
6 r3 T1 e% f/ ~0 `4 r 'moonDestroyChance' => null,
6 N! f( v2 @4 L( R+ ]3 _$ A$ b( o 'moonDestroySuccess' => null,
- t% x3 {& z; v5 X 'fleetDestroyChance' => null,) @# t& H" p. C: Y% O$ g; q: p; m. U
'fleetDestroySuccess' => false,
# g. n. K/ l# H! _- | );4 c; X6 u% X$ K
1 k! Y) V2 C. s
$destext = "";& I' ?7 e5 m9 n) a
0 c) K) O4 B/ @5 E switch($combatResult['won'])9 B z- O D5 b, i- G
{
1 G. ~ s$ c; `. b5 w/ R case "a"://勝利8 u. E: m# r# f) q! D
$moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);
$ B: }' _/ n5 N0 u& c. t7 z8 ]8 S
' K+ Z6 V: [7 O+ t3 O // Max 100% | Min 0%" e# m; t ?& L/ [7 X* J/ B. U
$moonDestroyChance = min($moonDestroyChance, 100);
- D$ y, j4 z B T, l2 {& G- C $moonDestroyChance = max($moonDestroyChance, 0);2 m, @! }" j6 U* {) l
. [: _: y, M# k
$randChance = mt_rand(1, 100);, z* ^% l5 l% Z& A' q
if ($randChance <= $moonDestroyChance)
" f% W5 u" }2 e1 D1 y- ]//毀月成功 |
|