Add weapons
BIN
assets/game.png
|
Before Width: | Height: | Size: 368 KiB After Width: | Height: | Size: 373 KiB |
@@ -16,6 +16,7 @@ ECS_COMPONENT_DECLARE(Position);
|
||||
ECS_COMPONENT_DECLARE(Size);
|
||||
ECS_COMPONENT_DECLARE(Velocity);
|
||||
ECS_COMPONENT_DECLARE(Rotation);
|
||||
ECS_COMPONENT_DECLARE(Orientation);
|
||||
ECS_COMPONENT_DECLARE(Steering);
|
||||
ECS_COMPONENT_DECLARE(TargetPosition);
|
||||
ECS_COMPONENT_DECLARE(Path);
|
||||
@@ -25,6 +26,8 @@ ECS_COMPONENT_DECLARE(TextureRegion);
|
||||
ECS_COMPONENT_DECLARE(Animation);
|
||||
ECS_COMPONENT_DECLARE(Easing);
|
||||
|
||||
ECS_COMPONENT_DECLARE(Arms);
|
||||
ECS_COMPONENT_DECLARE(Arm);
|
||||
ECS_COMPONENT_DECLARE(UnitAI);
|
||||
ECS_COMPONENT_DECLARE(UnitAction);
|
||||
|
||||
@@ -53,6 +56,7 @@ void initComponentIDs(ecs_world_t *ecs) {
|
||||
ECS_COMPONENT_DEFINE(ecs, Size);
|
||||
ECS_COMPONENT_DEFINE(ecs, Velocity);
|
||||
ECS_COMPONENT_DEFINE(ecs, Rotation);
|
||||
ECS_COMPONENT_DEFINE(ecs, Orientation);
|
||||
ECS_COMPONENT_DEFINE(ecs, Steering);
|
||||
ECS_COMPONENT_DEFINE(ecs, TargetPosition);
|
||||
ECS_COMPONENT_DEFINE(ecs, Path);
|
||||
@@ -62,6 +66,8 @@ void initComponentIDs(ecs_world_t *ecs) {
|
||||
ECS_COMPONENT_DEFINE(ecs, Animation);
|
||||
ECS_COMPONENT_DEFINE(ecs, Easing);
|
||||
|
||||
ECS_COMPONENT_DEFINE(ecs, Arms);
|
||||
ECS_COMPONENT_DEFINE(ecs, Arm);
|
||||
ECS_COMPONENT_DEFINE(ecs, UnitAI);
|
||||
ECS_COMPONENT_DEFINE(ecs, UnitAction);
|
||||
|
||||
|
||||
@@ -60,12 +60,13 @@ typedef BzSpatialGridID SpatialGridID;
|
||||
extern ECS_COMPONENT_DECLARE(SpatialGridID);
|
||||
|
||||
typedef Vector2 Position, Size, Velocity, TargetPosition, Steering;
|
||||
typedef f32 Rotation;
|
||||
typedef f32 Rotation, Orientation;
|
||||
|
||||
extern ECS_COMPONENT_DECLARE(Position);
|
||||
extern ECS_COMPONENT_DECLARE(Size);
|
||||
extern ECS_COMPONENT_DECLARE(Velocity);
|
||||
extern ECS_COMPONENT_DECLARE(Rotation);
|
||||
extern ECS_COMPONENT_DECLARE(Orientation);
|
||||
extern ECS_COMPONENT_DECLARE(Steering);
|
||||
extern ECS_COMPONENT_DECLARE(TargetPosition);
|
||||
|
||||
@@ -152,20 +153,31 @@ typedef struct EntityArms {
|
||||
* Gameplay components
|
||||
*********************************************************/
|
||||
|
||||
typedef Vector2 ItemOffset;
|
||||
|
||||
typedef struct WeaponMelee {
|
||||
|
||||
ecs_entity_t weapon;
|
||||
f32 reach;
|
||||
f32 damage;
|
||||
f32 speed;
|
||||
} WeaponMelee;
|
||||
typedef struct WeaponRanged {
|
||||
|
||||
ecs_entity_t weapon;
|
||||
int32_t ammo;
|
||||
} WeaponRanged;
|
||||
typedef struct WeaponShield {
|
||||
|
||||
ecs_entity_t weapon;
|
||||
} WeaponShield;
|
||||
typedef struct AttachedWeapons {
|
||||
typedef struct Arms {
|
||||
ecs_entity_t primary;
|
||||
ecs_entity_t secondary;
|
||||
} AttachedWeapons;
|
||||
} Arms;
|
||||
extern ECS_COMPONENT_DECLARE(Arms);
|
||||
typedef struct Arm {
|
||||
f32 offset;
|
||||
f32 extended;
|
||||
} Arm;
|
||||
extern ECS_COMPONENT_DECLARE(Arm);
|
||||
|
||||
extern ECS_COMPONENT_DECLARE(UnitAction);
|
||||
extern ECS_COMPONENT_DECLARE(UnitAI);
|
||||
|
||||
@@ -18,6 +18,7 @@ ecs_entity_t entityCreateWorker(const Position position, Game *game) {
|
||||
size.x, size.y);
|
||||
ecs_set(ECS, e, SpatialGridID, { spatialID });
|
||||
ecs_set(ECS, e, Rotation, { 0.0f });
|
||||
ecs_set(ECS, e, Orientation, {0.0f});
|
||||
ecs_set(ECS, e, Velocity, {});
|
||||
ecs_set(ECS, e, Steering, {});
|
||||
TextureRegion workerRegion = {
|
||||
@@ -46,5 +47,19 @@ ecs_entity_t entityCreateWorker(const Position position, Game *game) {
|
||||
.depositSpeed = 0.2f,
|
||||
.carryCapacity = 5,
|
||||
});
|
||||
|
||||
ecs_entity_t right = entityCreateEmpty();
|
||||
Arms arms = {.primary = right};
|
||||
ecs_set_ptr(ECS, e, Arms, &arms);
|
||||
ecs_set(ECS, right, Arm, {.offset = 45.0f, 4.5f});
|
||||
|
||||
ecs_set(ECS, right, Size, {8, 8});
|
||||
ecs_set(ECS, right, Rotation, { 0.0f });
|
||||
TextureRegion daggerRegion = {
|
||||
tileset->tiles,
|
||||
bzTilesetGetTileRegion(tileset, getItemTile(ITEM_AXE))
|
||||
};
|
||||
ecs_set_ptr(ECS, right, TextureRegion, &daggerRegion);
|
||||
|
||||
return e;
|
||||
}
|
||||
|
||||
@@ -393,4 +393,55 @@ static AnimationFrame entityGetAnimationFrame(EntityType entity, AnimType type,
|
||||
return (AnimationFrame) {-1, -1.0f};
|
||||
}
|
||||
|
||||
typedef enum ItemType {
|
||||
ITEM_STAFF,
|
||||
ITEM_PICKAXE,
|
||||
ITEM_AXE,
|
||||
ITEM_DAGGER,
|
||||
ITEM_WOOD_SHIELD,
|
||||
ITEM_SHIELD,
|
||||
ITEM_IRON_SHIELD,
|
||||
ITEM_BOW,
|
||||
ITEM_JAVLIN,
|
||||
ITEM_ARROW,
|
||||
ITEM_SWORD,
|
||||
ITEM_GREATSWORD,
|
||||
ITEM_CUTLASS,
|
||||
ITEM_BATTLEAXE,
|
||||
ITEM_GREATEAXE,
|
||||
ITEM_SYTHE,
|
||||
ITEM_MACE,
|
||||
ITEM_BATTLEHAMMER,
|
||||
ITEM_SPEAR,
|
||||
ITEM_TRIDENT,
|
||||
ITEM_COUNT,
|
||||
ITEM_NONE,
|
||||
} ItemType;
|
||||
|
||||
static ItemType getItemTile(ItemType type) {
|
||||
switch (type) {
|
||||
case ITEM_STAFF: return 7680;
|
||||
case ITEM_PICKAXE: return 7681;
|
||||
case ITEM_AXE: return 7682;
|
||||
case ITEM_DAGGER: return 7683;
|
||||
case ITEM_WOOD_SHIELD: return 7936;
|
||||
case ITEM_SHIELD: return 7937;
|
||||
case ITEM_IRON_SHIELD: return 7938;
|
||||
case ITEM_BOW: return 7939;
|
||||
case ITEM_JAVLIN: return 7942;
|
||||
case ITEM_ARROW: return 7943;
|
||||
case ITEM_SWORD: return 8192;
|
||||
case ITEM_GREATSWORD: return 8193;
|
||||
case ITEM_CUTLASS: return 8194;
|
||||
case ITEM_BATTLEAXE: return 8195;
|
||||
case ITEM_GREATEAXE: return 8196;
|
||||
case ITEM_SYTHE: return 8197;
|
||||
case ITEM_MACE: return 8198;
|
||||
case ITEM_BATTLEHAMMER: return 8199;
|
||||
case ITEM_SPEAR: return 8200;
|
||||
case ITEM_TRIDENT: return 8201;
|
||||
default: return -1;
|
||||
}
|
||||
}
|
||||
|
||||
#endif // GAME_TILESET_H
|
||||
|
||||
34
game/main.c
@@ -313,6 +313,7 @@ static void renderGame(Game *game, float dt) {
|
||||
// Entities
|
||||
bzArrayClear(game->drawData);
|
||||
ecs_iter_t it = ecs_query_iter(ECS, game->drawQuery);
|
||||
ecs_entity_t worker = 0;
|
||||
while (ecs_iter_next(&it)) {
|
||||
Position *p = ecs_field(&it, Position, 1);
|
||||
Size *s = ecs_field(&it, Size, 2);
|
||||
@@ -320,6 +321,9 @@ static void renderGame(Game *game, float dt) {
|
||||
TextureRegion *t = ecs_field(&it, TextureRegion, 4);
|
||||
for (i32 i = 0; i < it.count; i++) {
|
||||
Rectangle dst = {p[i].x, p[i].y, s[i].x, s[i].y};
|
||||
if (dst.width == 10 && dst.height == 10) {
|
||||
worker = it.entities[i];
|
||||
}
|
||||
Vector2 origin = {dst.width * 0.5f, dst.height};
|
||||
dst.x += origin.x - dst.width * 0.5f;
|
||||
dst.y += origin.y - dst.height * 0.5f;
|
||||
@@ -327,8 +331,8 @@ static void renderGame(Game *game, float dt) {
|
||||
// Fixes texture bleeding issue
|
||||
src.x += 0.01f;
|
||||
src.y += 0.01f;
|
||||
src.width -= 0.01f;
|
||||
src.height -= 0.01f;
|
||||
src.width -= 0.02f;
|
||||
src.height -= 0.02f;
|
||||
if (t[i].flipX) src.width *= -1.0f;
|
||||
if (t[i].flipY) src.height *= -1.0f;
|
||||
bzArrayPush(game->drawData, (DrawData) {
|
||||
@@ -346,6 +350,32 @@ static void renderGame(Game *game, float dt) {
|
||||
DrawData draw = game->drawData[i];
|
||||
DrawTexturePro(draw.tex, draw.src, draw.dst, draw.origin, draw.rotation, WHITE);
|
||||
}
|
||||
Vector2 target = GetMousePosition();
|
||||
target = GetScreenToWorld2D(target, game->camera);
|
||||
static f32 elapsed = 0;
|
||||
static bool attack = false;
|
||||
static Vector2 lockedTarget;
|
||||
if (!attack && IsMouseButtonPressed(0)) {
|
||||
attack = true;
|
||||
lockedTarget = target;
|
||||
elapsed = 0;
|
||||
}
|
||||
elapsed += dt * 2;
|
||||
elapsed = Clamp(elapsed, 0, 1.0f);
|
||||
attack = false;
|
||||
if (worker && false) {
|
||||
Position *pos = ecs_get_mut(ECS, worker, Position);
|
||||
DrawCircle(pos->x, pos->y, 2.0f, BLUE);
|
||||
Vector2 attackVector = Vector2Subtract(lockedTarget, *pos);
|
||||
attackVector = Vector2Normalize(attackVector);
|
||||
attackVector = Vector2Scale(attackVector, 2.0f);
|
||||
DrawLine(pos->x, pos->y, pos->x + attackVector.x, pos->y + attackVector.y, RED);
|
||||
Rotation *rot = ecs_get_mut(ECS, worker, Rotation);
|
||||
f32 targetRot = Vector2Angle(*pos, lockedTarget);
|
||||
targetRot += 25 * DEG2RAD;
|
||||
*rot = targetRot * bzEase(BZ_EASE_IN_BACK, elapsed);
|
||||
bzLogInfo("%.2f", Vector2Angle(*pos, lockedTarget) * RAD2DEG);
|
||||
}
|
||||
|
||||
ecs_progress(ECS, dt);
|
||||
ecs_enable(ECS, renderDebugPathSystem, game->debugDraw.path);
|
||||
|
||||
@@ -141,6 +141,31 @@ void entityFollowPath(ecs_iter_t *it) {
|
||||
}
|
||||
}
|
||||
|
||||
static void entityUpdateArm(ecs_entity_t armEntity, Position pos, Velocity vel,
|
||||
Rotation rot, Orientation orient) {
|
||||
if (!armEntity) return;
|
||||
const Arm arm = *ecs_get(ECS, armEntity, Arm);
|
||||
|
||||
Vector2 v = {arm.extended, 0.0f};
|
||||
v = Vector2Rotate(v, orient + arm.offset);
|
||||
v = Vector2Add(v, pos);
|
||||
ecs_set_ptr(ECS, armEntity, Position, &v);
|
||||
}
|
||||
void entityUpdateArms(ecs_iter_t *it) {
|
||||
Position *position = ecs_field(it, Position, 1);
|
||||
Velocity *velocity = ecs_field(it, Velocity, 2);
|
||||
Rotation *rotation = ecs_field(it, Rotation, 3);
|
||||
Orientation *orientation = ecs_field(it, Orientation, 4);
|
||||
Arms *arms = ecs_field(it, Arms, 5);
|
||||
|
||||
for (i32 i = 0; i < it->count; i++) {
|
||||
entityUpdateArm(arms[i].primary, position[i], velocity[i],
|
||||
rotation[i], orientation[i]);
|
||||
entityUpdateArm(arms[i].secondary, position[i], velocity[i],
|
||||
rotation[i], orientation[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void renderColliders(ecs_iter_t *it) {
|
||||
Position *pos = ecs_field(it, Position, 1);
|
||||
Size *size = ecs_field(it, Size, 2);
|
||||
@@ -152,19 +177,27 @@ void renderColliders(ecs_iter_t *it) {
|
||||
}
|
||||
}
|
||||
|
||||
void renderRotationDirection(ecs_iter_t *it) {
|
||||
void renderOrientationDirection(ecs_iter_t *it) {
|
||||
Position *pos = ecs_field(it, Position, 1);
|
||||
Rotation *rot = ecs_field(it, Rotation, 2);
|
||||
Orientation *orientation = ecs_field(it, Orientation, 2);
|
||||
|
||||
for (i32 i = 0; i < it->count; i++) {
|
||||
Vector2 v = {10.0f, 0.0f};
|
||||
v = Vector2Rotate(v, rot[i]);
|
||||
Vector2 v = {6.0f, 0.0f};
|
||||
v = Vector2Rotate(v, orientation[i]);
|
||||
v = Vector2Add(v, pos[i]);
|
||||
DrawCircle(v.x, v.y, 1.0f, RED);
|
||||
DrawLine(pos->x, pos->y, v.x, v.y, RED);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void renderArmPosition(ecs_iter_t *it) {
|
||||
Position *pos = ecs_field(it, Position, 1);
|
||||
Arm *arm = ecs_field(it, Arm, 2);
|
||||
|
||||
for (i32 i = 0; i < it->count; i++) {
|
||||
DrawCircle(pos[i].x, pos[i].y, 1.5f, ORANGE);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void renderDebugPath(ecs_iter_t *it) {
|
||||
Path *path = ecs_field(it, Path, 1);
|
||||
|
||||
@@ -124,7 +124,12 @@ void inputUnitAction(Game *game, InputState *input) {
|
||||
while (ecs_iter_next(&it)) {
|
||||
for (i32 i = 0; i < it.count; i++) {
|
||||
const ecs_entity_t entity = it.entities[i];
|
||||
entitySetPath(entity, target, game);
|
||||
clearActions(entity, game);
|
||||
addAction(entity, game, &(const Action) {
|
||||
.type = ACTION_MOVE_TO,
|
||||
.as.moveTo.target = target,
|
||||
.as.moveTo.proximityThreshold = 6.0f,
|
||||
});
|
||||
}
|
||||
}
|
||||
ecs_defer_end(ECS);
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
#include "../game_state.h"
|
||||
|
||||
ecs_entity_t renderCollidersSystem;
|
||||
ecs_entity_t renderOrientDirSystem;
|
||||
ecs_entity_t renderArmPositionSystem;
|
||||
ecs_entity_t renderDebugPathSystem;
|
||||
|
||||
ECS_DTOR(SpatialGridID, gridID, {
|
||||
@@ -43,6 +45,7 @@ void setupSystems() {
|
||||
|
||||
ECS_SYSTEM(ECS, entityMoveToTarget, EcsOnUpdate, Position, Velocity, TargetPosition, Steering);
|
||||
ECS_SYSTEM(ECS, entityFollowPath, EcsOnUpdate, Path);
|
||||
ECS_SYSTEM(ECS, entityUpdateArms, EcsOnUpdate, Position, Velocity, Rotation, Orientation, Arms);
|
||||
|
||||
ECS_SYSTEM(ECS, handleUnitActionsSystem, EcsOnUpdate, UnitAction);
|
||||
ECS_SYSTEM(ECS, updateUnitAISystem, EcsOnUpdate, UnitAI, UnitAction);
|
||||
@@ -56,9 +59,14 @@ void setupSystems() {
|
||||
ECS_SYSTEM(ECS, renderDebugPath, EcsOnUpdate, Path);
|
||||
|
||||
ECS_SYSTEM(ECS, renderColliders, EcsOnUpdate, Position, Size);
|
||||
ECS_SYSTEM(ECS, renderRotationDirection, EcsOnUpdate, Position, Rotation);
|
||||
ECS_SYSTEM(ECS, renderOrientationDirection, EcsOnUpdate, Position, Orientation);
|
||||
ECS_SYSTEM(ECS, renderArmPosition, EcsOnUpdate, Position, Arm);
|
||||
|
||||
renderDebugPathSystem = renderDebugPath;
|
||||
renderOrientDirSystem = renderOrientationDirection;
|
||||
renderArmPositionSystem = renderArmPosition;
|
||||
renderCollidersSystem = renderColliders;
|
||||
|
||||
ecs_enable(ECS, renderOrientDirSystem, false);
|
||||
ecs_enable(ECS, renderArmPositionSystem, false);
|
||||
}
|
||||
|
||||
@@ -101,6 +101,15 @@ void entityMoveToTarget(ecs_iter_t *it);
|
||||
*/
|
||||
void entityFollowPath(ecs_iter_t *it);
|
||||
|
||||
/*
|
||||
* 1. Position
|
||||
* 2. Velocity
|
||||
* 3. Rotation
|
||||
* 4. Orientation
|
||||
* 5. Arms
|
||||
*/
|
||||
void entityUpdateArms(ecs_iter_t *it);
|
||||
|
||||
|
||||
/*
|
||||
* 1: Position
|
||||
@@ -110,9 +119,15 @@ void renderColliders(ecs_iter_t *it);
|
||||
|
||||
/*
|
||||
* 1: Position
|
||||
* 2: Rotation
|
||||
* 2: Orientation
|
||||
*/
|
||||
void renderRotationDirection(ecs_iter_t *it);
|
||||
void renderOrientationDirection(ecs_iter_t *it);
|
||||
|
||||
/*
|
||||
* 1. Position
|
||||
* 2. Arm
|
||||
*/
|
||||
void renderArmPosition(ecs_iter_t *it);
|
||||
|
||||
/*
|
||||
* 1: Path
|
||||
@@ -161,6 +176,8 @@ void drawPlayerInputUI();
|
||||
**********************************/
|
||||
|
||||
extern ecs_entity_t renderCollidersSystem;
|
||||
extern ecs_entity_t renderOrientDirSystem;
|
||||
extern ecs_entity_t renderArmPositionSystem;
|
||||
extern ecs_entity_t renderDebugPathSystem;
|
||||
|
||||
void setupSystems();
|
||||
|
||||
@@ -12,8 +12,14 @@ void actionMoveTo(ecs_entity_t entity, Action *action, Game *game) {
|
||||
entitySetPath(entity, target, game);
|
||||
return;
|
||||
}
|
||||
Vector2 pos = *ecs_get(ECS, entity, Position);
|
||||
|
||||
const f32 dt = GetFrameTime();
|
||||
const Vector2 pos = *ecs_get(ECS, entity, Position);
|
||||
if (ecs_has(ECS, entity, Orientation)) {
|
||||
Orientation *orientation = ecs_get_mut(ECS, entity, Orientation);
|
||||
f32 dif = Vector2Angle(pos, target) - *orientation;
|
||||
dif = Clamp(dif, -10, 10) * dt * 10;
|
||||
*orientation += dif;
|
||||
}
|
||||
f32 dst = Vector2Distance(pos, target);
|
||||
if (dst < action->as.moveTo.proximityThreshold) {
|
||||
action->finished = true;
|
||||
|
||||
|
Before Width: | Height: | Size: 368 KiB After Width: | Height: | Size: 373 KiB |
@@ -5528,6 +5528,741 @@
|
||||
"value":""
|
||||
}],
|
||||
"type":"pop"
|
||||
},
|
||||
{
|
||||
"id":7680,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":5,
|
||||
"y":11
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"staff"
|
||||
},
|
||||
{
|
||||
"id":7681,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":4,
|
||||
"y":11
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"pickaxe"
|
||||
},
|
||||
{
|
||||
"id":7682,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":4,
|
||||
"y":12
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"axe"
|
||||
},
|
||||
{
|
||||
"id":7683,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"dagger",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":4,
|
||||
"y":12
|
||||
},
|
||||
{
|
||||
"height":6,
|
||||
"id":3,
|
||||
"name":"hit_area",
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":6,
|
||||
"x":6,
|
||||
"y":4
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"dagger"
|
||||
},
|
||||
{
|
||||
"id":7936,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":8,
|
||||
"y":8
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"wood_shield"
|
||||
},
|
||||
{
|
||||
"id":7937,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":8,
|
||||
"y":8
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"shield"
|
||||
},
|
||||
{
|
||||
"id":7938,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":8,
|
||||
"y":8
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"iron_shield"
|
||||
},
|
||||
{
|
||||
"animation":[
|
||||
{
|
||||
"duration":100,
|
||||
"tileid":7939
|
||||
},
|
||||
{
|
||||
"duration":180,
|
||||
"tileid":7940
|
||||
},
|
||||
{
|
||||
"duration":260,
|
||||
"tileid":7941
|
||||
},
|
||||
{
|
||||
"duration":100,
|
||||
"tileid":7940
|
||||
},
|
||||
{
|
||||
"duration":100,
|
||||
"tileid":7939
|
||||
}],
|
||||
"id":7939,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":10,
|
||||
"y":6
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"animation",
|
||||
"type":"string",
|
||||
"value":"shoot"
|
||||
},
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"bow"
|
||||
},
|
||||
{
|
||||
"id":7940,
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}]
|
||||
},
|
||||
{
|
||||
"id":7941,
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}]
|
||||
},
|
||||
{
|
||||
"id":7942,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":7,
|
||||
"y":7.5
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"javlin"
|
||||
},
|
||||
{
|
||||
"id":7943,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":7,
|
||||
"y":9
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"arrow"
|
||||
},
|
||||
{
|
||||
"id":8192,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":4,
|
||||
"y":12
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"sword"
|
||||
},
|
||||
{
|
||||
"id":8193,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":6,
|
||||
"y":10
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"greatsword"
|
||||
},
|
||||
{
|
||||
"id":8194,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":3,
|
||||
"y":13
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"cutlass"
|
||||
},
|
||||
{
|
||||
"id":8195,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":5,
|
||||
"y":11
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"battleaxe"
|
||||
},
|
||||
{
|
||||
"id":8196,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":6,
|
||||
"y":10
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"greateaxe"
|
||||
},
|
||||
{
|
||||
"id":8197,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":6,
|
||||
"y":10
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"sythe"
|
||||
},
|
||||
{
|
||||
"id":8198,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":5,
|
||||
"y":11
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"mace"
|
||||
},
|
||||
{
|
||||
"id":8199,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":5,
|
||||
"y":11
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"battlehammer"
|
||||
},
|
||||
{
|
||||
"id":8200,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":4,
|
||||
"y":12
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"spear"
|
||||
},
|
||||
{
|
||||
"id":8201,
|
||||
"objectgroup":
|
||||
{
|
||||
"draworder":"index",
|
||||
"id":2,
|
||||
"name":"",
|
||||
"objects":[
|
||||
{
|
||||
"height":0,
|
||||
"id":1,
|
||||
"name":"handle",
|
||||
"point":true,
|
||||
"rotation":0,
|
||||
"type":"",
|
||||
"visible":true,
|
||||
"width":0,
|
||||
"x":4,
|
||||
"y":12
|
||||
}],
|
||||
"opacity":1,
|
||||
"type":"objectgroup",
|
||||
"visible":true,
|
||||
"x":0,
|
||||
"y":0
|
||||
},
|
||||
"properties":[
|
||||
{
|
||||
"name":"item",
|
||||
"type":"string",
|
||||
"value":""
|
||||
}],
|
||||
"type":"trident"
|
||||
}],
|
||||
"tilewidth":16,
|
||||
"type":"tileset",
|
||||
|
||||
@@ -1986,6 +1986,225 @@
|
||||
<property name="entity" value=""/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="7680" type="staff">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="5" y="11">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="7681" type="pickaxe">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="4" y="11">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="7682" type="axe">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="4" y="12">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="7683" type="dagger">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="dagger" x="4" y="12">
|
||||
<point/>
|
||||
</object>
|
||||
<object id="3" name="hit_area" x="6" y="4" width="6" height="6"/>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="7936" type="wood_shield">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="8" y="8">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="7937" type="shield">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="8" y="8">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="7938" type="iron_shield">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="8" y="8">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="7939" type="bow">
|
||||
<properties>
|
||||
<property name="animation" value="shoot"/>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="10" y="6">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<animation>
|
||||
<frame tileid="7939" duration="100"/>
|
||||
<frame tileid="7940" duration="180"/>
|
||||
<frame tileid="7941" duration="260"/>
|
||||
<frame tileid="7940" duration="100"/>
|
||||
<frame tileid="7939" duration="100"/>
|
||||
</animation>
|
||||
</tile>
|
||||
<tile id="7940">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="7941">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="7942" type="javlin">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="7" y="7.5">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="7943" type="arrow">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="7" y="9">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="8192" type="sword">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="4" y="12">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="8193" type="greatsword">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="6" y="10">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="8194" type="cutlass">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="3" y="13">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="8195" type="battleaxe">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="5" y="11">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="8196" type="greateaxe">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="6" y="10">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="8197" type="sythe">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="6" y="10">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="8198" type="mace">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="5" y="11">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="8199" type="battlehammer">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="5" y="11">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="8200" type="spear">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="4" y="12">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<tile id="8201" type="trident">
|
||||
<properties>
|
||||
<property name="item" value=""/>
|
||||
</properties>
|
||||
<objectgroup draworder="index" id="2">
|
||||
<object id="1" name="handle" x="4" y="12">
|
||||
<point/>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</tile>
|
||||
<wangsets>
|
||||
<wangset name="paths" type="edge" tile="-1">
|
||||
<wangcolor name="river" color="#0055ff" tile="-1" probability="1"/>
|
||||
|
||||
BIN
rawAssets/waepons/023.png
Normal file
|
After Width: | Height: | Size: 268 B |
BIN
rawAssets/waepons/039.png
Normal file
|
After Width: | Height: | Size: 416 B |
BIN
rawAssets/waepons/Tools Asset 16x16/00.png
Normal file
|
After Width: | Height: | Size: 324 B |
BIN
rawAssets/waepons/Tools Asset 16x16/01.png
Normal file
|
After Width: | Height: | Size: 332 B |
BIN
rawAssets/waepons/Tools Asset 16x16/02.png
Normal file
|
After Width: | Height: | Size: 282 B |
BIN
rawAssets/waepons/Tools Asset 16x16/03.png
Normal file
|
After Width: | Height: | Size: 291 B |
BIN
rawAssets/waepons/Tools Asset 16x16/04.png
Normal file
|
After Width: | Height: | Size: 290 B |
BIN
rawAssets/waepons/Tools Asset 16x16/05.png
Normal file
|
After Width: | Height: | Size: 353 B |
BIN
rawAssets/waepons/Tools Asset 16x16/06.png
Normal file
|
After Width: | Height: | Size: 357 B |
BIN
rawAssets/waepons/Tools Asset 16x16/07.png
Normal file
|
After Width: | Height: | Size: 298 B |
BIN
rawAssets/waepons/Tools Asset 16x16/08.png
Normal file
|
After Width: | Height: | Size: 340 B |
BIN
rawAssets/waepons/Tools Asset 16x16/09.png
Normal file
|
After Width: | Height: | Size: 298 B |
BIN
rawAssets/waepons/Tools Asset 16x16/10.png
Normal file
|
After Width: | Height: | Size: 359 B |
BIN
rawAssets/waepons/Tools Asset 16x16/11.png
Normal file
|
After Width: | Height: | Size: 307 B |
BIN
rawAssets/waepons/Tools Asset 16x16/12.png
Normal file
|
After Width: | Height: | Size: 316 B |
BIN
rawAssets/waepons/Tools Asset 16x16/13.png
Normal file
|
After Width: | Height: | Size: 349 B |
BIN
rawAssets/waepons/Tools Asset 16x16/14.png
Normal file
|
After Width: | Height: | Size: 317 B |
BIN
rawAssets/waepons/Tools Asset 16x16/15.png
Normal file
|
After Width: | Height: | Size: 366 B |
BIN
rawAssets/waepons/Tools Asset 16x16/16.png
Normal file
|
After Width: | Height: | Size: 299 B |
BIN
rawAssets/waepons/Tools Asset 16x16/17.png
Normal file
|
After Width: | Height: | Size: 266 B |
BIN
rawAssets/waepons/Tools Asset 16x16/18.png
Normal file
|
After Width: | Height: | Size: 291 B |
BIN
rawAssets/waepons/Tools Asset 16x16/19.png
Normal file
|
After Width: | Height: | Size: 265 B |
BIN
rawAssets/waepons/Tools Asset 16x16/20.png
Normal file
|
After Width: | Height: | Size: 368 B |
BIN
rawAssets/waepons/Tools Asset 16x16/21.png
Normal file
|
After Width: | Height: | Size: 297 B |
BIN
rawAssets/waepons/Tools Asset 16x16/22.png
Normal file
|
After Width: | Height: | Size: 277 B |
BIN
rawAssets/waepons/Tools Asset 16x16/23.png
Normal file
|
After Width: | Height: | Size: 312 B |
BIN
rawAssets/waepons/Tools Asset 16x16/24.png
Normal file
|
After Width: | Height: | Size: 306 B |
BIN
rawAssets/waepons/Tools Asset 16x16/25.png
Normal file
|
After Width: | Height: | Size: 465 B |
BIN
rawAssets/waepons/Tools Asset 16x16/26.png
Normal file
|
After Width: | Height: | Size: 464 B |
BIN
rawAssets/waepons/Tools Asset 16x16/27.png
Normal file
|
After Width: | Height: | Size: 494 B |
BIN
rawAssets/waepons/Tools Asset 16x16/28.png
Normal file
|
After Width: | Height: | Size: 473 B |
BIN
rawAssets/waepons/Tools Asset 16x16/29.png
Normal file
|
After Width: | Height: | Size: 476 B |
BIN
rawAssets/waepons/Tools Asset 16x16/30.png
Normal file
|
After Width: | Height: | Size: 496 B |
BIN
rawAssets/waepons/Tools Asset 16x16/31.png
Normal file
|
After Width: | Height: | Size: 308 B |
BIN
rawAssets/waepons/Tools Asset 16x16/32.png
Normal file
|
After Width: | Height: | Size: 349 B |
BIN
rawAssets/waepons/Tools Asset 16x16/33.png
Normal file
|
After Width: | Height: | Size: 378 B |
BIN
rawAssets/waepons/Tools Asset 16x16/34.png
Normal file
|
After Width: | Height: | Size: 305 B |
BIN
rawAssets/waepons/Tools Asset 16x16/35.png
Normal file
|
After Width: | Height: | Size: 375 B |
BIN
rawAssets/waepons/Tools Asset 16x16/36.png
Normal file
|
After Width: | Height: | Size: 396 B |
BIN
rawAssets/waepons/Tools Asset 16x16/37.png
Normal file
|
After Width: | Height: | Size: 390 B |
BIN
rawAssets/waepons/Tools Asset 16x16/38.png
Normal file
|
After Width: | Height: | Size: 358 B |
BIN
rawAssets/waepons/Tools Asset 16x16/39.png
Normal file
|
After Width: | Height: | Size: 387 B |
BIN
rawAssets/waepons/Tools Asset 16x16/40.png
Normal file
|
After Width: | Height: | Size: 374 B |
BIN
rawAssets/waepons/Tools Asset 16x16/41.png
Normal file
|
After Width: | Height: | Size: 480 B |
BIN
rawAssets/waepons/Tools Asset 16x16/42.png
Normal file
|
After Width: | Height: | Size: 352 B |
BIN
rawAssets/waepons/Tools Asset 16x16/43.png
Normal file
|
After Width: | Height: | Size: 409 B |
BIN
rawAssets/waepons/Tools Asset 16x16/44.png
Normal file
|
After Width: | Height: | Size: 410 B |
BIN
rawAssets/waepons/Tools Asset 16x16/45.png
Normal file
|
After Width: | Height: | Size: 436 B |
BIN
rawAssets/waepons/Tools Asset 16x16/46.png
Normal file
|
After Width: | Height: | Size: 377 B |
BIN
rawAssets/waepons/Tools Asset 16x16/47.png
Normal file
|
After Width: | Height: | Size: 337 B |
BIN
rawAssets/waepons/Tools Asset 16x16/48.png
Normal file
|
After Width: | Height: | Size: 444 B |
BIN
rawAssets/waepons/Tools Asset 16x16/49.png
Normal file
|
After Width: | Height: | Size: 346 B |
BIN
rawAssets/waepons/Tools Asset 16x16/50.png
Normal file
|
After Width: | Height: | Size: 141 B |
BIN
rawAssets/waepons/Tools Asset 16x16/51.png
Normal file
|
After Width: | Height: | Size: 276 B |
BIN
rawAssets/waepons/Tools Asset 16x16/52.png
Normal file
|
After Width: | Height: | Size: 405 B |
BIN
rawAssets/waepons/Tools Asset 16x16/53.png
Normal file
|
After Width: | Height: | Size: 413 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Full Sheet.png
Normal file
|
After Width: | Height: | Size: 9.9 KiB |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/00.png
Normal file
|
After Width: | Height: | Size: 346 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/01.png
Normal file
|
After Width: | Height: | Size: 375 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/02.png
Normal file
|
After Width: | Height: | Size: 300 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/03.png
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/04.png
Normal file
|
After Width: | Height: | Size: 327 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/05.png
Normal file
|
After Width: | Height: | Size: 384 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/06.png
Normal file
|
After Width: | Height: | Size: 372 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/07.png
Normal file
|
After Width: | Height: | Size: 340 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/08.png
Normal file
|
After Width: | Height: | Size: 374 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/09.png
Normal file
|
After Width: | Height: | Size: 333 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/10.png
Normal file
|
After Width: | Height: | Size: 398 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/11.png
Normal file
|
After Width: | Height: | Size: 345 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/12.png
Normal file
|
After Width: | Height: | Size: 329 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/13.png
Normal file
|
After Width: | Height: | Size: 382 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/14.png
Normal file
|
After Width: | Height: | Size: 375 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/15.png
Normal file
|
After Width: | Height: | Size: 414 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/16.png
Normal file
|
After Width: | Height: | Size: 324 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/17.png
Normal file
|
After Width: | Height: | Size: 286 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/18.png
Normal file
|
After Width: | Height: | Size: 333 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/19.png
Normal file
|
After Width: | Height: | Size: 311 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/20.png
Normal file
|
After Width: | Height: | Size: 397 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/21.png
Normal file
|
After Width: | Height: | Size: 313 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/22.png
Normal file
|
After Width: | Height: | Size: 318 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/23.png
Normal file
|
After Width: | Height: | Size: 338 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/24.png
Normal file
|
After Width: | Height: | Size: 326 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/25.png
Normal file
|
After Width: | Height: | Size: 470 B |
BIN
rawAssets/waepons/Tools Asset 16x16/Selected/26.png
Normal file
|
After Width: | Height: | Size: 496 B |