60 if (
curr == TutStage.LEAVE)
return;
66 Color h = Misc.getHighlightColor();
67 info =
panel.createUIElement(
p.getWidth() - 20f, 1000f,
false);
68 info.setParaInsigniaLarge();
70 if (
curr == TutStage.MOVE_FORWARD) {
71 info.addPara(
"Press RIGHT to move forward.", 0f, h,
"RIGHT");
72 }
else if (
curr == TutStage.MOVE_BACK) {
73 info.addPara(
"Press LEFT to move backwards.", 0f, h,
"LEFT");
74 }
else if (
curr == TutStage.ATTACK) {
75 info.addPara(
"Press SPACE to attack.", 0f, h,
"SPACE");
76 }
else if (
curr == TutStage.BLOCK) {
77 LabelAPI label =
info.addPara(
"Press UP to block or parry. "
78 +
"A skilled fighter can also execute a quick attack, or a \"riposte\", by attacking immediately after deflecting their opponent's attack.", 0f, h,
"UP");
79 label.setHighlightColors(h, Misc.getStoryOptionColor());
80 label.setHighlight(
"UP",
"skilled fighter");
81 }
else if (
curr == TutStage.LEAVE) {
82 info.addPara(
"Your health is in the top left of the screen.\n\n"
83 +
"Make a few practice moves, then press ESCAPE to continue.", 0f, h,
"ESCAPE");
86 panel.addUIElement(
info).inTL(opad, opad);
119 if (
p ==
null)
return;
122 float cx =
p.getCenterX();
123 float cy =
p.getCenterY();
124 float w =
p.getWidth();
125 float h =
p.getHeight();
127 GL11.glDisable(GL11.GL_TEXTURE_2D);
128 GL11.glEnable(GL11.GL_BLEND);
129 GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
131 Color c = Misc.getBasePlayerColor();
133 Misc.renderQuad(x, y, w, 1, c, a);
134 Misc.renderQuad(x, y + h - 1, w, 1, c, a);
135 Misc.renderQuad(x, y + 1, 1, h - 2, c, a);
136 Misc.renderQuad(x + w - 1, y + 1, 1, h - 2, c, a);
138 Misc.renderQuad(x + w, y - 1, 1, h, Color.black, a);
139 Misc.renderQuad(x + 1, y - 1, w - 1, 1, Color.black, a);
141 Misc.renderQuad(x + 1, y + 1, w - 2, h - 2, Color.black, a * 0.67f);
143 GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
144 Misc.renderQuad(x + 1, y + 1, w - 2, h - 2, Misc.getBrightPlayerColor(), a * 0.25f *
flash.getBrightness());