From 183d5a241646f19141cdb260d4072042904bfb8a Mon Sep 17 00:00:00 2001 From: Electroblob77 <35599699+Electroblob77@users.noreply.github.com> Date: Fri, 3 Jul 2020 12:04:48 +0100 Subject: [PATCH] Add demonic seal --- .../wizardry/client/model/WizardryModels.java | 1 + .../wizardry/item/ItemArtefact.java | 25 ++++++++++++++++++ .../wizardry/registry/WizardryItems.java | 2 ++ .../assets/ebwizardry/lang/en_gb.lang | 2 ++ .../assets/ebwizardry/lang/en_us.lang | 2 ++ .../models/item/charm_hunger_casting.json | 6 +++++ .../textures/items/charm_hunger_casting.png | Bin 0 -> 1811 bytes 7 files changed, 38 insertions(+) create mode 100644 src/main/resources/assets/ebwizardry/models/item/charm_hunger_casting.json create mode 100644 src/main/resources/assets/ebwizardry/textures/items/charm_hunger_casting.png diff --git a/src/main/java/electroblob/wizardry/client/model/WizardryModels.java b/src/main/java/electroblob/wizardry/client/model/WizardryModels.java index 04ddaac8..75ef3689 100644 --- a/src/main/java/electroblob/wizardry/client/model/WizardryModels.java +++ b/src/main/java/electroblob/wizardry/client/model/WizardryModels.java @@ -289,6 +289,7 @@ public final class WizardryModels { registerItemModel(WizardryItems.charm_minion_health); registerItemModel(WizardryItems.charm_minion_variants); registerItemModel(WizardryItems.charm_undead_helmets); + registerItemModel(WizardryItems.charm_hunger_casting); registerItemModel(WizardryItems.charm_flight); registerItemModel(WizardryItems.charm_growth); registerItemModel(WizardryItems.charm_abseiling); diff --git a/src/main/java/electroblob/wizardry/item/ItemArtefact.java b/src/main/java/electroblob/wizardry/item/ItemArtefact.java index 915c42c1..4174b4ea 100644 --- a/src/main/java/electroblob/wizardry/item/ItemArtefact.java +++ b/src/main/java/electroblob/wizardry/item/ItemArtefact.java @@ -10,6 +10,7 @@ import electroblob.wizardry.entity.projectile.EntityDart; import electroblob.wizardry.entity.projectile.EntityForceOrb; import electroblob.wizardry.entity.projectile.EntityIceShard; import electroblob.wizardry.event.SpellCastEvent; +import electroblob.wizardry.event.SpellCastEvent.Source; import electroblob.wizardry.integration.DamageSafetyChecker; import electroblob.wizardry.integration.baubles.WizardryBaublesIntegration; import electroblob.wizardry.registry.*; @@ -462,6 +463,30 @@ public class ItemArtefact extends Item { }else if(artefact == WizardryItems.charm_experience_tome){ modifiers.set(SpellModifiers.PROGRESSION, modifiers.get(SpellModifiers.PROGRESSION) * 1.5f, false); + + }else if(artefact == WizardryItems.charm_hunger_casting){ + + if(!player.capabilities.isCreativeMode && event.getSource() == Source.WAND && !event.getSpell().isContinuous){ // TODO: Continuous spells? + + ItemStack wand = player.getHeldItemMainhand(); + + if(!(wand.getItem() instanceof ISpellCastingItem && wand.getItem() instanceof IManaStoringItem)){ + wand = player.getHeldItemOffhand(); + if(!(wand.getItem() instanceof ISpellCastingItem && wand.getItem() instanceof IManaStoringItem)) return; + } + + if(((IManaStoringItem)wand.getItem()).getMana(wand) < event.getSpell().getCost() * modifiers.get(SpellModifiers.COST)){ + + int hunger = event.getSpell().getCost() / 5; + + if(player.getFoodStats().getFoodLevel() >= hunger){ + player.getFoodStats().addStats(-hunger, 0); + modifiers.set(SpellModifiers.COST, 0, false); + } + } + + } + } } } diff --git a/src/main/java/electroblob/wizardry/registry/WizardryItems.java b/src/main/java/electroblob/wizardry/registry/WizardryItems.java index 21c31594..827a68cf 100644 --- a/src/main/java/electroblob/wizardry/registry/WizardryItems.java +++ b/src/main/java/electroblob/wizardry/registry/WizardryItems.java @@ -273,6 +273,7 @@ public final class WizardryItems { public static final Item charm_minion_health = placeholder(); public static final Item charm_minion_variants = placeholder(); public static final Item charm_undead_helmets = placeholder(); + public static final Item charm_hunger_casting = placeholder(); public static final Item charm_flight = placeholder(); public static final Item charm_growth = placeholder(); public static final Item charm_abseiling = placeholder(); @@ -637,6 +638,7 @@ public final class WizardryItems { registerItem(registry, "charm_minion_health", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.CHARM)); registerItem(registry, "charm_minion_variants", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); registerItem(registry, "charm_undead_helmets", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); + registerItem(registry, "charm_hunger_casting", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); registerItem(registry, "charm_flight", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); registerItem(registry, "charm_growth", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.CHARM)); registerItem(registry, "charm_abseiling", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.CHARM)); diff --git a/src/main/resources/assets/ebwizardry/lang/en_gb.lang b/src/main/resources/assets/ebwizardry/lang/en_gb.lang index 78fb8596..170e7096 100644 --- a/src/main/resources/assets/ebwizardry/lang/en_gb.lang +++ b/src/main/resources/assets/ebwizardry/lang/en_gb.lang @@ -384,6 +384,8 @@ item.ebwizardry\:charm_minion_variants.name=Talisman of Transformation item.ebwizardry\:charm_minion_variants.desc=Summoned zombies are husks; summoned skeletons are strays item.ebwizardry\:charm_undead_helmets.name=Cursed Helm item.ebwizardry\:charm_undead_helmets.desc=Summoned zombies and skeletons have leather caps to protect them from sunlight +item.ebwizardry\:charm_hunger_casting.name=Demonic Seal +item.ebwizardry\:charm_hunger_casting.desc=When out of mana, hunger can be used to cast spells item.ebwizardry\:charm_flight.name=Emerald Beetle Wing item.ebwizardry\:charm_flight.desc=Flight and Glide are 50%% faster item.ebwizardry\:charm_growth.name=Crystal Flower Charm diff --git a/src/main/resources/assets/ebwizardry/lang/en_us.lang b/src/main/resources/assets/ebwizardry/lang/en_us.lang index 38d598e1..79184bb9 100644 --- a/src/main/resources/assets/ebwizardry/lang/en_us.lang +++ b/src/main/resources/assets/ebwizardry/lang/en_us.lang @@ -384,6 +384,8 @@ item.ebwizardry\:charm_minion_variants.name=Talisman of Transformation item.ebwizardry\:charm_minion_variants.desc=Summoned zombies are husks; summoned skeletons are strays item.ebwizardry\:charm_undead_helmets.name=Cursed Helm item.ebwizardry\:charm_undead_helmets.desc=Summoned zombies and skeletons have leather caps to protect them from sunlight +item.ebwizardry\:charm_hunger_casting.name=Demonic Seal +item.ebwizardry\:charm_hunger_casting.desc=When out of mana, hunger can be used to cast spells item.ebwizardry\:charm_flight.name=Emerald Beetle Wing item.ebwizardry\:charm_flight.desc=Flight and Glide are 50%% faster item.ebwizardry\:charm_growth.name=Crystal Flower Charm diff --git a/src/main/resources/assets/ebwizardry/models/item/charm_hunger_casting.json b/src/main/resources/assets/ebwizardry/models/item/charm_hunger_casting.json new file mode 100644 index 00000000..95f9c1c7 --- /dev/null +++ b/src/main/resources/assets/ebwizardry/models/item/charm_hunger_casting.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "ebwizardry:items/charm_hunger_casting" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/textures/items/charm_hunger_casting.png b/src/main/resources/assets/ebwizardry/textures/items/charm_hunger_casting.png new file mode 100644 index 0000000000000000000000000000000000000000..dfdbece776138f61dd20258b70cbdd38e56a7bec GIT binary patch literal 1811 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s-m8(J`N`ey06$*;-(=u~X z6-p`#QWa7wGSe6sDsEj3kKFdejN|WhtxYV9QWuI$=1rDO`MFc-P5Am(zH`6$-%j;* z;$Re?aQaLAKe=c6F=x(6Jzv}=(scCcB=0#F19z|Ab1&s?)%?c2R_|Xto0l+wW$l}V zZO-o(82|Wr;q}DHj^Fv4g6xH#{&lfyia5`9y)RvP;oe5uCSSXzmhy4 zVoTMJ<1^#)4kSN2?fK*ZvupeIWa(s&7uwO{54W3%%1*r;^Zc~n7ZWpaZD;j&PDvm6 zf}L;r9}~VV?Ug()?Eb^IPcpc++_=$Ex9iWZuV1G=dlvN9;UC|n-R|=*$WJgkz3_UA zjiSiAZ_ZXf&39F{lsx>lp_t?Qx%V&PmO0C<I7+2s>y`(f(K zwOh3w^i}M+`tnVs`kk&RD>@dpDQNG|R!ur!aUyWBPxG%V?a&o3b`-muj)`0$B_Nuh zvd-vW>E~q!11FgTvN*U}aIC0#?Ua3c%eK`^ZtR#S<-+eMk$Cd|uCx9#j?Lh7P5Jsw z^vk1}nHQ3j+*5QKc{?sx_4tsV zb5f&);gGk1hX<>ZWP;^$LHmoENgCB3&sEFUe0eqbyyKxW8w8SOh?=^0>iv>P>X8aQ z6;In7ZgI_ZKZLw=qJmCN^_}`^)%u0U zR+(PCv%}L_Zu^C#%hRIXT@m!UTYBHQKeqZ+rNWgq9`ipO%6zgXdukS!CDiV$XEe21 z@zE*E=$N!=K=K}!3p(m`No+@M2r~2wGYTEHG2HBR?xRayQkt-`wvDr={lQEVLFT4) z!oMBO%kocDDnI=GAdP|LKi`uxE$`S*?0xi2FiUrRv!9rgG4Jx=wFI|!{u-1Ypl3=^HFyCkM$L2)B0vhYV45vR#L3os>{-TX8YQo6-=p_p201RTQ*HR zT)1Gqr_kb$uU6%4Ejcq;_5Y$(YX28`b=JyUo0D$KyxTn@5fdt#!4o&nmfM{Pf|TnanE1S?#TdY!;;54;Ig@KAfU2 zniqP?aAW@Av+NxoZy0Tzetz!nH_@M`8sC1n&aY}^>G>&P0kd*=XRklBQ#bdABEyE$ zmm*o7J6SCY{XSE1{jb@n3{SU~JN9hccKYjAA>oq4iGgX!>#7Yt{Joy_Dp5yIc=m%0 z+}EYHpVav|_fxsc($k#h&1RhLV1GK3KV-$P!sa@Cw@dQ@%39@C^`L^)A5T;OHr$9m9M99@u#!b z-zmrMKa#Zn^G(w_;S|MecMtx&Ct8`+JD+gAFsya44zZkfCTshZ3a29x|C1bLbJM&3 z9y_?+^tW<*dj0p6>Q?90Xa3-yn=iMgenz)j%NJpz_%l~`_$c51_|w!@dfk^d_V(8I zHXWJs>TtQ0N`0tGO3Us`jmg|0r{&CQ&e>>cE}MJd!h4~2v#-@0|Dcz(&o;_2(k{)C;Gi$!PG_BFp57#Ji=Tq8=H^K)}k^GX<;i&7Iy zQd1PlGfOfQ+&z5*!W;R-85kISJY5_^EKVPtWaxh=K%ilNc&k~6WS3ej1A9_aurjxy z(rRn#X5n{w|5$_$KYGOfpF8v@zInL+v#IAW7`?0fGtaOnI`nk-VtY?vgqulk5ey%D(}h?F=5_vpIwBP z`}%8kHN^wx9$UH|W?Haj`IT8lA>KAok6aae_p2)&c=$}Z^z1WNJB`u12-l#WUZ$$v?BYCFjUw6E5X>>vvxG^oZ e%D?MB@_K%rDfWx4Tc3e}fx*+&&t;ucLK6U%JX|FJ literal 0 HcmV?d00001