From 5e67be46da20da5927353da3853b8beefc1382ca Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sat, 12 Oct 2024 11:57:15 -0400 Subject: [PATCH] v3.0.0: bare implementation for cleric starter items --- .../assets/messages/items/items.properties | 11 +++ core/src/main/assets/sprites/items.png | Bin 24305 -> 24513 bytes .../actors/hero/HeroClass.java | 11 ++- .../items/Generator.java | 10 ++- .../items/artifacts/HolyTome.java | 81 ++++++++++++++++++ .../items/weapon/melee/Cudgel.java | 75 ++++++++++++++++ .../items/weapon/melee/Mace.java | 2 +- .../sprites/ItemSpriteSheet.java | 5 +- .../shatteredpixeldungeon/ui/Icons.java | 4 +- .../windows/WndHeroInfo.java | 11 +-- 10 files changed, 195 insertions(+), 15 deletions(-) create mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/HolyTome.java create mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Cudgel.java diff --git a/core/src/main/assets/messages/items/items.properties b/core/src/main/assets/messages/items/items.properties index 224246631..53c517e01 100644 --- a/core/src/main/assets/messages/items/items.properties +++ b/core/src/main/assets/messages/items/items.properties @@ -337,6 +337,10 @@ items.artifacts.etherealchains.desc_cursed=The cursed chains are locked to your items.artifacts.etherealchains.desc_equipped=The chains rest around your side, slowly siphoning the spiritual energy of those you defeat. Each charge is a link in the chain, which will extend out exactly one tile. items.artifacts.etherealchains$chainsrecharge.levelup=Your chains grow stronger! +items.artifacts.holytome.name=holy tome +items.artifacts.holytome.ac_cast=CAST +items.artifacts.holytome.desc=TODO + items.artifacts.hornofplenty.name=horn of plenty items.artifacts.hornofplenty.ac_snack=SNACK items.artifacts.hornofplenty.ac_eat=EAT @@ -1741,6 +1745,13 @@ items.weapon.melee.crossbow.upgrade_ability_stat_name=Ability Boost items.weapon.melee.crossbow$chargedshot.name=charged items.weapon.melee.crossbow$chargedshot.desc=The Duelist is focusing power into her crossbow. The next attack she makes with it will always hit and apply one of three effects:\n- Melee attacks will knock enemies a few tiles away.\n- Untipped darts will deal bonus damage.\n- Tipped darts will gain extra uses and apply their effect in a 7x7 area. Positive dart effects will only affect allies, and harmful effects will only apply to enemies. The Duelist cannot use this ability to apply positive dart effects to herself. +items.weapon.melee.cudgel.name=cudgel +items.weapon.melee.cudgel.stats_desc=This is a rather accurate weapon. +items.weapon.melee.cudgel.ability_name=heavy blow +items.weapon.melee.cudgel.typical_ability_desc=The Duelist can perform a _heavy blow_ with a cudgel. This concentrated attack typically deals _%1$d-%2$d damage_ if it surprised the enemy, and dazes them for 5 turns which reduces accuracy and evasion by 50%%. Heavy blow always hits but deals regular damage if it does not surprise the enemy. +items.weapon.melee.cudgel.ability_desc=The Duelist can perform a _heavy blow_ with a cudgel. This concentrated attack deals _%1$d-%2$d damage_ if it surprised the enemy, and dazes them for 5 turns which reduces accuracy and evasion by 50%%. Heavy blow always hits but deals regular damage if it does not surprise the enemy. +items.weapon.melee.cudgel.desc=A small brass mace, made more as a self-defense tool for nobles than as an adventuring weapon. + items.weapon.melee.dagger.name=dagger items.weapon.melee.dagger.stats_desc=This weapon is stronger against unaware enemies. items.weapon.melee.dagger.ability_name=sneak diff --git a/core/src/main/assets/sprites/items.png b/core/src/main/assets/sprites/items.png index 2c3e451862ff9db7ad32d61b770b9b554eb18227..ca8ff9d2b96e6579e7db6f60473c576b7a6f6fc2 100644 GIT binary patch literal 24513 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

rqk?ZZxsJQhuA#tq|3)Ei0>zi+7 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 cdvifrM5R%&S~RGKm#P^XdEM6^V7t=K+(Cjq?`~ z1j==z+(hPNx%x>PE|pekGP(2cfKcf5`~BCi2INsj?~U-1>JuS185bQYs-sv=zdzJB zHoaXsJnD?TN$lo9`oZZoIwZohGjI#3jKQ4?1D?fOQ~_Gd2B4D`yC9_}LA8C?)dWaC zi?^IjH3^M;E%~4rhJ5_L=tt1xR}1?|2&MN)Ah{q!s`pB<&@21H?&ThbzI&=0E_~^~ z8>-GkGUab9bz2xvJXVD|h-UioN{qi1b3b)NQys((Z z2~uk1Gem+Z@slM)E9-+*P=Vm>VWM^cIn`Myd!8oWWxQM23vCzA%l9`?}g#` z5c6)S`1X9U%gLX~A+@F&vp+&>&^C6nglVQ2aaha=&vV>2?%m30)Jc9;cYmh&|fVNvZZJiXoZXEpMxM860#N2cTw@cCk{-#)dNM+gBDy+yf}WJ{p1u z>1EiRXkgc+C_@n!bC8rAF+^FPUrr9`tp}+G`&Ko`851sGBOffrQ;K2MX1{$=TcMz9 zl%*-}y5zPkd$Y9czf5)l9$q*e3R)MNW3hPUC;c|*gLQLTbl03hQfWKlH@Hi*e%QtQtVD!{75QBP8>~0JV~o67W~qj9~OuwM5+-7}eV-?>wAN*!S2CZ1*|S z;55o=k_C@WNS25&ahoWu%lrxB*IFr9rE5KStZ5s~J*rAD1HJr|sXPx@YpZ_d93X-uWK0f>w@7 z>QDWrnr@$KT(#}aon!ShgR|Ra&feuXBUS<8^wW}cdW@6IKD>nX>9v;RstZPAw8+aA z(Nm0dQi$-*i?j!yQ9){KM1Aqf=tV^gS3dT(X2y?Ho%H5cO=e)$AYrDy3g8&9yH4mt zMKLCu0a^7bL~_;vc!GckzrV14r>BcrgF^;QS_;u9A0ZNOpH5W^_9uaC8x835(R*?| zq!K7lT2@jCUI{0gUiCDxO6;li(4Eq$l|kYie3mDK z*!t!g?On&t33Z0GZdr7C9y4JQi@=>xE}EI3E}=Ek>OCAzC~wm;kxZF_fB|Tq-af<%%;C~We!xc*&9{HBtJKclmx`oRO0~^aTRax|>vUEXv z_0r}ml*~{8zFUGNO!`%(X=8clOUSnI1d_;ZDWpX{#jv(ag;Q59@{*WnkWcCQvJqC1 z3u&6u<#*?w;9t+v-Q9d7o3<7ddLtkoX8|t*OoK3KulSZZy_OxqI7JcS$8(J|r0rD`t&Q4m?g2K-b*lrSq m`[]{ @@ -555,6 +558,7 @@ public class Generator { CloakOfShadows.class, DriedRose.class, EtherealChains.class, + HolyTome.class, HornOfPlenty.class, MasterThievesArmband.class, SandalsOfNature.class, @@ -562,7 +566,7 @@ public class Generator { TimekeepersHourglass.class, UnstableSpellbook.class }; - ARTIFACT.defaultProbs = new float[]{ 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1 }; + ARTIFACT.defaultProbs = new float[]{ 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1 }; ARTIFACT.probs = ARTIFACT.defaultProbs.clone(); //Trinkets are unique like artifacts, but unlike them you can only have one at once diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/HolyTome.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/HolyTome.java new file mode 100644 index 000000000..bffdea276 --- /dev/null +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/HolyTome.java @@ -0,0 +1,81 @@ +/* + * Pixel Dungeon + * Copyright (C) 2012-2015 Oleg Dolya + * + * Shattered Pixel Dungeon + * Copyright (C) 2014-2024 Evan Debenham + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ + +package com.shatteredpixel.shatteredpixeldungeon.items.artifacts; + +import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicImmune; +import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; +import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; + +import java.util.ArrayList; + +public class HolyTome extends Artifact { + + { + image = ItemSpriteSheet.ARTIFACT_TOME; + + exp = 0; + levelCap = 10; + + charge = Math.min(level()+3, 10); + partialCharge = 0; + chargeCap = Math.min(level()+3, 10); + + defaultAction = AC_CAST; + + unique = true; + bones = false; + } + + public static final String AC_CAST = "CAST"; + + @Override + public ArrayList actions( Hero hero ) { + ArrayList actions = super.actions( hero ); + if (isEquipped( hero ) + && !cursed + && hero.buff(MagicImmune.class) == null + && charge > 0) { + actions.add(AC_CAST); + } + return actions; + } + + //levelling: + //starts with 3 charges at +0, reaches 10 charges at +7. +8,9,10 slightly increases charge speed + //levels up based on use, probably with a very similar target level system to the Cloak + + //how does the UI for actually using it work though? + + @Override + protected ArtifactBuff passiveBuff() { + return new tomeRecharge(); + } + + public class tomeRecharge extends ArtifactBuff{ + + public void gainCharge(float levelPortion) { + //TODO + } + + } + +} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Cudgel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Cudgel.java new file mode 100644 index 000000000..801fa7551 --- /dev/null +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Cudgel.java @@ -0,0 +1,75 @@ +/* + * Pixel Dungeon + * Copyright (C) 2012-2015 Oleg Dolya + * + * Shattered Pixel Dungeon + * Copyright (C) 2014-2024 Evan Debenham + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ + +package com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee; + +import com.shatteredpixel.shatteredpixeldungeon.Assets; +import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; +import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; + +public class Cudgel extends MeleeWeapon { + + { + image = ItemSpriteSheet.CUDGEL; + hitSound = Assets.Sounds.HIT_CRUSH; + hitSoundPitch = 1.2f; + + tier = 1; + ACC = 1.40f; //40% boost to accuracy + + bones = false; + } + + @Override + public int max(int lvl) { + return 4*(tier+1) + //8 base, down from 10 + lvl*(tier+1); //scaling unchanged + } + + @Override + public String targetingPrompt() { + return Messages.get(this, "prompt"); + } + + @Override + protected void duelistAbility(Hero hero, Integer target) { + //+(3+1.5*lvl) damage, roughly +67% base dmg, +100% scaling + int dmgBoost = augment.damageFactor(3 + Math.round(1.5f*buffedLvl())); + Mace.heavyBlowAbility(hero, target, 1, dmgBoost, this); + } + + @Override + public String abilityInfo() { + int dmgBoost = levelKnown ? 3 + Math.round(1.5f*buffedLvl()) : 3; + if (levelKnown){ + return Messages.get(this, "ability_desc", augment.damageFactor(min()+dmgBoost), augment.damageFactor(max()+dmgBoost)); + } else { + return Messages.get(this, "typical_ability_desc", min(0)+dmgBoost, max(0)+dmgBoost); + } + } + + public String upgradeAbilityStat(int level){ + int dmgBoost = 3 + Math.round(1.5f*level); + return augment.damageFactor(min(level)+dmgBoost) + "-" + augment.damageFactor(max(level)+dmgBoost); + } + +} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Mace.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Mace.java index 08564ba8e..e9aaf72b9 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Mace.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Mace.java @@ -61,7 +61,7 @@ public class Mace extends MeleeWeapon { @Override protected void duelistAbility(Hero hero, Integer target) { - //+(4+1.5*lvl) damage, roughly +55% base dmg, +60% scaling + //+(5+1.5*lvl) damage, roughly +55% base dmg, +60% scaling int dmgBoost = augment.damageFactor(5 + Math.round(1.5f*buffedLvl())); Mace.heavyBlowAbility(hero, target, 1, dmgBoost, this); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java index 6273ea587..ebb776d54 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java @@ -213,13 +213,14 @@ public class ItemSpriteSheet { private static final int WEP_TIER1 = xy(1, 7); //8 slots public static final int WORN_SHORTSWORD = WEP_TIER1+0; - public static final int CUDGEL = WEP_TIER1+1; + public static final int CUDGEL = WEP_TIER1+1; //TODO CLERIC better sprite public static final int GLOVES = WEP_TIER1+2; public static final int RAPIER = WEP_TIER1+3; public static final int DAGGER = WEP_TIER1+4; public static final int MAGES_STAFF = WEP_TIER1+5; static{ assignItemRect(WORN_SHORTSWORD, 13, 13); + assignItemRect(CUDGEL, 16, 16); assignItemRect(GLOVES, 12, 16); assignItemRect(RAPIER, 13, 14); assignItemRect(DAGGER, 12, 13); @@ -449,6 +450,7 @@ public class ItemSpriteSheet { public static final int ARTIFACT_ROSE1 = ARTIFACTS+20; public static final int ARTIFACT_ROSE2 = ARTIFACTS+21; public static final int ARTIFACT_ROSE3 = ARTIFACTS+22; + public static final int ARTIFACT_TOME = ARTIFACTS+23; //TODO CLERIC finalize sprite static{ assignItemRect(ARTIFACT_CLOAK, 9, 15); assignItemRect(ARTIFACT_ARMBAND, 16, 13); @@ -473,6 +475,7 @@ public class ItemSpriteSheet { assignItemRect(ARTIFACT_ROSE1, 14, 14); assignItemRect(ARTIFACT_ROSE2, 14, 14); assignItemRect(ARTIFACT_ROSE3, 14, 14); + assignItemRect(ARTIFACT_TOME, 14, 16); } private static final int TRINKETS = xy(9, 17); //24 slots diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Icons.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Icons.java index 2e41e49be..4e43accb8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Icons.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Icons.java @@ -460,8 +460,8 @@ public enum Icons { return new ItemSprite(ItemSpriteSheet.SPIRIT_BOW); case DUELIST: return new ItemSprite(ItemSpriteSheet.RAPIER); - case CLERIC: //TODO CLERIC class sprite - return new ItemSprite(ItemSpriteSheet.MASTERY); + case CLERIC: + return new ItemSprite(ItemSpriteSheet.ARTIFACT_TOME); default: return null; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHeroInfo.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHeroInfo.java index afe7097e4..ce90e58ac 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHeroInfo.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHeroInfo.java @@ -73,8 +73,8 @@ public class WndHeroInfo extends WndTabbed { case DUELIST: tabIcon = new ItemSprite(ItemSpriteSheet.RAPIER, null); break; - case CLERIC: //TODO CLERIC - tabIcon = new ItemSprite(ItemSpriteSheet.MASTERY, null); + case CLERIC: + tabIcon = new ItemSprite(ItemSpriteSheet.ARTIFACT_TOME, null); break; } @@ -201,10 +201,10 @@ public class WndHeroInfo extends WndTabbed { new ItemSprite(ItemSpriteSheet.THROWING_SPIKE), new ItemSprite(ItemSpriteSheet.SCROLL_ISAZ)}; break; - case CLERIC: //TODO CLERIC - icons = new Image[]{ new ItemSprite(ItemSpriteSheet.MASTERY), + case CLERIC: + icons = new Image[]{ new ItemSprite(ItemSpriteSheet.ARTIFACT_TOME), Icons.TALENT.get(), - new ItemSprite(ItemSpriteSheet.MACE), + new ItemSprite(ItemSpriteSheet.CUDGEL), new ItemSprite(ItemSpriteSheet.SCROLL_ISAZ)}; break; } @@ -228,6 +228,7 @@ public class WndHeroInfo extends WndTabbed { icons[i].x = (20-icons[i].width())/2; icons[i].y = info[i].top() + (info[i].height() - icons[i].height())/2; + PixelScene.align(icons[i]); pos = info[i].bottom() + 4*MARGIN; }