等級:25 - 爐火純青 經驗值:0 / 245 魔法值:13644 / 13644 生命值:5%
升級
  100%
TA的每日心情 | 開心 4 小時前 |
---|
簽到天數: 5520 天 [LV.Master]伴壇終老
|
發表於 2016-8-5 17:17:14
|
顯示全部樓層
: s, y, [: q1 z& X, C/ z) E& `先進行普通戰鬥6 s9 Y S( U/ i
還有剩餘艦隊與死星1 Y, ~" ~" f' a, c% q0 {
便會進行毀月
- k. E- G8 v+ H8 k0 Zforeach ($fleetAttack as $fleetID => $fleetDetail)- ^& i* S* S4 |) N
{
* H4 ` i1 a" Q0 B, _* W $fleetArray = '';
9 ~! ]" K, {" f4 i. ^# X+ F- p $totalCount = 0;
* ]0 n9 Y2 I& d% m: g) R }$ @9 g) E( s; D* w$ z$ K
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);4 d/ R5 j3 L* T0 ]
foreach ($fleetDetail['unit'] as $elementID => $amount)
% a7 f% k* Z% k5 b# A { ' u4 e; V Z, M6 d& W8 z* L9 b
$fleetArray .= $elementID.','.floattostring($amount).';';
( D$ q5 h( l g: k4 R $totalCount += $amount;
4 L$ C' S( V) x% |2 o: ~4 g2 t5 ? }
9 M: ~2 y; P0 K) H( [& @! r
: x G. I8 b, P" v' _& A; ? if($totalCount == 0)6 X/ \6 g0 K+ _2 E( X
{
2 o. g1 A& N& r if($this->_fleet['fleet_id'] == $fleetID)
2 x" [" p4 P8 @( W0 z4 Z( d3 t {
: p) }$ \# E2 F% t2 I5 z! |5 O $this->KillFleet();
5 `+ s# ]" v8 G$ M4 g }
: G& v3 a& p1 f( ^3 i% {8 ^ else% D! [+ J! r( ?; `
{
; |0 ]# B) I( }# s! b; S $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
1 Q4 s# Q; j- T $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";
2 {: R) Y7 J- g. {$ Z }
9 e. W: G8 Z3 N+ y, X9 X
9 h* x$ D% } P3 ~ $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";+ o+ a1 k3 b3 m. {) ]. n" A8 ?
}) q8 t0 @6 `0 `2 E2 H
elseif($totalCount > 0)) k `/ M% t* N8 s0 F9 d5 Q
{
9 _' U k6 J7 m8 A% `0 H& H $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";
4 Z3 L+ A: ~6 r+ Q" ^ $sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";& L9 J. S+ s' i" \7 R
}
0 k; Q; c* K, g* k# x% B d else/ t. c! z: Z4 ^# Q; [
{
. B! ]. U1 {: P* T6 R throw new Exception("Negative Fleet amount ....");
9 j* h! k6 s5 ]* D; ~2 s }& M9 W+ l2 Z% ~+ f1 f9 L
}$ c* Y( x7 |/ x! c8 s( Q9 J" u
! e$ I% n: ^8 }) K foreach ($fleetDefend as $fleetID => $fleetDetail)- n# a2 r0 C" g Z& e5 j6 ^, Y
{
+ `1 o7 L+ T' o- F1 v) | if($fleetID != 0)
# w8 | I" S9 | z {
' v' |% l! d) [) T $fleetArray = '';
3 d; X' s, w0 B; g+ g& b $totalCount = 0;
3 p2 u& ^. @" W * q: y7 O6 A( D5 L+ P1 V
$fleetDetail['unit'] = array_filter($fleetDetail['unit']);
/ v0 P5 u; W' w, G8 v foreach ($fleetDetail['unit'] as $elementID => $amount)
4 G+ t$ r; T+ j { : c) u) |0 q& |% v% X
$fleetArray .= $elementID.','.floattostring($amount).';';/ J1 [6 d4 d1 t8 E% D; ?! X
$totalCount += $amount;/ ]. S/ ^/ u. w6 w0 k( K, m+ K
}% c( x' a- M: S6 F9 V
# `, b* W, J6 d8 ~# V( G if($totalCount == 0)
" B$ \! u& ]: q5 ~7 I' b0 l {
+ s4 W% p8 Y' j7 O $sqlQuery .= "DELETE FROM ".FLEETS." WHERE fleet_id = ".$fleetID.";";
5 Q+ Y7 U) |2 q. F $sqlQuery .= "DELETE FROM ".FLEETS_EVENT." WHERE fleetID = ".$fleetID.";";' ~* M, Y7 ]8 K- S8 a6 g+ [
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_state = 2 WHERE fleet_id = '".$fleetID."';";1 w h' ^( w) w& k
}
5 f5 D4 F, n% _. o0 { elseif($totalCount > 0)1 j5 r* b) z& b+ X0 q- _! t1 y
{
) ^5 |( |6 Z; K3 V $sqlQuery .= "UPDATE ".FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."' WHERE fleet_id = '".$fleetID."';";! z1 O7 \; t1 j U0 x, {3 p
$sqlQuery .= "UPDATE ".LOG_FLEETS." SET fleet_array = '".substr($fleetArray, 0, -1)."', fleet_amount = '".$totalCount."', fleet_state = 1 WHERE fleet_id = '".$fleetID."';";3 D* k2 B& K$ J/ w) M: [; z, s
}9 n) [( J9 ^! m/ s8 V+ R4 T
else5 N `6 X8 C* p' k% M
{8 O, V0 b9 g+ k. }; y. Z
throw new Exception("Negative Fleet amount ....");; s8 F; ^+ b+ r# ^9 l2 s
}) ?4 T3 I/ I( B \" p: f. K
}
0 f9 D: }4 M9 s- R" D& O else
# x1 p# C O; ^) H- _: U- a {
$ T8 j1 Z9 k: G8 ~9 ^1 d $fleetArray = array();
) b$ j& P: Q) _) s. `) {: F foreach ($fleetDetail['unit'] as $elementID => $amount)
+ w( b, E, i2 a/ V8 s {
. O u1 L# K& |% F8 R. E( [7 U $fleetArray[] = $resource[$elementID]." = ".$amount;
, \( X2 o" F$ C# ^( h# O# d }8 A: J. Q0 P# r; Z
- B. M1 O W, P" M/ i$ T if(!empty($fleetArray))
9 } t A& R! b: n) O {! _ y0 W% [' F1 q& a+ S
$sqlQuery .= "UPDATE ".PLANETS." SET ".implode(', ', $fleetArray)." WHERE id = '".$this->_fleet['fleet_end_id']."';";
6 h8 T* W4 f7 Y; [9 s$ e- F6 t }
3 c# g" T" h0 E& G4 S: a" Z, W- _ }
6 w8 {, [, N* g% [% | }
9 j. ^% P2 e$ d4 J( e
, W+ a- C' E7 N4 N9 Q $GLOBALS['DATABASE']->multi_query($sqlQuery);9 G5 n2 T. {# ^% L4 M3 z
2 a3 |# r/ j& u. h3 r5 s if ($combatResult['won'] == "a")) {; A. K. p) U8 o( A; s' p2 S
{2 R% ?8 }1 ]/ `; I
require_once('calculateSteal.php');. Z [9 R* ^& s' H. v4 H
$stealResource = calculateSteal($fleetAttack, $targetPlanet);! G. l- f' i. y8 j
}* A3 m; _% Y+ z
/ p0 b3 ]% h4 O9 |
if($this->_fleet['fleet_end_type'] == 3)
3 G4 |" L' y. j2 m7 y# }8 ~0 q {0 G/ _$ [4 a8 T3 B6 ^" e0 E+ X
// Use planet debris, if attack on moons
# X& [0 w# a9 E& _0 K# _+ @ $targetPlanet = array_merge(
" b- a/ T F4 N $targetPlanet,$ U( K8 K( B1 a) F* k7 O
$GLOBALS['DATABASE']->getFirstRow("SELECT der_metal, der_crystal FROM ".PLANETS." WHERE id_luna = ".$this->_fleet['fleet_end_id'].";")" U+ ~* m% D. d# _
);
8 ?' K9 {3 Z: ?" s+ ` }/ G. R0 X1 h( c5 J! ^
. |, o4 F; G c/ q! v& J foreach($debrisRessource as $elementID)
: |# @6 l/ c" v) q7 @ {. u0 d- y3 r A. K
$debris[$elementID] = $combatResult['debris']['attacker'][$elementID] + $combatResult['debris']['defender'][$elementID];8 H/ a4 F y. S! O
$planetDebris[$elementID] = $targetPlanet['der_'.$resource[$elementID]] + $debris[$elementID];
e$ Q+ D0 K; E* } }( f2 h5 C. e. K# {# J; f. a5 X, a3 @
8 v/ k! ]* ~% q. l1 G7 `" z
$debrisTotal = array_sum($debris);8 A/ p* v0 B: Q. x) c% Q
: a) d8 x/ o- @
$raportInfo = array(
6 q- u$ |# w. `4 j 'thisFleet' => $this->_fleet,
. s& Z6 F% s9 X. a/ N 'debris' => $debris,
, R6 E1 j/ m/ n 'stealResource' => $stealResource,
+ e8 I) b3 [! `9 ~! k 'moonChance' => null,
/ m3 i% T: F* x+ |4 S& C( B* Z 'moonDestroy' => true,1 j7 H% O: R ~- [7 g, X& i1 H0 ~8 s" d
'moonName' => null,
# t5 S. D; g# ]4 E 'moonDestroyChance' => null,- R8 R# p- v6 \* j, F" w
'moonDestroySuccess' => null,
1 `, o% n( a3 R. D& _% t5 G s/ e 'fleetDestroyChance' => null,$ S- e+ @$ N4 V
'fleetDestroySuccess' => false,
, E% [2 W) o6 s5 X6 A: f/ I );0 {* L1 o ^. d, e2 |! d& s
8 e. j# }- M0 L2 Q $destext = "";
% J8 F, G" n6 N! C
% b6 O3 Z* N; ?. }. t( a switch($combatResult['won'])
. M3 [% y- Q5 K {
; F6 }1 J: E: m( v$ V6 H case "a"://勝利
2 d% _. S- L# _/ |0 Q* n8 d $moonDestroyChance = round((100 - sqrt($targetPlanet['diameter'])) * sqrt($fleetAttack[$this->_fleet['fleet_id']]['unit'][214]), 1);4 M1 ]4 @4 x4 u! }# H
* W$ a+ V5 R" N" U // Max 100% | Min 0%
0 K- R- h2 B* _ $moonDestroyChance = min($moonDestroyChance, 100); D' ]. j9 W4 U% ]8 S( [
$moonDestroyChance = max($moonDestroyChance, 0);
: e; {" [5 m1 k7 u' l
# N' ]9 g b& O/ {5 f7 b6 g $randChance = mt_rand(1, 100);
" j3 t; D, x2 E: R$ w* F# aif ($randChance <= $moonDestroyChance)2 _! f; f+ _3 z' M5 s
//毀月成功 |
|