From a6292ffef9f83ec72c8759ade304200277407667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Lemaire?= Date: Sun, 5 Feb 2017 22:41:06 +0100 Subject: [PATCH] Added equipment display in ship tooltip --- TODO | 2 +- graphics/ui/attributes.svg | 312 ++++++++++++++++++ ...rgydepleter.png => fire-powerdepleter.png} | Bin .../battle/attributes/effect-decrease.png | Bin 0 -> 1243 bytes .../battle/attributes/effect-increase.png | Bin 0 -> 3675 bytes .../images/battle/attributes/effect-limit.png | Bin 0 -> 4037 bytes out/assets/images/battle/attributes/power.png | Bin 0 -> 9225 bytes src/game/Attribute.spec.ts | 8 +- src/game/Attribute.ts | 16 +- src/game/Ship.spec.ts | 4 +- src/game/Ship.ts | 12 +- src/game/TestTools.ts | 4 +- src/game/actions/MoveAction.spec.ts | 2 +- src/game/ai/BullyAI.spec.ts | 4 +- src/game/equipments/BasicPowerCore.ts | 6 +- ...Depleter.spec.ts => PowerDepleter.spec.ts} | 6 +- .../{EnergyDepleter.ts => PowerDepleter.ts} | 6 +- src/view/Preload.ts | 6 +- src/view/battle/ShipListItem.ts | 2 +- src/view/battle/ShipTooltip.ts | 43 ++- 20 files changed, 390 insertions(+), 43 deletions(-) create mode 100644 graphics/ui/attributes.svg rename out/assets/images/battle/actions/{fire-energydepleter.png => fire-powerdepleter.png} (100%) create mode 100644 out/assets/images/battle/attributes/effect-decrease.png create mode 100644 out/assets/images/battle/attributes/effect-increase.png create mode 100644 out/assets/images/battle/attributes/effect-limit.png create mode 100644 out/assets/images/battle/attributes/power.png rename src/game/equipments/{EnergyDepleter.spec.ts => PowerDepleter.spec.ts} (90%) rename src/game/equipments/{EnergyDepleter.ts => PowerDepleter.ts} (73%) diff --git a/TODO b/TODO index 1a332ab..c9ee7ee 100644 --- a/TODO +++ b/TODO @@ -2,8 +2,8 @@ * Effect should be random in a range (eg. "damage target 50-75") * Add an overload/cooling system * Add auto-move to attack -* Add equipment info (or summary) in ship tooltip * Escape key should cancel selected action +* Merge identical sticky effects * Handle effects overflowing ship tooltip when too numerous * Proper arena scaling (not graphical, only space coordinates) * Mobile: think UI layout so that fingers do not block the view (right and left handed) diff --git a/graphics/ui/attributes.svg b/graphics/ui/attributes.svg new file mode 100644 index 0000000..532ebbb --- /dev/null +++ b/graphics/ui/attributes.svg @@ -0,0 +1,312 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/out/assets/images/battle/actions/fire-energydepleter.png b/out/assets/images/battle/actions/fire-powerdepleter.png similarity index 100% rename from out/assets/images/battle/actions/fire-energydepleter.png rename to out/assets/images/battle/actions/fire-powerdepleter.png diff --git a/out/assets/images/battle/attributes/effect-decrease.png b/out/assets/images/battle/attributes/effect-decrease.png new file mode 100644 index 0000000000000000000000000000000000000000..5dba4224e8021eec76354018f98dc45dc6ca000b GIT binary patch literal 1243 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 literal 0 HcmV?d00001 diff --git a/out/assets/images/battle/attributes/effect-limit.png b/out/assets/images/battle/attributes/effect-limit.png new file mode 100644 index 0000000000000000000000000000000000000000..15d665778d1573a2e0e1d4a6f3c6b238ad564c62 GIT binary patch literal 4037 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 Z5`(XPzEXE1`?{Zo2zM{HX4mkX{{`ruiT3~i literal 0 HcmV?d00001 diff --git a/out/assets/images/battle/attributes/power.png b/out/assets/images/battle/attributes/power.png new file mode 100644 index 0000000000000000000000000000000000000000..7247fe752458f3578e24e30f95422b7761fd35ab GIT binary patch literal 9225 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 { new_attrs.addValue(effect.attrcode, effect.value); }); - this.ap_initial.set(new_attrs.getValue(AttributeCode.AP_Initial)); - this.ap_recover.set(new_attrs.getValue(AttributeCode.AP_Recovery)); + this.ap_initial.set(new_attrs.getValue(AttributeCode.Power_Initial)); + this.ap_recover.set(new_attrs.getValue(AttributeCode.Power_Recovery)); } // Fully restore hull and shield diff --git a/src/game/TestTools.ts b/src/game/TestTools.ts index ed327d7..1a59a57 100644 --- a/src/game/TestTools.ts +++ b/src/game/TestTools.ts @@ -49,12 +49,12 @@ module TS.SpaceTac.Game { equipment.permanent_effects.forEach((effect: BaseEffect) => { if (effect.code === "attrmax") { var meffect = effect; - if (meffect.attrcode === AttributeCode.AP) { + if (meffect.attrcode === AttributeCode.Power) { meffect.value = points; } } else if (effect.code === "attr") { var veffect = effect; - if (veffect.attrcode === AttributeCode.AP_Recovery) { + if (veffect.attrcode === AttributeCode.Power_Recovery) { veffect.value = recovery; } } diff --git a/src/game/actions/MoveAction.spec.ts b/src/game/actions/MoveAction.spec.ts index cc0f7a8..7d6cf78 100644 --- a/src/game/actions/MoveAction.spec.ts +++ b/src/game/actions/MoveAction.spec.ts @@ -74,7 +74,7 @@ module TS.SpaceTac.Game { expect(battle.log.events[1].code).toEqual("attr"); expect(battle.log.events[1].ship).toBe(ship); expect((battle.log.events[1]).attribute).toEqual( - new Attribute(AttributeCode.AP, 0, 20)); + new Attribute(AttributeCode.Power, 0, 20)); }); it("can't move too much near another ship", function () { diff --git a/src/game/ai/BullyAI.spec.ts b/src/game/ai/BullyAI.spec.ts index 011e658..3f3c83b 100644 --- a/src/game/ai/BullyAI.spec.ts +++ b/src/game/ai/BullyAI.spec.ts @@ -236,7 +236,7 @@ module TS.SpaceTac.Game.AI.Specs { expect(battle.log.events[0]).toEqual(new MoveEvent(ship1, 2, 0)); expect(battle.log.events[1]).toEqual(new AttributeChangeEvent(ship1, - new Attribute(AttributeCode.AP, 2, 10))); + new Attribute(AttributeCode.Power, 2, 10))); expect(battle.log.events[2]).toEqual(new FireEvent(ship1, weapon, Target.newFromShip(ship2))); expect(battle.log.events[3]).toEqual(new AttributeChangeEvent(ship2, @@ -245,7 +245,7 @@ module TS.SpaceTac.Game.AI.Specs { new Attribute(AttributeCode.Hull, 5))); expect(battle.log.events[5]).toEqual(new DamageEvent(ship2, 10, 10)); expect(battle.log.events[6]).toEqual(new AttributeChangeEvent(ship1, - new Attribute(AttributeCode.AP, 1, 10))); + new Attribute(AttributeCode.Power, 1, 10))); }); }); } diff --git a/src/game/equipments/BasicPowerCore.ts b/src/game/equipments/BasicPowerCore.ts index ea4bbce..2dce0a7 100644 --- a/src/game/equipments/BasicPowerCore.ts +++ b/src/game/equipments/BasicPowerCore.ts @@ -8,9 +8,9 @@ module TS.SpaceTac.Game.Equipments { this.min_level = new IntegerRange(1, 1); this.addPermanentAttributeMaxEffect(AttributeCode.Initiative, 1); - this.addPermanentAttributeMaxEffect(AttributeCode.AP, 8); - this.addPermanentAttributeValueEffect(AttributeCode.AP_Initial, 5); - this.addPermanentAttributeValueEffect(AttributeCode.AP_Recovery, 4); + this.addPermanentAttributeMaxEffect(AttributeCode.Power, 8); + this.addPermanentAttributeValueEffect(AttributeCode.Power_Initial, 5); + this.addPermanentAttributeValueEffect(AttributeCode.Power_Recovery, 4); } } } diff --git a/src/game/equipments/EnergyDepleter.spec.ts b/src/game/equipments/PowerDepleter.spec.ts similarity index 90% rename from src/game/equipments/EnergyDepleter.spec.ts rename to src/game/equipments/PowerDepleter.spec.ts index ee24a31..119062b 100644 --- a/src/game/equipments/EnergyDepleter.spec.ts +++ b/src/game/equipments/PowerDepleter.spec.ts @@ -1,7 +1,7 @@ module TS.SpaceTac.Game.Specs { - describe("EnergyDepleter", () => { + describe("PowerDepleter", () => { it("limits target's AP", () => { - var template = new Equipments.EnergyDepleter(); + var template = new Equipments.PowerDepleter(); var equipment = template.generateFixed(0); var ship = new Ship(); @@ -17,7 +17,7 @@ module TS.SpaceTac.Game.Specs { expect(target.ap_current.current).toBe(4); expect(target.sticky_effects).toEqual([ - new StickyEffect(new AttributeLimitEffect(AttributeCode.AP, 4), 1, true, false) + new StickyEffect(new AttributeLimitEffect(AttributeCode.Power, 4), 1, true, false) ]); // Attribute is limited for one turn, and prevents AP recovery diff --git a/src/game/equipments/EnergyDepleter.ts b/src/game/equipments/PowerDepleter.ts similarity index 73% rename from src/game/equipments/EnergyDepleter.ts rename to src/game/equipments/PowerDepleter.ts index 090ea8e..f07e5f1 100644 --- a/src/game/equipments/EnergyDepleter.ts +++ b/src/game/equipments/PowerDepleter.ts @@ -1,16 +1,16 @@ /// module TS.SpaceTac.Game.Equipments { - export class EnergyDepleter extends AbstractWeapon { + export class PowerDepleter extends AbstractWeapon { constructor() { - super("Energy Depleter"); + super("Power Depleter"); this.setRange(200, 300, false); this.ap_usage = new IntegerRange(4, 5); this.min_level = new IntegerRange(1, 3); - this.addSticky(new AttributeLimitEffect(AttributeCode.AP), 4, 3, 1, 2, true); + this.addSticky(new AttributeLimitEffect(AttributeCode.Power), 4, 3, 1, 2, true); } } } diff --git a/src/view/Preload.ts b/src/view/Preload.ts index 103df46..4ea0fa4 100644 --- a/src/view/Preload.ts +++ b/src/view/Preload.ts @@ -51,9 +51,13 @@ module TS.SpaceTac.View { this.loadImage("battle/actions/move.png"); this.loadImage("battle/actions/endturn.png"); this.loadImage("battle/actions/fire-gatlinggun.png"); - this.loadImage("battle/actions/fire-energydepleter.png"); + this.loadImage("battle/actions/fire-powerdepleter.png"); this.loadImage("battle/actions/fire-submunitionmissile.png"); this.loadImage("battle/weapon/bullet.png"); + this.loadImage("battle/attributes/power.png"); + this.loadImage("battle/attributes/effect-increase.png"); + this.loadImage("battle/attributes/effect-decrease.png"); + this.loadImage("battle/attributes/effect-limit.png"); this.loadImage("common/standard-bar-background.png"); this.loadImage("common/standard-bar-foreground.png"); this.loadImage("map/starsystem-background.png"); diff --git a/src/view/battle/ShipListItem.ts b/src/view/battle/ShipListItem.ts index 99b1eec..cb67907 100644 --- a/src/view/battle/ShipListItem.ts +++ b/src/view/battle/ShipListItem.ts @@ -87,7 +87,7 @@ module TS.SpaceTac.View { this.hull.setValue(attribute.current, attribute.maximal); } else if (attribute.code === Game.AttributeCode.Shield) { this.shield.setValue(attribute.current, attribute.maximal); - } else if (attribute.code === Game.AttributeCode.AP) { + } else if (attribute.code === Game.AttributeCode.Power) { this.energy.setValue(attribute.current, attribute.maximal); } } diff --git a/src/view/battle/ShipTooltip.ts b/src/view/battle/ShipTooltip.ts index 0a6974c..9278d21 100644 --- a/src/view/battle/ShipTooltip.ts +++ b/src/view/battle/ShipTooltip.ts @@ -105,6 +105,9 @@ module TS.SpaceTac.View { ship.sticky_effects.forEach((effect, index) => { this.addEffect(effect, index); }); + ship.listEquipment(Game.SlotType.Weapon).forEach((equipment, index) => { + this.addEquipment(equipment, ship.sticky_effects.length + index); + }); Animation.fadeIn(this.game, this, 200, 0.9); } else { @@ -112,18 +115,46 @@ module TS.SpaceTac.View { } } - // Add a sticky effect display + /** + * Add a sticky effect display + */ addEffect(effect: Game.StickyEffect, index = 0) { - var effect_group = new Phaser.Image(this.game, 27, 243 + 60 * index, "battle-ship-tooltip-effect"); + let effect_group = new Phaser.Image(this.game, 27, 243 + 60 * index, "battle-ship-tooltip-effect"); this.active_effects.addChild(effect_group); - var effect_icon = new Phaser.Image(this.game, 30, effect_group.height / 2, `battle-effect-${effect.getFullCode()}`); + if (effect.base instanceof Game.AttributeLimitEffect) { + let attr_name = Game.AttributeCode[effect.base.attrcode].toLowerCase().replace('_', ''); + let attr_icon = new Phaser.Image(this.game, 30, effect_group.height / 2, `battle-attributes-${attr_name}`); + attr_icon.anchor.set(0.5, 0.5); + attr_icon.scale.set(0.17, 0.17); + effect_group.addChild(attr_icon); + + let effect_icon = new Phaser.Image(this.game, 30, effect_group.height / 2, "battle-attributes-effect-limit"); + effect_icon.anchor.set(0.5, 0.5); + effect_icon.scale.set(0.17, 0.17); + effect_group.addChild(effect_icon); + } + + let text = `${effect.getDescription()} (${effect.duration} turns)`; + let color = effect.isBeneficial() ? "afe9c6" : "#e9afaf"; + let effect_text = new Phaser.Text(this.game, 60, effect_group.height / 2, text, { font: "16pt Arial", fill: color }); + effect_text.anchor.set(0, 0.5); + effect_group.addChild(effect_text); + } + + /** + * Add an equipment action display + */ + addEquipment(equipment: Game.Equipment, index = 0) { + let effect_group = new Phaser.Image(this.game, 27, 243 + 60 * index, "battle-ship-tooltip-effect"); + this.active_effects.addChild(effect_group); + + let effect_icon = new Phaser.Image(this.game, 30, effect_group.height / 2, `battle-actions-${equipment.action.code}`); effect_icon.anchor.set(0.5, 0.5); + effect_icon.scale.set(0.17, 0.17); effect_group.addChild(effect_icon); - var text = `${effect.getDescription()} (${effect.duration} turns)`; - var color = effect.isBeneficial() ? "afe9c6" : "#e9afaf"; - var effect_text = new Phaser.Text(this.game, 60, effect_group.height / 2, text, { font: "16pt Arial", fill: color }); + let effect_text = new Phaser.Text(this.game, 60, effect_group.height / 2, equipment.name, { font: "16pt Arial", fill: "#ffffff" }); effect_text.anchor.set(0, 0.5); effect_group.addChild(effect_text); }