mirror of
https://github.com/Quackster/Havana.git
synced 2025-07-04 21:57:46 +00:00
Fix looks/figures for public room bots in flash client
This commit is contained in:
parent
6ad584ce84
commit
e65dfb8dca
4 changed files with 53 additions and 4 deletions
|
@ -36,6 +36,7 @@ public class BotDao {
|
||||||
Integer.parseInt(resultSet.getString("start_look").split(",")[0]),
|
Integer.parseInt(resultSet.getString("start_look").split(",")[0]),
|
||||||
Integer.parseInt(resultSet.getString("start_look").split(",")[1]),
|
Integer.parseInt(resultSet.getString("start_look").split(",")[1]),
|
||||||
resultSet.getString("figure"),
|
resultSet.getString("figure"),
|
||||||
|
resultSet.getString("figure_flash"),
|
||||||
resultSet.getString("walkspace"),
|
resultSet.getString("walkspace"),
|
||||||
resultSet.getString("speech"),
|
resultSet.getString("speech"),
|
||||||
resultSet.getString("response"),
|
resultSet.getString("response"),
|
||||||
|
|
|
@ -13,6 +13,7 @@ public class BotData {
|
||||||
private String mission;
|
private String mission;
|
||||||
private Position startPosition;
|
private Position startPosition;
|
||||||
private String figure;
|
private String figure;
|
||||||
|
private String figureFlash;
|
||||||
|
|
||||||
private List<Position> walkspace;
|
private List<Position> walkspace;
|
||||||
private List<BotSpeech> speeches;
|
private List<BotSpeech> speeches;
|
||||||
|
@ -32,12 +33,13 @@ public class BotData {
|
||||||
this.drinks = new ArrayList<>();
|
this.drinks = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public BotData(String name, String mission, int x, int y, int headRotation, int bodyRotation, String figure, String walkspaceData,
|
public BotData(String name, String mission, int x, int y, int headRotation, int bodyRotation, String figure, String figureFlash, String walkspaceData,
|
||||||
String speech, String responses, String unrecognisedResponses, String drinks) {
|
String speech, String responses, String unrecognisedResponses, String drinks) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.mission = mission;
|
this.mission = mission;
|
||||||
this.startPosition = new Position(x, y, 0, headRotation, bodyRotation);
|
this.startPosition = new Position(x, y, 0, headRotation, bodyRotation);
|
||||||
this.figure = figure;
|
this.figure = figure;
|
||||||
|
this.figureFlash = figureFlash;
|
||||||
this.walkspace = new ArrayList<>();
|
this.walkspace = new ArrayList<>();
|
||||||
|
|
||||||
for (String positionDatas : walkspaceData.split(" ")) {
|
for (String positionDatas : walkspaceData.split(" ")) {
|
||||||
|
@ -87,6 +89,10 @@ public class BotData {
|
||||||
return figure;
|
return figure;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getFigureFlash() {
|
||||||
|
return figureFlash;
|
||||||
|
}
|
||||||
|
|
||||||
public List<Position> getWalkspace() {
|
public List<Position> getWalkspace() {
|
||||||
return walkspace;
|
return walkspace;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
package org.alexdev.havana.messages.outgoing.rooms.user;
|
package org.alexdev.havana.messages.outgoing.rooms.user;
|
||||||
|
|
||||||
|
import org.alexdev.havana.game.bot.Bot;
|
||||||
import org.alexdev.havana.game.entity.Entity;
|
import org.alexdev.havana.game.entity.Entity;
|
||||||
import org.alexdev.havana.game.entity.EntityState;
|
import org.alexdev.havana.game.entity.EntityState;
|
||||||
import org.alexdev.havana.game.entity.EntityType;
|
import org.alexdev.havana.game.entity.EntityType;
|
||||||
import org.alexdev.havana.game.player.Player;
|
import org.alexdev.havana.game.player.Player;
|
||||||
import org.alexdev.havana.game.player.statistics.PlayerStatistic;
|
import org.alexdev.havana.game.player.statistics.PlayerStatistic;
|
||||||
import org.alexdev.havana.messages.types.MessageComposer;
|
import org.alexdev.havana.messages.types.PlayerMessageComposer;
|
||||||
import org.alexdev.havana.server.netty.streams.NettyResponse;
|
import org.alexdev.havana.server.netty.streams.NettyResponse;
|
||||||
import org.alexdev.havana.util.StringUtil;
|
import org.alexdev.havana.util.StringUtil;
|
||||||
|
|
||||||
|
@ -13,7 +14,7 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||||
|
|
||||||
public class USER_OBJECTS extends MessageComposer {
|
public class USER_OBJECTS extends PlayerMessageComposer {
|
||||||
private List<EntityState> states;
|
private List<EntityState> states;
|
||||||
|
|
||||||
public USER_OBJECTS(ConcurrentLinkedQueue<Entity> entities) {
|
public USER_OBJECTS(ConcurrentLinkedQueue<Entity> entities) {
|
||||||
|
@ -52,7 +53,17 @@ public class USER_OBJECTS extends MessageComposer {
|
||||||
response.writeInt(states.getEntityId());
|
response.writeInt(states.getEntityId());
|
||||||
response.writeString(states.getDetails().getName());
|
response.writeString(states.getDetails().getName());
|
||||||
response.writeString(states.getDetails().getMotto() + " ");
|
response.writeString(states.getDetails().getMotto() + " ");
|
||||||
response.writeString(states.getDetails().getFigure());
|
|
||||||
|
if (states.getEntityType() == EntityType.BOT) {
|
||||||
|
if (this.getPlayer().getNetwork().isFlashConnection()) {
|
||||||
|
response.writeString(((Bot) states.getEntity()).getBotData().getFigureFlash());
|
||||||
|
} else {
|
||||||
|
response.writeString(states.getDetails().getFigure());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
response.writeString(states.getDetails().getFigure());
|
||||||
|
}
|
||||||
response.writeInt(states.getInstanceId());
|
response.writeInt(states.getInstanceId());
|
||||||
response.writeInt(states.getPosition().getX());
|
response.writeInt(states.getPosition().getX());
|
||||||
response.writeInt(states.getPosition().getY());
|
response.writeInt(states.getPosition().getY());
|
||||||
|
|
31
tools/migrations/update.1.3.sql
Normal file
31
tools/migrations/update.1.3.sql
Normal file
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue