等級:25 - 爐火純青 經驗值:0 / 245 魔法值:14302 / 14302 生命值:5%
升級
  100%
TA的每日心情 | 慵懶 15 小時前 |
|---|
簽到天數: 5755 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
7 I& P5 V* N7 R5 D0 J4 W先進行普通戰鬥. l) `* k6 o) |: r
還有剩餘艦隊與死星
! W' M' r3 v2 y" h* n便會進行毀月
$ n P2 M6 _* Jforeach ($fleetAttack as $fleetID => $fleetDetail). D1 z. S/ i8 b6 m: j1 n& Y
{" ?# v" k1 e: v0 D# j( r- f
$fleetArray = '';
+ {3 @1 P3 H+ ^. ^3 B; D! } $totalCount = 0;3 B& r( F. `; L% g5 j( p4 A
5 f: n+ v5 U" w( M& x, Q& [0 S+ D: v
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);
9 P) C6 x9 L/ U1 r' { foreach ($fleetDetail['unit'] as $elementID => $amount)2 n/ J% i6 Y" `
{ $ j/ W3 P* _' H; E' n) p
$fleetArray .= $elementID.','.floattostring($amount).';';
3 G! w/ }0 T2 c0 {0 F w $totalCount += $amount;4 x# U/ d# Q' x% I/ ^
}
' d; m8 w2 F: \6 U3 p# @0 v. Y 3 W: e- I. Y8 C! H, }
if($totalCount == 0)# d. C' c+ t! v8 B7 B( W- z" C
{
$ A' t$ n$ `1 v- Y w( H, u7 _ if($this->_fleet['fleet_id'] == $fleetID)
" }, X. a" Z' x) h {. R$ e# W6 F! w" ~( P
$this->KillFleet();
8 O2 s G- Z) M& { s/ s4 T) s1 L }9 G, T! q9 D+ @. \' [
else
; {" f" v: ]. k( {( n. Z- b {6 J: C: E1 n- `) S7 w1 L$ l$ X
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
2 B; b/ ?$ _) T" p9 T6 w& ? $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
) t6 n1 w6 j% _; l }
" K6 f6 f* I! v' a, `" i 8 O0 b+ R1 H3 {7 j+ w7 h
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
2 k8 a! D$ V: B. u7 l, a }& Y$ G) [( _4 q
elseif($totalCount > 0). }: G8 M8 p2 f, p0 f
{
3 t! J+ P5 j* ]* y) i $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";+ G& \) y# s! C* \' N+ t6 T0 N0 X
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
3 }1 u1 ]8 i( n6 X/ w" G }
; }5 Z$ D9 U6 G$ q. j else' A P: _+ K' N1 \. u' l
{1 d0 {' Z' u% e2 M& t+ I
throw new Exception("Negative Fleet amount ....");
- U8 Q, o- _: ~& m }
# `* L( [. g) Z }3 V' g& \9 X/ z i9 O2 \
) V4 u/ J& ^) @5 F, s; l foreach ($fleetDefend as $fleetID => $fleetDetail)
N$ K0 h m; g& z2 B! E {
; w) z( h( x& w$ F# R+ e& p if($fleetID != 0)
) ^% l5 g" A& {. X5 r( O {
2 d7 f; j2 T) a, N, j $fleetArray = '';4 d' g; \9 ], M0 X
$totalCount = 0;
- F& J; @4 j' h: o; _# a& _ & O J/ w/ j- A
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);+ Q# o3 @: l2 ^, W; {5 _
foreach ($fleetDetail['unit'] as $elementID => $amount)* i- f' |. T1 X2 E. ?; m U# Q, Z
{ + e- a% k9 e, c* _/ k4 u( K0 F
$fleetArray .= $elementID.','.floattostring($amount).';';4 Y; |3 n4 Q3 z# W
$totalCount += $amount;
2 C" ~" k% b- l2 z# a) w; k# ? }6 u. c# P3 n2 _
5 w' U2 W3 o' S P* o if($totalCount == 0)5 [! P7 q2 m! `# J
{( c7 w5 V0 ^( [0 h$ Z5 X2 D
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
& O4 _$ A6 m/ e( P \# p$ V5 m2 ~ $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";& Z+ m( d3 { A1 c" P6 x& j9 X% N
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
8 \+ T9 h# V& k9 u. [. p* ] }
' J& r1 s: [9 x( t) Q8 { elseif($totalCount > 0)
; j7 B4 a" s t8 Z' v( R0 r {
1 V. u# s, x/ q0 I0 I2 `; E7 X0 G7 p $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";+ a3 L% u( v6 f$ K" `
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";: g# @7 W# \: A6 P/ c2 R. J$ B
}. L9 g/ V& E9 G$ J. o) a- {
else. x( R9 j% U+ {4 B0 k- n- @2 w, Z% o
{0 ^. w, {4 M. {
throw new Exception("Negative Fleet amount ....");/ m9 Q& h+ _3 G' U+ M- }
}
* J, j# N' l+ k }- J4 a; m: S. r1 [
else, x0 o# j0 Z9 B# |: I0 D9 \$ @
{
0 F o `/ e& {9 D/ J3 F& D4 u $fleetArray = array();
# n7 V' N7 ]2 H8 j& Y foreach ($fleetDetail['unit'] as $elementID => $amount)
) G/ o* @. S. Q5 Q {
, Y% a" l* o' C T2 Q $fleetArray[] = $resource[$elementID]." = ".$amount;9 x: G, B) W' {! z! H
} q5 _/ [( }9 M" v
+ v b9 P6 A4 J7 u6 ~. r% c if(!empty($fleetArray))
# X/ n: G* i* W5 a6 X {
& a9 l& t: J& ~3 ~: w $sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";2 K+ Z$ S! e! @" y. \
}
3 u; P7 t! I" G- {( C( v. I) d }4 v8 e$ X5 @/ b9 A
}" E( {: ~9 o* [( {% _7 l
, {+ r1 z& b. x/ h+ G
$GLOBALS['DATABASE']->multi_query($sqlQuery);: l% V0 `* B2 r% C$ Z+ D9 ?1 `
9 \$ R+ b/ B7 @* F if ($combatResult['won'] == "a")# p9 B$ g& I; `2 Y) z5 j
{$ ]( z8 a' D# ?3 ~8 @
require_once('calculateSteal.php');( }6 m$ Z; e: Z& T
$stealResource = calculateSteal($fleetAttack, $targetPlanet);
; | w% Q; U$ B7 X( o }
: {5 y( n8 d. a% [- B+ d j0 @ L' V" O6 p& Z0 Q0 F) y
if($this->_fleet['fleet_end_type'] == 3)
0 t. J# r& t8 N/ G {
9 ]6 [' a- z( f/ G5 ]- g. t5 e( @+ t // Use planet debris, if attack on moons
$ i5 g( d! |: K* h $targetPlanet = array_merge(
* s) ~, X Z' S6 s+ O $targetPlanet,
7 a; j: q" Y: u: o $GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")
# z/ \, A' t& r8 N );
- I# e: o5 k; J9 q1 K: P }6 p0 `) }% d t s
9 {. r- l9 [0 |4 C foreach($debrisRessource as $elementID)7 y' W$ y J7 m0 g$ k
{3 x6 j6 Q/ B" o7 G9 H. w5 E4 b
$debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];) X, ]2 [, E5 ^. [9 h
$planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];# p: p7 I. I: y/ F, L8 y. R
}
% ]7 z+ J! E9 Y( [
- }3 [) O& M% W$ G $debrisTotal = array_sum($debris);" }8 q' O: A+ g5 R5 v0 K& X \( l, [
w4 v/ A9 I" T' B# C- u $raportInfo = array(
" q* Q7 k3 z, L. f5 X$ }, t 'thisFleet' => $this->_fleet,
! }2 w, x8 F8 T7 D5 x 'debris' => $debris,
. G/ U2 e v. r$ L 'stealResource' => $stealResource,
+ O& C9 g# X* D+ H9 w& I 'moonChance' => null,
3 f5 }& O0 M! Q. C( @7 j 'moonDestroy' => true,5 X P; x8 j" E5 p! M
'moonName' => null,
& {! D p# L6 w1 v- t6 E* k 'moonDestroyChance' => null,- _& E3 p# x& S0 A5 ~
'moonDestroySuccess' => null,
* m, p: ~- \3 L' e# G: a* m 'fleetDestroyChance' => null,$ h1 T y" M9 c' N3 \
'fleetDestroySuccess' => false,
; m9 m9 c1 @: {) M# z* x );
. P% N& P, W- \% C- T" a3 r0 V' H2 d$ G
$destext = "";
1 x+ V' K. B2 a4 x. N' _5 L 5 o( q( R4 _9 f6 p- r# t& d s" X; O
switch($combatResult['won'])7 p' }9 R# K8 O4 I3 g8 k
{6 M* {$ ^- { U+ [
case "a"://勝利
4 I9 ^1 q7 g' k6 d& D& Y/ W/ l, l& ^ $moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);
+ n1 Y; d4 }0 K" e2 u( x0 I 0 j! I$ t3 L" T' i: `! V
// Max 100% | Min 0%& e8 H+ [* ?3 X3 U
$moonDestroyChance = min($moonDestroyChance, 100);6 q" G, s2 H% b
$moonDestroyChance = max($moonDestroyChance, 0);, V" Y/ r* s( Y3 y6 T2 E/ q
% f% S# \0 h- m1 N! u% X $randChance = mt_rand(1, 100);" T: m& ?3 R9 r% A3 L p5 ]
if ($randChance <= $moonDestroyChance). l) [# D4 ?* n' R+ N
//毀月成功 |
|