等級:25 - 爐火純青 經驗值:0 / 245 魔法值:13746 / 13746 生命值:5%
升級
  100%
TA的每日心情 | 慵懶 昨天 11:22 |
---|
簽到天數: 5557 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
6 D. o: m" |% Y0 t" C% C( H
先進行普通戰鬥
/ U J7 K, h4 x7 S& d還有剩餘艦隊與死星! ?* q0 ^: {' Y" O4 p: K
便會進行毀月. ]5 V' V/ ~/ p2 `: q
foreach ($fleetAttack as $fleetID => $fleetDetail)
: o4 }9 b$ E# Q {
& d+ [; `- ~; {$ Q$ y6 V) z* ^: n $fleetArray = '';8 k# r, Z$ Q- r4 m O8 X8 u9 h
$totalCount = 0;
u7 l/ Z' O. t7 W- n% e
. V# U& U4 E w2 R) }; _* x $fleetDetail['unit'] = array_filter($fleetDetail['unit']);
: Q. l: X+ Y) Y7 m ^3 E foreach ($fleetDetail['unit'] as $elementID => $amount)
0 f& S1 j9 E1 M { " c8 I& |! L0 V6 @9 C
$fleetArray .= $elementID.','.floattostring($amount).';';
6 e ?& i H# j& Q8 u $totalCount += $amount;
- ~, p& _0 }9 [" ^4 y" M }8 x" Q+ w: U4 P$ {4 E- [! h
9 | f) G/ k9 W2 T8 _$ f6 I4 g) K
if($totalCount == 0)
) T: A, a" ?6 n* L {
4 `7 C5 |- d1 O o8 W D( ? if($this->_fleet['fleet_id'] == $fleetID)
; S/ L7 t3 R) ~5 N5 R1 l {
( i$ M: K& j! G' n. w5 I' m $this->KillFleet();- ]( n( m# i0 o+ a8 _* g
}' v" r9 i ] V4 C
else$ @" o- Z1 f4 @- _# u
{
4 k- Y# [# D( w; u6 q $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";0 ]! d. e0 G$ O
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
4 I# ?3 g. n; }$ e } ~. v% H6 J( B0 j+ l, N5 h
2 v0 _' M; k% o; B/ o
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";' Y; N0 H' y" D9 h8 x, r; q5 m! d8 J
}
1 k( T/ b5 C5 D' i* r @ elseif($totalCount > 0)7 r, V- `4 F" g
{
9 ^* M4 v$ B' ~* p& p $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";# K O* b; o. R0 ]# `) Q& h
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
+ O( y* D4 g% j* w( n$ ]& F$ f5 }) f }
+ A' I9 e$ s/ B* [" E( V else. P0 `) B0 ?% W0 E" I% F; B
{
' O0 H* ?" f% ~7 s3 q5 J throw new Exception("Negative Fleet amount ....");+ ^ @! I: K4 }) \! z
}; _# ]7 ^( C0 k" u, i' I3 Y a
}; m& [$ A4 Q! a: q0 X* R, r) \' X
% u3 K8 U; X( {; s
foreach ($fleetDefend as $fleetID => $fleetDetail)9 o8 O0 C4 K/ s8 M" }& R
{5 M1 r$ T5 w/ x$ J2 j
if($fleetID != 0)
" M* X- z# R+ P: J F6 V {3 _1 f! A0 Y( T7 ~
$fleetArray = '';; z2 h6 V7 V5 o) I$ \7 I
$totalCount = 0;+ j$ ~7 z: H, ?# Q$ f
6 i3 U$ {8 o: o( _4 U. {9 X
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);9 y/ p+ W/ `$ f( d m6 _
foreach ($fleetDetail['unit'] as $elementID => $amount)
* r2 R* q4 y& ~# `3 S. X- H8 d- f {
; E7 H9 y h* K( E9 k $fleetArray .= $elementID.','.floattostring($amount).';';
$ m; m6 a) d, k* Q7 \ $totalCount += $amount;
6 ]- b" [$ D! \) p( Y( |% t }+ V! f1 l0 c/ T5 D
3 Z3 } A$ w3 J9 }- o if($totalCount == 0)$ h u4 T' A4 Y7 ?+ N& B3 U9 |
{
1 R3 M$ d: U; I. W $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
; j( g% |8 ]7 Y" n, F- j( L. f $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";, s2 Z5 N/ f; z6 F- e
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
/ d3 |4 I) s- ~4 n$ R1 N( N: i4 r }, _" {, [$ r. k3 ~
elseif($totalCount > 0)0 I' n* n$ W* g" ]6 |+ f# |
{
# `( u$ s9 w! G& u. T $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";4 n) o, k" }' E. r
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";/ B+ Z. ~. S5 ? _, x7 `5 ?: {) t
}
" f% q8 G+ ^4 x2 G else
S- j! t) n& g2 m: r {- t# w0 h% P5 q9 _: \1 c
throw new Exception("Negative Fleet amount ....");
) s/ k& [; I6 J! V5 O }8 @% z5 M3 N2 n% b* t7 s
}/ L) y+ {5 M, @- h0 |6 D
else; N% b8 v- C& U
{4 O, }6 b& ]4 Q9 ]
$fleetArray = array();' ^/ b! O; @4 J6 P5 Y q9 s2 C1 h& Z
foreach ($fleetDetail['unit'] as $elementID => $amount)
# |, I7 T7 u) X6 G$ Z { % [8 n, i4 G i' Z8 y5 ~; ^
$fleetArray[] = $resource[$elementID]." = ".$amount;
6 \8 C9 ?3 ^( s5 D6 h! A) ] }, z$ ^" I# y8 p( q2 ^7 ~
1 [2 B, _0 L# b. `! Z- {
if(!empty($fleetArray))( I0 m! {1 Q! b" J( q
{, s5 N0 [' S5 t+ Y; @/ w- y' T
$sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";6 w! o/ _2 R; E. D9 m! I4 m, U
}
( A: ]; B o' ^6 z3 `1 |% F! Z } l+ ?$ W+ f- H E
}
, l0 P! d) Q/ r# p. P/ |- p ) M, f: ^/ K' e* ]8 J
$GLOBALS['DATABASE']->multi_query($sqlQuery);
- N: U, Q: E+ g# p+ m4 E' k% y
. {# g6 T- L# O if ($combatResult['won'] == "a")
5 Q5 N6 j/ d& x2 R7 g1 I5 r9 S7 N7 B {
3 s. z0 h7 m: K( f# v. e6 }+ J require_once('calculateSteal.php');& d G. ~, |1 L
$stealResource = calculateSteal($fleetAttack, $targetPlanet);
! j# }0 d9 ~, L4 ? }, R! W, n6 ?4 \
0 x% ?5 m7 W+ h8 J( K s
if($this->_fleet['fleet_end_type'] == 3): u: d1 o4 o: v1 r) e Y
{
: n- I; b7 D$ `) \; V // Use planet debris, if attack on moons
( i8 u3 C" `6 O* a2 a, ` $targetPlanet = array_merge(4 K1 u$ g+ a, t8 J; E- G( i
$targetPlanet,
2 |$ ]( @2 K! f5 Z$ }% O $GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")
& x Y: s% n0 W8 c$ O7 x1 ~ );
: ?! {2 j8 `, |' {* e6 S }& C, C0 V% E4 d% D/ K0 s! I
2 u0 M; o% M2 P8 v8 k/ a
foreach($debrisRessource as $elementID) m* t8 W3 g0 v: H/ Y
{
7 I1 k* ?! L7 D% t7 W/ {2 M8 y1 s $debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];
3 g: ~! m( d, x0 x, H: A) o, n $planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];
8 \" a; s7 L. q7 w& [" b8 o& }9 ] }* r( x" k3 ~6 o4 ^3 Y
, h: a- J. t. p: q9 A. | $debrisTotal = array_sum($debris);1 G7 [# l% P6 _6 K" Z8 H
( a8 n" N# U) P4 G! t" r
$raportInfo = array($ P- J& F/ {) w* F) b
'thisFleet' => $this->_fleet,
% k& U& c2 b' \ 'debris' => $debris,
4 T2 z7 [, K2 e9 m" m 'stealResource' => $stealResource,( A4 K2 o5 x4 D9 k5 p( f* H. m
'moonChance' => null,7 ~0 q' z9 p) b/ T+ t, Q" u) h
'moonDestroy' => true,
% Z5 a4 t- j& Z& Z% v 'moonName' => null,
: \# _* E" K- O+ z 'moonDestroyChance' => null,+ @2 M- }& I6 h# Y' _! E
'moonDestroySuccess' => null,6 f1 ` `7 T' t
'fleetDestroyChance' => null,$ Y% L3 y# ?2 V% L. Q$ w# f: O
'fleetDestroySuccess' => false, W8 z3 n! K5 }5 ~$ K7 _
);
" h% {$ k) p* M6 I$ e. \6 b$ o% l$ U4 @, j
$destext = "";* o: M9 a1 b% S) w6 X1 k% i
7 i2 B$ v' F# e3 l# I* D I switch($combatResult['won']), b! F: K, e; b8 [/ Q! l; H
{
$ U b6 `+ j- @; l" a6 b- q: e case "a"://勝利8 @" q. t3 K0 {
$moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);/ Q2 q+ ~3 O. C6 J
) [5 O7 [' ^; t2 ? // Max 100% | Min 0%/ o% H/ O; `7 l0 B5 {
$moonDestroyChance = min($moonDestroyChance, 100);4 C i) m- f* L5 J! j+ Y3 N
$moonDestroyChance = max($moonDestroyChance, 0);
4 V% }2 P: o5 e4 V; ]- i9 _ 3 I7 \4 P9 |, Q- ]! ^
$randChance = mt_rand(1, 100);
' o0 T [9 ^$ Fif ($randChance <= $moonDestroyChance)' b" Z& Z" V3 w* k A
//毀月成功 |
|