Resolved merge conflict in v3_X_Changes.java and updated to 3.1.0

This commit is contained in:
2025-06-03 20:49:43 +03:00
1451 changed files with 12879 additions and 5172 deletions
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -28,6 +28,7 @@ import com.badlogic.gdx.controllers.Controller;
import com.badlogic.gdx.controllers.ControllerListener;
import com.badlogic.gdx.controllers.ControllerMapping;
import com.badlogic.gdx.controllers.Controllers;
import com.watabou.noosa.Game;
import com.watabou.noosa.ui.Cursor;
import com.watabou.utils.DeviceCompat;
import com.watabou.utils.PointF;
@@ -78,6 +79,7 @@ public class ControllerHandler implements ControllerListener {
initialized = true;
return true;
} catch (Exception e){
Game.reportException(e);
failedInit = true;
return false;
}
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -136,13 +136,13 @@ public class Camera extends Gizmo {
panIntensity = 0f;
}
public void zoom( float value ) {
public synchronized void zoom( float value ) {
zoom( value,
scroll.x + width / 2f,
scroll.y + height / 2f );
}
public void zoom( float value, float fx, float fy ) {
public synchronized void zoom( float value, float fx, float fy ) {
PointF offsetAdjust = centerOffset.clone();
centerOffset.scale(zoom).invScale(value);
@@ -154,7 +154,7 @@ public class Camera extends Gizmo {
snapTo( fx - offsetAdjust.x, fy - offsetAdjust.y );
}
public void resize( int width, int height ) {
public synchronized void resize( int width, int height ) {
this.width = width;
this.height = height;
screenWidth = (int)(width * zoom);
@@ -172,7 +172,7 @@ public class Camera extends Gizmo {
float followDeadzone = 0f;
@Override
public void update() {
public synchronized void update() {
super.update();
float deadX = 0;
@@ -233,12 +233,12 @@ public class Camera extends Gizmo {
return x >= this.x && y >= this.y && x < this.x + screenWidth && y < this.y + screenHeight;
}
public void shift( PointF point ){
public synchronized void shift( PointF point ){
scroll.offset(point);
panIntensity = 0f;
}
public void setCenterOffset( float x, float y ){
public synchronized void setCenterOffset( float x, float y ){
scroll.x += x - centerOffset.x;
scroll.y += y - centerOffset.y;
if (panTarget != null) {
@@ -248,7 +248,7 @@ public class Camera extends Gizmo {
centerOffset.set(x, y);
}
public void snapTo(float x, float y ) {
public synchronized void snapTo(float x, float y ) {
scroll.set( x - width / 2f, y - height / 2f ).offset(centerOffset);
panIntensity = 0f;
followTarget = null;
@@ -258,18 +258,22 @@ public class Camera extends Gizmo {
snapTo( point.x, point.y );
}
public void panTo( PointF dst, float intensity ){
public synchronized void panTo( PointF dst, float intensity ){
panTarget = dst.offset(centerOffset);
panIntensity = intensity;
followTarget = null;
}
public void panFollow(Visual target, float intensity ){
public synchronized void panFollow(Visual target, float intensity ){
followTarget = target;
panIntensity = intensity;
}
public void setFollowDeadzone( float deadzone ){
public synchronized Visual followTarget(){
return followTarget;
}
public synchronized void setFollowDeadzone( float deadzone ){
followDeadzone = deadzone;
}
@@ -310,7 +314,7 @@ public class Camera extends Gizmo {
}
public void shake( float magnitude, float duration ) {
public synchronized void shake( float magnitude, float duration ) {
shakeMagX = shakeMagY = magnitude;
shakeTime = shakeDuration = duration;
}
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -100,15 +100,15 @@ public class Game implements ApplicationListener {
if (density == Float.POSITIVE_INFINITY){
density = 100f / 160f; //assume 100PPI if density can't be found
} else if (DeviceCompat.isDesktop()) {
float PpiX = Gdx.graphics.getPpiX();
float PpiY = Gdx.graphics.getPpiY();
float reportedWidth = dispWidth / Gdx.graphics.getPpiX();
float reportedHeight = dispHeight / Gdx.graphics.getPpiY();
//this exists because Steam deck reports its display size as 4"x6.3" for some reason
// as if in portrait, instead of 6.3"x4". This results in incorrect PPI measurements.
// So when the PPIs differ, we assume reported display size is flipped and adjust
if (PpiX / PpiY > 1.1f || PpiX / PpiY < 0.9f ){
float reportedDisplayHeightInches = dispHeight / PpiY; //it's actually the width
float realPpiX = dispWidth / reportedDisplayHeightInches;
// So we check that the orientation of the resolution and the display dimensions match.
// If they don't, re-calculate density assuming reported dimensions are flipped.
if (dispWidth > dispHeight != reportedWidth > reportedHeight){
float realPpiX = dispWidth / reportedHeight;
density = realPpiX / 160f;
}
}
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -171,19 +171,24 @@ public class Random {
}
//returns an index from chances, the probability of each index is the weight values in changes
//negative values are treated as 0
public static int chances( float[] chances ) {
int length = chances.length;
float sum = 0;
for (int i=0; i < length; i++) {
sum += chances[i];
sum += Math.max(0, chances[i]);
}
if (sum <= 0){
return -1;
}
float value = Float( sum );
sum = 0;
for (int i=0; i < length; i++) {
sum += chances[i];
sum += Math.max(0, chances[i]);
if (value < sum) {
return i;
}
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -29,8 +29,12 @@ import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.view.ViewConfiguration;
import android.window.OnBackInvokedCallback;
import android.window.OnBackInvokedDispatcher;
import com.badlogic.gdx.Files;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import com.badlogic.gdx.backends.android.AndroidAudio;
@@ -44,6 +48,7 @@ import com.shatteredpixel.shatteredpixeldungeon.services.news.NewsImpl;
import com.shatteredpixel.shatteredpixeldungeon.services.updates.UpdateImpl;
import com.shatteredpixel.shatteredpixeldungeon.services.updates.Updates;
import com.shatteredpixel.shatteredpixeldungeon.ui.Button;
import com.watabou.input.KeyEvent;
import com.watabou.noosa.Game;
import com.watabou.utils.FileUtils;
@@ -85,6 +90,7 @@ public class AndroidLauncher extends AndroidApplication {
Game.versionCode = 0;
}
Gdx.app = this;
if (UpdateImpl.supportsUpdates()) {
Updates.service = UpdateImpl.getUpdateService();
}
@@ -103,7 +109,19 @@ public class AndroidLauncher extends AndroidApplication {
} else {
instance = this;
}
//Shattered still overrides the back gesture behaviour, but we need to do it in a new way
// (API added in Android 13, functionality enforced in Android 16)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
getOnBackInvokedDispatcher().registerOnBackInvokedCallback(OnBackInvokedDispatcher.PRIORITY_DEFAULT, new OnBackInvokedCallback() {
@Override
public void onBackInvoked() {
KeyEvent.addKeyEvent(new KeyEvent(Input.Keys.BACK, true));
KeyEvent.addKeyEvent(new KeyEvent(Input.Keys.BACK, false));
}
});
}
//set desired orientation (if it exists) before initializing the app.
if (SPDSettings.landscape() != null) {
instance.setRequestedOrientation( SPDSettings.landscape() ?
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
@@ -3,7 +3,7 @@
* Copyright (C) 2012-2015 Oleg Dolya
*
* Shattered Pixel Dungeon
* Copyright (C) 2014-2024 Evan Debenham
* Copyright (C) 2014-2025 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
+8 -6
View File
@@ -7,7 +7,7 @@ buildscript {
}
}
dependencies {
classpath 'com.android.tools.build:gradle:8.7.1'
classpath 'com.android.tools.build:gradle:8.9.1'
}
}
@@ -17,14 +17,16 @@ allprojects {
appName = 'Shattered Pixel Dungeon'
appPackageName = 'com.shatteredpixel.shatteredpixeldungeon'
appVersionCode = 833
appVersionName = '3.0.2'
appVersionCode = 846
appVersionName = '3.1.0'
appJavaCompatibility = JavaVersion.VERSION_1_8
appAndroidCompileSDK = 34
appAndroidMinSDK = 14
appAndroidTargetSDK = 34
appAndroidCompileSDK = 35 //Android 15
appAndroidMinSDK = 14 //Android 4.0
//significant layout management changes required for API 35+ as edge-to-edge is forced on
//will do this at the same time as dropping support for Android 4.4- (later in 2025)
appAndroidTargetSDK = 34 //Android 14
gdxVersion = '1.12.1'
gdxControllersVersion = '2.2.4-SNAPSHOT'
Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 B

After

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 428 B

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 976 B

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -109,8 +109,8 @@ actors.buffs.berserk.angered=angered
actors.buffs.berserk.berserk=berserking
actors.buffs.berserk.exhausted=exhausted
actors.buffs.berserk.recovering=recovering
actors.buffs.berserk.angered_desc=The severity of the Berserker's injuries strengthen his blows. As the berserker takes physical damage, his rage will build, granting him bonus damage. Damage which is blocked by armor still counts towards building rage.\n\nRage will fade over time. The lower the berserker's health, the longer it will last.\n\nAt 100%% rage, the Berserker can go berserk, granting him 2x his seal's max shielding, increasing to 6x if he has very low health. This shielding decays over time and once it runs out the berserker will have to rest before building rage again.\n\nCurrent Rage: _%.0f%%_\n_+%.0f%%_ damage
actors.buffs.berserk.berserk_desc=Fear and uncertainty bleed away, leaving only anger. In this state the Berserker is extremely powerful, _dealing +50% damage and gaining bonus shielding._\n\nThis bonus shielding is equal to 2x his seal's max shielding, increasing to 6x if he has very low health. When this shielding is reduced to 0, berserking will end.\n\nAfter raging, the Berserker will need to recover before being able to build rage again.
actors.buffs.berserk.angered_desc=The severity of the Berserker's injuries strengthen his blows. As the berserker takes physical damage, his rage will build, granting him bonus damage. Damage which is blocked by armor still counts towards building rage.\n\nRage will fade over time. The lower the berserker's health, the longer it will last.\n\nAt 100%% rage, the Berserker can go berserk, granting him shielding based on the level of his armor and his missing health. While berserking, his shielding decays over time and once it runs out he will have to rest before building rage again.\n\nCurrent Rage: _%1$.0f%%_\n_+%2$.0f%%_ damage\n\nBerserk shield at current armor and HP: _%3$d_
actors.buffs.berserk.berserk_desc=Fear and uncertainty bleed away, leaving only anger. In this state the Berserker is extremely powerful, _dealing +50%% damage and gaining bonus shielding,_ but also losing shielding every turn.\n\nWhen all of his shielding is reduced to 0, berserking will end.\n\nAfter raging, the Berserker will need to recover before being able to build rage again.\n\nShield Remaining: %d
actors.buffs.berserk.recovering_desc=Inner strength has its limits. The Berserker must rest before using his rage again.\n\nWhile recovering the Berserker does not build any rage from taking damage.
actors.buffs.berserk.recovering_desc_turns=Turns until recovered: _%d_
actors.buffs.berserk.recovering_desc_levels=Levels until recovered: _%.2f_
@@ -168,7 +168,7 @@ actors.buffs.combo.action_name=combo attack
actors.buffs.combo.combo=%d hit combo!
actors.buffs.combo.bad_target=You must target an enemy in attack range.
actors.buffs.combo.prompt=Select a target to attack.
actors.buffs.combo.desc=The gladiator builds momentum as they land successful blows. Each attack increases the combo counter by one, but taking too long between hits will reset the combo counter to 0.\n\nBuilding combo unlocks special combo attacks that cannot miss! A different attack is unlocked at 2, 4, 6, 8, and 10 combo count. Some moves reset combo and some do not, but each move can only be used once per combo session.\n\nCurrent combo: %1$d.\n\nTurns until Combo is lost: %2$s.
actors.buffs.combo.desc=The gladiator builds momentum as he lands successful blows. Each attack increases the combo counter by one, but taking too long between hits will reset the combo counter to 0. While the gladiator has combo any shielding he has from his broken seal will not start to fade.\n\nBuilding combo unlocks special combo attacks that cannot miss! A different attack is unlocked at 2, 4, 6, 8, and 10 combo count. Some moves reset combo and some do not, but each move can only be used once per combo session.\n\nCurrent combo: %1$d.\n\nTurns until Combo is lost: %2$s.
actors.buffs.combo$combomove.clobber.name=clobber
actors.buffs.combo$combomove.clobber.desc=Knocks an enemy back 2 tiles, but deals no damage and cannot knock into pits. Increments combo by 1.
actors.buffs.combo$combomove.clobber.empower_desc=Knocks an enemy back _3 tiles, inflicts vertigo, and can knock into pits,_ but deals no damage. Increments combo by 1.
@@ -235,6 +235,11 @@ actors.buffs.fury.desc=You are angry, enemies won't like you when you're angry.\
actors.buffs.blobimmunity.name=purification barrier
actors.buffs.blobimmunity.desc=Some strange force is encasing you in a thin protective barrier, blocking out all harmful airborne effects.\n\nYou are immune to all area-bound effects while this barrier lasts.\n\nTurns of immunity remaining: %s.
actors.buffs.gravitychaostracker.name=gravity chaos
actors.buffs.gravitychaostracker.desc_intro=Every few turns all characters on the current dungeon floor will be thrown in a random direction.
actors.buffs.gravitychaostracker.desc_positive=You and your allies seem to be immune though.
actors.buffs.gravitychaostracker.desc_duration=It's not clear how long the effect will last for, but it can't last forever.
actors.buffs.greaterhaste.name=greater haste
actors.buffs.greaterhaste.desc=An incredible boost of speed, for a moment it feels as if everything else is standing still.\n\nWhile under the effects of greater haste moving actions take no time at all, but other actions are still performed at normal speed. Each step of movement consumes a turn of greater haste.\n\nTurns of greater haste remaining: %d.
@@ -275,6 +280,7 @@ actors.buffs.levitation.name=levitating
actors.buffs.levitation.desc=A magical force is levitating you over the ground, making you feel weightless.\n\nLevitating characters move silently and ignore all ground-based effects. Traps won't trigger, water won't put out fire, plants won't be trampled, roots will miss, and pits will be hovered over. Be careful, as all these things can come into effect the second the levitation ends!\n\nTurns of levitation remaining: %s.
actors.buffs.lifelink.name=life link
actors.buffs.lifelink.ondeath=The life linked damage killed you...
actors.buffs.lifelink.desc=This character's life force is linked to another character nearby. Any damage taken is shared between them.\n\nWhenever this character takes damage, half of it will be dealt to the life link target instead.\n\nTurns of life link remaining: %s.
actors.buffs.light.name=illuminated
@@ -484,6 +490,7 @@ actors.hero.abilities.rogue.smokebomb.fov=You can only jump to an empty location
actors.hero.abilities.rogue.smokebomb.prompt=Choose a location to jump to
actors.hero.abilities.rogue.smokebomb$ninjalog.name=wooden decoy
actors.hero.abilities.rogue.smokebomb$ninjalog.desc=Somehow, enemies are easily convinced that this wooden decoy is the real Rogue!
actors.hero.abilities.rogue.smokebomb$ninjalog.discover_hint=You can find this character with a specific hero armor ability.
actors.hero.abilities.rogue.smokebomb.short_desc=The Rogue throws down a _Smoke Bomb_ while blinking away. He blinds enemies near his old location.
actors.hero.abilities.rogue.smokebomb.desc=The Rogue throws down a smoke bomb and blinks up to 6 tiles away. He can blink through hazards and enemies, but not through solid terrain like walls.\n\nEnemies that are adjacent to the Rogue's old position will be blinded for 5 turns.
actors.hero.abilities.rogue.deathmark.name=death mark
@@ -500,6 +507,7 @@ actors.hero.abilities.rogue.shadowclone$shadowally.direct_defend=Your clone move
actors.hero.abilities.rogue.shadowclone$shadowally.direct_follow=Your clone moves to follow you.
actors.hero.abilities.rogue.shadowclone$shadowally.direct_attack=Your clone moves to attack!
actors.hero.abilities.rogue.shadowclone$shadowally.desc=A copy of the Rogue, made from shadowy darkness. It stands stock still, with empty eyes and tiny wisps of darkness rising from it like steam.\n\nThe clone is not a perfect copy of the Rogue, but is still a decent fighter, and can benefit from the Rogue's equipment with the right talents.
actors.hero.abilities.rogue.shadowclone$shadowally.discover_hint=You can find this character with a specific hero armor ability.
actors.hero.abilities.huntress.spectralblades.name=spectral blades
actors.hero.abilities.huntress.spectralblades.short_desc=The Huntress throws _Spectral Blades_ at a target, inflicting damage depending on her currently equipped melee weapon.
@@ -520,6 +528,7 @@ actors.hero.abilities.huntress.spirithawk$hawkally.direct_attack=Your hawk moves
actors.hero.abilities.huntress.spirithawk$hawkally.desc=A magical hawk, summoned by the Huntress. It glows a bright ethereal blue, its head constantly shifts around as it surveys the area.\n\nWhile it isn't much of a fighter its speed and vision make it excellent for scouting and distracting enemies.
actors.hero.abilities.huntress.spirithawk$hawkally.desc_remaining=Turns remaining: %d.
actors.hero.abilities.huntress.spirithawk$hawkally.desc_dodges=Guaranteed dodges remaining: %d.
actors.hero.abilities.huntress.spirithawk$hawkally.discover_hint=You can find this character with a specific hero armor ability.
actors.hero.abilities.duelist.challenge.name=challenge
actors.hero.abilities.duelist.challenge.prompt=Choose an enemy to challenge
@@ -592,6 +601,7 @@ actors.hero.abilities.cleric.powerofmany$lightally.direct_defend=Your ally moves
actors.hero.abilities.cleric.powerofmany$lightally.direct_follow=Your ally moves to follow you.
actors.hero.abilities.cleric.powerofmany$lightally.direct_attack=Your ally moves to attack!
actors.hero.abilities.cleric.powerofmany$lightally.desc=A copy of one of the Cleric's adventuring companions, made out of solid light. While it has the shape of another hero, it does not have any of their unique abilities. This ally will persist for as long as Power of Many is applied to them.\n\nThis ally can be directed at no cost by re-using the Power of Many armor ability.
actors.hero.abilities.cleric.powerofmany$lightally.discover_hint=You can find this character with a specific hero armor ability.
actors.hero.abilities.ratmogrify.name=ratmogrify
@@ -630,7 +640,7 @@ actors.hero.spells.bodyform$bodyformbuff.desc=Trinity's body form is currently g
actors.hero.spells.cleanse.name=cleanse
actors.hero.spells.cleanse.short_desc=Clears debuffs and grants shielding.
actors.hero.spells.cleanse.desc=The Cleric instantly clears all harmful effects on themselves and visible allies. After the spell ends all characters affected also gain %1$d turns of debuff immunity, and %2$d barrier.
actors.hero.spells.cleanse.desc=The Cleric clears all harmful status effects on themselves and visible allies. After the spell ends all characters affected also gain %1$d turns of debuff immunity, and %2$d barrier.
actors.hero.spells.clericspell.prompt=Choose a target
actors.hero.spells.clericspell.no_target=There is no target there.
@@ -640,7 +650,7 @@ actors.hero.spells.clericspell.charge_cost=Charge cost: %d
actors.hero.spells.divinesense.name=divine sense
actors.hero.spells.divinesense.short_desc=Gain temporary mind vision in a wide range.
actors.hero.spells.divinesense.desc=The Cleric focuses their senses on their surroundings, gaining mind vision with a %d tile range for 30 turns.
actors.hero.spells.divinesense.desc=The Cleric focuses their senses on their surroundings, gaining mind vision with a %d tile range for 30 turns. This spell takes no time to cast.
actors.hero.spells.divinesense$divinesensetracker.name=divine sense
actors.hero.spells.divinesense$divinesensetracker.desc=This character is temporarily able to see other nearby creatures with their mind!\n\nTurns remaining: %s.
@@ -655,19 +665,19 @@ actors.hero.spells.flash.desc=The Cleric channels their ascended form at a nearb
actors.hero.spells.guidinglight.name=guiding light
actors.hero.spells.guidinglight.short_desc=Deals ranged magic damage and guarantees a hit.
actors.hero.spells.guidinglight.desc=The Cleric fires a bolt of magical energy which strikes a target, dealing 2-6 damage and illuminating them. The next non-encumbered physical attack made against an illuminated enemy is guaranteed to hit them.
actors.hero.spells.guidinglight.desc_priest=_This spell is more powerful when cast by the Priest._ The first cast of the spell every 100 turns costs no tome charges, and illumination will be consumed by wands, other characters, and artifacts that directly affect enemies. When illuminated is used in this way, it deals bonus magic damage equal to the Priest's level.
actors.hero.spells.guidinglight.desc=The Cleric fires a bolt of magical energy which strikes a target, dealing 2-8 damage and illuminating them. The next non-encumbered physical attack made against an illuminated enemy is guaranteed to hit them.
actors.hero.spells.guidinglight.desc_priest=_This spell is more powerful when cast by the Priest._ The first cast of the spell every 100 turns costs no tome charges, and illumination will be consumed by radiance, wands, other characters, and artifacts that directly affect enemies. When illuminated is used in this way, it deals bonus magic damage equal to the Priest's level + 5.
actors.hero.spells.guidinglight$guidinglightpriestcooldown.name=Guiding Light
actors.hero.spells.guidinglight$guidinglightpriestcooldown.desc=The Priest will be able to cast Guiding Light for free again after 100 turns elapse.\n\nTurns remaining: %s.
actors.hero.spells.guidinglight$illuminated.name=Illuminated
actors.hero.spells.guidinglight$illuminated.desc=This character is glowing as a result of being struck by guiding light. While the glow isn't strong enough to brighten the surrounding area, the magical effect will make landing blows on them much easier for the Cleric.
actors.hero.spells.guidinglight$illuminated.desc_priest=The Priest can additionally consume illuminated with a wand zap, strike from an ally, or effects from some artifacts. Using illuminated in this way will deal bonus damage.
actors.hero.spells.guidinglight$illuminated.desc_priest=The Priest can additionally consume illuminated with radiance, a wand zap, strike from an ally, or effects from some artifacts. Using illuminated in this way will deal bonus magic damage equal to the Priest's level + 5.
actors.hero.spells.guidinglight$illuminated.desc_generic=Other heroes can still use illuminated to benefit from the searing light talent, but will not gain any accuracy.
actors.hero.spells.hallowedground.name=hallowed ground
actors.hero.spells.hallowedground.prompt=Choose a location
actors.hero.spells.hallowedground.short_desc=Heals allies, slows enemies, and spreads grass in an AOE.
actors.hero.spells.hallowedground.desc=The Priest focuses their divine magic into the ground nearby, creating a %1$dx%1$d area of hallowed terrain for 20 turns.\n\nWhen it is cast, this spell heals all allies for 10 HP (healthy allies and the Priest get shielding), briefly roots enemies, and spreads short grass.\n\nThe hallowed terrain heals allies for 1 HP per turn (healthy allies and the Priest get shielding), cripples enemies, and randomly causes tall grass to grow.\n\nHallowed terrain is destroyed by fire, and will produce furrowed grass if passive regen effects are disabled or the Priest has not gained exp in a while.
actors.hero.spells.hallowedground.desc=The Priest focuses their divine magic into the ground nearby, creating a %1$dx%1$d area of hallowed terrain for 20 turns.\n\nWhen it is cast, this spell heals all allies for 15 HP (healthy allies and the Priest get shielding), briefly roots enemies, and spreads short grass.\n\nThe hallowed terrain heals allies for 1 HP per turn (healthy allies and the Priest get shielding), cripples enemies, and randomly causes tall grass to grow.\n\nHallowed terrain is destroyed by fire, and will produce furrowed grass if passive regen effects are disabled or the Priest has not gained exp in a while.
actors.hero.spells.hallowedground$hallowedterrain.desc=The ground has been hallowed here. Hallowed ground slows enemies, heals allies, and causes grass to spread.
actors.hero.spells.holyintuition.name=holy intuition
@@ -679,7 +689,7 @@ actors.hero.spells.holyintuition.desc=The Cleric focuses their senses on an item
actors.hero.spells.holylance.name=holy lance
actors.hero.spells.holylance.short_desc=Deals heavy ranged magic damage.
actors.hero.spells.holylance.desc=The Priest concentrates a large amount of energy into a devastating thrown lance made of light. This lance deals %1$d-%2$d damage and always deals maximum damage to undead and demonic targets.\n\nThis spell is very expensive, and has a cooldown of 50 turns.
actors.hero.spells.holylance.desc=The Priest concentrates a large amount of energy into a devastating thrown lance made of light. This lance deals %1$d-%2$d damage and always deals maximum damage to undead and demonic targets.\n\nThis spell is very expensive, and has a cooldown of 30 turns.
actors.hero.spells.holylance$lancecooldown.name=holy lance cooldown
actors.hero.spells.holylance$lancecooldown.desc=The Priest has recently cast Holy Lance, and must wait before casting it again.\n\nTurns remaining: %s.
@@ -687,7 +697,7 @@ actors.hero.spells.holyward.name=holy ward
actors.hero.spells.holyward.glyph_name=%s of light
actors.hero.spells.holyward.glyph_desc=This glyph slightly increases the amount of damage armor can block.
actors.hero.spells.holyward.short_desc=Temporarily overrides glyphs to boost armor blocking.
actors.hero.spells.holyward.desc=The Cleric imbues their worn armor with glyphs of holy light, increasing the armor's damage blocking by 1.\n\nThis glyph lasts for 50 turns, and will override any beneficial glyph the armor has for the duration. The Cleric will benefit from this effect even if they have no armor.
actors.hero.spells.holyward.desc=The Cleric imbues their worn armor with glyphs of holy light, increasing the armor's damage blocking by 1. This spell takes no time to cast.\n\nThis glyph lasts for 50 turns, and will override any beneficial glyph the armor has for the duration. The Cleric will benefit from this effect even if they have no armor.
actors.hero.spells.holyward.desc_paladin=_This spell is more powerful when cast by the Paladin._ The additional damage blocking is increased to 3, the spell no longer overrides existing glyphs, and casting other spells while holy ward is active will extend its duration by 10 turns per charge used.
actors.hero.spells.holyward$holyarmbuff.name=holy ward
actors.hero.spells.holyward$holyarmbuff.desc=The Cleric has imbued their worn armor with holy energy, temporarily overriding any existing glyph and causing the armor to block an extra 1 point of damage.\n\nTurns Remaining: %s.
@@ -697,7 +707,7 @@ actors.hero.spells.holyweapon.name=holy weapon
actors.hero.spells.holyweapon.ench_name=holy %s
actors.hero.spells.holyweapon.ench_desc=Enemies struck by a holy weapon will take extra magical damage.
actors.hero.spells.holyweapon.short_desc=Temporarily overrides enchantments to boost damage.
actors.hero.spells.holyweapon.desc=The Cleric enchants their worn weapon with holy energy, causing the weapon to deal an additional 2 magical damage any time they strike an enemy with it.\n\nThis enchantment lasts for 50 turns, and will override any beneficial enchantment the weapon has for the duration. Unarmed strikes can also benefit from this effect.
actors.hero.spells.holyweapon.desc=The Cleric enchants their worn weapon with holy energy, causing the weapon to deal an additional 2 magical damage any time they strike an enemy with it. This spell takes no time to cast.\n\nThis enchantment lasts for 50 turns, and will override any beneficial enchantment the weapon has for the duration. Unarmed strikes can also benefit from this effect.
actors.hero.spells.holyweapon.desc_paladin=_This spell is more powerful when cast by the Paladin._ The additional magical damage is increased to 6, the spell no longer overrides existing enchantments, and casting other spells while holy weapon is active will extend its duration by 10 turns per charge used.
actors.hero.spells.holyweapon$holywepbuff.name=holy weapon
actors.hero.spells.holyweapon$holywepbuff.desc=The Cleric has imbued their worn weapon with holy energy, temporarily overriding any existing enchantment and causing the weapon to deal an extra 2 magical damage on each attack.\n\nTurns Remaining: %s.
@@ -705,7 +715,7 @@ actors.hero.spells.holyweapon$holywepbuff.desc_paladin=The Paladin has imbued th
actors.hero.spells.judgement.name=judgement
actors.hero.spells.judgement.short_desc=Damages all visible enemies.
actors.hero.spells.judgement.desc=The Cleric slams their fist onto the ground, causing an eruption of light that deals damage to all enemies they can see. This deals %1$d-%2$d damage at base, but also deals an additional 5-10 damage for each spell the Cleric has cast since entering ascended form (or since they last cast Judgement).\n\nCurrently Judgement will deal %3$d-%4$d damage.
actors.hero.spells.judgement.desc=The Cleric slams their fist onto the ground, causing an eruption of light that deals damage to all enemies they can see. This deals %1$d-%2$d damage at base, but also deals an additional 33%% damage for each spell the Cleric has cast since entering ascended form (or since they last cast Judgement).\n\nCurrently Judgement will deal %3$d-%4$d damage.
actors.hero.spells.layonhands.name=lay on hands
actors.hero.spells.layonhands.short_desc=Instantly heals an adjacent character or shields the Paladin.
@@ -723,11 +733,11 @@ actors.hero.spells.mindform.desc=The Cleric chooses a wand or thrown weapons tha
actors.hero.spells.mnemonicprayer.name=mnemonic prayer
actors.hero.spells.mnemonicprayer.short_desc=Extends buffs/debuffs on an ally/enemy, & re-applies illuminated.
actors.hero.spells.mnemonicprayer.desc=The Priest utters a prayer that extends the duration of all buffs or debuffs on a specific target by %1$d turns. Positive effects will last longer on allies (including the Priest themselves), and harmful effects will last longer on enemies. This spell will also re-apply illuminated to an enemy that has been illuminated previously.\n\nMnemonic Prayer can only extend a specific instance of a buff or debuff once, and cannot extend buffs granted from armor abilities.
actors.hero.spells.mnemonicprayer.desc=The Priest utters a prayer that extends the duration of all buffs or debuffs on a specific target by %1$d turns. This spell takes no time to cast. Positive effects will last longer on allies (including the Priest themselves), and harmful effects will last longer on enemies. This spell will also re-apply illuminated to an enemy that has been illuminated previously.\n\nMnemonic Prayer can only extend a specific instance of a buff or debuff once, and cannot extend buffs granted from armor abilities.
actors.hero.spells.radiance.name=radiance
actors.hero.spells.radiance.short_desc=Illuminates and briefly stuns visible enemies.
actors.hero.spells.radiance.desc=The Priest erupts in holy light, stunning all visible enemies for 3 turns and illuminating them as if they were hit by Guiding Light. Radiance will also cause the Priest to glow for 100 turns if the current floor is dark.
actors.hero.spells.radiance.desc=The Priest erupts in holy light, stunning all visible enemies for 3 turns and illuminating them as if they were hit by Guiding Light. If an enemy is already illuminated, Radiance will trigger illuminate's bonus damage and re-apply the illuminated debuff. Radiance will also cause the Priest to glow for 100 turns if the current floor is dark.
actors.hero.spells.recallinscription.name=recall inscription
actors.hero.spells.recallinscription.short_desc=Repeats a recently used runestone or scroll.
@@ -737,7 +747,7 @@ actors.hero.spells.recallinscription$useditemtracker.desc=The Cleric has recentl
actors.hero.spells.shieldoflight.name=shield of light
actors.hero.spells.shieldoflight.short_desc=Grants temporary armor against a target.
actors.hero.spells.shieldoflight.desc=The Cleric creates a thin barrier of light between themselves and an enemy, increasing their armor's block power against that enemy by %1$d-%2$d for 4 turns.\n\nThis spell takes no time to cast, but cannot be used against multiple targets simultaneously.
actors.hero.spells.shieldoflight.desc=The Cleric creates a thin barrier of light between themselves and an enemy, increasing their armor's block power against that enemy by %1$d-%2$d for 5 turns.\n\nThis spell takes no time to cast, but cannot be used against multiple targets simultaneously.
actors.hero.spells.shieldoflight$shieldoflighttracker.name=shield of light
actors.hero.spells.shieldoflight$shieldoflighttracker.desc=A thin shield of light is standing between this character and an enemy. It's not strong enough to outright block attacks, but will soften them.\n\nTurns Remaining: %s
@@ -790,7 +800,7 @@ actors.hero.hero.revive=The ankh explodes with life-giving energy!
##classes
actors.hero.heroclass.warrior=warrior
actors.hero.heroclass.warrior_desc_short=The Warrior endures extra damage with shielding granted by his _broken seal._ The seal can be moved between armors and _transfers a single upgrade._
actors.hero.heroclass.warrior_desc=The Warrior starts with a _unique broken seal_ that generates shielding over his health. The seal can be moved between armors, and can _transfer a single upgrade_ with it.\n\nThe Warrior also starts with a _worn shortsword_, _three throwing stones_, cloth armor, a waterskin, and a velvet pouch.\n\nThe Warrior automatically identifies:\n_-_ Scrolls of Identify\n_-_ Potions of Healing\n_-_ Scrolls of Rage
actors.hero.heroclass.warrior_desc=The Warrior starts with a _unique broken seal_ that grants him a burst of shielding when he is below half health. The seal can be moved between armors, and can _transfer a single upgrade_ with it.\n\nThe Warrior also starts with a _worn shortsword_, _three throwing stones_, cloth armor, a waterskin, and a velvet pouch.\n\nThe Warrior automatically identifies:\n_-_ Scrolls of Identify\n_-_ Potions of Healing\n_-_ Scrolls of Rage
actors.hero.heroclass.warrior_unlock=The Warrior is automatically unlocked.
actors.hero.heroclass.mage=mage
@@ -820,7 +830,7 @@ actors.hero.heroclass.cleric_unlock=To unlock the Cleric _fully cleanse the curs
actors.hero.herosubclass.berserker=berserker
actors.hero.herosubclass.berserker_short_desc=The _Berserker_ builds rage as he takes damage. Rage increases his damage and can be activated at 100% for bonus shielding.
actors.hero.herosubclass.berserker_desc=The Berserker gains rage as he takes physical damage, including damage that gets blocked by his armor! Rage steadily fades away over time, but fades more slowly if he is at low HP.\n\nThe Berserker deals up to +50% damage at 100% rage. At 100% rage he can also go berserk, gaining 2-6x his seal's maximum shielding depending on his missing health and keeping his rage at 100% as long as he has shielding left. However, the Berserker needs time to recover after he goes berserk.
actors.hero.herosubclass.berserker_desc=The Berserker gains rage as he takes physical damage, including damage that gets blocked by his armor! Rage steadily fades away over time, but fades more slowly if he is at low HP.\n\nRage can cause the Berserker to deal up to +50% damage. At max rage he can go berserk, gaining a burst of shielding and keeping his rage as long as he has shielding left. The shielding scales with the level of the berserker's armor, and can be massively boosted if he is at low health. The Berserker needs time to recover after he goes berserk.
actors.hero.herosubclass.gladiator=gladiator
actors.hero.herosubclass.gladiator_short_desc=The _Gladiator_ builds combo when he makes successful attacks. He can spend combo to use unique abilities.
actors.hero.herosubclass.gladiator_desc=The Gladiator builds one point of combo every time he makes a successful attack with a melee or thrown weapon. If the Gladiator does not make a successful attack within 5 turns, his combo is reset.\n\nAs he builds combo the Gladiator can use a variety of abilities that are guaranteed to hit:\n2 Combo: knock enemy back, preserves combo\n4 Combo: deal damage based on armor\n6 Combo: parry, preserves combo\n8 Combo: damage target and nearby enemies\n10 Combo: attack once for each combo
@@ -850,7 +860,7 @@ actors.hero.herosubclass.monk_short_desc=The _Monk_ builds energy while fighting
actors.hero.herosubclass.monk_desc=The Monk is a master of physical technique. As she defeats enemies, she gains energy which can be used on a variety of defensive and utility-focused abilities. This energy does not fade over time, but has a cap based on the Monk's level.\n\n1 Energy: quickly strike with fists\n2 Energy: focus to dodge next attack\n3 Energy: instantly dash nearby\n4 Energy: kick an enemy away\n5 Energy: meditate to clear statuses and restore wand & artifact charge
actors.hero.herosubclass.priest=priest
actors.hero.herosubclass.priest_short_desc=The _Priest_ gains new long-range spells and an empowered version of guiding light.
actors.hero.herosubclass.priest_desc=The Priest gains a variety of new and upgraded spells that emphasize ranged combat and synergy with magical items.\n\nThe Priest can cast _Guiding Light_ for free once every 100 turns, and can consume the illumination debuff with allies, wands, and some artifacts for bonus damage equal to their level.\n\nThe Priest also gains the _Radiance_ spell, which dispels darkness and illuminates and briefly stuns all visible enemies at the cost of 2 charges.
actors.hero.herosubclass.priest_desc=The Priest gains a variety of new and upgraded spells that emphasize ranged combat and synergy with magical items.\n\nThe Priest can cast _Guiding Light_ for free once every 100 turns, and can consume the illumination debuff with allies, wands, and some artifacts for bonus damage equal to their level + 5.\n\nThe Priest also gains the _Radiance_ spell, which dispels darkness, and affects all visible enemies, triggering and applying illuminate, and briefly stunning them at the cost of 2 charges.
actors.hero.herosubclass.paladin=paladin
actors.hero.herosubclass.paladin_short_desc=The _Paladin_ gains new short-range spells and empowered versions of holy weapon and ward.
actors.hero.herosubclass.paladin_desc=The Paladin gains a variety of new and upgraded spells that emphasize melee combat and synergy with weapons and armor.\n\nThe Paladin's _Holy Weapon_ and _Holy Ward_ spells grant larger bonuses, no longer override existing enchantments and glyphs, and can be extended by casting other spells.\n\nThe Paladin also gains the _Smite_ spell, which lets them perform a guaranteed melee hit with bonus damage and enchantment power.
@@ -894,16 +904,15 @@ actors.hero.talent.hearty_meal.desc=_+1:_ Eating food heals the Warrior for _3 H
actors.hero.talent.veterans_intuition.title=veteran's intuition
actors.hero.talent.veterans_intuition.desc=_+1:_ The Warrior identifies weapons _1.75x faster_ and armor _2.5x faster_.\n\n_+2:_ The Warrior identifies weapons _2.5x faster_ and armor _when he equips it_.
actors.hero.talent.provoked_anger.title=provoked anger
actors.hero.talent.provoked_anger.desc=_+1:_ When the Warrior's shielding breaks, his next physical attack will deal _2 bonus damage_.\n\n_+2:_ When the Warrior's shielding breaks, his next physical attack will deal _3 bonus damage_.
actors.hero.talent.provoked_anger.desc=_+1:_ When any shielding buff applied to the Warrior is broken by damage, his next physical attack will deal _3 bonus damage_.\n\n_+2:_ When any shielding buff applied to the Warrior is broken by damage, his next physical attack will deal _5 bonus damage_.
actors.hero.talent.iron_will.title=iron will
actors.hero.talent.iron_will.desc=_+1:_ The max shield provided by the Warrior's seal is _increased by 1_.\n\n_+2:_ The max shield provided by the Warrior's seal is _increased by 2_.
actors.hero.talent.iron_will.meta_desc=_If this talent is gained by a different hero_ it will grant its shielding benefit without the broken seal.
actors.hero.talent.iron_will.desc=_+1:_ The shield provided by the Warrior's seal is _increased by 1_.\n\n_+2:_ The shield provided by the Warrior's seal is _increased by 2_.
actors.hero.talent.iron_will.meta_desc=_If this talent is gained by a different hero_ it will passively grant a 1 or 2 max shield version of the Warrior's broken seal effect.
actors.hero.talent.iron_stomach.title=iron stomach
actors.hero.talent.iron_stomach.desc=_+1:_ Eating food takes the Warrior 1 turn and grants him _75% damage resistance_ while eating.\n\n_+2:_ Eating food takes the Warrior 1 turn and grants him _100% damage resistance_ while eating.
actors.hero.talent.liquid_willpower.title=liquid willpower
actors.hero.talent.liquid_willpower.desc=_+1:_ The Warrior instantly regains _50% of the shielding_ from his broken seal when drinking or throwing a potion, brew, or elixir.\n\n_+2:_ The Warrior instantly regains _75% of the shielding_ from his broken seal when drinking or throwing a potion, brew, or elixir.\n\nThe shield regeneration effect is doubled when using potions of strength, experience, or alchemy items that must be crafted using those potions.\n\nFor alchemy items with higher output quantities (e.g. aqua brew), this talent has a chance to trigger based on how many of that item is produced.
actors.hero.talent.liquid_willpower.meta_desc=_If this talent is gained by a different hero_ it will instead grant shielding equal to 5% max hp at +1, or 7.5% max hp at +2.
actors.hero.talent.liquid_willpower.desc=_+1:_ The Warrior gains _6.5% of his max HP in shielding_ when drinking or throwing a potion, brew, or elixir.\n\n_+2:_ The Warrior gains _10% of his max HP in shielding_ when drinking or throwing a potion, brew, or elixir.\n\nThe shield amount is doubled when using potions of strength, experience, or alchemy items that must be crafted using those potions.\n\nFor alchemy items with higher output quantities (e.g. aqua brew), this talent has a chance to trigger based on how many of that item is produced.
actors.hero.talent.runic_transference.title=runic transference
actors.hero.talent.runic_transference.desc=_+1:_ The Warrior's broken seal can transfer _regular glyphs_ in the same way it transfers an upgrade.\n\n_+2:_ The Warrior's broken seal can transfer _regular, powerful, and curse glyphs_ in the same way it transfers an upgrade.\n\nThe seal can only transfer glyphs if they were applied to the armor when the seal was attached.
actors.hero.talent.runic_transference.meta_desc=_If this talent is gained by a different hero_ it will instead help glyphs on your armor resist being removed by scrolls of upgrade. Glyphs will begin to be lost when upgrading from level 6(up from 4) at +1, or level 7(up from 4) at +2. The level where glyphs are guaranteed to be lost is unchanged at +8.
@@ -927,7 +936,7 @@ actors.hero.talent.enraged_catalyst.desc=_+1:_ Enchantments and curses on the Be
actors.hero.talent.cleave.title=cleave
actors.hero.talent.cleave.desc=_+1:_ When the Gladiator kills an enemy, the combo cooldown for his next hit is increased to _15 turns_.\n\n_+2:_ When the Gladiator kills an enemy, the combo cooldown for his next hit is increased to _30 turns_.\n\n_+3:_ When the Gladiator kills an enemy, the combo cooldown for his next hit is increased to _45 turns_.
actors.hero.talent.lethal_defense.title=lethal defense
actors.hero.talent.lethal_defense.desc=_+1:_ When the Gladiator kills an enemy with a combo move, he _regains 33%_ of the broken seal's shielding.\n\n_+2:_ When the Gladiator kills an enemy with a combo move, he _regains 67%_ of the broken seal's shielding.\n\n_+3:_ When the Gladiator kills an enemy with a combo move, he _regains 100%_ of the broken seal's shielding.
actors.hero.talent.lethal_defense.desc=_+1:_ When the Gladiator kills an enemy with a combo move, the cooldown on his broken seal shielding is _reduced by 33%_.\n\n_+2:_ When the Gladiator kills an enemy with a combo move, the cooldown on his broken seal shielding is _reduced by 67%_.\n\n_+3:_ When the Gladiator kills an enemy with a combo move, the cooldown on his broken seal shielding is _reduced by 100%_.\n\nThe shield cooldown can be reduced to as low as -100% by this talent, which means it will immediately be available again once it is activated.
actors.hero.talent.enhanced_combo.title=enhanced combo
actors.hero.talent.enhanced_combo.desc=_+1:_ When the Gladiator's combo is 7 or higher, Clobber's knockback range increases to 3, it inflicts vertigo, and it can knock enemies into pits.\n\n_+2:_ In addition to the benefits of +1, when the Gladiator's combo is 9 or higher Parry works on multiple attacks.\n\n_+3:_ In addition to the benefits of +1 and +2, the Gladiator can leap up to combo/3 tiles when using Slam, Crush, or Fury.
@@ -1179,7 +1188,7 @@ actors.hero.talent.combined_lethality.title=combined lethality
actors.hero.talent.combined_lethality.desc=_+1:_ If the Champion attacks with a melee weapon immediately after using a different weapon's ability, that attack will execute any non-boss enemy left at _below 13% HP_.\n\n_+2:_ If the Champion attacks with a melee weapon immediately after using a different weapon's ability, that attack will execute any non-boss enemy left at _below 27% HP_.\n\n_+3:_ If the Champion attacks with a melee weapon immediately after using a different weapon's ability, that attack will execute any non-boss enemy left at _below 40% HP_.\n\nThis attack can be a regular melee weapon attack, or part of a weapon ability.
actors.hero.talent.unencumbered_spirit.title=unencumbered spirit
actors.hero.talent.unencumbered_spirit.desc=_+1:_ The Monk gains _50% more energy_ for each piece of _tier 3 or lower_ equipment she is using.\n\n_+2:_ This talent's effect is increased to _75% more energy_ for each piece of _tier 2 or lower_ equipment the Monk is using.\n\n_+3:_ This talent's effect is increased to _100% more energy_ for each piece of _tier 1_ equipment the Monk is using. She also gains a free cloth armor and studded gloves.\n\nNote that this talent gives no benefit from being unarmed or attacking with a Ring of Force.
actors.hero.talent.unencumbered_spirit.desc=_+1:_ The Monk gains _50% more energy_ for each piece of _tier 3 or lower_ equipment she is using.\n\n_+2:_ The Monk gains _75% more energy_ for each piece of _tier 2 or lower_ equipment she is using. The tier 3 benefit is unchanged.\n\n_+3:_ The Monk gains _100% more energy_ for each piece of _tier 1 or lower_ equipment she is using. The tier 2 and 3 benefits are unchanged. She also gains a free cloth armor and studded gloves.\n\nNote that this talent gives no benefit from being unarmed or attacking with a Ring of Force.
actors.hero.talent.monastic_vigor.title=monastic vigor
actors.hero.talent.monastic_vigor.desc=_+1:_ If the Monk has _100% energy_, her abilities are empowered.\n\n_+2:_ If the Monk has _80% or more energy_, her abilities are empowered.\n\n_+3:_ If the Monk has _60% or more energy_, her abilities are empowered.\n\nWhen empowered:\n- Flurry applies your weapon's enchantment\n- Focus is instantaneous\n- Dash gains +4 range\n- Dragon Kick deals +50% damage and applies its knock back and stun effect to all adjacent enemies\n- Meditate slowly heals 20% of missing HP and grants 80% damage resistance.
actors.hero.talent.combined_energy.title=combined energy
@@ -1214,15 +1223,15 @@ actors.hero.talent.holy_intuition.title=holy intuition
actors.hero.talent.holy_intuition.desc=_+1:_ The Cleric can cast _Holy Intuition,_ a spell that reveals whether an item is cursed at the cost of _3 charges._\n\n_+2:_ The Cleric can cast _Holy Intuition,_ a spell that reveals whether an item is cursed at the cost of _2 charges._
actors.hero.talent.holy_intuition.meta_desc=_If this talent is gained by a different hero_ it will instead let the hero identify the curse status on a cursed item just before equipping it, 15% of the time at +1 or 25% of the time at +2.
actors.hero.talent.searing_light.title=searing light
actors.hero.talent.searing_light.desc=_+1:_ The Cleric's physical attacks on enemies illuminated by _Guiding Light_ deal _+4 damage._\n\n_+2:_ The Cleric's physical attacks on enemies illuminated by _Guiding Light_ deal _+6 damage._
actors.hero.talent.searing_light.desc=_+1:_ The Cleric's physical attacks on enemies illuminated by _Guiding Light_ deal _+3 damage._\n\n_+2:_ The Cleric's physical attacks on enemies illuminated by _Guiding Light_ deal _+5 damage._
actors.hero.talent.searing_light.meta_desc=_If this talent is gained by a different hero_ it will instead grant its bonus damage after a wand or artifact is used on an enemy, with a 20 turn cooldown.
actors.hero.talent.shield_of_light.title=shield of light
actors.hero.talent.shield_of_light.desc=_+1:_ The Cleric can cast _Shield of Light,_ a spell that is cast instantly and grants them _2-4 armor_ against a target for 4 turns at the cost of 1 charge.\n\n_+2:_ The Cleric can cast _Shield of Light,_ a spell that is cast instantly and grants them _3-6 armor_ against a target for 4 turns at the cost of 1 charge.
actors.hero.talent.shield_of_light.desc=_+1:_ The Cleric can cast _Shield of Light,_ a spell that is cast instantly and grants them _2-4 armor_ against a target for 5 turns at the cost of 1 charge.\n\n_+2:_ The Cleric can cast _Shield of Light,_ a spell that is cast instantly and grants them _3-6 armor_ against a target for 5 turns at the cost of 1 charge.
actors.hero.talent.shield_of_light.meta_desc=_If this talent is gained by a different hero_ it will instead reduce physical damage taken from your targeted enemy by 1, 33% of the time at +1 or 50% of the time at +2.
actors.hero.talent.enlightening_meal.title=Enlightening Meal
actors.hero.talent.enlightening_meal.desc=_+1:_ Eating food takes the Cleric 1 turn and grants them _1 charge_ on their holy tome.\n\n_+2:_ Eating food takes the Cleric 1 turn and grants them _1.5 charges_ on their holy tome.
actors.hero.talent.enlightening_meal.meta_desc=_If this talent is gained by a different hero_ it will instead grant 2 turns of wand and artifact recharging at +1, or 3 turns at +2.
actors.hero.talent.enlightening_meal.desc=_+1:_ Eating food takes the Cleric 1 turn and grants them _0.67 charges_ on their holy tome.\n\n_+2:_ Eating food takes the Cleric 1 turn and grants them _1 charge_ on their holy tome.
actors.hero.talent.enlightening_meal.meta_desc=_If this talent is gained by a different hero_ it will instead grant 2 turns of wand and artifact recharging at +1, or 3 turns at +2. This cannot be used to let the horn of plenty recharge itself.
actors.hero.talent.recall_inscription.title=Recall Inscription
actors.hero.talent.recall_inscription.refunded=Your item was refunded!
actors.hero.talent.recall_inscription.desc=_+1:_ The Cleric can cast _Recall Inscription,_ a spell that lets them repeat the effect of the last runestone or scroll they used within _10 turns._\n\n_+2:_ The Cleric can cast _Recall Inscription,_ a spell that lets them repeat the effect of the last runestone or scroll they used within _300 turns._\n\nRecall Inscription cannot be used with scrolls of upgrade. This spell's charge cost varies based on which item was used recently: 2 for a runestone, 3 for a scroll, 4 for an exotic scroll. This charge cost is also doubled when used with a scroll of transmutation, or alchemy items that must be crafted using transmutation or upgrade.
@@ -1231,39 +1240,39 @@ actors.hero.talent.sunray.title=Sunray
actors.hero.talent.sunray.desc=_+1:_ The Cleric can cast _Sunray,_ a spell that deals _4-8 damage_ and blinds the target for _4 turns,_ at the cost of 1 charge.\n\n_+2:_ The Cleric can cast _Sunray,_ a spell that deals _6-12 damage_ and blinds the target for _6 turns,_ at the cost of 1 charge.\n\nSunray can only blind each target once, but if the target is already blinded by Sunray then it paralyses instead. Sunray always deals maximum damage to demonic and undead foes.
actors.hero.talent.sunray.meta_desc=_If this talent is gained by a different hero_ it will instead cause wands and artifacts to blind enemies for 4 turns, 15% of the time at +1 or 25% of the time at +2.
actors.hero.talent.divine_sense.title=Divine Sense
actors.hero.talent.divine_sense.desc=_+1:_ The Cleric can cast _Divine Sense,_ a spell that grants them _8 tiles_ of Mind Vision for 30 turns, at the cost of 2 charges.\n\n_+2:_ The Cleric can cast _Divine Sense,_ a spell that grants them _12 tiles_ of Mind Vision for 30 turns, at the cost of 2 charges.
actors.hero.talent.divine_sense.desc=_+1:_ The Cleric can cast _Divine Sense,_ a spell that grants them _8 tiles_ of Mind Vision for 30 turns and takes no time to cast, at the cost of 2 charges.\n\n_+2:_ The Cleric can cast _Divine Sense,_ a spell that grants them _12 tiles_ of Mind Vision for 30 turns and takes no time to cast, at the cost of 2 charges.
actors.hero.talent.divine_sense.meta_desc=_If this talent is gained by a different hero_ it will instead grant them mind vision for a brief moment after using a wand or artifact with a range of 3 tiles at +1 or 5 tiles at +2.
actors.hero.talent.bless.title=Bless
actors.hero.talent.bless.desc=_+1:_ The Cleric can cast _Bless,_ a spell that grants _6 turns of bless and 10 shielding_ when cast on themselves or _10 turns of bless and 10 healing_ when cast on another character, at the cost of 1 charge.\n\n_+2:_ The Cleric can cast _Bless,_ a spell that grants _10 turns of bless and 15 shielding_ when cast on themselves or _15 turns of bless and 15 healing_ when cast on another character, at the cost of 1 charge.\n\nExcess healing from this spell is converted into shielding.
actors.hero.talent.bless.meta_desc=_If this talent is gained by a different hero_ it will instead boost accuracy and evasion for the hero and all allies by 3% at +1 or 5% at +2.
actors.hero.talent.cleanse.title=Cleanse
actors.hero.talent.cleanse.desc=_+1:_ The Cleric can cast _Cleanse,_ a spell which is cast instantly, _removes negative status effects_ from the Cleric and any nearby allies, and grants them _10 shielding,_ at the cost of 2 charges.\n\n_+2:_ The Cleric can cast _Cleanse,_ a spell which is cast instantly, _grants 3 turns of negative status immunity_ to the Cleric and any nearby allies, and grants them _20 shielding,_ at the cost of 2 charges.\n\n_+3:_ The Cleric can cast _Cleanse,_ a spell which is cast instantly, _grants 5 turns of negative status immunity_ to the Cleric and any nearby allies, and grants them _30 shielding,_ at the cost of 2 charges.
actors.hero.talent.cleanse.desc=_+1:_ The Cleric can cast _Cleanse,_ a spell which _removes negative status effects_ from the Cleric and any nearby allies, and grants them _10 shielding,_ at the cost of 2 charges.\n\n_+2:_ The Cleric can cast _Cleanse,_ a spell which _grants 3 turns of negative status immunity_ to the Cleric and any nearby allies, and grants them _20 shielding,_ at the cost of 2 charges.\n\n_+3:_ The Cleric can cast _Cleanse,_ a spell which _grants 5 turns of negative status immunity_ to the Cleric and any nearby allies, and grants them _30 shielding,_ at the cost of 2 charges.
actors.hero.talent.cleanse.meta_desc=_If this talent is gained by a different hero_ it will instead cleanse negative status effects on the hero after using a wand or artifact, 10/20/30% of the time at +1/+2/+3.
actors.hero.talent.light_reading.title=Light Reading
actors.hero.talent.light_reading.desc=_+1:_ The Cleric can use their holy tome when it is not equipped, but it recharges at _25% speed_ when unequipped.\n\n_+2:_ The Cleric can use their holy tome when it is not equipped, but it recharges at _50% speed_ when unequipped.\n\n_+3:_ The Cleric can use their holy tome when it is not equipped, but it recharges at _75% speed_ when unequipped.
actors.hero.talent.light_reading.meta_desc=_If this talent is gained by a different hero_ it will instead increase the recharging speed of all wands by 7/13/20% at +1/+2/+3.
actors.hero.talent.holy_lance.title=Holy Lance
actors.hero.talent.holy_lance.desc=_+1:_ The Priest can cast _Holy Lance,_ a devastating spell that deals _30-55 damage_ at the cost of 4 charges.\n\n_+2:_ The Priest can cast _Holy Lance,_ a devastating spell that deals _45-83 damage_ at the cost of 4 charges.\n\n_+3:_ The Priest can cast _Holy Lance,_ a devastating spell that deals _60-110 damage_ at the cost of 4 charges.\n\nHoly Lance always deals maximum damage to demonic and undead foes. Holy Lance has a 50 turn cooldown before it can be cast again.
actors.hero.talent.holy_lance.desc=_+1:_ The Priest can cast _Holy Lance,_ a devastating spell that deals _30-55 damage_ at the cost of 4 charges.\n\n_+2:_ The Priest can cast _Holy Lance,_ a devastating spell that deals _45-83 damage_ at the cost of 4 charges.\n\n_+3:_ The Priest can cast _Holy Lance,_ a devastating spell that deals _60-110 damage_ at the cost of 4 charges.\n\nHoly Lance always deals maximum damage to demonic and undead foes. Holy Lance has a 30 turn cooldown before it can be cast again.
actors.hero.talent.hallowed_ground.title=Hallowed Ground
actors.hero.talent.hallowed_ground.desc=_+1:_ The Priest can cast _Hallowed Ground,_ a spell that hallows terrain in a _3x3 area_ for 20 turns, at the cost of 2 charges.\n\n_+2:_ The Priest can cast _Hallowed Ground,_ a spell that hallows terrain in a _5x5 area_ for 20 turns, at the cost of 2 charges.\n\n_+3:_ The Priest can cast _Hallowed Ground,_ a spell that hallows terrain in a _7x7 area_ for 20 turns, at the cost of 2 charges.\n\nWhen it is cast, Hallowed Ground heals allies for 10 HP, briefly roots enemies, and spreads short grass. Afterward, it slowly heals allies, cripples enemies, and causes tall grass to randomly grow. Hallowed ground grants shielding to the Priest instead of healing and is destroyed by fire.
actors.hero.talent.hallowed_ground.desc=_+1:_ The Priest can cast _Hallowed Ground,_ a spell that hallows terrain in a _3x3 area_ for 20 turns, at the cost of 2 charges.\n\n_+2:_ The Priest can cast _Hallowed Ground,_ a spell that hallows terrain in a _5x5 area_ for 20 turns, at the cost of 2 charges.\n\n_+3:_ The Priest can cast _Hallowed Ground,_ a spell that hallows terrain in a _7x7 area_ for 20 turns, at the cost of 2 charges.\n\nWhen it is cast, Hallowed Ground heals allies for 15 HP, briefly roots enemies, and spreads short grass. Afterward, it slowly heals allies, cripples enemies, and causes tall grass to randomly grow. Hallowed ground grants shielding to the Priest instead of healing and is destroyed by fire.
actors.hero.talent.mnemonic_prayer.title=Mnemonic Prayer
actors.hero.talent.mnemonic_prayer.desc=_+1:_ The Priest can cast _Mnemonic Prayer,_ a spell that extends buffs/debuffs on an ally/enemy for _3 turns_ at 1 charge cost.\n\n_+2:_ The Priest can cast _Mnemonic Prayer,_ a spell that extends buffs/debuffs on an ally/enemy for _4 turns_ at 1 charge cost.\n\n_+3:_ The Priest can cast _Mnemonic Prayer,_ a spell that extends buffs/debuffs on an ally/enemy for _5 turns_ at 1 charge cost.\n\nMnemonic Prayer also re-illuminates the target if they were illuminated previously. Mnemonic Prayer can only extend a particular instance of a buff/debuff once, and cannot extend buffs from armor abilities.
actors.hero.talent.mnemonic_prayer.desc=_+1:_ The Priest can cast _Mnemonic Prayer,_ a spell that extends buffs/debuffs on an ally/enemy for _3 turns_ at 1 charge cost.\n\n_+2:_ The Priest can cast _Mnemonic Prayer,_ a spell that extends buffs/debuffs on an ally/enemy for _4 turns_ at 1 charge cost.\n\n_+3:_ The Priest can cast _Mnemonic Prayer,_ a spell that extends buffs/debuffs on an ally/enemy for _5 turns_ at 1 charge cost.\n\nMnemonic prayer takes no time to cast. Mnemonic Prayer also re-illuminates the target if they were illuminated previously. Mnemonic Prayer can only extend a particular instance of a buff/debuff once, and cannot extend buffs from armor abilities.
actors.hero.talent.lay_on_hands.title=lay on hands
actors.hero.talent.lay_on_hands.desc=_+1:_ The Paladin can cast _Lay on Hands,_ a spell that instantly heals a nearby character for _10 HP,_ or grants the Paladin _10 shielding,_ at the cost of 1 charge.\n\n_+2:_ The Paladin can cast _Lay on Hands,_ a spell that instantly heals a nearby character for _15 HP,_ or grants the Paladin _15 shielding,_ at the cost of 1 charge.\n\n_+3:_ The Paladin can cast _Lay on Hands,_ a spell that instantly heals a nearby character for _20 HP,_ or grants the Paladin _20 shielding,_ at the cost of 1 charge.\n\nExcess healing from this spell is converted into shielding. Lay on Hands can be cast repeatedly, but cannot apply more than three casts worth of shielding at once.
actors.hero.talent.lay_on_hands.desc=_+1:_ The Paladin can cast _Lay on Hands,_ a spell that instantly heals a nearby character for _15 HP,_ or grants the Paladin _15 shielding,_ at the cost of 1 charge.\n\n_+2:_ The Paladin can cast _Lay on Hands,_ a spell that instantly heals a nearby character for _20 HP,_ or grants the Paladin _20 shielding,_ at the cost of 1 charge.\n\n_+3:_ The Paladin can cast _Lay on Hands,_ a spell that instantly heals a nearby character for _25 HP,_ or grants the Paladin _25 shielding,_ at the cost of 1 charge.\n\nExcess healing from this spell is converted into shielding. Lay on Hands can be cast repeatedly, but cannot apply more than three casts worth of shielding at once.
actors.hero.talent.aura_of_protection.title=aura of protection
actors.hero.talent.aura_of_protection.desc=_+1:_ The Paladin can cast _Aura of Protection,_ a spell that grants the Paladin and all allies within 2 tiles _15% damage resistance_ and the effect of the Paladin's armor glyph at _+50% power_ for 20 turns, at the cost of 2 charges.\n\n_+2:_ The Paladin can cast _Aura of Protection,_ a spell that grants the Paladin and all allies within 2 tiles _23% damage resistance_ and the effect of the Paladin's armor glyph at _+75% power_ for 20 turns, at the cost of 2 charges.\n\n_+3:_ The Paladin can cast _Aura of Protection,_ a spell that grants the Paladin and all allies within 2 tiles _30% damage resistance_ and the effect of the Paladin's armor glyph at _+100% power_ for 20 turns, at the cost of 2 charges.
actors.hero.talent.aura_of_protection.desc=_+1:_ The Paladin can cast _Aura of Protection,_ a spell that grants the Paladin and all allies within 2 tiles _20% damage resistance_ and the effect of the Paladin's armor glyph at _+50% power_ for 20 turns, at the cost of 2 charges.\n\n_+2:_ The Paladin can cast _Aura of Protection,_ a spell that grants the Paladin and all allies within 2 tiles _30% damage resistance_ and the effect of the Paladin's armor glyph at _+75% power_ for 20 turns, at the cost of 2 charges.\n\n_+3:_ The Paladin can cast _Aura of Protection,_ a spell that grants the Paladin and all allies within 2 tiles _40% damage resistance_ and the effect of the Paladin's armor glyph at _+100% power_ for 20 turns, at the cost of 2 charges.
actors.hero.talent.wall_of_light.title=wall of light
actors.hero.talent.wall_of_light.desc=_+1:_ The Paladin can cast _Wall of Light,_ a spell that creates a _3 tile wide_ solid wall in front of the Paladin that pushes away enemies and lasts for 20 turns, at the cost of 3 charges.\n\n_+2:_ The Paladin can cast _Wall of Light,_ a spell that creates a _5 tile wide_ solid wall in front of the Paladin that pushes away enemies and lasts for 20 turns, at the cost of 3 charges.\n\n_+3:_ The Paladin can cast _Wall of Light,_ a spell that creates a _7 tile wide_ solid wall in front of the Paladin that pushes away enemies and lasts for 20 turns, at the cost of 3 charges.\n\nThe wall can be placed cardinally or diagonally, only one wall can exist at a time.
actors.hero.talent.divine_intervention.title=divine intervention
actors.hero.talent.divine_intervention.desc=_+1:_ While in Ascended Form, the Cleric can cast _Divine Intervention,_ which boosts the Cleric and all allies up to _150 shielding_ and extends Ascended Form by _1 turn._\n\n_+2:_ While in Ascended Form, the Cleric can cast _Divine Intervention,_ which boosts the Cleric and all allies up to _200 shielding_ and extends Ascended Form by _2 turns._\n\n_+3:_ While in Ascended Form, the Cleric can cast _Divine Intervention,_ which boosts the Cleric and all allies up to _250 shielding_ and extends Ascended Form by _3 turns._\n\n_+4:_ While in Ascended Form, the Cleric can cast _Divine Intervention,_ which boosts the Cleric and all allies up to _300 shielding_ and extends Ascended Form by _4 turns._\n\nDivine Intervention costs a whopping 5 tome charges, and can only be cast once in the same ascended form.
actors.hero.talent.divine_intervention.desc=_+1:_ While in Ascended Form, the Cleric can cast _Divine Intervention,_ which boosts the Cleric and all allies up to _150 shielding_ and extends Ascended Form by _3 turns._\n\n_+2:_ While in Ascended Form, the Cleric can cast _Divine Intervention,_ which boosts the Cleric and all allies up to _200 shielding_ and extends Ascended Form by _4 turns._\n\n_+3:_ While in Ascended Form, the Cleric can cast _Divine Intervention,_ which boosts the Cleric and all allies up to _250 shielding_ and extends Ascended Form by _5 turns._\n\n_+4:_ While in Ascended Form, the Cleric can cast _Divine Intervention,_ which boosts the Cleric and all allies up to _300 shielding_ and extends Ascended Form by _6 turns._\n\nDivine Intervention costs a whopping 5 tome charges, and can only be cast once in the same ascended form.
actors.hero.talent.judgement.title=judgement
actors.hero.talent.judgement.desc=_+1:_ While in Ascended Form, the Cleric can cast _Judgement,_ which deals _10-20 damage_ to all visible enemies.\n\n_+2:_ While in Ascended Form, the Cleric can cast _Judgement,_ which deals _15-30 damage_ to all visible enemies.\n\n_+3:_ While in Ascended Form, the Cleric can cast _Judgement,_ which deals _20-40 damage_ to all visible enemies.\n\n_+4:_ While in Ascended Form, the Cleric can cast _Judgement,_ which deals _25-50 damage_ to all visible enemies.\n\nJudgement costs 3 tome charges. Judgement deals an additional 5-10 damage for every spell the Cleric has cast since entering ascended form or since the last cast of Judgement.
actors.hero.talent.judgement.desc=_+1:_ While in Ascended Form, the Cleric can cast _Judgement,_ which deals _10-20 damage_ to all visible enemies.\n\n_+2:_ While in Ascended Form, the Cleric can cast _Judgement,_ which deals _15-30 damage_ to all visible enemies.\n\n_+3:_ While in Ascended Form, the Cleric can cast _Judgement,_ which deals _20-40 damage_ to all visible enemies.\n\n_+4:_ While in Ascended Form, the Cleric can cast _Judgement,_ which deals _25-50 damage_ to all visible enemies.\n\nJudgement costs 3 tome charges. Judgement deals +33% damage for every spell the Cleric has cast since entering ascended form or since the last cast of Judgement.
actors.hero.talent.flash.title=flash
actors.hero.talent.flash.desc=_+1:_ While in Ascended Form, the Cleric can cast _Flash_ to teleport up to _3 tiles_ away.\n\n_+2:_ While in Ascended Form, the Cleric can cast _Flash_ to teleport up to _4 tiles_ away.\n\n_+3:_ While in Ascended Form, the Cleric can cast _Flash_ to teleport up to _5 tiles_ away.\n\n_+4:_ While in Ascended Form, the Cleric can cast _Flash_ to teleport up to _6 tiles_ away.\n\nFlash costs 1 tome charge initially, and 1 more charge for each use in the same ascended form.
actors.hero.talent.flash.desc=_+1:_ While in Ascended Form, the Cleric can cast _Flash_ to teleport up to _3 tiles_ away.\n\n_+2:_ While in Ascended Form, the Cleric can cast _Flash_ to teleport up to _4 tiles_ away.\n\n_+3:_ While in Ascended Form, the Cleric can cast _Flash_ to teleport up to _5 tiles_ away.\n\n_+4:_ While in Ascended Form, the Cleric can cast _Flash_ to teleport up to _6 tiles_ away.\n\nFlash costs 2 tome charges initially, and 1 more charge for each use in the same ascended form.
actors.hero.talent.body_form.title=body form
actors.hero.talent.body_form.desc=The Cleric can cast _Body Form_, which imbues Trinity with the power of an enchantment or glyph that the Cleric has identified this run, at the cost of 2 charges.\n\n_+1:_ When Trinity is used, the Cleric gains the chosen effect for _20 turns._\n\n_+2:_ When Trinity is used, the Cleric gains the chosen effect for _27 turns._\n\n_+3:_ When Trinity is used, the Cleric gains the chosen effect for _33 turns._\n\n_+4:_ When Trinity is used, the Cleric gains the chosen effect for _40 turns._\n\nTrinity can only be imbued with one body effect at a time. Trinity's armor charge cost is higher if the chosen glyph is rare and powerful.
@@ -1275,9 +1284,9 @@ actors.hero.talent.spirit_form.desc=The Cleric can cast _Spirit Form_, which imb
actors.hero.talent.beaming_ray.title=beaming ray
actors.hero.talent.beaming_ray.desc=The Cleric can cast _Beaming Ray_ from an empowered ally at the cost of 1 charge. This ray can go through walls and teleports the ally to a targeted location. If an enemy is at that location, the ally appears next to the enemy and will target them. Beaming Ray can even teleport normally immobile allies, but has half range when doing so.\n\n_+1:_ Beaming Ray has a max range of _4 tiles,_ and increases Power of Many's bonus to _+35% damage_ against the closest enemy for 10 turns.\n\n_+2:_ Beaming Ray has a max range of _8 tiles,_ and increases Power of Many's bonus to _+40% damage_ against the closest enemy for 10 turns.\n\n_+3:_ Beaming Ray has a max range of _12 tiles,_ and increases Power of Many's bonus to _+45% damage_ against the closest enemy for 10 turns.\n\n_+4:_ Beaming Ray has a max range of _16 tiles,_ and increases Power of Many's bonus to _+50% damage_ against the closest enemy for 10 turns.
actors.hero.talent.life_link.title=life link
actors.hero.talent.life_link.desc=The Cleric can cast _Life Link_ between themselves and an empowered ally at the cost of 2 charges. This spell causes damage to be shared between the Cleric and their ally, and causes beneficial cleric spells of tier 3 or lower to apply to both if either is being affected.\n\n_+1:_ Life Link lasts for _6 turns_ and increases Power of Many's bonus to _-35% damage taken._\n\n_+2:_ Life Link lasts for _8 turns_ and increases Power of Many's bonus to _-40% damage taken._\n\n_+3:_ Life Link lasts for _10 turns_ and increases Power of Many's bonus to _-45% damage taken._\n\n_+4:_ Life Link lasts for _12 turns_ and increases Power of Many's bonus to _-50% damage taken._
actors.hero.talent.life_link.desc=The Cleric can cast _Life Link_ between themselves and an empowered ally at the cost of 2 charges. This spell causes damage to be shared between the Cleric and their ally, and causes beneficial cleric spells of tier 3 or lower to apply to both if either is being affected.\n\n_+1:_ Life Link lasts for _10 turns_ and increases Power of Many's bonus to _-35% damage taken._\n\n_+2:_ Life Link lasts for _13 turns_ and increases Power of Many's bonus to _-40% damage taken._\n\n_+3:_ Life Link lasts for _17 turns_ and increases Power of Many's bonus to _-45% damage taken._\n\n_+4:_ Life Link lasts for _20 turns_ and increases Power of Many's bonus to _-50% damage taken._
actors.hero.talent.stasis.title=Stasis
actors.hero.talent.stasis.desc=The Cleric can cast _Stasis_ on an empowered ally at the cost of 1 charge. Stasis temporarily removes the ally from the dungeon and preserves the remaining time on all buffs, including Power of Many. The ally will reappear next to you when the effect ends. Stasis can be re-cast instantly and at no cost to end the effect early. Stasis works on immobile allies, but cannot move them between dungeon floors.\n\n_+1:_ Stasis lasts for a max of _40 turns._\n\n_+2:_ Stasis lasts for a max of _60 turns._\n\n_+3:_ Stasis lasts for a max of _80 turns._\n\n_+4:_ Stasis lasts for a max of _100 turns._\n\nThe Cleric can also cast Beaming Ray when an ally is in stasis to resummon them, or cast Life Link to pre-emptively apply its effect. Allies do not benefit from Life Link while in stasis however.
actors.hero.talent.stasis.desc=The Cleric can cast _Stasis_ on an empowered ally at the cost of 2 charges. Stasis temporarily removes the ally from the dungeon and preserves the remaining time on all buffs, including Power of Many. The ally will reappear next to you when the effect ends. Stasis can be re-cast instantly and at no cost to end the effect early. Stasis works on immobile allies, but cannot move them between dungeon floors.\n\n_+1:_ Stasis lasts for a max of _60 turns._\n\n_+2:_ Stasis lasts for a max of _90 turns._\n\n_+3:_ Stasis lasts for a max of _120 turns._\n\n_+4:_ Stasis lasts for a max of _150 turns._\n\nThe Cleric can also cast Beaming Ray when an ally is in stasis to resummon them, or cast Life Link to pre-emptively apply its effect. Allies do not benefit from Life Link while in stasis however.
#universal
@@ -1359,9 +1368,13 @@ actors.mobs.npcs.impshopkeeper.desc=The imp has set up a little shop on the bord
actors.mobs.npcs.mirrorimage.name=mirror image
actors.mobs.npcs.mirrorimage.desc=This illusion bears a close resemblance to you, even seeming to wield your current weapon and armor.\n\nMirror images will seek and attack enemies using their mimicked weapon, which behaves the same as yours, but deals less damage. They start out nearly invisible, but must take on a form that's more easily seen in order to attack.\n\nWhile their offensive power can be potent, mirror images have no durability, and will fade the moment they take damage.
actors.mobs.npcs.mirrorimage.discover_hint=You can find this character with a specific scroll.
actors.mobs.npcs.npc.discover_hint=You can find this character in a specific region of the dungeon.
actors.mobs.npcs.prismaticimage.name=prismatic image
actors.mobs.npcs.prismaticimage.desc=This shimmering illusion bears a close resemblance to you, even seeming to wield your current weapon and armor.\n\nPrismatic images will attempt to seek and draw focus from enemies, using their enhanced defense and health to protect you. While they do not have the same offensive power as mirror images, they have enhanced durability, including receiving benefits from your armor.\n\nWhen reduced to 0 hp, prismatic images will fade over several turns, and can still be healed during this time. When no enemies are present, prismatic images will fade and rejoin their master.
actors.mobs.npcs.prismaticimage.discover_hint=You can find this character with a specific scroll.
actors.mobs.npcs.ratking.name=rat king
actors.mobs.npcs.ratking.not_sleeping=I'm not sleeping!
@@ -1379,6 +1392,7 @@ actors.mobs.npcs.ratking.desc_crown=This rat is a little bigger than a regular m
actors.mobs.npcs.ratking.desc_birthday=This rat is a little bigger than a regular marsupial rat. It's wearing a tiny green party hat instead of its usual crown. Happy birthday Rat King!
actors.mobs.npcs.ratking.desc_winter=This rat is a little bigger than a regular marsupial rat. It's wearing a tiny festive hat instead of its usual crown. Happy Holidays!
actors.mobs.npcs.ratking.desc=This rat is a little bigger than a regular marsupial rat. It's wearing a tiny crown on its head.
actors.mobs.npcs.ratking.discover_hint=You can find this character at the end of a specific region of the dungeon.
actors.mobs.npcs.sheep.name=sheep
actors.mobs.npcs.sheep.baa!=Baa!
@@ -1387,6 +1401,7 @@ actors.mobs.npcs.sheep.baa.=Baa.
actors.mobs.npcs.sheep.baa...=Baa...
actors.mobs.npcs.sheep.def_verb=blocked
actors.mobs.npcs.sheep.desc=This is a magic sheep. What's so magical about it? You can't kill it. It will stand there until it magically fades away, all the while chewing cud with a blank stare.
actors.mobs.npcs.sheep.discover_hint=You can find this character with a specific item or trap.
actors.mobs.npcs.shopkeeper.name=shopkeeper
actors.mobs.npcs.shopkeeper.thief=Thief, Thief!
@@ -1434,6 +1449,7 @@ actors.mobs.acidic.desc=These huge arachnid-like demonic creatures avoid close c
actors.mobs.albino.name=albino rat
actors.mobs.albino.desc=This is a rare breed of marsupial rat, with pure white fur and jagged teeth.
actors.mobs.albino.discover_hint=You can rarely find this enemy in a specific region of the dungeon.
actors.mobs.armoredstatue.name=armored statue
actors.mobs.armoredstatue.desc=You would think that it's just another one of this dungeon's inanimate statues, but its red glowing eyes give it away.\n\nIt seems to be in great condition because of the armor it's wearing, it might be very hard to kill.
@@ -1448,6 +1464,7 @@ actors.mobs.bat.desc=These brisk and tenacious inhabitants of the caves are much
actors.mobs.bee.name=golden bee
actors.mobs.bee.desc_honey=Despite their small size, golden bees tend to protect their home fiercely. This one has been placated, and seems to want to follow you.
actors.mobs.bee.desc=Despite their small size, golden bees tend to protect their home fiercely. This one is very mad, better keep your distance.
actors.mobs.bee.discover_hint=You can find this character with a specific item.
actors.mobs.brute.name=gnoll brute
actors.mobs.brute.enraged=enraged
@@ -1458,6 +1475,7 @@ actors.mobs.brute$bruterage.desc=This gnoll brute is dying, but wants to take yo
actors.mobs.causticslime.name=caustic slime
actors.mobs.causticslime.desc=This slime seems to have been tainted by the dark magic emanating from below. It has lost its usual green color, and drips with caustic ooze.
actors.mobs.causticslime.discover_hint=You can rarely find this enemy in a specific region of the dungeon.
actors.mobs.crab.name=sewer crab
actors.mobs.crab.desc=These huge crabs are at the top of the food chain in the sewers. They are extremely fast and their thick carapace can withstand heavy blows.
@@ -1465,6 +1483,7 @@ actors.mobs.crab.desc=These huge crabs are at the top of the food chain in the s
actors.mobs.crystalguardian.name=crystal guardian
actors.mobs.crystalguardian.def_verb=blocked
actors.mobs.crystalguardian.desc=These large crystalline guardians almost look like statues, if it weren't for their bright glowing eyes. The hardened crystal they're made out of causes them to be sluggish but very tough, so _it's best to leave them to sleep in their crystal nest for as long as possible._\n\nDue to their size, crystal guardians will move much more slowly in enclosed spaces. They're also so durable that they're impossible to kill outright. They can be beaten down and temporarily disabled, but they'll just get back up again after a little while.
actors.mobs.crystalguardian.discover_hint=You can find this enemy during a specific quest.
actors.mobs.crystalmimic.name=crystal mimic
actors.mobs.crystalmimic.ate=The mimic ate your %s!
@@ -1475,10 +1494,12 @@ actors.mobs.crystalspire.name=crystal spire
actors.mobs.crystalspire.warning=The crystal vibrates as you strike it. Keeping this up is bound to draw attention to you...
actors.mobs.crystalspire.alert=The vibration grows and rumbles through the whole cave!
actors.mobs.crystalspire.desc=This gigantic spire of ultra hard crystal is probably the source of all the strange crystalline creatures in this cave. Your regular weapons are ineffective against it, so you'll need to use your pickaxe if you want to destroy it.\n\n_Make sure you're prepared before you start breaking it._ Such a big crystal is likely to take a while to mine through, and you probably won't be able to do it undisturbed. The spire itself may even have some means of defending itself as well. _Perhaps the spire's own attacks could be used against its minions._
actors.mobs.crystalspire.discover_hint=You can find this enemy during a specific quest.
actors.mobs.crystalwisp.name=crystal wisp
actors.mobs.crystalwisp.beam_kill=The beam of light killed you...
actors.mobs.crystalwisp.desc=A small angry floating chunk of hardened crystal that's producing a bright glow. While not especially strong, crystal wisps will shoot a damaging beam of light at you if they have a clear shot.\n\nWisps are small enough to easily move through the various crystal outcroppings, but they aren't able to shoot through them.
actors.mobs.crystalwisp.discover_hint=You can find this enemy during a specific quest.
actors.mobs.demonspawner.name=demon spawner
actors.mobs.demonspawner.on_death=The demonic energy here seems to lessen as the spawner dies.
@@ -1534,6 +1555,7 @@ actors.mobs.ebonymimic.reveal=There was a mimic there!
actors.mobs.ebonymimic.hidden_name=suspicious outline
actors.mobs.ebonymimic.hidden_desc=There seems to be something here, but it's almost totally transparent.
actors.mobs.ebonymimic.desc=Mimics are magical creatures which can take any shape they wish. In dungeons they almost always choose a shape of a treasure chest, in order to lure in unsuspecting adventurers.\n\nEbony mimics are stealthy mimics with the ability to make themselves almost invisible. They lurk on things that adventurers are likely to interact with, but do contain loot of their own as well. They aren't any tougher than a regular mimic once discovered, but their surprise bite is devastating.
actors.mobs.ebonymimic.discover_hint=You can find this enemy with a specific trinket.
actors.mobs.elemental$fireelemental.name=fire elemental
actors.mobs.elemental$fireelemental.desc=Elementals are chaotic creatures that are often created when powerful occult magic isn't properly controlled. Elementals have minimal intelligence, and are usually associated with a particular type of magic.\n\nFire elementals are a common type of elemental which deals damage with fiery magic. They will set their target ablaze with melee attacks, and can occasionally shoot bolts of fire as well.
@@ -1542,6 +1564,7 @@ actors.mobs.elemental$newbornfireelemental.charging=The elemental is charging up
actors.mobs.elemental$newbornfireelemental.desc=Elementals are chaotic creatures that are often created when powerful occult magic isn't properly controlled. Elementals have minimal intelligence, and are usually associated with a particular type of magic.\n\nThis fire elemental is freshly summoned, but still quite dangerous!
actors.mobs.elemental$newbornfireelemental.desc_boss=Because of the chaotic nature of its summoning, this elemental can only spread fire in inaccurate blasts after charging for a turn.
actors.mobs.elemental$newbornfireelemental.desc_ally=Because this elemental was summoned by a spell, it has a little more control over its flame. It's incapable of making ranged attacks, but will ignite enemies it attacks in melee.
actors.mobs.elemental$newbornfireelemental.discover_hint=You can find this enemy during a specific quest.
actors.mobs.elemental$frostelemental.name=frost elemental
actors.mobs.elemental$frostelemental.desc=Elementals are chaotic creatures that are often created when powerful occult magic isn't properly controlled. Elementals have minimal intelligence, and are usually associated with a particular type of magic.\n\nFrost elementals are a common type of elemental which weakens enemies with chilling magic. They will chill their target with melee and occasional ranged attacks. Their magic is much more effective in water.
actors.mobs.elemental$shockelemental.name=shock elemental
@@ -1555,6 +1578,7 @@ actors.mobs.eye.desc=Evil Eyes are floating balls of pent up demonic energy. Whi
actors.mobs.fetidrat.name=fetid rat
actors.mobs.fetidrat.desc=Something is clearly wrong with this rat. Its greasy black fur and rotting skin are very different from the healthy rats you've seen previously. Its pale green eyes make it seem especially menacing.\n\nThe rat carries a cloud of horrible stench with it, it's overpoweringly strong up close.\n\nDark ooze dribbles from the rat's mouth, it eats through the floor but seems to dissolve in water.
actors.mobs.fetidrat.discover_hint=You can find this enemy during a specific quest.
actors.mobs.fungalcore.name=fungal core
actors.mobs.fungalcore.desc=This gigantic mushroom must be the source of all the fungal activity in this cave.
@@ -1571,6 +1595,13 @@ actors.mobs.ghoul.desc=As dwarven society slowly began to collapse, and the curr
actors.mobs.gnoll.name=gnoll scout
actors.mobs.gnoll.desc=Gnolls are hyena-like humanoids. They dwell in sewers and dungeons, venturing up to raid the surface from time to time. Gnoll scouts are regular members of their pack, they are not as strong as brutes and not as intelligent as shamans.
actors.mobs.gnollexile.name=gnoll exile
actors.mobs.gnollexile.desc=This grey-furred gnoll has a large mark on its shoulder, denoting it as an exile. Gnolls are usually exiled from their society for ignoring orders or breaking laws. Exiles have to be strong and shrewd to survive, this one looks like it knows how to use the spear it's holding.
actors.mobs.gnollexile.desc_passive=_The gnoll exile isn't moving to attack._ It doesn't seem as aggressive as the other gnolls here, and probably doesn't think that fighting you is worth it. You could just let it pass, but it has a backpack that might be full of useful items...
actors.mobs.gnollexile.desc_aggro=_The gnoll exile looks around angrily._ It seems something has made it decide to fight after all. Watch out for that spear!
actors.mobs.gnollexile.seen_passive=The spear-wielding gnoll looks at you warily, but doesn't move to attack.
actors.mobs.gnollexile.seen_aggro=The spear-wielding gnoll moves to attack!
actors.mobs.gnollgeomancer.name=gnoll geomancer
actors.mobs.gnollgeomancer.warning=The geomancer begins to stir. Make sure you're ready before you continue!
actors.mobs.gnollgeomancer.alert=The geomancer awakens! The entire cave seems to shift as it leaps away while laughing madly!
@@ -1580,18 +1611,22 @@ actors.mobs.gnollgeomancer.desc=This impressively tall senior gnoll must be the
actors.mobs.gnollgeomancer.desc_armor=The geomancer is currently encased in a layer of rock armor. _You'll need to get up close and break it away with your pickaxe before you can damage the geomancer._
actors.mobs.gnollgeomancer.desc_armor_sapper=_A nearby gnoll sapper is holding a device that is empowering the geomancer's rock armor. You won't be able to damage it at all right now!_
actors.mobs.gnollgeomancer.desc_sleeping=This impressively tall gnoll shaman is surrounded by a layer of rock, and looks almost like a statue. Looking closely you can see the rock magically move in time with the senior gnoll's breathing. It can't be harmed while encased in rock like this, and it appears to be enjoying a literal dirt nap.\n\nYou can probably break through the layers of rock with your pickaxe, but _be sure you're ready for a fight when you do so._ The geomancer must be the source of the various earth-moving magic around here, and the organizer of all the gnoll activity. _Defeating the gnolls scattered around here before fighting it might be a good idea._
actors.mobs.gnollgeomancer.discover_hint=You can find this enemy during a specific quest.
actors.mobs.gnollguard.name=gnoll guard
actors.mobs.gnollguard.def_verb=blocked
actors.mobs.gnollguard.spear_warn=The gnoll lands a vicious blow with the tip of its spear!
actors.mobs.gnollguard.desc=A large and tough looking gnoll wielding a spear and a shield, but no helmet. These guards are likely brutes in training, roped into helping protect the mine from encroaching wildlife.\n\nThe gnoll guard is strong enough to wield the spear in one hand, but can't use it very well. _It will need fairly open space to attack at a distance, and will do notably less damage to you if you get up close._
actors.mobs.gnollguard.desc_armor=_A nearby gnoll sapper is holding a device that is granting this guard earthen armor, heavily reducing the damage it takes._
actors.mobs.gnollguard.discover_hint=You can find this enemy during a specific quest.
actors.mobs.gnollsapper.name=gnoll sapper
actors.mobs.gnollsapper.desc=A small and weak but intelligent gnoll with pale fur and a satchel full of various gadgets. They are likely here to assist with prospecting and mining dark gold, and have a nearby guard for protection. They are capable of fighting, but their attacks are pitifully weak, no stronger than a gnoll scout.\n\nInstead of fighting directly, sappers prefer to use the various gadgets they have to make the rocky environment attack for them. They don't know earth-moving magic themselves though, and so are pretty likely to use their gadgets recklessly. _There should be lots of ways to use their attacks against them, or their guard._
actors.mobs.gnollsapper.discover_hint=You can find this enemy during a specific quest.
actors.mobs.gnolltrickster.name=gnoll trickster
actors.mobs.gnolltrickster.desc=A strange looking creature, even by gnoll standards. It hunches forward with a wicked grin, almost cradling the satchel hanging over its shoulder. Its eyes are wide with a strange mix of fear and excitement.\n\nThere is a large collection of poorly made darts in its satchel, they all seem to be tipped with various harmful substances.
actors.mobs.gnolltrickster.discover_hint=You can find this enemy during a specific quest.
actors.mobs.goldenmimic.name=golden mimic
actors.mobs.goldenmimic.desc=Mimics are magical creatures which can take any shape they wish. In dungeons they almost always choose a shape of a treasure chest, in order to lure in unsuspecting adventurers.\n\nGolden mimics are tougher mimics which try to attract the strongest adventurers. They have better loot, but are also much stronger than regular mimics.
@@ -1614,16 +1649,22 @@ actors.mobs.greatcrab.name=great crab
actors.mobs.greatcrab.noticed=The crab blocks with its massive claw.
actors.mobs.greatcrab.def_verb=blocked
actors.mobs.greatcrab.desc=This crab is gigantic, even compared to other sewer crabs. Its blue shell is covered in cracks and barnacles, showing great age. It lumbers around slowly, barely keeping balance with its massive claw.\n\nWhile the crab only has one claw, its size easily compensates. The crab holds the claw in front of any threat, shielding itself behind an impenetrable wall of carapace. However, the crab cannot block attacks it doesn't see coming, or attacks from multiple enemies at once.
actors.mobs.greatcrab.discover_hint=You can find this enemy during a specific quest.
actors.mobs.guard.name=prison guard
actors.mobs.guard.scorpion=Get over here!
actors.mobs.guard.def_verb=blocked
actors.mobs.guard.desc=Once keepers of the prison, these guards have long since become no different than the inmates. They shamble like zombies, brainlessly roaming through the halls in search of anything out of place, like you!\n\nThey carry chains around their hip, possibly used to pull in enemies to close range.
actors.mobs.hermitcrab.name=hermit crab
actors.mobs.hermitcrab.def_verb=blocked
actors.mobs.hermitcrab.desc=For one reason or another, this sewer crab has decided to wear the broken upper part of a barrel on its head! The extra weight has slown it down to regular speed, but has also granted it considerably more defence. You think you can hear something bouncing around inside the barrel though...
actors.mobs.mimic.name=mimic
actors.mobs.mimic.reveal=That chest is a mimic!
actors.mobs.mimic.hidden_hint=Something about this chest feels off... Walking up and trying to open it might be a bad idea.
actors.mobs.mimic.desc=Mimics are magical creatures which can take any shape they wish. In dungeons they almost always choose a shape of a treasure chest, in order to lure in unsuspecting adventurers.\n\nMimics have a nasty bite, but often hold more treasure than a regular chest.
actors.mobs.mimic.discover_hint=You can find this enemy anywhere in the dungeon.
actors.mobs.necromancer.name=necromancer
actors.mobs.necromancer.desc=These apprentice dark mages have flocked to the prison, as it is the perfect place to practise their evil craft.\n\nNecromancers will summon and empower skeletons to fight for them. Killing the necromancer will also kill the skeleton it summons.
@@ -1633,6 +1674,7 @@ actors.mobs.necromancer$necroskeleton.desc=This skeleton has been summoned by a
actors.mobs.mob.died=You hear something die in the distance.
actors.mobs.mob.rage=#$%^
actors.mobs.mob.rankings_desc=Slain by: %s
actors.mobs.mob.discover_hint=You can find this enemy in a specific region of the dungeon.
actors.mobs.monk.name=dwarf monk
actors.mobs.monk.def_verb=blocked
@@ -1647,6 +1689,7 @@ actors.mobs.phantompiranha.desc=Phantom piranhas are a rare breed of piranha wit
actors.mobs.piranha.name=giant piranha
actors.mobs.piranha.desc=These carnivorous fish are not natural inhabitants of underground pools. They were bred specifically to protect flooded treasure vaults.
actors.mobs.piranha.discover_hint=You can find this enemy anywhere in the dungeon.
actors.mobs.pylon.name=power pylon
actors.mobs.pylon.desc_inactive=A power pylon, meant to help regulate the electricity which powers the machinery in this area.\n\nThe pylon is currently inactive and immune to damage.
@@ -1661,9 +1704,11 @@ actors.mobs.ripperdemon.desc=These horrific creatures are the result of the many
actors.mobs.rotheart.name=rot heart
actors.mobs.rotheart.desc=A Rotberry's fruit is very unique. Instead of rotting away and providing nutrients, the fruit grows, hardens, and encompasses the seed. It provides protection for the internal organs which grow inside the fruit. This giant orb is referred to as the heart of an adult rotberry plant.
actors.mobs.rotheart.discover_hint=You can find this enemy during a specific quest.
actors.mobs.rotlasher.name=rot lasher
actors.mobs.rotlasher.desc=The rot lasher is a part of a mature rotberry plant's root structure, and also their primary means of defense. Lashers are blind and stuck into the ground, but will violently assault any nearby threat after taking a moment to detect them. When there is no nearby enemies, they stand motionless, attempting to blend in with surrounding vegetation.
actors.mobs.rotlasher.discover_hint=You can find this enemy during a specific quest.
actors.mobs.scorpio.name=scorpio
actors.mobs.scorpio.desc=These huge arachnid-like demonic creatures avoid close combat, preferring to fire crippling serrated spikes from long distances.
@@ -1704,6 +1749,7 @@ actors.mobs.statue.name=animated statue
actors.mobs.statue.def_verb=blocked
actors.mobs.statue.desc=You would think that it's just another one of this dungeon's inanimate statues, but its red glowing eyes give it away.
actors.mobs.statue.desc_weapon=While the statue itself is made of stone, the _%s_ it's wielding looks real.
actors.mobs.statue.discover_hint=You can find this enemy anywhere in the dungeon.
actors.mobs.succubus.name=succubus
actors.mobs.succubus.desc=Succubi are shapeshifting demons that manipulate the minds of their prey. This one has taken the form of a pale gothic humanoid, perhaps to attract dwarven warlocks?\n\nSuccubi may temporarily charm their enemy when they attack, making their enemy unable to directly attack them. When succubi attack a charmed enemy, they will steal some of their life essence.
@@ -1747,6 +1793,7 @@ actors.mobs.warlock.desc=As the dwarves' interests shifted from engineering to a
actors.mobs.wraith.name=wraith
actors.mobs.wraith.desc=A wraith is a vengeful spirit of a sinner, whose grave or tomb was disturbed. Being an ethereal entity, it is very hard to hit with a regular weapon.
actors.mobs.wraith.discover_hint=You can find this enemy anywhere in the dungeon.
actors.mobs.yogdzewa.name=Yog-Dzewa
actors.mobs.yogdzewa.notice=I. SEE. YOU.

Some files were not shown because too many files have changed in this diff Show More