public override string GetElementIdentifierName(Controller controller, int elementIdentifierId, AxisRange axisRange) { if (controller == null) { throw new ArgumentNullException("controller"); } ControllerElementIdentifier eid = controller.GetElementIdentifierById(elementIdentifierId); if (eid == null) { throw new ArgumentException("Invalid element identifier id: " + elementIdentifierId); } Controller.Element element = controller.GetElementById(elementIdentifierId); switch (element.type) { case ControllerElementType.Axis: return(eid.GetDisplayName(element.type, axisRange)); case ControllerElementType.Button: return(eid.name); default: return(eid.name); } }
// hit this player with the given Chip public void hit(int damage, int multiplier, Controller.Element atkElement) { // calculate damage int totalDamage = Controller.isSuper(atkElement, element) ? damage * (multiplier + 1) :// +1 to multiplier - stacking doublers is +100%, not x2 damage * multiplier; // deduct from HP, but don't go below 0 // healing is negative damage - don't go above max either curHP -= totalDamage; curHP = curHP < 0 ? 0 : (curHP > maxHP ? maxHP : curHP); }
public Sprite getSprite(Controller.Element target) { return(elements[(int)target]); }