等級:25 - 爐火純青 經驗值:0 / 246 魔法值:15007 / 15007 生命值:6%
升級
  100%
TA的每日心情 | 奮斗 17 小時前 |
|---|
簽到天數: 5969 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
: i( {$ k3 f3 J) D9 W先進行普通戰鬥
! O0 A) E2 P* F6 S& A+ Z z) m' B還有剩餘艦隊與死星) _ p5 R! f7 s% i7 f
便會進行毀月
/ L9 U2 H& Q/ _3 bforeach ($fleetAttack as $fleetID => $fleetDetail); [) H% }( z$ r I* x1 v7 n0 f
{9 v7 ~* o$ y0 R5 s2 O/ ] U/ l
$fleetArray = '';. f: B% g% p8 u3 q7 [1 m o
$totalCount = 0;
5 ~- I$ V6 Q% X$ ?3 g
/ T: t* k8 n1 l$ u6 Z" L $fleetDetail['unit'] = array_filter($fleetDetail['unit']);; i( ~. F6 q, ]6 {
foreach ($fleetDetail['unit'] as $elementID => $amount)
* |* _* ]8 G i, f6 F" b {
* Q' O+ {; C0 p! p" ^ ~7 M $fleetArray .= $elementID.','.floattostring($amount).';';
0 g x) O4 a9 L2 _6 N( m- b0 |( o $totalCount += $amount;% W, m4 [, p# z) g
}
' l; N$ ^' V" b. \' ^8 @1 u4 H ; k0 Q' D7 P9 K: @ q
if($totalCount == 0)6 w' T* y- T8 f; `' |
{+ G n/ J! K% t6 T. n& D
if($this->_fleet['fleet_id'] == $fleetID)
0 o0 O; }! N- D$ A* {9 \ {$ T) P& b+ A1 F/ _
$this->KillFleet(); t4 M/ I3 k7 J* v9 n8 ]
}
" P, R2 _( d& H8 w7 z j else! \' Z7 ^/ q6 ~& W$ I
{7 W! K$ u2 V& Y/ c2 [( O6 J- z) ?3 _
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";' s4 a! {1 v# l" {. D, n1 j
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";7 ]# I1 m# E0 { ?( A
}8 E8 U. L$ M- K; i1 j
; a: Y/ ]4 ?8 u! w5 U $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
2 j, W+ H( ]" T9 i9 b }
" ]$ M* z" p; L% U0 T elseif($totalCount > 0)/ h) g* w9 n8 e+ Z" x! t
{& h0 N* `0 H! R L% ]5 C
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";3 c1 ~$ r1 ?- G/ i2 R: r
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";& j% e2 S. m9 e& a3 H* G
}( @) i: [5 N7 }" r
else4 p( h/ m$ e' s. K" U" d
{4 }4 B( N5 }* ^. x7 |
throw new Exception("Negative Fleet amount ....");
8 _$ @+ K9 o- O/ a }0 q& U8 u. E! P# U% y t
}! c2 u2 {& ~- d9 [. z' y/ \
! r9 H# w' M* y3 H9 H0 ~! ~ foreach ($fleetDefend as $fleetID => $fleetDetail) r3 V" [1 T! g
{4 z( W2 R) u O
if($fleetID != 0)
6 t8 n7 l; H* q s. T" ^ {
5 L! \% z- y/ A+ u0 j3 |# i6 p0 P $fleetArray = '';
- Q# R' v( T1 X/ g. E( W$ J $totalCount = 0;
. ]* g9 Y; x4 x) g9 g
! J/ z* r" U$ G" q $fleetDetail['unit'] = array_filter($fleetDetail['unit']);& g+ c8 ^7 f/ |' D
foreach ($fleetDetail['unit'] as $elementID => $amount)
7 X: p' Y1 n8 H3 I {
2 U ?( D8 S* p1 V6 G k! N $fleetArray .= $elementID.','.floattostring($amount).';';* I/ b7 U: f, _. S" `7 ?$ b
$totalCount += $amount;
* c- B/ p& K& S- q: e p }
1 J. r; B4 Y$ Y: G0 N7 l% E0 ~
! o9 H4 l( q3 h# m: \2 u% o! U8 ` if($totalCount == 0)6 K( h7 h$ D' @" T8 T
{
! t ~: X/ {: ?) [ $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";+ R, o( N- q, E* N+ b! r
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
1 Q: L" \( R$ Z) y $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
6 J( l& Z0 W1 W }
+ |/ q: z' @' x) \8 \: \8 A elseif($totalCount > 0)
+ n9 G5 e- R, \5 q: U {8 I- A A# W3 z( w4 U
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";: W7 t4 }/ F1 B4 e6 c
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
0 `4 Z" z X4 {% B5 Z& @ }
9 ~% ] ] |* K/ ], r0 d else5 _) C- v$ _1 g) e5 K( h8 P9 h
{
$ [0 u5 M* e( ?' m: {, V* M" ^ throw new Exception("Negative Fleet amount ....");7 T- R* r% n: ^, l
}! {8 P. s4 ?, `" y' c# @! [0 R
}: S$ V( |9 p. F( p/ J) ~' ]! Y
else
0 L. L" R$ |; ` {
* O E: l! H( A $fleetArray = array();+ l6 W2 A. k& m4 e9 m
foreach ($fleetDetail['unit'] as $elementID => $amount)
" l$ T: f- N1 _8 o5 I9 s { 1 _. m5 g" W3 m: M
$fleetArray[] = $resource[$elementID]." = ".$amount;' P" {% Q' `, T, K* w+ i4 H
}7 N/ u" }- p9 q! j& E
# R+ F; t& s* a# k$ a) Q3 o* n) X
if(!empty($fleetArray))% o: ]* k d0 P" m/ F
{
9 V3 z$ w, w+ h* t! r2 m $sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";0 \- F- E$ X1 |% u B
}
# h/ U) g! |2 X1 }, f! }( n' f0 c }* C2 `% ^) Z: R" V) W
}+ ?! S8 H/ E0 D8 i+ S3 p
- U3 ?' u( O: M+ K5 r $GLOBALS['DATABASE']->multi_query($sqlQuery);( @; b0 {: d. `$ l9 a" _
7 Y. {/ M! R4 }. I
if ($combatResult['won'] == "a")
0 ]' G* p% y6 l {
; x2 J! | X& q( q& R: h5 ^3 {. P: n require_once('calculateSteal.php');6 R E3 Q1 K; v" c* g9 y% E; q7 |
$stealResource = calculateSteal($fleetAttack, $targetPlanet);
X, S, [* y1 H @. H: {& q7 \ }! G- Z$ a5 _$ f# V$ I
4 F+ [3 ]2 a4 Y' Y4 s if($this->_fleet['fleet_end_type'] == 3)
# H6 g: A! Y) @ {9 d, e* \( C1 c7 O; m1 Z* Q
// Use planet debris, if attack on moons
: ]& O; J& j4 l& N5 ^& C9 N $targetPlanet = array_merge(
1 i N8 x, g6 M/ P1 U $targetPlanet,
$ h0 c+ o4 j! T; z7 |- D9 b $GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")+ e' {) k" T- g0 ^
);/ d4 h, H/ i1 B+ M2 Y
}3 @6 ]6 }& I: a
0 ^! U" d2 z" `
foreach($debrisRessource as $elementID)& X5 {! e9 z: E2 e% G3 h/ w {
{
5 W0 ?9 N2 e6 @. l $debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];
; M1 S& L9 z* B/ [ $planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];
* ^) V9 b, o8 b5 @" [5 @ }
+ x/ ~+ g3 b) p! w9 ~. y4 W 3 U4 j7 ?4 o: X2 a: v- H/ S' I
$debrisTotal = array_sum($debris);
5 m% y# j8 G r 8 F; u9 n* Q* I0 |8 h( f: t" H
$raportInfo = array(- v2 x O' X# w) |8 H; z
'thisFleet' => $this->_fleet,
1 t9 N+ t. k! V& C% d 'debris' => $debris,
2 u: A, [6 C+ K! N; m( r9 ~ 'stealResource' => $stealResource,( G! i6 B: n! s4 V3 i
'moonChance' => null,
4 G3 N+ [' W% \1 g& t4 R' d& h 'moonDestroy' => true,
3 s! a7 V+ c& m4 d. v) W 'moonName' => null,
6 h& g. h' V3 c6 h, R* D9 a 'moonDestroyChance' => null,
; n; V- Q( F6 r9 E) | 'moonDestroySuccess' => null,
) ]5 ~& J: b [7 B# g2 o 'fleetDestroyChance' => null, t) j+ p' D' p/ P# \
'fleetDestroySuccess' => false,4 s D' `3 Y1 ^: K: m) c0 V5 R; T
);- @3 G, k( A) T: [& ^# Z' @
2 c. c2 A: e4 D: i) Q
$destext = "";
2 D, V/ z' @0 F6 u, T 2 ^1 ?" M$ y( K$ e! M& c/ T$ I- ]
switch($combatResult['won'])/ I' S5 h9 F% V2 q. w& t
{
" n O) p( x( w7 Y+ K4 u case "a"://勝利
: W& U; v0 ]; v% m $moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);7 D( k0 R+ |3 U8 V7 f V
7 l- J- @- P! A- t L" D
// Max 100% | Min 0%9 H# Q$ p" T$ ]5 W- w
$moonDestroyChance = min($moonDestroyChance, 100);: w/ u- l+ N1 \4 [
$moonDestroyChance = max($moonDestroyChance, 0);
. e1 N2 @: q+ } f* a
7 c) }9 O* N' ^( z* x $randChance = mt_rand(1, 100);
2 m: K, F2 y8 ?* Q2 N' p6 [ yif ($randChance <= $moonDestroyChance)8 Y- b* N* B0 i; r! a, Q4 O( J, k ]
//毀月成功 |
|