等級:25 - 爐火純青 經驗值:0 / 246 魔法值:14748 / 14748 生命值:6%
升級
  100%
TA的每日心情 | 奮斗 10 小時前 |
|---|
簽到天數: 5881 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
( t: v$ R) u6 @4 d4 S5 D( ?/ [4 \
先進行普通戰鬥
8 }5 C8 U+ ~9 g( U0 m0 I- p, y還有剩餘艦隊與死星
. q( J9 y ^* {4 [5 U" w便會進行毀月, Z/ ?0 e+ |3 j
foreach ($fleetAttack as $fleetID => $fleetDetail)
$ M ^+ e5 w2 C {; [+ i: D$ U9 H/ _3 ]2 Q8 K
$fleetArray = '';
; r8 H, c1 ] \0 B $totalCount = 0;, z# F2 |+ g" r$ D$ c" n
# ]0 X( o7 E% a
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);
- U! R% v. D8 K2 c1 { foreach ($fleetDetail['unit'] as $elementID => $amount)1 G! f1 l% g, x- e& Z
{
3 [/ ^ J) C7 P8 D1 p5 S4 i, T9 `' p $fleetArray .= $elementID.','.floattostring($amount).';';( h f4 S$ d7 I/ x5 `
$totalCount += $amount;3 ^6 P( ?- m+ P! q" D3 R9 V8 J
}
+ B4 ~5 A+ Z% ]) r' T
, j: B& T1 U3 _/ P: o8 ~9 P2 q f if($totalCount == 0)
7 P6 l7 n& \2 j {; c: g2 z; k& H# z
if($this->_fleet['fleet_id'] == $fleetID)# D' E I5 V1 u
{
3 k) f x3 A, ^ $this->KillFleet();( ] ]! i& ^9 Z/ e1 [) \
}
: t0 S8 L0 }! | K3 o" d else
* C5 q) t2 F1 t& m- @( Y0 I {! u% X. c$ `# V; _
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";4 R$ b% E M: t! _! Y$ b$ `
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";/ O3 v( O, q5 w7 K* Q. w0 V
}" e6 F s# C: E, y1 Q( `! @& T! _& D
% o6 ~; S( |& ~& k) L $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";3 q/ @# _( q4 u* X, X3 h% c8 c
}# V( L; K- F: t8 Z! F3 k; t' Z
elseif($totalCount > 0)
, {, \) J& v& w$ _) p' e {
/ D& m+ Z9 d& r $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";1 q U3 n6 J s6 A! k
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
" Y' u# N: R% L8 x* M$ |* S% M) b' b }
) x% Q2 }5 q5 |/ D! T4 G else8 \! m9 c- T# o8 P0 f: @
{
7 N/ X* M1 ^6 R1 O throw new Exception("Negative Fleet amount ....");
" |; X9 G+ W$ L B8 c }
8 v4 ^+ \/ R. `3 V }; k1 }9 v1 b6 T
# q6 O4 z' `$ k3 x! O* q! H, C foreach ($fleetDefend as $fleetID => $fleetDetail)
$ P3 m7 H: n& V4 X: k4 o+ P {
0 V( E8 L" ^6 c" `( b2 ~/ N O if($fleetID != 0)
* U7 |2 x. u8 x/ d3 r* @$ p {
% {! u z8 M @" s W' P5 Y $fleetArray = '';
6 t0 y7 P( C1 W $totalCount = 0;+ }; g' s, c1 q$ l0 V1 ]
3 a9 U! w# f: [/ p4 m& J6 y* U* A, o
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);
: D, p+ d! {! r* s$ {% u9 `$ G foreach ($fleetDetail['unit'] as $elementID => $amount), r9 \$ M5 d. {9 u* h1 r4 g2 F) z
{ 6 H0 H+ D# E1 l2 L4 A/ V P7 W! v
$fleetArray .= $elementID.','.floattostring($amount).';';
: M4 J# c. \" O( J) x7 n $totalCount += $amount;
6 d8 y! k, p: q7 k7 n }
4 T9 s3 y5 {* b: q, v% z : V8 D; D3 j9 Z7 S3 s1 I
if($totalCount == 0)
3 Z: _ l* X) V- U5 b {/ Y6 x* ?1 ?2 o) [
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
) b# w$ g# u/ d+ V: Z $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";, d6 |4 e/ z5 W* Y; i. q: ]4 Y$ ]7 R
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
' ~( _8 O$ B) N0 Y( W$ U6 r }
6 e( j4 J( Y) x* B7 ` x; y0 g elseif($totalCount > 0)0 q7 S7 y( r7 l
{
" O- y! L4 b3 @. F $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
: \5 I8 z- G1 e6 s $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";* c2 g; `8 O/ X: b- [
}
+ e9 K; g: I5 j9 w# g% g" e6 y else
! A% f2 {8 }/ W& y6 R {
5 `- r! r& C* [) ]" C throw new Exception("Negative Fleet amount ....");$ u" n( N5 J/ d9 \) ~
}
- E! @0 E b$ C2 p" e }
* d- ?, \0 s' {1 W1 n: t* C* \/ a2 E else) s6 y" u- ]7 c! D* I
{9 \3 ]4 D$ n0 H2 ]$ a
$fleetArray = array();% a6 V" f# B" v# j T) j
foreach ($fleetDetail['unit'] as $elementID => $amount)- a5 r6 N0 i1 C' J% J* Y
{
* @/ U" b+ _. D. M $fleetArray[] = $resource[$elementID]." = ".$amount;$ z5 k X* w) W5 D+ \" J7 c
}% ~' p" P _; f% |* E* m
% B$ ~) ~6 f% Z6 o" H% f/ i
if(!empty($fleetArray))
+ ]5 O8 e3 w9 y' W# U( Z! t( d {, Z( q- H* Y9 ]% ]
$sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";
; e& h8 T. j, X: f }
( u4 t+ C. m8 h! ~& R9 X }" Q% w. a5 ], t. I; Q2 _
}
- r3 g* A, a, n: H
- j# V0 H* W) p1 N2 m" D6 I' Z $GLOBALS['DATABASE']->multi_query($sqlQuery);( X9 W! @6 O7 y+ v& n1 m
& F4 ?% D3 _3 ?: t
if ($combatResult['won'] == "a"): \" C* R) n3 X2 q- l
{' r7 f: d) c0 j6 h' x/ Y
require_once('calculateSteal.php');
' ^$ C% Z9 }) Z$ w: F( l $stealResource = calculateSteal($fleetAttack, $targetPlanet);" b& Z( Q/ v8 M6 G
}" Q' W4 N7 f0 b+ u" _6 ]' @3 R
& K* b& w) v5 n) ?
if($this->_fleet['fleet_end_type'] == 3)
0 l5 E' B! i' P ~' O- n {" Q) I1 ~7 U& J' V
// Use planet debris, if attack on moons
2 P: ?0 |& A9 B8 k5 v9 S x $targetPlanet = array_merge(: W N& y6 N- V+ M2 Y4 f
$targetPlanet,0 @, Z9 B) q; s. ~2 [8 p; {
$GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")- s8 Y/ s9 W' N
);. y3 Y2 F8 Z$ t
}
3 n7 F0 ^ x: b# I) e
/ \+ F/ X* L$ K, L' J foreach($debrisRessource as $elementID)' ?& n# s3 y% {: A: H
{3 l, H" }& ~. w7 m& _
$debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID]; m. O) O1 c5 ?- l$ I/ O9 m
$planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];# ^/ y. @% a! G9 G* v
}' r7 X% _+ I! [4 K: M
9 q; e% p0 S9 V3 p $debrisTotal = array_sum($debris);9 K1 G) g) T4 E
. u$ Z O. d3 s5 P1 [/ u" `4 | $raportInfo = array(( B6 E! a; Z0 h- E* p2 J
'thisFleet' => $this->_fleet,
; C6 o5 g7 \- J9 e+ Y% w7 b7 q$ n 'debris' => $debris,
3 y& ^3 q5 b7 d% Z* ] 'stealResource' => $stealResource,# d M! h, U6 L0 `# A
'moonChance' => null, }& i0 F2 M- h' `* N
'moonDestroy' => true,
& |2 S# ], K- \' F4 P 'moonName' => null,
: E/ S: r' u6 x; C5 e5 o 'moonDestroyChance' => null,/ K1 t, c+ R9 u3 k4 \
'moonDestroySuccess' => null,5 Y ~0 T# ?, F
'fleetDestroyChance' => null,( S! S2 f3 q% S; J6 M; m
'fleetDestroySuccess' => false,. Y4 S+ U7 u C7 q8 o
);0 d2 X8 ^- I' M' k$ | X; v
^) I9 U7 Q8 Q5 X' ` $destext = "";$ ]1 S: A3 k3 h; ?, o8 v
0 v* B, z8 U* f) y4 C' T8 x' [' T7 r; c
switch($combatResult['won'])
% M( B4 |' f1 m# E9 c3 a, e {
8 Y" K9 {+ S2 z; V; H' ~" J case "a"://勝利
3 y1 ^: m: c( u$ q X- X' k" u8 k $moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);. {" S; h8 a& {8 @# f2 j# E( F& N
m3 K v2 V! k! i$ U1 a8 U/ K m1 S0 d
// Max 100% | Min 0%' b0 K0 M% W: P1 q; n
$moonDestroyChance = min($moonDestroyChance, 100);, N: |5 R) L4 _* _* ~
$moonDestroyChance = max($moonDestroyChance, 0);
4 c/ s, u5 |7 R L% j5 ]
* u: o9 d) L% f: W: {. [ $randChance = mt_rand(1, 100);
3 C6 F9 o, Z0 k$ X- wif ($randChance <= $moonDestroyChance)( r- w, S ~- C* W
//毀月成功 |
|