等級:25 - 爐火純青 經驗值:0 / 246 魔法值:14747 / 14747 生命值:6%
升級
  100%
TA的每日心情 | 奮斗 8 小時前 |
|---|
簽到天數: 5881 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
5 N4 w6 S7 A% Y+ f) m3 B. G- o
先進行普通戰鬥
8 g5 L4 I: r4 `( u; U* f/ r還有剩餘艦隊與死星
8 D. ?7 {1 {2 E# d便會進行毀月 n1 ~- N6 V' n0 l# q
foreach ($fleetAttack as $fleetID => $fleetDetail)
- M2 ^0 {6 J4 C) W- ]3 x6 S* L- S { v+ O x2 a$ g+ y
$fleetArray = '';; D5 C0 t$ s3 `4 W
$totalCount = 0;
+ g( z3 b4 h% ]) L; y
9 {4 L; @ O( a $fleetDetail['unit'] = array_filter($fleetDetail['unit']);2 e- E2 Y% k. q2 D! U
foreach ($fleetDetail['unit'] as $elementID => $amount)8 z) t. m* P- I
{
% y* C, {0 }& R' q% E! f $fleetArray .= $elementID.','.floattostring($amount).';';
* n" I) D3 i K! |+ M$ O. Z $totalCount += $amount;
8 J2 b% a- ]9 s% ~# O- D2 U; i& e }
# `- ?) y% g( z# j
! {4 O; d0 m# G: V! h. z' e7 ] if($totalCount == 0)
8 R0 \+ ^+ `7 p9 k {
3 b- T2 D# a; y l( {* H if($this->_fleet['fleet_id'] == $fleetID)5 q2 W7 o* `' R2 U
{* m4 U- n- k$ I' m8 P3 ]
$this->KillFleet();# C4 w7 x4 B6 p6 P
}& m6 K6 b- l6 u% }+ y) u" n
else G, Q, W. @1 ~# l4 J. T
{" k! V) [0 _5 c( g) U1 @; f
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";2 N9 u& x. c$ D3 k4 ~2 T
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
# @. q6 S3 s3 @) u }3 A( `; Q \; G& _" m3 o
/ V' o; I# a' `5 a7 t1 ^; R
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
- E; g1 q+ Z" m1 f6 F; r }/ M+ p4 d1 v, Q, T, {5 o+ o+ t2 [
elseif($totalCount > 0)
& j7 S. }. r* M; \ {, L, d; o5 ?2 O) c$ @! z
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
3 ]8 k% r, O* U4 p( K $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";' ^) y8 R7 h: u& _
}+ O4 M9 R& P J, b5 } K) S
else
/ h8 z2 u2 G) O% U! E6 G {
# ~1 o- S7 t2 ?3 ~ T throw new Exception("Negative Fleet amount ....");
9 F. y f$ l" ~! ^' a2 [+ S }# |8 {2 P# i/ ^9 d) G8 i8 r
}2 G% L: A/ M4 L$ J
. o4 s, c7 Y5 p3 O' t
foreach ($fleetDefend as $fleetID => $fleetDetail); e7 z+ E8 |, A
{
. g; n* v+ V2 ]- K- v6 n' Q; B if($fleetID != 0)1 Z# c. F; {& }; f
{
5 k( V. J) |8 S; A) p: s0 [' @ $fleetArray = ''; ~; K+ U3 d2 ~6 _( x- D, @9 D
$totalCount = 0;
. Z2 r! s: [# S4 i% I
- y; E$ ]+ ?, F' ` $fleetDetail['unit'] = array_filter($fleetDetail['unit']);2 n# G2 N5 k" O7 i4 ~* J0 }; e& o) T
foreach ($fleetDetail['unit'] as $elementID => $amount)
2 s2 R s$ \3 K* N% r% {1 u! u {
; r' T$ y& h2 q* x $fleetArray .= $elementID.','.floattostring($amount).';';
; {4 p# e0 s1 K1 j* c& v $totalCount += $amount;) _# A3 _. s5 x$ z# G' _
}9 g" |& b1 @' n) i' l
- n# `5 ~/ y- p2 J4 k if($totalCount == 0)' `# }5 l' f" }0 l
{
! h* a1 Q1 \3 L0 a5 U$ P* s: } $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";, h/ Y8 K1 K6 ~/ h: A- K" X
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
/ r, w# V+ q, k, Y( q, r4 ? $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";6 F0 v5 t/ j/ _9 ~: _
}2 @$ L' }5 [+ L4 x# J
elseif($totalCount > 0)4 Q8 c8 ?7 [2 H* Y0 s# `9 C
{
3 ?" P; R6 |: v) V( t6 { $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
. ?! K6 l8 }* Y0 }; K $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
: G# ` L, @9 b$ z }
$ @& o: P5 O( ~. D$ J else
8 m( t- M5 K7 Y* [5 o9 C {
0 U& b( h; ~( j" o/ u) ] throw new Exception("Negative Fleet amount ....");& }& @% B- d2 c# s4 O" @8 q8 W
}
4 H' c' d Y) A1 e }# c: R: k+ Z/ ]% e
else
* g, {7 c9 b3 s/ U6 N% x; j' q {- \) r% }* i: f1 r8 j
$fleetArray = array();4 f6 z2 s" |) |# m
foreach ($fleetDetail['unit'] as $elementID => $amount)
6 X0 S7 ^! n2 v6 T1 \1 @+ h { : ~" R7 O+ G! _0 A! n
$fleetArray[] = $resource[$elementID]." = ".$amount;1 Q! z# y- k- I# F8 k7 c
}
, {( Q3 u+ x; X |+ L$ A7 Z
: ?" [4 a6 O3 E& V' i( @; _* Y if(!empty($fleetArray))$ M9 `. t* k0 Q7 T9 x5 l
{+ C/ j) `# p+ f& _3 s+ ]; |
$sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";
; w5 H6 p+ o y4 Q7 L4 y* A }: P3 [5 c& Y/ n. a9 p9 x
}
/ s4 A! u" e ]) J0 P9 r: I }
+ Z- \+ V$ v) L# V+ {& j + d9 n2 }. h0 D# E
$GLOBALS['DATABASE']->multi_query($sqlQuery);
2 y- b) d3 \/ J. F * ~ Q' s p1 g- } @
if ($combatResult['won'] == "a")
' _: h6 l" x1 P {
6 T( M( R0 L! k. _7 T require_once('calculateSteal.php');8 s3 l( l9 d- b* \5 |3 r
$stealResource = calculateSteal($fleetAttack, $targetPlanet);
) y0 I1 l) G$ K6 x/ f w }( Q4 s2 v1 g5 L5 g. p# B
/ y5 W6 I' Q$ o7 k* L& [* g7 q if($this->_fleet['fleet_end_type'] == 3)
$ k+ b, y3 e1 [; O {! L/ r6 O% X* a
// Use planet debris, if attack on moons$ K6 }7 n4 _3 V0 o4 a
$targetPlanet = array_merge(
* J5 Z$ R) e% P" P, p1 h' l $targetPlanet,
# a" G: V4 D* X1 @& c7 l4 m) Z $GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")
. W0 s! ~: p1 f$ R K6 G );
6 f$ T& @( w/ ~8 j) W8 u9 M }. F4 i& z* _5 c* G n O
# T6 J& o& ]$ ]* r4 Q foreach($debrisRessource as $elementID)" D% c& X5 X6 o; [% Q4 M. n
{( x5 R# K8 M7 V _/ d$ X4 q0 [
$debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];1 j0 l: v/ M7 {! I7 u0 \
$planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];
7 I3 b. k) m* l }
) \# |. k6 V+ S: @( d" `# O- E4 u
; G& r4 Q4 P/ g$ w+ C, k8 T/ _ $debrisTotal = array_sum($debris);% L, D9 f1 n. B4 N8 G
/ p+ K' M6 R4 ^' u $raportInfo = array(
8 e1 N8 }6 W5 A6 O 'thisFleet' => $this->_fleet,
7 Y! e6 U0 }3 ~3 ]+ Y Y 'debris' => $debris,
A! C4 K% g: f- z, D$ G" Z 'stealResource' => $stealResource,) O6 S/ n/ k% O, I+ [2 h a
'moonChance' => null,1 [# G r( t4 v8 X. e3 T1 @
'moonDestroy' => true,
( I( {- [2 O* h7 T' } 'moonName' => null,
6 e& V% ]& b. H5 Z, @: F4 m 'moonDestroyChance' => null,
# |4 g- W- E0 q: D& A; |! \ 'moonDestroySuccess' => null,
7 d% P: W6 G% g1 {# H 'fleetDestroyChance' => null,. v- N+ X1 a; `3 w
'fleetDestroySuccess' => false,
7 W- F7 x; S9 H# j, h* Q ] );- I* }: J9 g' K! P
% h. i) w. S5 ]" v1 ^' N $destext = "";/ U8 s# G6 v$ Q& y5 \
8 D+ H$ p; u. ~: A
switch($combatResult['won'])( J: e! A$ o2 W7 W) C: G4 |& a+ J# t
{
. @4 o6 h, S0 s' v( T0 b* M9 U case "a"://勝利
3 h8 p8 { W1 m! G& X h) p $moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);, N$ j" [ C S! @ C
/ z$ d- D j! ~ a. d0 _/ f
// Max 100% | Min 0%
" F5 L' d: N( P3 z# c/ F $moonDestroyChance = min($moonDestroyChance, 100);
. \; e# ?9 P, u* G: _( W% K $moonDestroyChance = max($moonDestroyChance, 0);
/ K( }) c& j K& j" j/ y
% g. k3 B# w% M $randChance = mt_rand(1, 100);9 J. q4 Y8 P! `7 S/ b
if ($randChance <= $moonDestroyChance)
3 H1 ]( T+ ?0 m//毀月成功 |
|