等級:25 - 爐火純青 經驗值:0 / 246 魔法值:14836 / 14836 生命值:6%
升級
  100%
TA的每日心情 | 奮斗 昨天 01:14 |
|---|
簽到天數: 5908 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
$ Z0 ?4 D1 H Z8 T1 L2 i, {先進行普通戰鬥
) Y5 \/ j! I' s7 w還有剩餘艦隊與死星
9 `! J L3 |2 y H7 a便會進行毀月
$ x% _1 \% F4 f1 M6 c: e4 _foreach ($fleetAttack as $fleetID => $fleetDetail) O4 t9 ?' c6 L: b
{
7 N! \, F; R2 W; B8 a+ } $fleetArray = '';
( A$ x9 Z1 g" |, F $totalCount = 0;/ q$ i4 g8 a: T& W% u% I
. H1 K" w2 P: m; s" B
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);
7 D1 m. o5 d" ^8 K( K foreach ($fleetDetail['unit'] as $elementID => $amount). C' z+ D( ]- t8 [+ E: M
{ 5 }: ]% t& t5 i! X _ u! h
$fleetArray .= $elementID.','.floattostring($amount).';';
[$ ^9 ?# T1 M# d, T $totalCount += $amount;
0 c+ J7 @9 L4 j+ k) Q% B2 |- M }$ l& d% m/ o2 P* X! R
) U- A5 I. w Z V if($totalCount == 0)0 [7 B- \8 G4 T/ r5 H
{7 \' d+ D' `( L8 x3 c
if($this->_fleet['fleet_id'] == $fleetID)
9 _8 i/ c1 m% i' L7 S# G; K( b2 n {: o1 b0 e }% b+ @
$this->KillFleet();
! D$ E; _/ w' V# e1 D }
5 I0 Y' S6 f- {$ ?& W else; [5 ]. m/ U D$ Z: h4 x
{3 f3 }2 @* p% j! ^# L, f
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
. x) y }4 d- u7 B $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
( g: o- r( l5 ^, g' H( b }+ |4 ?+ Y4 f5 r- g( u
9 e8 v& \+ O1 L3 P6 G% I8 P0 O0 F
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";" b/ _0 d0 u4 N, o4 o8 N) j% v
}
" D; b8 `# Y) u. b8 w: t7 q elseif($totalCount > 0)% |- }8 F2 L1 y: \) {( |, s2 `- D
{
; f2 a! l2 f, s. { $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
3 x6 X+ _9 u; H9 K $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";+ ~; c7 X. D- E9 T8 H6 M( N: Y
}6 o7 ~3 T( m( n! ]! y* a
else* A4 g9 _. r8 U: q5 ?9 Q6 f3 c
{
7 F0 ?: ~9 J0 J) q: u throw new Exception("Negative Fleet amount ....");7 }# q3 I. x m Z2 K' O- E4 D
}
4 H, ]! a3 ]; x0 \- {2 y7 F }
" U S# d, [. x$ J* M0 N2 x / R/ L# ^$ v2 ^# z+ S; J [ V
foreach ($fleetDefend as $fleetID => $fleetDetail)
2 O8 C# q" C2 }5 u% B {# f9 c5 R0 G/ w, C: i4 [
if($fleetID != 0)
; |# W: d; f( W9 C6 `' P1 A {. L- |8 n4 R u! A! Y5 j3 f
$fleetArray = ''; m5 P* X5 f9 B6 ` O" D
$totalCount = 0;) X. w3 z; K$ B) Q' w2 W
3 @1 W4 y: [+ |( p. @; t $fleetDetail['unit'] = array_filter($fleetDetail['unit']); S5 q1 p; n1 E4 `/ k: k
foreach ($fleetDetail['unit'] as $elementID => $amount)
; Z, z8 g* T* i/ D1 H% y* P {
: @; n5 s' k' R $fleetArray .= $elementID.','.floattostring($amount).';';- V( Z$ x- f, K
$totalCount += $amount;
$ @, a9 s- P: Q: Q- w }
/ z! N! a$ o2 ^% Q) Y$ M ' `8 T9 r, m& N/ L6 V4 N
if($totalCount == 0)+ H, Y, ?9 o/ H
{8 o# G! {1 {- o: e; H1 R' j
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";7 K1 n& @: N( s, z3 S( M; c* P
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
- \. o8 O1 s- D7 p $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";9 i4 V' l6 V8 y: d
}
" H% w+ G5 |, w3 I, Y# O$ A, y elseif($totalCount > 0)" K+ k \2 E6 ]4 O( _" B5 r4 Z
{" V3 }) B9 y3 V% L4 v9 w
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
$ X9 d! \1 x( q- Q# k W $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
. I; C/ q( d8 | r2 p! T }, b( ]9 V+ b3 x( }- }9 ]4 F
else6 _. \4 r) j# b% m% R8 N
{
- |% S5 R% y1 b. l throw new Exception("Negative Fleet amount ....");
4 R2 {. P) y1 _ }4 R, z- `! p0 M3 v7 t
}# Q$ `, M2 ~: Q" b# A7 {
else
7 H/ X& b1 D( a: S1 N) t: f {
$ j2 c* w- m" ^6 @& e $fleetArray = array();
" V! P, n- u9 l; l! ~2 f' X4 B foreach ($fleetDetail['unit'] as $elementID => $amount)3 h$ e0 F$ S5 b1 E9 v
{
0 \: F/ y x5 e5 ~) R $fleetArray[] = $resource[$elementID]." = ".$amount;" o. B2 x- q. q- M
}
; I e; N+ k, p* F( k* \: u' m
; F7 c* Z- T9 c( M; B if(!empty($fleetArray))7 t8 R/ ]: ]0 g/ X* t6 G
{+ V- _; H" m7 X# t0 H5 e
$sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";- ^) ^$ a, f' w b* x9 U4 W3 \: N
}% R3 i0 s' z7 F7 f: T1 ~
}* _. A* j2 s' N' u1 O* D
}
) `- H$ {1 @, W. Z
1 b* J' E9 y3 q $GLOBALS['DATABASE']->multi_query($sqlQuery);+ P8 r6 Q [, |) `- }( V
! l) q. t/ ?+ W8 T. i& K4 L if ($combatResult['won'] == "a")
, Z! Y/ a9 Q$ Z f; c( R! t! l* ^ {6 W9 E4 y+ n5 F/ }
require_once('calculateSteal.php'); V3 N+ ], ^9 p! b5 Y' G+ m
$stealResource = calculateSteal($fleetAttack, $targetPlanet);
4 P2 K3 T, P3 T& I1 P }
9 Z; s6 o" ?: V( D8 w$ `: ~: b _
2 K+ D( H: B$ ]- [! I U9 L( K% x if($this->_fleet['fleet_end_type'] == 3)
Z7 _' ~, t" e4 v- \1 [$ p+ l {
9 o: {4 Q* l/ r$ d1 F // Use planet debris, if attack on moons1 V4 F% H/ ]5 \
$targetPlanet = array_merge( d8 Z# m0 @, T
$targetPlanet,# [: Y: C0 D; {7 X* i* S
$GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")
3 |! H& `. X9 ~# R+ j4 B );* @& m, }" n& x) G: }3 v
}
" o7 C! L7 G( n3 @$ }7 |2 b) _ 5 }# P5 M4 h* m( H1 K2 p/ Q
foreach($debrisRessource as $elementID)* s- j% J+ E) h6 s
{
/ w" \; I& G' g $debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];% [4 `+ k& b) |9 b
$planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];' v. G& P( E' \+ V3 Y
}
4 c! n! o8 g- @+ l/ b6 ^7 n
7 ?! n( N+ s5 D) U $debrisTotal = array_sum($debris);+ R* V7 T1 z& M' E
. K% z+ d$ K; K" Y" ] $raportInfo = array(
- d# o- ~4 u. M6 R7 J 'thisFleet' => $this->_fleet,
k6 F& ?# J! m! Y+ ?+ ~6 F 'debris' => $debris,4 j1 o @- L9 G0 ?
'stealResource' => $stealResource,% X: G" n* Z" [6 T5 b* g& }( B
'moonChance' => null,$ d$ U8 y7 R' |1 z7 J
'moonDestroy' => true,+ d" H- j: ^, q4 p
'moonName' => null,9 R* D8 F% p0 V
'moonDestroyChance' => null,
6 b" Q/ e' `7 Y 'moonDestroySuccess' => null,
8 l' y% W! w0 O7 c, _1 ?- w9 U 'fleetDestroyChance' => null,* C2 ?- t0 S* u: j8 r: a
'fleetDestroySuccess' => false,3 q* e& J7 I8 i. S+ V
);
$ p- Z! I0 r/ j$ ]: ^$ a
- C' I" Y/ O* L9 o $destext = "";
9 L4 R( p+ |0 N; P3 B1 @- ~# r
& t1 u7 d, ^1 U# C" @: R switch($combatResult['won'])+ ]8 U$ [, |- q: E
{
/ z4 W# h* ]& t. O case "a"://勝利8 ^! [6 x/ b& B9 C" k
$moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);, s( b1 ^1 d1 b: }- N0 m: T
) p& \5 \0 L# R, `* ~% K
// Max 100% | Min 0%% A7 `1 w/ Q! p A. l
$moonDestroyChance = min($moonDestroyChance, 100);
& b( g S/ z- U $moonDestroyChance = max($moonDestroyChance, 0);% L9 P$ o( O! S! U" _$ p
4 v4 G, `$ }7 J+ Y3 l O3 O- B7 n $randChance = mt_rand(1, 100);
/ G: g7 L) W# B) o+ I- O) x4 _) tif ($randChance <= $moonDestroyChance)
0 x4 ], V# Y5 P4 f/ J; \9 j" i//毀月成功 |
|