[1.7.10]IC2 exp addon EnergyAdditions

Eifel

Модератор
1,623
78
608
Всем привет!

Вот, решил поделиться своими идеями и услышать ваше мнение насчет аддона к ик, который  в данный момент пишу.

Итак, приступим к дэскрипшну.

Для тех кому лень читать последующий скучный текст - краткое описание:

Мод добавляет энергостимуляторы - штуки потребляющие при использовании энергию и дающие эффект: реген, защита, и сила. Их есть несколько с разной силой эффектов. 
Так же тут есть энергощиты - своеобразные щиты, которые если их держать в руке будут блокировать урон пока не сядет заряд.
Хотите кушать? Не проблема, зачем таскать с собой тонны картошки если можно скрафтить энергобатончик, который вмещает в себя 10к ЭУ и тратит 100 ЕУ восстанавливая 2 хавки.
Хотите подзаряжать свою бронь и инструменты но не стоять по 5 минут на зарядных плитах из ик - тут пригодится энергозарядник, который заряжает все вокруг в неком радиусе.
Скучно в пвп? Не беда. Аддон добавляет энергоброню, которую если надеть на себя враг не сможет заметить и вы его легко кокнете. Так же тут есть энергосабля, мощнее наносабли, может использовать модули что дают возможность накладывать на врагов эффекты или хиляться.
Но это еще не все. В аддоне есть инвентарь для модификаторов, положив туда последние(ну, там система немного сложнее, подробнее написано ниже) можно получить эффекты силы, скорости, доп. урон, отравлять врагов и прочее(читай описание).
Аддон так же совместим с ГТ 5/6.

Все остальное:

Утилити - составляющая.

Энергостимуляторы.

В чем идея.Варить каждый раз зелья, когда вокруг процветают технологии - не выход. По сему этот аддон добавляет в игру так званые Энергостимуляторы. Пока их 3 вида - стимуляторы силы, защиты, регенерации. Так вот, добыв нужные компоненты и скрафтив такой Стимулятор - вы можете забыть о варке зелий, ведь теперь достаточно просто зарядить стимулятор и использовать его. Разделяются они на 3 уровня: обычные(дают обычный эффект), второго уровня(дают эффект силой 2), третьего уровня(дают эффект силой 3). Чем выше уровень тем больше заряд но и на использование идет больше энергии. Пример: Стимулятор регенерации обычный, заряд 10к, на одно использование тратит 1к Эу. Так же 3 стимулятора одного типа можно обьединить в один, который будет давать эффект каждого их них.


JQdnNrA.png

Энергощиты.

Кроме стимуляторов, аддон добавляет такие штуки как Энергощиты. Они так же, как и стимуляторы разделяются на 3 уровня, каждый из которых дает защиту от определенного вида урона, используя при этом заряд. Для того, чтоб щит работал, нужно его активировать(нажать пкм) и держать в руке. Когда по игроку пройдет урон - щит его заблокирует а в чат выдаст сообщение о кол-ве использованной энергии. Больше одного щита одного вида, если таковы есть в инвентаре игрока, работать не будут.

В скобках указан множитель, по которому рассчитывается кол-во энергии в зависимости от размера полученного урона.
g86slqH.png


Поведения щита при падении.
YvEevuW.jpg

Энергобатончик.

Еще одна вещь - это Энергобатончик. Тут все просто: заряд в 10к, при использовании тратит 100 Эу и восстанавливает 2 единицы еды.

Энергетический зарядник.

Так же, в аддоне есть такой блок как энергетический зарядник. Из себя он представляет обычный буфер который может накапливать до 40кк Эу и умеет заряжать электрические предметы игрока в определенном радиусе. Если кликнуть пкм по заряднику - покажет сколько в нем осталось энергии.

za02oDY.png

PvP - составляющая.

Энергетическая сабля.

EnergyAdditions добавляет в игру такую штуку как Энергосабля. Энергетическая сабля являет собой улучшенную версию нано сабли из IC2. Урон в обычном состоянии - 1, в активированном - 25. Бывает двух цветов, в зависимости от того, какой модификатор цвета использовался при крафте.  Главная особенность такой сабли это то, что к ней можно подключать модули. Если в инвентаре игрока есть такой модуль и он активирован, сабля при ударе противника будет накладывать на него кратковременный эффект зависящий от типа модуля. Если навести курсором на саблю, можно увидеть какие модули могут быть использованы(Possible modules). ВАЖНО: для работы эффектов, в инвентаре игрока должен быть только ОДИН модуль и он должен быть активирован. Если вы имеете два или больше модулей, не важно, активированы они или нет, эффекта не будет. При накладывании эффекта сабля использует энергии больше обычного (например если активирован модуль 'отравление', то при каждом ударе сабля будет использовать 4000 EU). Пока есть модули отравления, стана(слепота и конфузия), слабости, и хила(восстанавливает одно полное сердце за удар).

YQWQzC0.png


KRFhJYn.png


vf2ueC7.png

Броня.

Аддон добавляет так же и свою броню - Energy Armor. Эта броня по свойствам похожа на нано броню, но у нее есть особенность - если она надета на игроке то сама броня невидима, что может дать много идей как ее использовать в пвп.

sBsLZWw.png

Улучшения.

У EnergyAdditions реализован свой собственный дополнительный инвентарь(открывается кнопкой Y, можно поменять в настройках). В этом инвентаре 5 слотов. В 5 слоте место для матриц, а остальные 4 слота для модификаторов. В чем суть. Существует множество различных модификаторов, которые игрок может положить в эти слоты. Одни можно найти в данжах, другие скрафтить. Некоторые модификаторы разделяются в свою очередь на уровни за силой эффекта. Так вот, теперь игрок может в этом инвентаре выложить собственную комбинацию из модификаторов и получить дополнительные эффекты от них. Чтоб модификаторы работали, необходимо чтоб в 5 слоте была матрица, от которой они собственно и будут питаться энергией. Матрицы в свою очередь так же разделяются на 3 типа. Первый тип - low - может питать модификаторы только низкого уровня, второй - standart - питают только модификаторы низкого и среднего уровня, третий - ultra - питают наилучшие модификаторы третьего уровня. Каждый модификатор использует свое кол-во энергии в зависимости от того что он дает игроку.

QlwKZcB.png


jsQS5Ed.png


Модифицированная броня и модификатор
WlrBqaq.png


7sk90qz.png


Y6DNPqb.png

Опишу некоторые из них:

- при ударе накладывает на игрока эффект скорости 2/4/8 в зависимости от уровня;
- включает ночное зрение ночью автоматом;
- регенерация 3(только ночью);
- авто-плавка при добывании с учетом удачи;
- шанс 10/20% нанести двойной урон при автоатаке в зависимости от уровня;
- отравляет всех ближайших противником при ударе;
- + 1.5/3/6 дополнительного урона с автоатак в зависимости от уровня;
- ослепляет всех врагов поблизости при ударе;
- шанс 20% восстановить 1/2/4 полных сердца при ударе противника в зависимости от уровня;
- скорость 2/4/8  в зависимости от уровня;
- прыжки 2/4/8 при автоатаке в зависимости от уровня;
- блокирует урон от падений;
- очень сильно замедляет врагов при ударе;
- регенерация 1/2 в зависимости от уровня;
- прыжки 2/4/8 в зависимости от уровня;

и т.д.

Больше вариантов я буду придумывать в ходе разработки. Модификаторы считаются персональными и из этого инвентаря при смерти игрока не выпадают. Для их работы необходима матрица и полный сет модифицированной энергетической брони. Эта броня по защите чуть слабее кванта.

Остальное.

Аддон написан практически на 90%, это занимает у меня много времени так как я только недавно начал интересоваться моддингом, перед ним я написал был еще один мод, но в нем по сути были только азы в виде руды, блоков и брони с инструментами.
В аддоне есть конфиг, где можно задавать любые параметры стимуляторам, энергосабле, броне и т.д.(такие как емкость, защита, величина эффектов), отключать рецепты и прочее. Так же аддон совместим своими рецептами в крафтинге с GT 5/6.
Дополнительно в аддоне есть внутри игровая вики. Нажав кнопку G(можно поменять в настройках), откроется гуи и информацией о аддоне.

Вот и все. Жду вашего мнения или оценки.
 
5,018
47
783
Thunder написал(а):
Всем привет!

Вот, решил поделиться своими идеями и услышать ваше мнение насчет аддона к ик, который  в данный момент пишу.

Итак, приступим к дэскрипшну.

Утилити - составляющая.

Энергостимуляторы.

В чем идея.Варить каждый раз зелья, когда вокруг процветают технологии - не выход. По сему этот аддон добавляет в игру так званые Энергостимуляторы. Пока их 3 вида - стимуляторы силы, защиты, регенерации. Так вот, добыв нужные компоненты и скрафтив такой Стимулятор - вы можете забыть о варке зелий, ведь теперь достаточно просто зарядить стимулятор и использовать его. Разделяются они на 3 уровня: обычные(дают обычный эффект), второго уровня(дают эффект силой 2), третьего уровня(дают эффект силой 3). Чем выше уровень тем больше заряд но и на использование идет больше энергии. Пример: Стимулятор регенерации обычный, заряд 10к, на одно использование тратит 1к Эу. Так же 3 стимулятора одного типа можно обьединить в один, который будет давать эффект каждого их них.

JQdnNrA.png

Энергощиты.

Кроме стимуляторов, аддон добавляет такие штуки как Энергощиты. Они так же, как и стимуляторы разделяются на 3 уровня, каждый из которых дает защиту от определенного вида урона, используя при этом заряд. Для того, чтоб щит работал, нужно его активировать(нажать пкм) и держать в руке. Когда по игроку пройдет урон - щит его заблокирует а в чат выдаст сообщение о кол-ве использованной энергии. Больше одного щита одного вида, если таковы есть в инвентаре игрока, работать не будут.

В скобках указан множитель, по которому рассчитывается кол-во энергии в зависимости от размера полученного урона.
g86slqH.png


Поведения щита при падении.
YvEevuW.jpg

Энергобатончик.

Еще одна вещь - это Энергобатончик. Тут все просто: заряд в 10к, при использовании тратит 100 Эу и восстанавливает 2 единицы еды.

Энергетический зарядник.

Так же, в аддоне есть такой блок как энергетический зарядник. Из себя он представляет обычный буфер который может накапливать до 40кк Эу и умеет заряжать электрические предметы игрока в определенном радиусе. Если кликнуть пкм по заряднику - покажет сколько в нем осталось энергии.

za02oDY.png

PvP - составляющая.

Энергетическая сабля.

EnergyAdditions добавляет в игру такую штуку как Энергосабля. Энергетическая сабля являет собой улучшенную версию нано сабли из IC2. Урон в обычном состоянии - 1, в активированном - 25. Бывает двух цветов, в зависимости от того, какой модификатор цвета использовался при крафте.  Главная особенность такой сабли это то, что к ней можно подключать модули. Если в инвентаре игрока есть такой модуль и он активирован, сабля при ударе противника будет накладывать на него кратковременный эффект зависящий от типа модуля. Если навести курсором на саблю, можно увидеть какие модули могут быть использованы(Possible modules). ВАЖНО: для работы эффектов, в инвентаре игрока должен быть только ОДИН модуль и он должен быть активирован. Если вы имеете два или больше модулей, не важно, активированы они или нет, эффекта не будет. При накладывании эффекта сабля использует энергии больше обычного (например если активирован модуль 'отравление', то при каждом ударе сабля будет использовать 4000 EU). Пока есть модули отравления, стана(слепота и конфузия), слабости, и хила(восстанавливает одно полное сердце за удар).

YQWQzC0.png


KRFhJYn.png


vf2ueC7.png

Броня.

Аддон добавляет так же и свою броню - Energy Armor. Эта броня по свойствам похожа на нано броню, но у нее есть особенность - если она надета на игроке то сама броня невидима, что может дать много идей как ее использовать в пвп.

sBsLZWw.png

Улучшения.

У EnergyAdditions реализован свой собственный дополнительный инвентарь(открывается кнопкой Y, можно поменять в настройках). В этом инвентаре 5 слотов. В 5 слоте место для матриц, а остальные 4 слота для модификаторов. В чем суть. Существует множество различных модификаторов, которые игрок может положить в эти слоты. Одни можно найти в данжах, другие скрафтить. Некоторые модификаторы разделяются в свою очередь на уровни за силой эффекта. Так вот, теперь игрок может в этом инвентаре выложить собственную комбинацию из модификаторов и получить дополнительные эффекты от них. Чтоб модификаторы работали, необходимо чтоб в 5 слоте была матрица, от которой они собственно и будут питаться энергией. Матрицы в свою очередь так же разделяются на 3 типа. Первый тип - low - может питать модификаторы только низкого уровня, второй - standart - питают только модификаторы низкого и среднего уровня, третий - ultra - питают наилучшие модификаторы третьего уровня. Каждый модификатор использует свое кол-во энергии в зависимости от того что он дает игроку.

QlwKZcB.png


jsQS5Ed.png


Модифицированная броня и модификатор
WlrBqaq.png


7sk90qz.png


Y6DNPqb.png

Опишу некоторые из них:

- при ударе накладывает на игрока эффект скорости 2/4/8 в зависимости от уровня;
- включает ночное зрение ночью автоматом;
- регенерация 3(только ночью);
- авто-плавка при добывании с учетом удачи;
- шанс 10/20% нанести двойной урон при автоатаке в зависимости от уровня;
- отравляет всех ближайших противником при ударе;
- + 1.5/3/6 дополнительного урона с автоатак в зависимости от уровня;
- ослепляет всех врагов поблизости при ударе;
- шанс 20% восстановить 1/2/4 полных сердца при ударе противника в зависимости от уровня;
- скорость 2/4/8  в зависимости от уровня;
- прыжки 2/4/8 при автоатаке в зависимости от уровня;
- блокирует урон от падений;
- очень сильно замедляет врагов при ударе;
- регенерация 1/2 в зависимости от уровня;
- прыжки 2/4/8 в зависимости от уровня;

и т.д.

Больше вариантов я буду придумывать в ходе разработки. Модификаторы считаются персональными и из этого инвентаря при смерти игрока не выпадают. Для их работы необходима матрица и полный сет модифицированной энергетической брони. Эта броня по защите чуть слабее кванта.

Остальное.

Аддон написан практически на 90%, это занимает у меня много времени так как я только недавно начал интересоваться моддингом, перед ним я написал был еще один мод, но в нем по сути были только азы в виде руды, блоков и брони с инструментами.
В аддоне есть конфиг, где можно задавать любые параметры стимуляторам, энергосабле, броне и т.д.(такие как емкость, защита, величина эффектов), отключать рецепты и прочее. Так же аддон совместим своими рецептами в крафтинге с GT 5/6.
Дополнительно в аддоне есть внутри игровая вики. Нажав кнопку G(можно поменять в настройках), откроется гуи и информацией о аддоне.

Вот и все. Жду вашего мнения или оценки.

Неплохо! Так держать!
 

Eifel

Модератор
1,623
78
608
Upd1.
Модифицированная энергетическая броня имеет теперь заряд в 10М, по свойствам чуть хуже квантовой.
zTGOrNM.png
 
769
1
42
Добавь отображение уровня заряда, сразу жить станет легче.
 
1,239
2
24
урановый стержень
Код:
public class TestUran extends Item implements IReactorComponent {

    public int numberOfCells;

    public TestUran(int numOfCells) {
        super();
        setNoRepair();
        setMaxDamage(1300);
        setMaxStackSize(1);
        numberOfCells = numOfCells;
    }

    @Override
    public void processChamber(IReactor reactor, ItemStack yourStack, int x, int y , boolean heatrun) {
        if (!reactor.produceEnergy()) return;
        for (int i = 0; i < numberOfCells; i++)
        {
            int pulses = 2 + numberOfCells / 2;
            for (int j = 0; j < pulses; j++) acceptUraniumPulse(reactor, yourStack, yourStack, x, y, x, y , true);
            pulses += checkPulseable(reactor, x - 1, y, yourStack, x, y) + checkPulseable(reactor, x + 1, y, yourStack, x, y) + checkPulseable(reactor, x, y - 1, yourStack, x, y) + checkPulseable(reactor, x, y + 1, yourStack, x, y);

            int heat = sumUp(pulses) * 5;
            ArrayList heatAcceptors = new ArrayList();
            checkHeatAcceptor(reactor, x - 1, y, heatAcceptors);
            checkHeatAcceptor(reactor, x + 1, y, heatAcceptors);
            checkHeatAcceptor(reactor, x, y - 1, heatAcceptors);
            checkHeatAcceptor(reactor, x, y + 1, heatAcceptors);
            while ((heatAcceptors.size() > 0) && (heat > 0))
            {
                int dheat = heat / heatAcceptors.size();
                heat -= dheat;
                dheat = ((IReactorComponent)((SlotPos)heatAcceptors.get(0)).stack.getItem()).alterHeat(reactor, ((SlotPos)heatAcceptors.get(0)).stack, ((SlotPos)heatAcceptors.get(0)).x, ((SlotPos)heatAcceptors.get(0)).y, dheat);
                heat += dheat;
                heatAcceptors.remove(0);
            }
            if (heat <= 0) continue; reactor.addHeat(heat);
        }
        if (yourStack.getItemDamage() >= getMaxDamage() - 1)
        {
            reactor.setItemAt(x, y, null);
        }
        else {
            yourStack.setItemDamage(yourStack.getItemDamage() + 1);
        }
    }

    private int checkPulseable(IReactor reactor, int x, int y, ItemStack me, int mex, int mey) {
        ItemStack adjacentItem = reactor.getItemAt(x, y);
        if ((adjacentItem != null) && ((adjacentItem.getItem() instanceof IReactorComponent))) {
            if (((IReactorComponent)adjacentItem.getItem()).acceptUraniumPulse(reactor, adjacentItem, me, x, y, mex, mey , true)) {
                return 1;
            }
        }
        return 0;
    }

    private int sumUp(int x) {
        int sum = 0;
        for (int i = 1; i <= x; i++) {
            sum += i;
        }
        return sum;
    }

    private void checkHeatAcceptor(IReactor reactor, int x, int y, ArrayList heatAcceptors)
    {
        ItemStack adjacentItem = reactor.getItemAt(x, y);
        if ((adjacentItem != null) && ((adjacentItem.getItem() instanceof IReactorComponent)))
        {
            if (((IReactorComponent)adjacentItem.getItem()).canStoreHeat(reactor, adjacentItem, x, y))
                heatAcceptors.add(new SlotPos(adjacentItem, x, y));
        }
    }

    @Override
    public boolean acceptUraniumPulse(IReactor reactor, ItemStack yourStack, ItemStack pulsingStack, int youX, int youY, int pulseX, int pulseY, boolean heatrun) {
        reactor.addOutput(1);
        return true;
    }



    public boolean canStoreHeat(IReactor reactor, ItemStack yourStack, int x, int y)
    {
        return false;
    }

    public int getMaxHeat(IReactor reactor, ItemStack yourStack, int x, int y)
    {
        return 0;
    }

    public int getCurrentHeat(IReactor reactor, ItemStack yourStack, int x, int y)
    {
        return 0;
    }

    public int alterHeat(IReactor reactor, ItemStack yourStack, int x, int y, int heat)
    {
        return heat;
    }

    public float influenceExplosion(IReactor reactor, ItemStack yourStack)
    {
        return 3 * numberOfCells;
    }

    private class SlotPos
    {
        public ItemStack stack;
        public int x;
        public int y;

        public SlotPos(ItemStack stack, int x, int y)
        {
            this.stack = stack;
            this.x = x;
            this.y = y;
        }
    }


}


удаляет рецепт из дробилки(и вообще всего из ic2 где 1 вход и 1 выход)
Код:
//(by raven6101||wilah)
    public static void removeByStack(Map<IRecipeInput, RecipeOutput> map, ItemStack removeStack) {
        Iterator<IRecipeInput> it=map.keySet().iterator();
        while(it.hasNext()){
            IRecipeInput input=it.next();
            if (input instanceof RecipeInputItemStack) {
                RecipeInputItemStack riss = (RecipeInputItemStack) input;
                if (riss.input.getItem() == removeStack.getItem() && riss.amount == removeStack.stackSize) {
                    it.remove();
                }
            }
        }
    }*/


ставит факел (вызывать в onitemuse)
Код:
public static boolean placeTorch(ItemStack stack, EntityPlayer player,
 World world, int x, int y, int z, int side, float xOffset,
 float yOffset, float zOffset)
 {
 for (int i = 0; i < player.inventory.mainInventory.length; i++)
 {
 ItemStack torchStack = player.inventory.mainInventory[i];
 if (torchStack == null
 || !torchStack.getUnlocalizedName().toLowerCase()
 .contains("torch"))
 continue;
 Item item = torchStack.getItem();
 if (!(item instanceof ItemBlock))
 continue;
 int oldMeta = torchStack.getItemDamage();
 int oldSize = torchStack.stackSize;
 boolean result = torchStack.tryPlaceItemIntoWorld(player, world, x,
 y, z, side, xOffset, yOffset, zOffset);
 if (player.capabilities.isCreativeMode)
 {
 torchStack.setItemDamage(oldMeta);
 torchStack.stackSize = oldSize;
 } else if (torchStack.stackSize <= 0)
 {
 ForgeEventFactory.onPlayerDestroyItem(player, torchStack);
 player.inventory.mainInventory[i] = null;
 }
 if (result)
 return true;
 }
 return false;
 }
}
 

Eifel

Модератор
1,623
78
608
Если честно, то не понял предыдущее сообщение, наверное ошибка


RonyC написал(а):
Добавь отображение уровня заряда, сразу жить станет легче.

Можно без проблем. Но на клиентах с модами где есть то ли НЕИ, то ли Вайла(не знаю точно), заряд отображается автоматически и по сути будет дублироваться тогда
 

Eifel

Модератор
1,623
78
608
Добавлены улучшения против отравления, дыхание под водой, автокормилка, и улучшение которое ослепляет всех врагов в неком радиусе. Добавил так же краткое описание для тех кому лень читать этот весь скучный текст :)
 
667
7
2
Слушай, а что если добавить улучшенную версию бура? Копает быстрей алмазного бура, но для работы требует масло. Можно будет добавить интеграцию с заправочной установкой из "иммёрсифа".
 

Eifel

Модератор
1,623
78
608
MaximPixel написал(а):
Щиты на 1.7.10 -____-

а что?


virysD написал(а):
Слушай, а что если добавить улучшенную версию бура? Копает быстрей алмазного бура, но для работы требует масло. Можно будет добавить интеграцию с заправочной установкой из "иммёрсифа".

хмм, интересная идея, подумаю над нею
 
5,018
47
783
virysD написал(а):
Слушай, а что если добавить улучшенную версию бура? Копает быстрей алмазного бура, но для работы требует масло. Можно будет добавить интеграцию с заправочной установкой из "иммёрсифа".

В грави суит есть
 

Eifel

Модератор
1,623
78
608
Maxik001 написал(а):
virysD написал(а):
Слушай, а что если добавить улучшенную версию бура? Копает быстрей алмазного бура, но для работы требует масло. Можно будет добавить интеграцию с заправочной установкой из "иммёрсифа".

В грави суит есть

но не на масле же
 
7,099
324
1,510
А че там масло делает? Ну, в реальном аналоге такого бура
 

Eifel

Модератор
1,623
78
608
Ну давай представим что что-то делает :) Как вариант можно было бы на солярке
 
5,018
47
783
Thunder написал(а):
Ну давай представим что что-то делает :) Как вариант можно было бы на солярке

Го Солярку! 

 
667
7
2
hohserg написал(а):
А че там масло делает? Ну, в реальном аналоге такого бура

Уменьшает трение между деталями которые находятся в движение. А это в свою очередь уменьшает затраты топлива/заряда и увеличивает скорость вращения.


Maxik001 написал(а):

Можно использовать не только масло, например как вариант интеграции с таумом заливать в место привычных смазок аспекты, или расплавить магический жир и залить его, разумеется этот жир не так эффективен, но например повышает удачу. А если залить аспект "огня", то из руды будут выпадать кластеры (такие же что выпадают при добыче руды огненной киркой). Но думаю что заливать на прямую аспекты это не эстетично, а вот если добавить что то похожие на перегонный куб для смешивания масла с эссенцией. Плюс будет новая механика.
 
7,099
324
1,510
А почему оно тратится, с металлом в реакцию вступает медленно?
 
667
7
2
hohserg написал(а):
А почему оно тратится, с металлом в реакцию вступает медленно?

Оно может выгорать. Плюс засорятся "пылью".
 
Сверху