等級:25 - 爐火純青 經驗值:0 / 245 魔法值:14184 / 14184 生命值:5%
升級
  100%
TA的每日心情 | 慵懶 17 小時前 |
---|
簽到天數: 5711 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
( y, [ _% D2 e( N0 m% ^5 t先進行普通戰鬥
" n4 Y! {) r5 U8 ]( V- G" n還有剩餘艦隊與死星
4 D6 `, o2 Z5 J- o* @# i$ E便會進行毀月, [& c0 w) Z1 p$ o; z6 r
foreach ($fleetAttack as $fleetID => $fleetDetail)
/ O3 d- N$ l/ U9 |, s' u {% z$ [! c- C" q7 x# A
$fleetArray = '';. s( t- h4 H4 D. C8 G+ }. J
$totalCount = 0;
& p. V, I3 X) d0 I* n3 U
+ N; c7 b* ]: Q F) t $fleetDetail['unit'] = array_filter($fleetDetail['unit']);7 ]5 P; a# S7 E
foreach ($fleetDetail['unit'] as $elementID => $amount)% D6 Y1 h2 ]2 R- `* N" R5 Y
{
8 x u5 Q ]" l6 }9 h0 n2 D $fleetArray .= $elementID.','.floattostring($amount).';';8 {4 { `; O0 }, B5 R. S0 l( K! a
$totalCount += $amount;
( u1 |1 S, @1 e0 G* ]' d* c4 C. ]& I* K* n }
& }9 h' B$ W! z: o( U, Q
& k0 M2 K8 l8 u9 M, Y if($totalCount == 0)
* A5 q2 L! z: O6 q% N/ n7 g& D {
% Z9 _ R7 |9 U! v4 {( l6 u if($this->_fleet['fleet_id'] == $fleetID)
4 e1 W# n* ^( N$ v J1 ], ]# ^8 S m' n {# X/ r9 d0 C# y4 c) R
$this->KillFleet();+ T) F4 p, ~* M5 U1 T& n! L
}
5 a* \- O! ^6 u- k" C! ~ else
+ q$ q( _, `; G {$ s4 R0 |0 ^6 F* r" {+ b0 p
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
: @6 b& b" H, f0 A* ?1 c8 J. v' U+ C5 r $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
' w1 h: c) S/ J: X: r2 `- u } m! o! G! H. B# J: h, p. C
w+ y- k( M/ O: p! r4 B& D6 `' Q
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";/ M4 C; h. F4 z
}& r) F s9 t/ [$ g9 {
elseif($totalCount > 0)
+ ]8 a3 T2 f4 m) X! _7 S {
; Y2 I. l) i. \ $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
4 v" q7 {3 s8 N! \ $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
% ?5 K/ J( w/ `4 P+ Y4 n% h }# J8 k7 S# l- ]7 G
else
. y3 L& Y( O' R {% ]& j: V. b1 B g3 t: X. z: S+ Q
throw new Exception("Negative Fleet amount ....");# _9 q: @; P. a0 ?
}: Z+ I5 f3 M/ `0 t
}2 s6 k E E# I7 }, y
' u- C# Y5 `; J4 ^ foreach ($fleetDefend as $fleetID => $fleetDetail)4 Z5 U9 C/ w& |& |$ c, J
{
. G6 T$ U9 W; c if($fleetID != 0)3 V. K1 g0 f2 j0 z0 W9 P& |
{
# c C% ^. ~2 E. n $fleetArray = '';
: ~1 Q) O, j x+ g p/ i7 L! W $totalCount = 0;0 a/ O( B6 P7 |# e* Z6 D
1 d _ n5 C/ U% f0 D3 L $fleetDetail['unit'] = array_filter($fleetDetail['unit']);
2 t: M" z- q$ L! t foreach ($fleetDetail['unit'] as $elementID => $amount)# G& x! V/ Z; b1 Y9 ` X
{ % e2 x* B* d- _+ M! H2 W
$fleetArray .= $elementID.','.floattostring($amount).';';
! Z3 @5 u0 Q) |1 P: ~ $totalCount += $amount;
1 ]" l! Q A6 a" n* L7 A }' Q+ e. \5 \; T7 x
/ o1 G) n! H" c0 [
if($totalCount == 0), Y1 A% w; f4 n' ^" h0 k O6 E" B& n
{
" w) d/ m$ i0 E7 ?5 `( P9 f- | $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
3 P0 T+ x, t$ g* z; b& @5 S) W2 O $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
g" ]# H9 {9 P) F1 D $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
% T s0 G5 O4 c; S6 L }
|& o& Z( W6 T2 B) { elseif($totalCount > 0): {: s4 t: I2 d3 P
{; `$ U& Y' @7 S
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
8 H0 V! c- p* `3 V/ K $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";2 u# n8 H- K" O$ h2 N
}' B) @5 I0 e* d' H% `
else/ A6 o; G R( }+ F
{
# f) G: i$ q. S! g" o throw new Exception("Negative Fleet amount ....");4 z+ J: M& p0 ?' P( F! r2 M
}( }$ i7 x. h# g( o0 B! S
}
% r# `4 q! D9 S' a2 } else
5 s1 D& v* z* O+ V {' `6 G+ i) t @- R# o
$fleetArray = array();
+ y+ `9 F, z1 c$ V+ `& M foreach ($fleetDetail['unit'] as $elementID => $amount)
% Y0 ^; y* {, K {
$ B* v- d9 H$ L/ N2 |" l $fleetArray[] = $resource[$elementID]." = ".$amount;
1 J) s t, {. i7 b }" y$ w! Y4 t% } h
7 A* g* A y& S9 o8 k" l
if(!empty($fleetArray))
* |' D2 o3 `0 N7 Z% o8 l {4 W+ ^1 W4 U S9 u3 w: H
$sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";! ~( F& S# E; S y$ ?& Y
}
" o5 S' E1 V9 v }
8 I4 A5 o# c/ n6 d- `6 h* u f }5 I! p/ N5 L7 F* e$ S# Y) T0 L
0 I2 W% \3 W2 N% N
$GLOBALS['DATABASE']->multi_query($sqlQuery);) b; G' p9 B& ?+ l9 K( c
n ]* H) x# r7 D5 b: s* T
if ($combatResult['won'] == "a"), K. z& b/ U9 ~; \. s) B( s
{6 S4 a3 o, U, w- B: Z, a
require_once('calculateSteal.php');
4 E9 @6 f& d% z8 X3 e2 e $stealResource = calculateSteal($fleetAttack, $targetPlanet);0 o/ f9 d* O: m- x3 z
}% j( _; c5 v) A- G5 m: J, [
" ?8 Q" v+ c% [, C4 t3 g
if($this->_fleet['fleet_end_type'] == 3)
9 i i: _' }1 \: d1 x) I! {/ E( S& D {
6 ?4 j8 ?: Z3 S( q. g // Use planet debris, if attack on moons) N- y8 [& u5 `+ M' f: w
$targetPlanet = array_merge(; q* W6 ~) q& r1 V
$targetPlanet,
( a5 O1 c* c# |5 A $GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")6 V# v8 d7 T; T
);
: L5 ~6 y s; a- E: m1 V l }
- Z+ A B% u4 g: L
8 y0 G; D) m6 ~. W7 H2 O" g" M foreach($debrisRessource as $elementID)% k6 n9 ?% u$ C$ J
{' h( }6 g+ E* i4 T1 m6 D
$debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];
- K+ ~! y( x7 }3 h; R( q $planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];! f8 x: Y* f }( Z4 E& ^
}1 K/ G5 i+ Y+ W2 k
& P/ M B, e) q4 K( c9 I
$debrisTotal = array_sum($debris);
- |9 P# S" K# y& J8 o& |0 z \! W; b0 a( ~4 b0 R: X" t
$raportInfo = array(
$ `; k1 `" E# O$ l. Z8 e l 'thisFleet' => $this->_fleet,* ~) Z) }7 y- `$ [1 e& f
'debris' => $debris,+ }. Z: Q% ` u) J
'stealResource' => $stealResource,: R; @+ f8 [$ x# |, t0 U
'moonChance' => null,
. V( z% M" Z# R8 F% E- }9 P3 i5 [ 'moonDestroy' => true, R8 P" @0 M8 ~8 ~
'moonName' => null,( Q3 W! H% X4 R; R N8 k4 o" c
'moonDestroyChance' => null,
$ w" T% S1 z- s1 k 'moonDestroySuccess' => null,* y8 _8 O+ K' c# J& X
'fleetDestroyChance' => null,
' H& [: S7 [' t& S 'fleetDestroySuccess' => false,
, {) Z' a0 p& s, i2 F: t );( [7 W z8 p+ e# N& n5 V4 G$ W8 C8 I
# i% }' O- c! d* o2 g% K
$destext = "";
% F; F6 d4 Z& p8 |# r 3 u: S& D v( r4 I
switch($combatResult['won'])7 F; r) d- h2 V+ b' X+ u/ w, q
{
" }& f- R! G; f( h, L: T case "a"://勝利
8 k7 r2 O. P% Y. k3 t' @ $moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);- D0 i3 t8 Q, T- _
. T. j2 s1 `2 H# @ // Max 100% | Min 0%/ k( q! s+ y( i% x2 Z# g
$moonDestroyChance = min($moonDestroyChance, 100);
4 \: [" Y; `' v7 @. W1 V0 C $moonDestroyChance = max($moonDestroyChance, 0);7 H/ a( v* K1 F; o& E+ F& a. }
2 ^; u; J, }: ^9 `& C# _" z7 q $randChance = mt_rand(1, 100);
) m2 s. b! _. g0 \" C V; Cif ($randChance <= $moonDestroyChance)
! h& L4 s; _# D* D( F5 A4 ^ g//毀月成功 |
|