等級:25 - 爐火純青 經驗值:0 / 245 魔法值:14063 / 14063 生命值:5%
升級
  100%
TA的每日心情 | 奮斗 半小時前 |
---|
簽到天數: 5667 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
6 R C; a7 ?+ E+ Y, b2 c先進行普通戰鬥
" v* |9 }6 s6 R( F/ J" k. D還有剩餘艦隊與死星
6 n6 E0 k/ L8 f8 [* _; S+ t+ g2 p; Z便會進行毀月
) K# T* w* c( I2 u* Y2 X( Nforeach ($fleetAttack as $fleetID => $fleetDetail)
2 B% U9 f8 x0 i% n2 T {6 q5 \+ w- \% R
$fleetArray = '';
8 |( H' D$ h1 P $totalCount = 0;
2 o& b9 _! Z7 |+ M ; u, D! V& C, M1 n5 X
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);8 n# |, R5 {# C' }' `/ Y y- z
foreach ($fleetDetail['unit'] as $elementID => $amount)$ c H1 U4 N4 l3 o5 _
{ + k6 ~. i3 `$ r& K, D2 }
$fleetArray .= $elementID.','.floattostring($amount).';';
) a6 c: Q) v p $totalCount += $amount;6 N% H; t d$ n- S3 ~# U
}* J( {9 o7 k% p' y; z" K% A
6 l* }( s4 J* t) t
if($totalCount == 0)* F# B' ?: h4 E1 |5 z9 b- k, w' y7 d
{
/ r% a! r+ J! E7 U$ n if($this->_fleet['fleet_id'] == $fleetID)
6 M* H* e; N) ]3 ?" K; K {( S/ L, g/ G, e: ]8 O/ h" H/ _5 t& ?
$this->KillFleet();
2 g2 [+ g! t- I. j( Y. Y e }
" L# O& ^/ v2 C2 W6 o else
. b4 r/ T l9 a* p; _( r) I; m8 Y; G {
- k m0 [; L' C C2 g9 q! @3 y $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
4 D8 C% V/ f2 K/ y0 H8 C $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";, d- E" Z) x; y8 F5 G
} M1 O) j5 ~- B) Q
' u$ B- ]& b& ^0 v+ _' C) {! B $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
0 B+ X1 W9 L) K' I' R" M$ w, I, ] }$ l) Q" ]( Y/ }, w1 U$ y% m3 ^
elseif($totalCount > 0)
0 l1 I: `5 m$ O# k e {
" U1 P5 z9 L! \3 W. i' M" M% Z $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";0 z5 e- j* z# x; t, Z2 D
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";' R* R6 w! }- J9 z, B* g% h+ j
}* L& N2 V4 \+ a: r! ]2 Z+ m+ x
else5 i& q7 _1 U/ E0 ]
{
7 s8 H9 N7 h Z5 Z& Y throw new Exception("Negative Fleet amount ....");
$ x6 s+ _6 |# B' [) m" z" D& Q- p }: O7 k) H( l4 `5 |9 F
} J3 U5 M, y. K% d# Q
0 I+ d m% ~& z9 m+ H% `) F6 D foreach ($fleetDefend as $fleetID => $fleetDetail)
* \7 T8 Y# _5 `5 c {& }1 O# S8 d1 ]/ J' ^2 Q
if($fleetID != 0)
: u0 d5 p/ n* X, r, l" ] {: ~& y- E3 m1 ` t; r
$fleetArray = '';" i- C; `: t- |* [7 ?
$totalCount = 0;
7 S* \( w" n) y& c i , d4 f1 i1 Y$ L' A: ?
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);) ~0 f: H7 p, [! K
foreach ($fleetDetail['unit'] as $elementID => $amount)
7 V6 X/ {7 I6 k1 e4 K/ s4 Q' N { # r8 S& _$ R2 d$ G
$fleetArray .= $elementID.','.floattostring($amount).';';
4 i. a9 X( N; l' S: u, t+ Q $totalCount += $amount;4 J& n' \2 b5 e5 I7 P% T! p ]1 y
}5 j, D2 [0 `$ X& J8 Z* w8 A
+ z# h% n6 \! G& y& z# t8 q if($totalCount == 0)
$ m* m/ V, f, ]* e3 a0 D2 L {: i$ E: {( ?1 b% F; L, J
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
8 s4 w. C- s1 b5 s $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";9 A& |) j! V k* ?2 h0 l
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
- z- m4 v0 [ h8 r3 R0 Q }! b1 I- j0 P) F* ]+ o" W- f5 b
elseif($totalCount > 0)4 b" U1 f( S4 z
{ ^) o+ X% G9 ]! V2 z2 Y) E8 O
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
8 M4 N+ B$ ]4 y' k( `! f* U $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";
. ^/ R, `6 u9 F. {0 i: ~ }6 Q5 r" d( J8 x7 Y6 `
else/ y. H* u3 X+ z+ I. l
{4 S, o; q1 [1 L
throw new Exception("Negative Fleet amount ....");
- G' J; w1 u! a+ [ }* F, f# G2 ~9 X: L. z$ t, O
}# ^: H [/ x, Y% ^2 `
else
0 q0 {9 I2 t6 D) ]! Y# L {
$ ^# K. Z7 i" t2 `$ K $fleetArray = array();
' T. a: f0 @' l8 Z! S foreach ($fleetDetail['unit'] as $elementID => $amount)# \7 {) b4 V4 D3 G5 _1 b
{ 6 L9 g" m1 p+ Z/ Y8 m# Z/ T1 Q
$fleetArray[] = $resource[$elementID]." = ".$amount;
: y& j# d3 @4 f. N( w: l }: {. O! d0 K8 P t
( i' o. z+ P* X% C if(!empty($fleetArray))
, Y& }4 t) j! \2 H) J, y {% O) S4 N9 ]" M t+ C6 @! i- e* M% }
$sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";8 L4 d: @" D. e7 \* i( q' m
}* H( }4 V" ^$ t4 E( j
}; M6 Q# Q" a5 g6 ]. H
}
4 @& {- D; ?5 U1 I' ` , U# I: D/ f+ f% B
$GLOBALS['DATABASE']->multi_query($sqlQuery);* N$ m3 s% J# x+ ^: o: {" B" i; y
' b/ J: @9 P3 }8 l& ]. j if ($combatResult['won'] == "a")0 ^! o! l. K h# r C3 H
{, Y5 t5 u( t6 d" A$ v
require_once('calculateSteal.php');7 W/ r4 t/ [1 V" J
$stealResource = calculateSteal($fleetAttack, $targetPlanet);
$ Z9 i% l6 C* E, C }. n3 I, l- f/ H
2 N2 ^) v6 P& e0 {8 c if($this->_fleet['fleet_end_type'] == 3), ?- g/ }# O% j @, f0 y) x5 ?0 f
{" I$ b8 E' {3 w9 ~. J Y6 R7 v
// Use planet debris, if attack on moons
& ?& h7 Y6 q: I- G8 j $targetPlanet = array_merge(0 l. S s9 \8 ^; w2 A. ~
$targetPlanet,' i" e; ]2 D$ k$ _6 u# A5 |
$GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")
$ }$ @+ c0 N9 E P% N( l );
/ k0 O1 a+ K0 s2 q7 b }
; D* L F0 Q. E! |; {: O , Z+ s1 S; z( P3 Q+ z+ j
foreach($debrisRessource as $elementID)4 x- F4 L$ K$ k: ~2 l! ~
{! s1 J& F4 g! R# V/ N# g+ a( h4 m
$debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];
; r& b& u0 l% j B a+ _& _8 ~ $planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];
, ?4 _7 m7 b$ C* H3 W0 F/ z }2 d' C* a0 S; p4 W% O5 ?$ |
5 r& N$ H" V6 k, j $debrisTotal = array_sum($debris);% \, i& M) G- U x9 p% \ S; o
' u3 V4 @) t0 Y: s4 ] x( F0 y3 T
$raportInfo = array(# E( k X* f- j7 a5 N' n: M- R2 ^
'thisFleet' => $this->_fleet,
! T [4 k1 ?1 W 'debris' => $debris,% y3 g9 |! B4 t; W9 P( h/ f
'stealResource' => $stealResource,
; G9 ?; M. h1 M 'moonChance' => null,
$ \# K3 R( T a' ] l 'moonDestroy' => true,( {* C% Q2 L5 A6 t4 J3 \' r
'moonName' => null, ]8 h) F, x& Y& Y' ?
'moonDestroyChance' => null,7 w! N1 W: i" s
'moonDestroySuccess' => null,, T: o: w/ ~' n" J0 ?2 [
'fleetDestroyChance' => null,: _5 K u' K6 \, G2 |' H) \( e( o) D
'fleetDestroySuccess' => false,/ m- j, R3 N: }6 Y" G
);
- ^* ^+ N! x" a2 G+ F* j v
, b, G% K5 K! K! S) | $destext = "";
7 S" B- L/ l) D* m+ A2 V - r# D8 ~0 s& ?2 U
switch($combatResult['won'])
8 c* C b2 z& Q" g {) Y \, E5 v* m7 ^" C) f' H+ o* }7 c
case "a"://勝利
& H1 ^, _; S. k $moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);
% T7 e& Z3 v; B0 P! F% G+ E: O # \6 V6 T+ B% a8 E! S+ b
// Max 100% | Min 0%( ]$ n* |. E+ r: j' s! c" M6 y
$moonDestroyChance = min($moonDestroyChance, 100);5 g! W1 U0 w% ^( f7 E
$moonDestroyChance = max($moonDestroyChance, 0);8 r5 Q: \* q+ H/ b, E, s
. f2 E! v" U7 O/ M, w* [
$randChance = mt_rand(1, 100);
! e) n5 u& r/ z8 V ^% O2 n" `if ($randChance <= $moonDestroyChance)7 r6 W8 _# |) j' t/ Q
//毀月成功 |
|