等級:25 - 爐火純青 經驗值:0 / 245 魔法值:13940 / 13940 生命值:5%
升級
  100%
TA的每日心情 | 奮斗 昨天 14:52 |
---|
簽到天數: 5627 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
. |; m. X4 }- X% [7 e; K
先進行普通戰鬥8 X% D, e5 ~' O# q, j/ J
還有剩餘艦隊與死星3 B. ?% t0 ~" ^( y' C
便會進行毀月
- ~+ f- R# l: K$ u( C, xforeach ($fleetAttack as $fleetID => $fleetDetail)% V/ n8 e" d* K% t4 r
{2 ]6 X8 y8 t/ I( ]2 V9 u+ k
$fleetArray = '';
5 @, d9 r2 d# I0 q8 X' S $totalCount = 0;
7 J' _" L1 \/ Y" y/ e# F# L
6 d: J4 @ g( L! D $fleetDetail['unit'] = array_filter($fleetDetail['unit']);! n6 F* j8 v9 I1 G/ \
foreach ($fleetDetail['unit'] as $elementID => $amount)2 b/ \3 m2 Q& b: v. q1 _
{ % z- j: c$ O# m, M( M+ `% _ D. U
$fleetArray .= $elementID.','.floattostring($amount).';';5 O8 [5 K1 f# R. r! R
$totalCount += $amount;3 W: F- A: C; R& ?" G
}8 @# k- |+ @1 C* M
* c2 F0 u. m7 E7 Q" Y
if($totalCount == 0)- y% U$ d, j( D- C
{
4 \: m! B5 I) L4 q1 x' W if($this->_fleet['fleet_id'] == $fleetID)
; \6 ^' i5 K) a% o9 `" w {
( e+ c2 e/ K6 ~# J. }9 F @ $this->KillFleet();+ a+ ]* }5 R4 ?
}
) g, Q6 H7 b8 t- [5 K else
4 T) k, h, ]0 \ {6 r0 @" O- S6 k# N- q- P0 P; F' S
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";# e8 \2 g4 h9 R) B. \; ^
$sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";: {: Y' T" f; W+ `
}
! W) }! Q# N) G" z L( M( u
0 u4 Q* l% ~# e3 c) o8 h/ c $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";) |+ P, I! z3 J
}
* S7 f" U5 i# u) q- B9 a& X& g elseif($totalCount > 0)4 j- S# d( p, L- Y4 d
{" l$ L9 @( w3 t2 o
$sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";1 w2 a- k8 j. O
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";6 R1 ^2 d1 l. w4 H, G
}7 N% o0 ]+ E8 q8 D3 ^
else- B$ K' _/ N& X7 F/ F
{, H8 L! t6 E! V; e; g( B
throw new Exception("Negative Fleet amount ....");
0 W) |% z( J, k5 K& | }8 G% P! y) j* d" f
}
% Q0 P# U7 v$ j8 C6 Y7 [
5 X, z% Z- i% D/ z( L% m foreach ($fleetDefend as $fleetID => $fleetDetail)
7 @+ `" ?/ ?- c% q) T1 F5 V% z {0 L% H& [. `7 ?9 C9 m; _: i
if($fleetID != 0)1 s; u) p# _9 K
{
' o8 ^3 I! |! L2 q* C $fleetArray = '';1 Y8 V. F' U# x. S
$totalCount = 0;, I+ _" M1 \, b; n6 B/ ] j
* {) u: I! e; q, f
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);7 X' B- N' U8 m# G& v* K
foreach ($fleetDetail['unit'] as $elementID => $amount)% Y$ J+ p( c+ `1 w3 ?, A7 q
{ + m1 L' C2 o7 V( c3 }- U
$fleetArray .= $elementID.','.floattostring($amount).';';9 p/ g7 {' {. z8 E
$totalCount += $amount;
* P8 n) m1 T$ A }
1 |9 I; a6 L) M( B ! q7 s3 a& G9 y, b8 I' ?5 @
if($totalCount == 0). e2 X' g; I+ m; n* m
{% c) R" d" J1 {' D
$sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
( j9 [% ^6 W) e6 `+ v: C $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";1 m, T2 _! T7 h' ?
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";
$ p2 N8 ]2 F3 c+ @ }( f( K. |5 i, u2 `
elseif($totalCount > 0)) g& O* h# q; k) C" C5 ` k9 U8 l
{
: Q- N' U8 [+ L $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";# ~4 u( B3 ^. f' Y
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";: O( W7 j, p: O& |+ ^. y- N
}
: |6 U7 R& s* S O0 b else
" i+ R+ }( x u# G {0 ~7 i2 U8 y3 ^7 g# s$ t
throw new Exception("Negative Fleet amount ....");3 w% h- q, A. a6 U( v% h0 \
}
, K: _2 `" `0 U" P1 S }
) E9 \1 A9 ~' ]9 q! r1 ?/ r else _7 L& ~' W/ {7 e* c5 g9 i
{; p8 p p2 G/ a
$fleetArray = array();8 L! [. h. |& W$ A& c: q7 p
foreach ($fleetDetail['unit'] as $elementID => $amount)
5 B+ C# J, e; {+ V. U { 4 i, s6 \$ [, k9 s8 @& O# P6 `
$fleetArray[] = $resource[$elementID]." = ".$amount;# }3 e* o+ B1 m$ k
}
; g& h3 G/ {& k : k+ g& K/ l1 e7 G' ?1 ]& @# m6 v) g* N
if(!empty($fleetArray))
, A5 h5 ~" U, V: G {7 P8 U! O& R4 w; h7 E9 n
$sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";3 M! ~4 R: J( B$ P; M0 {
}( B Q" b0 e+ j4 z( M* ?
}3 g0 T. D/ p8 ?- \
}
' A& N/ K( d/ y- ~2 d
. U' M. o1 g: x R $GLOBALS['DATABASE']->multi_query($sqlQuery);7 g9 s: `) |( M; {2 G
# s2 S/ N6 `! y: X( C1 [
if ($combatResult['won'] == "a")
( }5 @+ q% T* Z {
5 ^+ [! p; W9 w- P7 [ require_once('calculateSteal.php');
5 }& ^1 i7 J, _! Z $stealResource = calculateSteal($fleetAttack, $targetPlanet);4 Z4 ~6 ?% i% K$ }% O
}
+ h" Y! Q4 }( d; v 7 Y& W6 ]" o2 T
if($this->_fleet['fleet_end_type'] == 3)
9 p1 J( C, z- n/ v8 L {
+ [6 f7 v( f4 {& |0 M+ l: j; q // Use planet debris, if attack on moons
/ W# e3 m4 e+ d) ~ $targetPlanet = array_merge(
D; p) H& q" H) V( a- L $targetPlanet,: V0 N" V/ b5 Y" `% b( g1 `1 _- f) d
$GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")
- k. M" e6 a4 N3 F' I );
! A, \7 f0 D0 N. A: z" K4 \ }
4 r$ }& J9 Y, h/ V u2 H0 I
" v* k6 _" w" n9 {$ ` foreach($debrisRessource as $elementID)5 x+ H% [- U7 d2 t, T& t
{5 D% F3 \$ V4 F; L* A
$debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];
% u0 v; Q( O4 Q& M7 y) }7 U $planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];8 n! w: D- h1 }. N2 i) b
}
! z3 x q% j! c2 [8 o9 E+ }
. @( r% F* Q* M9 c. P. A $debrisTotal = array_sum($debris);
1 s7 G# @8 \6 G1 T, w; E5 N
: X$ z$ z6 r8 s# z3 k/ k: q $raportInfo = array(2 Q; |$ A# ]; t# R9 a
'thisFleet' => $this->_fleet,
; S; Z6 @1 l& ?3 L* ^0 @ 'debris' => $debris,# `7 B" T3 Q8 ^# L! F& a
'stealResource' => $stealResource,/ m" k$ t8 [& J! o: A
'moonChance' => null,
- \& M; P+ I( c, i/ f: k Z 'moonDestroy' => true,8 m) u' W: [9 D& l6 V
'moonName' => null,
% q. o/ H0 F0 n( G8 d4 `) `7 L 'moonDestroyChance' => null,: [- E+ Q. Q( ]0 j: ]8 U
'moonDestroySuccess' => null,/ Q/ [$ I0 I- a! c$ u/ T4 Z
'fleetDestroyChance' => null,: `! ?1 K/ S$ e2 Q4 K: i; k
'fleetDestroySuccess' => false,0 I+ _1 \$ } j5 A' B( c4 v% }1 r
);5 v# @$ X5 V' a+ l( [, P! p
. m5 e) P/ j# [: D3 M3 \ $destext = "";3 ?% ]& s3 j; d+ s
* T' R1 O S" o( b2 d5 i! ~2 B& F0 h switch($combatResult['won'])
; G `) p- T9 \* l0 C. t# E% G5 { { P) A- _; f2 B" E5 |/ b! r- t
case "a"://勝利, S3 Q8 r4 [5 } D9 g8 e
$moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);
/ S$ N+ k: w+ Q0 n% q , y; P/ p- o0 t; X
// Max 100% | Min 0%
2 y& [& ]: C# }/ d5 c3 g$ u$ w $moonDestroyChance = min($moonDestroyChance, 100);. o8 i/ ?/ m( O( T2 p( X. i- g
$moonDestroyChance = max($moonDestroyChance, 0);
, ]/ \+ p' H$ I. v! O$ w# |; x" n3 Q8 b ; a0 x' F) S# Q3 F- q; q
$randChance = mt_rand(1, 100);) t ]8 D K: S) I. D- c$ v
if ($randChance <= $moonDestroyChance) r j8 |/ U$ l- y' i
//毀月成功 |
|