等級:25 - 爐火純青 經驗值:0 / 246 魔法值:14891 / 14891 生命值:6%
升級
  100%
TA的每日心情 | 奮斗 昨天 00:11 |
|---|
簽到天數: 5927 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
( y1 o" U. n$ r/ Z$ D3 x) \3 z8 q6 o先進行普通戰鬥
3 g+ @5 Z% T* L/ Y還有剩餘艦隊與死星$ S5 F1 _- S) u+ z* ^4 r4 j7 ]0 q
便會進行毀月
1 {9 @ c2 w0 p! M0 R: t& o8 Oforeach ($fleetAttack as $fleetID => $fleetDetail)
3 u: z3 w. O; | {
3 J6 R$ c1 z( }) e& p8 z $fleetArray = '';$ k: v+ f+ s5 M, r6 q }
$totalCount = 0;; ^8 u) N/ g4 n$ o- U0 b- }
/ C& ]8 a: n/ w+ q! e; x $fleetDetail['unit'] = array_filter($fleetDetail['unit']);+ T7 D7 A1 B2 w5 n, c3 M+ F. j+ F2 Y
foreach ($fleetDetail['unit'] as $elementID => $amount)/ [4 E) q4 V: ]# h" \ U
{
: B8 C( X8 D/ r3 { $fleetArray .= $elementID.','.floattostring($amount).';';- c& y$ a7 L4 a2 u' b+ Y4 l
$totalCount += $amount;
, E' a% b! T# i0 Q* Q0 n7 X C }7 R; \% g% w6 E- p) h: n, U2 h/ I1 b
! q$ w- y' ^) X0 f
if($totalCount == 0)' S* D) d9 o! F6 @; p+ ]7 _/ w) B
{/ q; ^- W0 c$ S: r- N# }2 F( O
if($this->_fleet['fleet_id'] == $fleetID)
% z* g* S+ y" H" G9 l0 L3 l {
# g# e# ^) b, U/ K; f2 |0 y $this->KillFleet();# ?6 Q2 M5 D% P. S6 v
}
" Y. E. L9 l; S else
- n3 F B. S" w2 X6 \, V$ r {
% X: G! A( ?6 J3 b' m* J $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
3 a ~+ X1 [; p/ m/ i3 ] $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
- `/ b0 ?. e. J2 ^* \8 z) F }
; O9 d2 d* ]2 q- {0 c- z4 `
. t1 _" I C) Q! r% h* z5 J $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";1 M/ b: m; v$ Q5 e' Q6 v
}7 k; x+ Z/ o- I7 n( g1 G% @2 Y
elseif($totalCount > 0)
+ {8 L6 f1 s# r$ e {
4 ]$ Y- s `" x% R $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";' n, p5 y% H* {* o0 U( g
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";8 `- u2 O- Y# `- |# b
}8 y! @( N9 i1 `0 ?% O
else' p- m0 Q1 B$ O- x
{2 ^. j9 \5 O( F8 |; e
throw new Exception("Negative Fleet amount ....");% `- a1 `) X( j- v" Q3 A
}
) S' H/ I" j1 h7 ?4 _# P }, j e" i0 d& o, ]% F
' o6 _7 M* R8 ~& @4 w$ o a foreach ($fleetDefend as $fleetID => $fleetDetail)
/ u3 t8 m; j* ?7 C4 L! X {$ ^ E+ i. t K! y/ x
if($fleetID != 0)4 r$ L. u u. [3 N( ~+ |6 b
{5 Y- }3 U9 d8 m) w3 P2 q
$fleetArray = '';7 E& L* h0 z6 B! P8 j3 d+ d
$totalCount = 0;
& {' a, {! ~0 E6 |) @* r; F
8 O+ A# K2 R3 A7 ~$ X7 R1 F $fleetDetail['unit'] = array_filter($fleetDetail['unit']);7 J8 C6 `; D; u4 n
foreach ($fleetDetail['unit'] as $elementID => $amount)' D/ O* a; \; d4 j, S
{ % b2 r1 K' s" l; k+ ]; T( D2 h/ K- k' I' }
$fleetArray .= $elementID.','.floattostring($amount).';'; G0 G& \/ i5 n- o6 ~+ A
$totalCount += $amount;
7 H# w. Z' v+ g5 \! o }' |1 e, y% ~6 X5 _# ~. g
% ]7 L; u6 R# E! O2 e( I
if($totalCount == 0)
0 r6 a- @4 R7 ~6 N7 N2 E6 u3 R8 | {
) m E* d7 L/ T0 u2 b $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";1 L9 ^; m* T1 l# j1 R) s
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
- `4 v( I# U( ^" C h5 @ $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";/ b2 p' _' f, u0 |0 E/ Y
}
6 M% p6 i2 e) O& f* ~ ` elseif($totalCount > 0)8 H5 p- P- ~2 A. n/ ?/ U E
{
' M5 t# m$ u" h* N+ _) m; Z $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
7 \, H8 b& Y7 U1 W3 [! e $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";3 B% o7 X, L' I
}
$ y- w9 T: v( h4 |5 S5 b else
, @) l9 ?) g7 k3 K4 _) W ~! l6 \ {5 l- r) d+ g' Z1 y k) |1 p
throw new Exception("Negative Fleet amount ....");+ H R$ q% Q. w' a* o3 p
}
, ], i9 h1 s/ u1 ?( C }
2 f/ J- R- p e! ?) W3 u- U else8 @9 T9 N" w* T
{) w; M1 s6 T: ^7 w3 U" P) a8 b
$fleetArray = array();
4 {+ }- y5 M# n+ }' |2 Q foreach ($fleetDetail['unit'] as $elementID => $amount): V& f* v- d8 z
{
! w# i! H* y# h $fleetArray[] = $resource[$elementID]." = ".$amount;
- z" }4 G* X$ r5 { }
0 d- c( k. w, e: g
( z& l9 b9 \$ e0 a* {9 X. d if(!empty($fleetArray))
/ ? R0 @/ u3 S: V# _5 P {/ c) z( d- N) i7 g' r: S- ]
$sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";
) B# t# C( h. s1 W% o } n# ~! l* T2 v2 m! q' {! b* \- C7 K; m
}
! C1 ]5 Y) \4 F L }
- _$ }1 L! f5 r. y+ t/ p 8 |/ ?% _+ _" R* |6 h( ~( V
$GLOBALS['DATABASE']->multi_query($sqlQuery);
' E/ S. u5 }( y9 E3 ~( w0 B ) A" l$ C$ d$ |' i
if ($combatResult['won'] == "a")# p+ I7 c5 k- j+ u
{4 u' x9 ?+ ]5 t
require_once('calculateSteal.php');! N W! l) e% G- y! _$ E2 K
$stealResource = calculateSteal($fleetAttack, $targetPlanet);
) g0 b& M D" o1 U. B- |1 A }* \$ g1 o0 O( j! c
# K' h+ e6 I! j, q
if($this->_fleet['fleet_end_type'] == 3)0 H" L4 }9 ]& p( q; V1 E
{
3 x& E) ?9 `5 _3 [" N // Use planet debris, if attack on moons
& V, @3 \' ~' w0 J0 ?& B $targetPlanet = array_merge(8 l5 T- D) d8 x; Z& J# O
$targetPlanet,3 ?9 x( u$ z3 H
$GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")/ w3 p7 c8 r' `/ M! i4 ~5 T! ], f
);
' O; d6 B0 f! }. h. R2 I+ ^ }
; j# u, o1 d4 a6 u& I+ X; B( C
# L" W' P9 p% e( R; B$ f2 y- e) d7 g foreach($debrisRessource as $elementID)
+ D+ {) A% }- W9 y) @2 z {6 }8 c3 [" U) t# v& \
$debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];
0 q6 v( g5 U$ D. a& f $planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];
& p1 ?& X( a% b. m4 G }2 [; q% } G8 ^# L; S& c; s x
5 c# i( w$ c2 k" ?
$debrisTotal = array_sum($debris);
& L% t: }9 N. s% E& i 2 Q5 F; q1 I) Z& M8 G$ I9 u
$raportInfo = array(. W( o4 q x& u) G4 \) R
'thisFleet' => $this->_fleet,
3 Z* \' B0 e; o2 {7 d9 D 'debris' => $debris,) }9 x0 @5 }. ^% J3 R8 j
'stealResource' => $stealResource,
, _) Q. D5 B. C! w; e7 o. z 'moonChance' => null,; c; r6 o$ ^' N: z6 ]
'moonDestroy' => true,
- r8 F- _. d- @9 {$ p+ V# P6 T 'moonName' => null,
3 L+ [7 a9 q& U1 h# r$ x 'moonDestroyChance' => null,% s4 p P* L2 i& `
'moonDestroySuccess' => null,# @/ C9 o! _# y
'fleetDestroyChance' => null,
; U, }% z/ ?2 J& P# ] 'fleetDestroySuccess' => false,
3 V3 E. N5 V- t0 _3 G# P* O );
2 _0 C) `- e$ [' E0 x" D
" l0 ?4 S+ ]1 f& b $destext = "";
" w- T4 @$ m- O$ ?( o 9 n2 p& v6 w2 {& ?. q" O
switch($combatResult['won'])% |4 J. y7 T- q9 T% U- J! ?7 \
{ A! P% z3 Z( V6 W" m
case "a"://勝利
7 O' {2 t3 s% c$ E" z $moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);( K& a. L+ X9 r$ n( \* l
: L: q# g6 P# X
// Max 100% | Min 0%% d( j$ s' y$ Z" D
$moonDestroyChance = min($moonDestroyChance, 100);
: |) }8 N. ]' H* ]0 f: |5 I $moonDestroyChance = max($moonDestroyChance, 0);
3 X5 }9 d/ \) N7 @4 d
& i( A" ?# t3 U$ J, z7 Y7 B$ V" I $randChance = mt_rand(1, 100);- a. q# j' R0 h+ o# i
if ($randChance <= $moonDestroyChance)
6 A, `! H; U; j; h8 P( I& o# P6 f' k//毀月成功 |
|