等級:25 - 爐火純青 經驗值:0 / 246 魔法值:15211 / 15211 生命值:6%
升級
  100%
TA的每日心情 | 奮斗 5 小時前 |
|---|
簽到天數: 6045 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
$ }+ b1 X/ T8 p4 Y$ E9 g先進行普通戰鬥( |9 w9 E9 p! ^: t. O
還有剩餘艦隊與死星
0 K3 A% c1 W: l! ~9 s* F* R便會進行毀月9 O* L" V* X" }
foreach ($fleetAttack as $fleetID => $fleetDetail). i: G! I y/ R: _6 y
{
8 h0 g: C1 H" }( n4 E- V $fleetArray = '';
7 ?4 e: V1 [3 w! e" q# } $totalCount = 0;
# C: A- `4 s+ J) v3 M( t% f! V' D + {& w5 I8 u6 D/ f) u
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);; \ ~. R9 `6 d( R2 X( j
foreach ($fleetDetail['unit'] as $elementID => $amount)# r* ?1 a! b* K5 d$ Z' n) B
{ , ?3 ^- U# }+ W4 L: Z D: h
$fleetArray .= $elementID.','.floattostring($amount).';';
2 o& O a0 \& x. m9 t/ K $totalCount += $amount;, Y! M4 q& V4 Q
}6 k @- ]1 ]: N; x+ l# A
: S ^) G/ \( i
if($totalCount == 0)
l( K( r9 Z$ m: j4 {" Q& M {9 U: J, l3 B* D
if($this->_fleet['fleet_id'] == $fleetID)5 T/ v8 ^; d2 a+ W' j/ y( ?
{; B/ y* {- r+ Y2 W2 x0 H& v4 Q
$this->KillFleet();6 o9 ^( r$ N9 ~9 W
}$ r( J& u" O( Z' H7 t
else& {. Q" t1 B! p, \
{% h9 H4 ~' m" F4 r: U' d
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
, i+ z9 \- i4 ?* P; r* V! @ $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
o6 S5 y( N5 [6 A$ L+ n# P9 h5 d }- d: a0 T- G$ `8 [, ~7 X
7 o: i1 A9 l8 A8 k
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";8 `! e+ t2 J9 R, c* u( q# @7 f T8 a
}$ u$ Q8 F* ?6 Y7 x' a/ Y" `
elseif($totalCount > 0)' {$ @$ ?) Z; E4 k$ R
{1 x" h+ x; N' h: l
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";3 W/ K% `9 V* n( `, ?
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
2 h7 I; [2 j% |: {4 ~7 v }
1 ?# [" N3 [! n8 W+ U3 _) j else
9 ^# Y% J/ ?# K+ [6 ]5 t8 c {5 O" Y0 O. E& {) b2 o0 W- U& `
throw new Exception("Negative Fleet amount ....");
0 Y% q9 ^* o5 [, x; f }
$ D( ^* p2 `$ f5 T% V }& y/ P) ~/ h$ T9 d$ `! h
: k3 p, W3 Y1 C! b( R7 ?% ]4 v
foreach ($fleetDefend as $fleetID => $fleetDetail)
0 B% ^! e# s. |+ c { K( ~* g( Q' r) E
if($fleetID != 0)5 q' n' H- ^) F# S; Z r
{
4 z# x: R" S3 j) ^0 A; s $fleetArray = '';
& C5 X" J3 \2 ^3 i $totalCount = 0;
. |) | u: b; o. z( a: B
+ |9 c2 r: ]3 \# c6 }, ~ $fleetDetail['unit'] = array_filter($fleetDetail['unit']);8 Z* | R* t1 q7 P5 K
foreach ($fleetDetail['unit'] as $elementID => $amount)
9 k( Z b& i. [# V( r { 2 G7 ~: [$ ?% f0 c# R
$fleetArray .= $elementID.','.floattostring($amount).';';; N. E4 W7 Y+ N, i
$totalCount += $amount;
d8 S' |/ M! L7 P% b5 l1 w( B }
( L. B6 g; Y% i' C( E, ~, u J
" B/ y& i9 Z7 h" G! F if($totalCount == 0)
6 b8 ~% [: B; D- A; E8 c/ p {9 ~3 y1 c; M/ S, c; K( H% v
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";! b m; x+ T0 P) X/ ?
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";; O* I" Q5 W' ]9 m! v9 T( O* S' e
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";3 i+ K! U3 S3 Z, b
}
L6 o/ V; i. b9 H8 Q* K elseif($totalCount > 0)
) Z4 c: s. l" {1 V$ b {
1 k L8 N. }& D6 V- ^8 n1 H; Z $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";' g$ X- n: h, u. e0 s% j- F
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
( R1 Q/ P2 F( U) P }, U" G3 X6 y6 ` ~
else
; d; M6 i; [+ r1 R. w: g# X' X {
7 N S7 i) H0 b& a* F( I throw new Exception("Negative Fleet amount ....");
9 h+ ^, U0 V- L: V1 c) F- r* x }
3 _7 e' T* d# h5 p& U }
& z5 w* `% |3 H9 {4 d% x else
# @* c% R* ~/ n9 r: D {4 F+ x) k. T0 v4 W1 |0 x* b
$fleetArray = array();6 U' g2 E; o9 r k, W
foreach ($fleetDetail['unit'] as $elementID => $amount)
3 g- ?1 r; H& m0 o, n { " ^1 U- m" k# m2 W( C
$fleetArray[] = $resource[$elementID]." = ".$amount;# }) ~) E8 N) I1 l
}
0 Y A; R5 X2 o7 |+ V$ r F8 C ' G0 T A* E# T. {: c! c* [
if(!empty($fleetArray))) v, I2 k- w( O1 y
{
/ N( R) ?# w3 Q $sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";6 M5 G* j- G0 H1 N9 E3 Y8 D
}
( P0 ?$ J# I/ i u }! a/ P" I b4 ~/ l+ G0 G: |' I" g
}, U# ^; Z8 Z9 Q4 D5 L7 q# @) b- u
7 `: n1 f1 B' @+ j g $GLOBALS['DATABASE']->multi_query($sqlQuery);
; b5 [, w- W9 \4 M: t # J& }8 b, T6 g6 {
if ($combatResult['won'] == "a")
5 @- e2 _1 o' s+ x+ }% W. {/ a {
3 V9 U. Z- V% \/ P8 C- w* e# o$ S require_once('calculateSteal.php');
% e$ M7 k8 k0 |' t $stealResource = calculateSteal($fleetAttack, $targetPlanet);3 J: u5 F( \. O1 J- Z! Y/ F
}
- U0 P; l) M) m# s/ h8 _
: Q7 i# G* `3 b9 | if($this->_fleet['fleet_end_type'] == 3)9 P0 R0 @4 Q9 o E2 q- F* D0 P
{# P+ J8 v2 J* v, l1 U1 z) a
// Use planet debris, if attack on moons
7 _5 I+ ?1 q* K* ` $targetPlanet = array_merge(
% M1 b, G+ ~( q& E( T* A0 B $targetPlanet,
G: p: n1 V; i( T3 H) h8 i $GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")$ C0 s; h! } I" f0 V
);
' F9 Q |3 x/ K: f+ u. @ }, N d; P% c0 T$ C- U8 u% [
% H3 X* B7 ?3 m3 f
foreach($debrisRessource as $elementID)5 l# R$ _% [' c
{
: t# s! e- o3 z M% Z6 D8 y $debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];# \) u1 `+ M0 L2 E: H* Y1 i
$planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];! P; L; W7 B, R! k3 e9 x3 M
}
$ d* Y, g0 j( A6 W
4 Z' L0 T. N. s6 p+ V5 ` $debrisTotal = array_sum($debris);$ c* Y/ a" O% ?( `8 B
7 A0 z& C" ^, N; Q d; z
$raportInfo = array(+ U0 f( w5 `) w" S) W7 a- P1 C2 G
'thisFleet' => $this->_fleet,
/ y# l% M# P P* N 'debris' => $debris,, W; j( E5 F! ?
'stealResource' => $stealResource,& p9 P8 i: j$ a1 q
'moonChance' => null,
* z5 `& Q* K( U b5 [4 B0 W8 q5 @ 'moonDestroy' => true,' K( O: F. m1 x
'moonName' => null,% ]7 G5 d9 O2 u
'moonDestroyChance' => null,) \ L4 _+ l+ T! l# C
'moonDestroySuccess' => null,* v- ?6 z" g, o5 i k a4 ?
'fleetDestroyChance' => null,
! Z$ h& k m+ ~& B% S; I 'fleetDestroySuccess' => false,; r* r' _( ~' f0 n" d' K. F4 z
);& m3 G. f8 {9 q- R0 @: t
/ L% x6 F6 A) q f( p $destext = "";
" d5 F; k4 R& v1 Z
6 W2 b, j6 V! v+ V7 w$ k( g& u! s switch($combatResult['won'])
: b3 X; G: n4 Z {! O- i1 u, Q g5 k4 H( c; D: e3 {
case "a"://勝利) U7 I1 G- t7 \, h
$moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);
0 R, t9 }- q# h$ H1 c4 ~- H 4 F o: W3 l7 c$ v
// Max 100% | Min 0%
; E6 h$ M" w- }$ S1 U( |! h# r8 D4 p $moonDestroyChance = min($moonDestroyChance, 100);
7 ?! _: X, A" V* O $moonDestroyChance = max($moonDestroyChance, 0);7 y' P3 _! F4 x. B D* D
2 Q- y. L7 T4 n- u) @/ d4 e
$randChance = mt_rand(1, 100);
g' Q- e7 | }* Q0 F& o8 X( C! i$ eif ($randChance <= $moonDestroyChance)' G }, ^6 p. _! A
//毀月成功 |
|