We in future will test in this server new system bonus to ship...
Look:
Ship Transmodification Slot Group
Defensive 1
Defensive 2
Offensive 1
Offensive 2
Special
In the slots you can activate "GEM" bonus
Slot Defensive
Hit points
Voodoo points
Damage reduction
Repair
Offensive
Harpoon damage
Cannon damage
Boarding Bonus
Special
Poison damage
Blockade Breaker
ELP bonus
Every Gem have 20 lvl
You can create a GEM and improve it to a higher level
20*5000 = 100 000 HP and VP bonus max... ?
We will see in future...
Look:
Ship Transmodification Slot Group
Defensive 1
Defensive 2
Offensive 1
Offensive 2
Special
In the slots you can activate "GEM" bonus
Slot Defensive
Hit points
Voodoo points
Damage reduction
Repair
Offensive
Harpoon damage
Cannon damage
Boarding Bonus
Special
Poison damage
Blockade Breaker
ELP bonus
Every Gem have 20 lvl
You can create a GEM and improve it to a higher level
Quote:
package com.bigpoint.seafight.view.userInterface.widgets.m enus.customshipmenu
{
import __AS3__.vec.*;
import com.bigpoint.seafight.tools.*;
import com.bigpoint.seafight.view.userInterface.widgets.m enus.customshipmenu.inventory.*;
import net.bigpoint.seafight.com.module.user.*;
public class GemAbility extends Object
{
private static const MAX_LEVEL:int = 20;
private static var offensives:Vector.<int> = new Vector.<int>(3);
private static var defensives:Vector.<int> = new Vector.<int>(4);
private static var specials:Vector.<int> = new Vector.<int>(3);
private static var types:Vector.<Vector.<int>> = new Vector.<Vector.<int>>(3);
public function GemAbility()
{
return;
}// end function
public static function create(param1:int, param2:int) : ShipDesignListModStub
{
var _loc_3:* = new ShipDesignListModStub();
_loc_3.type = param1;
switch(param1)
{
case DesignModifierType.HARPOONDAMAGE:
case DesignModifierType.CANNONDAMAGE:
case DesignModifierType.BOARDINGBONUS:
case DesignModifierType.ELPBONUS:
{
_loc_3.parameter = DesignModifierParameter.PERCENT;
_loc_3.value = param2;
break;
}
case DesignModifierType.HITPOINTS:
case DesignModifierType.VOODOOPOINTS:
{
_loc_3.parameter = DesignModifierParameter.ABSOLUTE;
_loc_3.value = param2 * 5000;
break;
}
case DesignModifierType.DEFENSIVEBONUS:
case DesignModifierType.POISONDAMAGE:
case DesignModifierType.REPAIRBONUS:
case DesignModifierType.EXPBONUS:
case DesignModifierType.BLOCKADERUNNER:
{
_loc_3.parameter = DesignModifierParameter.PERCENT;
_loc_3.value = param2;
break;
}
case DesignModifierType.NONE:
{
}
default:
{
break;
}
}
return _loc_3;
}// end function
public static function createHarpoonGem(param1:int, param2:int = 1) : GemItem
{
return createGem(GemItem.TYPE_OFFENSIVE, param1, DesignModifierType.HARPOONDAMAGE, param2);
}// end function
public static function createCannonGem(param1:int, param2:int = 1) : GemItem
{
return createGem(GemItem.TYPE_OFFENSIVE, param1, DesignModifierType.CANNONDAMAGE, param2);
}// end function
public static function createBoardingGem(param1:int, param2:int = 1) : GemItem
{
return createGem(GemItem.TYPE_OFFENSIVE, param1, DesignModifierType.BOARDINGBONUS, param2);
}// end function
public static function createHpGem(param1:int, param2:int = 1) : GemItem
{
return createGem(GemItem.TYPE_DEFENSIVE, param1, DesignModifierType.HITPOINTS, param2);
}// end function
public static function createVpGem(param1:int, param2:int = 1) : GemItem
{
return createGem(GemItem.TYPE_DEFENSIVE, param1, DesignModifierType.VOODOOPOINTS, param2);
}// end function
public static function createRepairGem(param1:int, param2:int = 1) : GemItem
{
return createGem(GemItem.TYPE_DEFENSIVE, param1, DesignModifierType.REPAIRBONUS, param2);
}// end function
public static function createDmgReducGem(param1:int, param2:int = 1) : GemItem
{
return createGem(GemItem.TYPE_DEFENSIVE, param1, DesignModifierType.DEFENSIVEBONUS, param2);
}// end function
public static function createElpGem(param1:int, param2:int = 1) : GemItem
{
return createGem(GemItem.TYPE_SPECIAL, param1, DesignModifierType.ELPBONUS, param2);
}// end function
public static function createBlockGem(param1:int, param2:int = 1) : GemItem
{
return createGem(GemItem.TYPE_SPECIAL, param1, DesignModifierType.BLOCKADERUNNER, param2);
}// end function
public static function createDotGem(param1:int, param2:int = 1) : GemItem
{
return createGem(GemItem.TYPE_SPECIAL, param1, DesignModifierType.POISONDAMAGE, param2);
}// end function
public static function createRandomGem(param1:int = 0) : GemItem
{
var _loc_2:int = 0;
if (param1 > MAX_LEVEL)
{
param1 = MAX_LEVEL;
}
else if (param1 <= 0)
{
param1 = getRandomLevel();
}
_loc_2 = Math.round(Math.random() * 2) + 1;
var _loc_3:* = getRandomAbility(types[(_loc_2 - 1)]);
return createGem(_loc_2, param1, _loc_3);
}// end function
public static function createRandomOffensiveGem() : GemItem
{
return createGem(GemItem.TYPE_OFFENSIVE, getRandomLevel(), getRandomAbility(offensives));
}// end function
public static function createRandomDefensiveGem() : GemItem
{
return createGem(GemItem.TYPE_DEFENSIVE, getRandomLevel(), getRandomAbility(defensives));
}// end function
public static function createRandomSpecialGem() : GemItem
{
return createGem(GemItem.TYPE_SPECIAL, getRandomLevel(), getRandomAbility(specials));
}// end function
public static function getRandomAbility(param1:Vector.<int>) : int
{
return param1[int(Math.random() * param1.length)];
}// end function
public static function getRandomLevel() : int
{
return (Math.round(Math.random() * (MAX_LEVEL - 1)) + 1);
}// end function
public static function createGem(param1:int, param2:int, param3:int, param4:int = 1) : GemItem
{
if (param4 > 1)
{
return new GemInvItem(param1, param2, create(param3, param2), param4);
}
return new GemItem(param1, param2, create(param3, param2));
}// end function
public static function createAllGemSet(param1:int) : Vector.<GemItem>
{
new Vector.<GemItem>(10)[0] = createHarpoonGem(param1, 10);
new Vector.<GemItem>(10)[1] = createCannonGem(param1, 20);
new Vector.<GemItem>(10)[2] = createBoardingGem(param1, 30);
new Vector.<GemItem>(10)[3] = createHpGem(param1, 40);
new Vector.<GemItem>(10)[4] = createVpGem(param1, 50);
new Vector.<GemItem>(10)[5] = createRepairGem(param1, 60);
new Vector.<GemItem>(10)[6] = createDmgReducGem(param1, 70);
new Vector.<GemItem>(10)[7] = createElpGem(param1, 80);
new Vector.<GemItem>(10)[8] = createBlockGem(param1, 90);
new Vector.<GemItem>(10)[9] = createDotGem(param1, 40);
return new Vector.<GemItem>(10);
}// end function
public static function createRandomGemSet(param1:int) : Vector.<GemItem>
{
var _loc_2:int = 2;
var _loc_3:int = 8;
var _loc_4:* = new Vector.<GemItem>;
if (Math.random() > Math.random())
{
_loc_4.push(createHarpoonGem(param1, MathTools.getRandom(_loc_2, _loc_3)));
}
if (Math.random() > Math.random())
{
_loc_4.push(createCannonGem(param1, MathTools.getRandom(_loc_2, _loc_3)));
}
if (Math.random() > Math.random())
{
_loc_4.push(createBoardingGem(param1, MathTools.getRandom(_loc_2, _loc_3)));
}
if (Math.random() > Math.random())
{
_loc_4.push(createHpGem(param1, MathTools.getRandom(_loc_2, _loc_3)));
}
if (Math.random() > Math.random())
{
_loc_4.push(createVpGem(param1, MathTools.getRandom(_loc_2, _loc_3)));
}
if (Math.random() > Math.random())
{
_loc_4.push(createRepairGem(param1, MathTools.getRandom(_loc_2, _loc_3)));
}
if (Math.random() > Math.random())
{
_loc_4.push(createDmgReducGem(param1, MathTools.getRandom(_loc_2, _loc_3)));
}
if (Math.random() > Math.random())
{
_loc_4.push(createElpGem(param1, MathTools.getRandom(_loc_2, _loc_3)));
}
if (Math.random() > Math.random())
{
_loc_4.push(createBlockGem(param1, MathTools.getRandom(_loc_2, _loc_3)));
}
if (Math.random() > Math.random())
{
_loc_4.push(createDotGem(param1, MathTools.getRandom(_loc_2, _loc_3)));
}
return _loc_4;
}// end function
new Vector.<int>(3)[0] = DesignModifierType.HARPOONDAMAGE;
new Vector.<int>(3)[1] = DesignModifierType.CANNONDAMAGE;
new Vector.<int>(3)[2] = DesignModifierType.BOARDINGBONUS;
new Vector.<int>(4)[0] = DesignModifierType.HITPOINTS;
new Vector.<int>(4)[1] = DesignModifierType.VOODOOPOINTS;
new Vector.<int>(4)[2] = DesignModifierType.REPAIRBONUS;
new Vector.<int>(4)[3] = DesignModifierType.DEFENSIVEBONUS;
new Vector.<int>(3)[0] = DesignModifierType.ELPBONUS;
new Vector.<int>(3)[1] = DesignModifierType.BLOCKADERUNNER;
new Vector.<int>(3)[2] = DesignModifierType.POISONDAMAGE;
new Vector.<Vector.<int>>(3)[0] = offensives;
new Vector.<Vector.<int>>(3)[1] = defensives;
new Vector.<Vector.<int>>(3)[2] = specials;
}
}
20*5000 = 100 000 HP and VP bonus max... ?
20 % cannon damage etc. ?Quote:
case DesignModifierType.HITPOINTS:
case DesignModifierType.VOODOOPOINTS:
{
_loc_3.parameter = DesignModifierParameter.ABSOLUTE;
_loc_3.value = param2 * 5000;
break;
}
We will see in future...