Skip to content

Commit

Permalink
Added 3 new shields - the Sorcerer's Shield, the Titan's Shield and t…
Browse files Browse the repository at this point in the history
…he Reflex Shield. Also changed some images around and retextured Parry Shield to Parrying Dagger.
  • Loading branch information
Smujb committed Dec 19, 2020
1 parent ec5f00f commit a94726c
Show file tree
Hide file tree
Showing 11 changed files with 43 additions and 14 deletions.
12 changes: 12 additions & 0 deletions core/src/main/assets/messages/items/items.properties
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,18 @@ items.shield.shield.parried=Parried
items.shield.shield.parry_fail=Parry failed
items.shield.shield.parry_prep=Defending

items.shield.parryingdagger.name=parrying dagger
items.shield.parryingdagger.desc=A dagger intended for parrying. Unlike Shields, the dagger cannot block, so failed parries result in full damage taken.

items.shield.titanshield.name=titan's shield
items.shield.titanshield.desc=A gigantic, heavy shield made from stone. Clearly not made for use by humans, this shield is more powerful than any other, but requires setup before parrying.

items.shield.reflexshield.name=reflex shield
items.shield.reflexshield.desc=A shield with a smooth, convex surface designed for deflecting ranged attacks back at the attacker.

items.shield.sorcerershield.name=sorcerer's shield
items.shield.sorcerershield.desc=The magic within this shield converts negated damage into power for the user's wands. All equipped wands will have +3 effective upgrades for a short time after a successful parry.

items.shield.pestilentshield.name=pestilent shield
items.shield.pestilentshield.desc=While this shield appears weak, it is coated with a deadly poison that will cause enemies to regret attacking it.

Expand Down
Binary file modified core/src/main/assets/sprites/items.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified core/src/main/assets/sprites/items.xcf
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
import com.shatteredpixel.yasd.general.actors.mobs.Brute;
import com.shatteredpixel.yasd.general.items.rings.RingOfAssault;
import com.shatteredpixel.yasd.general.items.rings.RingOfResilience;
import com.shatteredpixel.yasd.general.items.shield.ParryingDagger;
import com.shatteredpixel.yasd.general.items.weapon.melee.Glove;
import com.shatteredpixel.yasd.general.levels.chapters.prison.OldPrisonBossLevel;
import com.shatteredpixel.yasd.general.scenes.GameScene;
Expand Down Expand Up @@ -180,9 +181,13 @@ public CPDGame(PlatformSupport platform ) {
"com.shatteredpixel.yasd.general.items.armor.PriestessArmor");

com.watabou.utils.Bundle.addAlias(
com.shatteredpixel.yasd.general.items.shield.ParryShield.class,
ParryingDagger.class,
"com.shatteredpixel.yasd.general.items.armor.RogueArmor");

com.watabou.utils.Bundle.addAlias(
ParryingDagger.class,
"com.shatteredpixel.yasd.general.items.shield.ParryShield");


//Renaming
com.watabou.utils.Bundle.addAlias(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ public static void initTest(Hero hero) {
new WandOfVoltage().identify().collect();
new WandOfDarkness().identify().collect();

for (Class<?> itemClass : Generator.Category.WAND.classes) {
for (Class<?> itemClass : Generator.Category.SHIELD.classes) {
Item item = (Item) Reflection.newInstance(itemClass);
if (item != null) {
item.random();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,14 +153,17 @@
import com.shatteredpixel.yasd.general.items.shield.LightShield;
import com.shatteredpixel.yasd.general.items.shield.MidasShield;
import com.shatteredpixel.yasd.general.items.shield.PanicShield;
import com.shatteredpixel.yasd.general.items.shield.ParryShield;
import com.shatteredpixel.yasd.general.items.shield.ParryingDagger;
import com.shatteredpixel.yasd.general.items.shield.PestilentShield;
import com.shatteredpixel.yasd.general.items.shield.ReflexShield;
import com.shatteredpixel.yasd.general.items.shield.ReinforcedShield;
import com.shatteredpixel.yasd.general.items.shield.RoundShield;
import com.shatteredpixel.yasd.general.items.shield.RunicShield;
import com.shatteredpixel.yasd.general.items.shield.Shield;
import com.shatteredpixel.yasd.general.items.shield.SorcererShield;
import com.shatteredpixel.yasd.general.items.shield.SpiritualShield;
import com.shatteredpixel.yasd.general.items.shield.SwiftShield;
import com.shatteredpixel.yasd.general.items.shield.TitanShield;
import com.shatteredpixel.yasd.general.items.shield.WarpShield;
import com.shatteredpixel.yasd.general.items.shield.WoodenShield;
import com.shatteredpixel.yasd.general.items.spells.Alchemize;
Expand Down Expand Up @@ -579,15 +582,18 @@ public static int order( Item item ) {
WarpShield.class,
LightShield.class,
BarbedShield.class,
ParryShield.class,
ParryingDagger.class,
MidasShield.class,
LaceratingShield.class,
HeroShield.class,
ReinforcedShield.class,
RunicShield.class,
PestilentShield.class
PestilentShield.class,
SorcererShield.class,
TitanShield.class,
ReflexShield.class
};
SHIELD.probs = new float[] { 3, 2, 1, 2, 2, 2, 3, 2, 2, 3, 1, 2, 2, 3, 1, 2 };
SHIELD.probs = new float[] { 3, 2, 1, 2, 2, 2, 3, 2, 2, 3, 1, 2, 2, 3, 1, 2, 3, 1, 1 };

RANGED.classes = new Class<?>[] {
Bow.class,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import com.shatteredpixel.yasd.general.actors.hero.Hero;
import com.shatteredpixel.yasd.general.sprites.ItemSpriteSheet;

public class ParryShield extends Shield {
public class ParryingDagger extends Shield {
{
image = ItemSpriteSheet.Shields.PARRY;
image = ItemSpriteSheet.Shields.DAGGER;

damageFactor = 2f;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@

import com.shatteredpixel.yasd.general.actors.Char;
import com.shatteredpixel.yasd.general.actors.hero.Hero;
import com.shatteredpixel.yasd.general.sprites.ItemSpriteSheet;
import com.watabou.utils.Callback;

public class ReflexShield extends Shield {

{
//TODO image
image = ItemSpriteSheet.Shields.REFLEX;

defenseMultiplier = 0.8f;
damageFactor = 0.6f;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
import com.shatteredpixel.yasd.general.actors.buffs.Buff;
import com.shatteredpixel.yasd.general.actors.buffs.MagicCharge;
import com.shatteredpixel.yasd.general.actors.hero.Hero;
import com.shatteredpixel.yasd.general.sprites.ItemSpriteSheet;

public class SorcererShield extends Shield {
{
//TODO image
image = ItemSpriteSheet.Shields.SORCERER;

defenseMultiplier = 0.8f;
damageFactor = 0.5f;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@

import com.shatteredpixel.yasd.general.actors.Actor;
import com.shatteredpixel.yasd.general.actors.Char;
import com.shatteredpixel.yasd.general.sprites.ItemSpriteSheet;

public class TitanShield extends Shield {

{
//TODO image
image = ItemSpriteSheet.Shields.TITAN;

defenseMultiplier = 1.5f;
damageFactor = 1.5f;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -263,17 +263,20 @@ public static class Shields {
public static final int PANIC = SHIELD+3;//TODO: current sprite is WIP
public static final int SWIFT = SHIELD+4;
public static final int GREAT = SHIELD+5;
public static final int WARP = SHIELD+6;
public static final int SORCERER = SHIELD+6;
public static final int LIGHT = SHIELD+7;
public static final int BARBED = SHIELD+8;
public static final int PARRY = SHIELD+9;
public static final int WARP = SHIELD+9;//TODO: Now unused
public static final int RUNIC = SHIELD+10;
public static final int REINFORCED = SHIELD+11;
public static final int ROYAL = SHIELD+12;
public static final int DEMONIC = SHIELD+13;
public static final int DEMONIC = SHIELD+13;//TODO: Unused
public static final int HERO = SHIELD+14;
public static final int PESTILENT = SHIELD+15;
public static final int LACERATING = SHIELD+16;
public static final int TITAN = SHIELD+17;
public static final int DAGGER = SHIELD+18;
public static final int REFLEX = SHIELD+19;
}

public static class Wands {
Expand Down

0 comments on commit a94726c

Please sign in to comment.