等級:25 - 爐火純青 經驗值:0 / 246 魔法值:15062 / 15062 生命值:6%
升級
  100%
TA的每日心情 | 奮斗 20 小時前 |
|---|
簽到天數: 5989 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
$ g! `8 T3 w# t. C% @/ A( X$ Q
先進行普通戰鬥
+ s, T. h( B7 B還有剩餘艦隊與死星; ^( \9 P3 p) K. n
便會進行毀月
0 d) ]0 ~ K2 h jforeach ($fleetAttack as $fleetID => $fleetDetail)0 k, H" l& K8 Y5 ]6 V+ |7 q
{
* Y7 R. Y7 P* V$ E/ x5 n6 R $fleetArray = '';; t4 L5 K w$ |* Y6 f
$totalCount = 0;
5 r" x/ E" M9 q% F 6 d% L( ]/ H: O6 t: V$ @4 C: \
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);
8 c! f8 |6 L, M: U/ u foreach ($fleetDetail['unit'] as $elementID => $amount)- W9 }6 j! G3 M) P2 t+ R
{ $ u% h! x, T M" m; N j
$fleetArray .= $elementID.','.floattostring($amount).';';
) W- V' A0 \4 J/ w $totalCount += $amount;
% ^( @( S" }- Y N y3 a4 u }* K+ A% \* Q$ }- _. k! ^
( Q4 H# ?/ R+ P
if($totalCount == 0)7 e" v6 M/ C/ b( V
{
! p7 t( j# g5 E4 `$ }- Y if($this->_fleet['fleet_id'] == $fleetID)- j0 ]/ ?" j% E
{& ~, z. Q) m: i# _! F1 r6 |" A9 {$ b
$this->KillFleet();2 D9 n; X- p( Y
}5 H6 [# a2 E$ i/ e, D& ?" s6 d
else0 k( {/ _7 p0 }& T" P& X
{
: q- v6 e0 b1 y A* _ $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
4 p8 _. K5 V; Y- Z* P $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";, I0 ^8 F$ {4 K! _9 H' Q8 k
}
+ ]& Q! Q* ~$ p9 k2 `* m m ' ?+ f. z+ D% X) M0 o; ]( U
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
: _' x0 k) M+ M* O6 s5 I; Z' A }
- ]. ^0 A& L& u+ @9 G" j elseif($totalCount > 0)' @ ]) M" X* H! M
{
+ m4 b$ t& u" f b7 B$ v; z $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";$ ?) W+ [ l5 T' O* e$ z% l0 u% r- D
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";2 V% m/ G( S% F
}$ l! c+ J9 v# U$ Z" U. v
else
5 F2 q% Q# H) v( B% S {
. l& @ z" W2 v throw new Exception("Negative Fleet amount ....");
0 A+ A) T' I- y! H }+ @' ~/ i! h: w+ C, ]) x
}
. U0 w6 K* p! h! `/ D ' ^8 X% \- F3 t$ f9 U
foreach ($fleetDefend as $fleetID => $fleetDetail)/ E( {0 z4 `! A9 N3 i
{
, U/ }& j4 h" z' q H3 c" k3 ? if($fleetID != 0)
. f' k9 @1 a6 k3 S& B6 }& C `& a4 { {
' c# i) O& L# ] $fleetArray = '';, J z; \& i& n' H$ v7 I) \
$totalCount = 0;& _1 }/ d* b0 m" |" c
; E+ n- j1 m6 x [& t $fleetDetail['unit'] = array_filter($fleetDetail['unit']);
6 Z- w% t+ p' n, Z) L) Z foreach ($fleetDetail['unit'] as $elementID => $amount)* A' c( T8 G% c' M% ]
{
9 z9 S7 V: v' H$ u- d& K $fleetArray .= $elementID.','.floattostring($amount).';';% P' w" W" e: T2 r- i8 e
$totalCount += $amount;1 A- l. g0 H9 T) C. N, [
}5 F- z7 H) z% K. B0 d- M- o$ _
3 U- X2 v6 ?8 x3 e; k" Z! U if($totalCount == 0)
9 \ Z! E9 d6 @/ L4 Q$ Q {* Y% ~% u3 Z8 T& c1 p* a/ w
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
2 z' t4 T5 B; |: x9 u $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";9 v" Y- V( [( d# s7 o. _
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
, \, S! O$ E8 A9 E. W6 X; y) G }
& ~$ ?4 P% I. S: d3 A8 c- u1 h elseif($totalCount > 0)# T- e* Q6 u9 E( x3 X
{* }7 x" x2 R. h# x
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";& E( i7 e* [3 j5 r" Q( g
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
* i' I% T+ M+ `; A6 x+ v0 V+ x }$ Q. v, |9 N2 Z( ^
else
w. H5 t: f6 g9 O7 ]# p0 x {) v3 ]3 I0 u* j, {. a' V
throw new Exception("Negative Fleet amount ....");
. T8 @7 G: [1 c) _) { }0 ?' m3 B. ^. O i* v
}+ c2 S& i9 O& d* B
else
3 f! x- N D+ E1 r4 H3 i G {+ X$ A4 ^6 G7 C3 k( v6 p
$fleetArray = array();
9 |5 P: T+ F: u* K0 P. z foreach ($fleetDetail['unit'] as $elementID => $amount) r8 O2 R) S' m8 `3 O5 k7 C& u
{ ' y2 k1 x+ Y7 {1 ~; y' N3 z/ Q
$fleetArray[] = $resource[$elementID]." = ".$amount;0 O4 G/ g, ^/ E: O( x6 f& }
}/ O1 m- [) y: a- t6 C( v8 c+ \
+ L1 z0 C5 b- v3 ]
if(!empty($fleetArray))
- [. s% t. k" k {) G6 C5 \4 I6 i
$sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";: G% d# `) h- [7 |6 i1 b
}, B8 N* V% J% B6 @) _5 M
}9 l, t5 O! w$ H; K) J
}6 o* Q6 m4 B$ w4 R
2 U8 q# U& w+ L: r5 l $GLOBALS['DATABASE']->multi_query($sqlQuery);5 x5 z- ]4 j) r+ R6 U x9 f
0 p# P7 S9 N0 d( x3 p+ @ if ($combatResult['won'] == "a")
" ]7 Q) ^5 y8 ^8 N {" a" L$ C+ U; Q C) y/ A% o3 l
require_once('calculateSteal.php');5 E( C7 A1 g, O# A
$stealResource = calculateSteal($fleetAttack, $targetPlanet);
, n' S/ s5 x% W/ j( p }* r& n; X1 Z- O& C9 O
- f& m8 X6 f( [9 m# Q% _ if($this->_fleet['fleet_end_type'] == 3)
- O; I7 Y+ c7 r( ~! y& p {( G! K$ u. Z) ~ [
// Use planet debris, if attack on moons
: x# y) F4 ^! p* Q $targetPlanet = array_merge(6 L7 i' m- ]/ Q3 @( T
$targetPlanet,
0 o6 I) C. l- Z, ~ $GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")
& E6 G5 S) [9 f( ]/ f );& `* h3 O( A& C. E0 D4 r. Y/ a
}( y9 u% A* {" ]' I
+ Q" ]6 {4 h6 \4 T2 {: g7 n/ a9 {! y
foreach($debrisRessource as $elementID)
' b: G$ e. y& n2 l! k {6 r7 u# ~0 B/ r1 M* n( c) u x+ ?
$debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];( K+ }7 r/ x" T/ p
$planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];
# J9 @8 W$ n4 q% G }
+ d: j1 z( K2 C7 @4 w + k- w' O% ]9 }- ~; [( G/ @9 ?
$debrisTotal = array_sum($debris);! f, J" n. O# S1 u5 p" G( l1 U
% J1 v- p! q5 @( {- E
$raportInfo = array(0 `! D2 y% j- F9 e8 U' r' n+ [) Y
'thisFleet' => $this->_fleet,/ n1 ^6 D0 |. {* p
'debris' => $debris,5 T, p7 T( d7 ?. R- g* J
'stealResource' => $stealResource,
9 ^7 u! B9 _3 a& Q( }# X4 S8 n 'moonChance' => null,
" `' d1 _; i2 C. w0 Q" H 'moonDestroy' => true,6 O1 W# b$ j9 w
'moonName' => null,
# B3 A& R' }0 N6 h$ a! W, Q 'moonDestroyChance' => null,
3 X2 `% j& F0 x) H2 x C0 M 'moonDestroySuccess' => null,
2 d, o# ~5 f! @, B5 J9 O 'fleetDestroyChance' => null,
% l. E4 T. j, K/ s4 _% f' R 'fleetDestroySuccess' => false,4 `# Z2 F% V. T- \+ a
);8 J6 }1 |9 t* M: N. W5 t" ^4 f( I: f
% o" }6 x! }; N
$destext = "";
5 }7 i0 ~7 d0 j9 v% o" M
& K+ Z9 c- R1 R1 I+ y$ I switch($combatResult['won'])
2 c- I& b" D- m% X7 F3 A( e {
( }* l7 ~: d7 e1 V2 m" i' c3 p case "a"://勝利
0 u+ Z" Q# }' [7 V7 c $moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);6 y% [5 N- S, N# E
6 R8 d* x& D5 {/ V
// Max 100% | Min 0%" s/ e U# b% X9 M9 @
$moonDestroyChance = min($moonDestroyChance, 100);
) Z8 K+ G4 Z% t' l $moonDestroyChance = max($moonDestroyChance, 0);
4 u. c, f- u) m& l/ p$ i [3 I" P
$ G/ p) `2 n/ Y3 @ $randChance = mt_rand(1, 100);9 m! ]& S. B) S* f) E
if ($randChance <= $moonDestroyChance)
. F v$ ~1 s# z( I; P//毀月成功 |
|