|
等級:25 - 爐火純青 經驗值:0 / 246 魔法值:14443 / 14443 生命值:6%
升級
  100%
TA的每日心情 | 奮斗 10 小時前 |
|---|
簽到天數: 5806 天 [LV.Master]伴壇終老
|
% f: `" A' S1 C- S# d先進行普通戰鬥4 }0 f* N7 c' X' p8 B* }
還有剩餘艦隊與死星
* Z' [& P1 O$ H/ @6 [) K. J便會進行毀月5 f4 e( `6 d A2 E
foreach ($fleetAttack as $fleetID => $fleetDetail): ?) y" I9 ^9 y5 v, c N
{
! }9 c" Y) J$ R $fleetArray = '';& C2 @; o P) ]7 K; z# n
$totalCount = 0;1 Y( u3 B9 N& z2 n. f6 F
; ?# \) f9 A3 K c3 }
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);" o6 Q/ [1 {' S& n
foreach ($fleetDetail['unit'] as $elementID => $amount)
9 a# I, A; {: H4 z/ z" k* r {
6 Z# h% |7 R" y. x $fleetArray .= $elementID.','.floattostring($amount).';';
. R( F. s! w; T+ [; r- J $totalCount += $amount;
5 l1 y; \+ B% _+ Q }/ F" [5 o2 i7 w2 x2 t0 J
9 V6 B. B3 R4 r6 V$ I/ t
if($totalCount == 0)
% g+ k2 G5 n: V, |) ~6 M: g" n9 @- a {6 {) S, E I# J9 E, g
if($this->_fleet['fleet_id'] == $fleetID)3 C# X! J! K. Q( ?, ~5 I
{- h# _$ q) h# C
$this->KillFleet();% H2 u6 a/ [9 L
}
E o9 {/ f. {: L0 J0 X9 I else
8 A H7 O( k4 X& [& a4 m {! b4 \! v; B# h ^0 G
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";: b3 s W0 B/ `0 \0 E
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
" n. Q" o* e) h# G+ F4 `8 P }! n* Q: b; g" }( X: t) F
- p( Y1 ]0 p2 |* M! v $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
; @+ v5 d2 \8 d( ~) n% X }
) l9 q" o0 Z- E! |/ U) g elseif($totalCount > 0)
$ _5 l# ?" S* s5 H) a) E. ]0 R0 i {
) B2 }# C4 N6 I4 z $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";8 J1 X2 h, d2 m
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";9 Z. [) M! m) u4 }# H# C
}
/ x, Z5 p) y0 \% w; P else. w3 f2 F* W2 R/ _4 W
{* s" f: M; Z1 b2 B; n2 x1 ^
throw new Exception("Negative Fleet amount ....");
0 l7 \; I5 V# | }- v$ ^$ d' M8 g' `- n
}- u' c7 R! w* i0 S/ {( D
; V+ B+ r. q0 w9 d8 V
foreach ($fleetDefend as $fleetID => $fleetDetail)5 k7 h% F% l s& d! j1 v2 w2 D
{
; U6 |( |4 J6 r if($fleetID != 0)
" _+ F$ f2 v) g0 a( n {
3 p4 @! b' ^) w( o $fleetArray = '';- q p! K8 {) s! m% n
$totalCount = 0;5 e3 H1 \4 X2 |8 I f
; G9 n+ }1 u- h. L; T# |% j1 ~ $fleetDetail['unit'] = array_filter($fleetDetail['unit']);
+ A' a) x8 f F, I8 d( {2 Z% ~ foreach ($fleetDetail['unit'] as $elementID => $amount)* I. |, z+ p" N |
{ 6 K/ o* ]2 e7 o7 Q2 ?$ K3 _, Z3 J/ L
$fleetArray .= $elementID.','.floattostring($amount).';';
7 N6 h6 Z1 [ n! Z( F2 d $totalCount += $amount;
! x; X* D( i/ F8 h3 A }
9 A4 x" ^6 `5 A' w4 T
B5 ]+ ^- _# h if($totalCount == 0)1 @- G v8 A; E! v4 G
{
# c3 K( m1 n$ Q, j* N3 @ \9 ` $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
* n3 E* b3 y3 V $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
# b! S* j. |! H/ T# G( A $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";: Y2 ]5 ^: K: B2 e+ V9 {8 p4 y
} Z9 m3 o! `* ^
elseif($totalCount > 0)
/ P" Z& y, R- H; {3 V1 T {2 w6 i7 I$ J6 F0 V' n3 l, v
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
, {7 `+ S( P X $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
7 M1 F _# [ i8 w: _3 i }
& f" B% D# l' r- U else1 O- } |0 }1 S5 q$ M- U4 N+ [4 }
{' P; W+ e: B, y7 v: P# W) F' M
throw new Exception("Negative Fleet amount ....");& C% _) `/ e5 M: G4 j
}
6 `- N+ V9 Z( l5 G# j6 T8 B }; M& l: }1 W. ^
else
$ u3 q' F+ j8 ?, } h# d+ S4 i% u% d6 x- R {9 x6 V4 W) f# s+ d
$fleetArray = array();* E+ W+ N- L" [6 I
foreach ($fleetDetail['unit'] as $elementID => $amount)
7 G. j9 R+ Y* X! ?* C7 T { 8 t7 Q6 F- X% P9 h
$fleetArray[] = $resource[$elementID]." = ".$amount;
* d' M8 ? u. ?# v( p }* z$ r y8 r* p* U! p. t+ E8 b0 @4 L
1 e3 a: T Y% J
if(!empty($fleetArray))- V4 U) T- u. V
{
, `3 X0 U) h0 M6 p $sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";
1 S* E9 T7 k& X3 _/ K- S: o0 X' V }
?! w" W6 Q" ]/ F% t# _ }
3 v- w1 \6 ~ q }
6 C! j; v _& A7 l i1 A {- b$ ? 3 o3 q7 @- @# F6 r2 I% i F/ h2 u
$GLOBALS['DATABASE']->multi_query($sqlQuery);
3 w% ?1 ]- E( _+ j$ i 3 I7 x6 [. a8 _7 r8 d+ Q9 [) h
if ($combatResult['won'] == "a")5 y! i7 V3 u! n
{
% i3 B/ D( J E; ?7 i% _ A X require_once('calculateSteal.php');
( e) Q6 `: B0 | $stealResource = calculateSteal($fleetAttack, $targetPlanet);
* @# n- V t, X* g. V0 C+ h8 y }8 E' k- Z G1 `+ E/ G8 {
$ `. o" g# m& c6 d5 L, t& D$ \ if($this->_fleet['fleet_end_type'] == 3)1 H. w+ s# a9 y% P u
{/ e2 W. B2 P s
// Use planet debris, if attack on moons2 Q. A$ Y& F/ y/ Z, T1 [
$targetPlanet = array_merge(
. ~/ }( w/ }3 e, l' x $targetPlanet,
$ l5 l% A8 S0 n3 `- q+ Z- S $GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")
1 A9 P4 ?' ~* O1 ~9 o& \# d );, Z5 E3 @2 s" U% q
}
4 i" k; ~2 h; O" |
0 i# X- t! F6 E, W foreach($debrisRessource as $elementID)6 j% `5 b6 \* [5 L( V5 e l
{
9 V8 X" M2 V- n" L7 k+ B& h7 F. Z $debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];
8 @: p4 H0 r" I+ m# N $planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];; Q* f/ B% [" b
}
2 d; V. P/ R' O% ~4 f 9 B' I+ k. M. K9 Y( v( U
$debrisTotal = array_sum($debris);
6 c) ^, F9 V, m! X- ~! n/ P) N
- Q) ~5 n% o O o( i7 { $raportInfo = array(5 o4 a& E8 H( m G3 [. E5 `
'thisFleet' => $this->_fleet,
/ v& D% a" k, a* z$ J 'debris' => $debris,, C. ?. y- r4 c( N
'stealResource' => $stealResource,; @- h4 ]' { s0 l( E+ Q
'moonChance' => null,
) Y+ m# N& b- _& X 'moonDestroy' => true,; _, D) p' v3 a" {/ U. w4 Q( |
'moonName' => null,
" Q' R7 l) n9 m! c/ o 'moonDestroyChance' => null,
( x6 R; g' f% k# h( K. v 'moonDestroySuccess' => null,
# @% `- p3 X( N- K 'fleetDestroyChance' => null,
! E" L, v4 w) a: t! Y/ Q 'fleetDestroySuccess' => false,
2 ?6 x/ U0 D! }! G# l6 u8 w Z );
1 F% W6 Y. P& M/ j2 z# {) W4 P- P. t& J i4 X
$destext = "";
1 ^2 u5 `/ _. D* E' v2 ?1 k 4 _1 _2 ]+ C D' Q+ P
switch($combatResult['won'])
1 ~# u+ P' ]5 B V/ ?& M {) b: L) T E# v0 k2 c$ F
case "a"://勝利& l1 ^7 P# _) e; A6 H$ J5 z
$moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);
* J& S5 J- s$ t- F/ P
2 S0 V" V7 z* M! }' A; j // Max 100% | Min 0%' u# I5 B9 Z# e, X
$moonDestroyChance = min($moonDestroyChance, 100);
( I$ E1 L; ?2 K1 a: P $moonDestroyChance = max($moonDestroyChance, 0);. F$ ~& c0 X ^' M" O
! m4 q b7 C5 l" _/ t% ]; Y9 Q
$randChance = mt_rand(1, 100);9 z/ F1 ?; a; c) O' M1 r( F9 h
if ($randChance <= $moonDestroyChance)
! Y3 ~9 f. M3 H9 M//毀月成功 |
|