move you self
This commit is contained in:
parent
9cdac2b47e
commit
4d394955fa
18 changed files with 127 additions and 22 deletions
15
eastern flames/scripts/c_getstats/c_getstats.gml
Normal file
15
eastern flames/scripts/c_getstats/c_getstats.gml
Normal file
|
@ -0,0 +1,15 @@
|
|||
function c_getstats(target) {
|
||||
var dudes = variable_struct_get_names(target.data);
|
||||
var lads = variable_struct_get_names(st);
|
||||
var chaps = [];
|
||||
var i;
|
||||
for (i=0; i<array_length(dudes); i++) {
|
||||
while !array_contains(lads, dudes[i]) || dudes[i] == "hp" {
|
||||
array_delete(dudes, i, 1);
|
||||
if i >= array_length(dudes) break;
|
||||
}
|
||||
if i >= array_length(dudes) break;
|
||||
array_push(chaps, target.data[$dudes[i]]);
|
||||
}
|
||||
return chaps;
|
||||
}
|
12
eastern flames/scripts/c_getstats/c_getstats.yy
Normal file
12
eastern flames/scripts/c_getstats/c_getstats.yy
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "Scripts",
|
||||
"path": "folders/Scripts.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "c_getstats",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
6
eastern flames/scripts/c_moveunit/c_moveunit.gml
Normal file
6
eastern flames/scripts/c_moveunit/c_moveunit.gml
Normal file
|
@ -0,0 +1,6 @@
|
|||
function c_moveunit(targetunit, destination) {
|
||||
array_remove(c_gettile(targetunit.pos.x, targetunit.pos.y).contents, targetunit);
|
||||
array_push(destination.contents, targetunit);
|
||||
targetunit.pos.x = destination.x;
|
||||
targetunit.pos.y = destination.y;
|
||||
}
|
12
eastern flames/scripts/c_moveunit/c_moveunit.yy
Normal file
12
eastern flames/scripts/c_moveunit/c_moveunit.yy
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "Scripts",
|
||||
"path": "folders/Scripts.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "c_moveunit",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
|
@ -1,8 +1,9 @@
|
|||
function c_selectunit(unitobject) {
|
||||
if unitobject.waiting return false
|
||||
unitobject.state = st_moving;
|
||||
unitobject.drawstate = st_movingdraw;
|
||||
unitobject.returnpos = new vec2(unitobject.pos.x, unitobject.pos.y);
|
||||
var mov = 2//DONT
|
||||
var mov = unitobject.data.mov.val;
|
||||
var i, j;
|
||||
for (i=-mov; i<=mov; i++) {
|
||||
for (j=-mov; j<=mov; j++) {
|
||||
|
@ -12,6 +13,7 @@ function c_selectunit(unitobject) {
|
|||
}
|
||||
}
|
||||
ARTICULATOR.selectedunit = unitobject;
|
||||
return unitobject;
|
||||
}
|
||||
|
||||
function c_deselectunit(unitobject) {
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
function st_moving() {
|
||||
var mov = 2;
|
||||
var mov = data.mov.val;
|
||||
c_input();
|
||||
hspd = lerp(hspd, (right-left)*.05, .4);
|
||||
vspd = lerp(vspd, (down-up)*.05, .4);
|
||||
//if !stop dir = DIR.NONE;
|
||||
if !stop dir = DIR.NONE;
|
||||
if left dir = DIR.LEFT;
|
||||
if down dir = DIR.DOWN;
|
||||
if up dir = DIR.UP;
|
||||
|
@ -47,7 +47,7 @@ function st_moving() {
|
|||
//var rng = [1];
|
||||
var guy = c_gettile(x, y, true);
|
||||
var hitting = noone;
|
||||
if guy != noone {
|
||||
if guy != noone && stop {
|
||||
switch dir {
|
||||
case DIR.LEFT:
|
||||
hitting = c_gettile(guy.x-1, guy.y);
|
||||
|
@ -96,6 +96,11 @@ function st_moving() {
|
|||
if back {
|
||||
c_deselectunit(id);
|
||||
}
|
||||
if dir == DIR.NONE && select {
|
||||
c_moveunit(id, c_gettile(x, y, true));
|
||||
waiting = true;
|
||||
c_deselectunit(id);
|
||||
}
|
||||
/*if x < (pos.x-mov)*ts.x {
|
||||
x = (pos.x-mov)*ts.x;
|
||||
} else if x > (pos.x+mov+1)*ts.x {
|
||||
|
|
|
@ -44,4 +44,6 @@ function modulo(val1, val2) {
|
|||
nu stat("hp", "health", "vitality");
|
||||
nu stat("str", "strength", "physical power");
|
||||
nu stat("def", "defense", "physical defense");
|
||||
nu stat("spd", "speed", "avoid and follow-up");
|
||||
nu stat("spd", "speed", "avoid and follow-up");
|
||||
nu stat("hit", "hit rate", "chance to hit");
|
||||
nu stat("mov", "movement", "distance travelable");
|
|
@ -7,7 +7,7 @@ global.map = [
|
|||
[new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata()],
|
||||
[new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata()],
|
||||
[new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata()],
|
||||
[new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata()],
|
||||
[new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(u, u, [c_lime], [new statmod(st.def, 5, add)]), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata()],
|
||||
[new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata()],
|
||||
[new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata()],
|
||||
[new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata(), new tiledata()],
|
||||
|
@ -26,8 +26,13 @@ function c_informtiles() {
|
|||
c_informtiles();
|
||||
global.tilesize = new vec2(32, 32);
|
||||
|
||||
function tiledata(passable_=true) constructor {
|
||||
passable = passable;
|
||||
contents = [];
|
||||
overlays = [];
|
||||
function tiledata(passable_=true, contents_=[], overlays_=[], statmods=[]) constructor {
|
||||
passable = passable_;
|
||||
contents = contents_;
|
||||
overlays = overlays_;
|
||||
modifiers = {};
|
||||
var i;
|
||||
for (i=0; i<array_length(statmods); i++) {
|
||||
modifiers[$statmods[i].name] = statmods[i];
|
||||
}
|
||||
}
|
|
@ -29,7 +29,7 @@ function unit(personaldata_, classdata_, stats_) constructor {
|
|||
global.unitdata[$name] = self;
|
||||
}
|
||||
|
||||
nu unit(mydata, mydata, [st.hp.add(92), st.str.add(20), st.def.add(20), st.spd.add(5)]);
|
||||
nu unit(mydata, mydata, [st.hp.add(92), st.str.add(20), st.def.add(10), st.spd.add(5), st.mov.add(4), st.hit.add(0)]);
|
||||
|
||||
mydata = {
|
||||
name: "kris",
|
||||
|
@ -39,7 +39,7 @@ mydata = {
|
|||
up: s_guy2,
|
||||
down: s_guy2,
|
||||
}
|
||||
nu unit(mydata, mydata, [st.hp.add(92), st.str.add(20), st.def.add(20), st.spd.add(5)]);
|
||||
nu unit(mydata, mydata, [st.hp.add(110), st.str.add(20), st.def.add(10), st.spd.add(5), st.mov.add(6), st.hit.add(0)]);
|
||||
|
||||
function archetypedata() constructor {
|
||||
//PERSONALDATA AND CLASSDATA ARE THE SAME THINGS
|
||||
|
|
|
@ -3,8 +3,8 @@ global.weapons = {};
|
|||
function weapon(name_, description_, type_, statmods=[]) constructor {
|
||||
name = name_;
|
||||
description = description_;
|
||||
modifiers = {};
|
||||
type = WPTYPE.SWORD;
|
||||
modifiers = {};
|
||||
var i;
|
||||
for (i=0; i<array_length(statmods); i++) {
|
||||
modifiers[$statmods[i].name] = statmods[i];
|
||||
|
@ -36,7 +36,8 @@ function c_equipweapon(target, weapon_) {
|
|||
log(target.data.str.val);
|
||||
}
|
||||
nu weapon("nothing", "it's literally nothing", WPTYPE.NULL);
|
||||
nu weapon("knife", "bleed, bleed", WPTYPE.SWORD, [new statmod(st.str, 20, add)]);
|
||||
nu weapon("knife", "bleed, bleed", WPTYPE.SWORD, [new statmod(st.str, 20, add), new statmod(st.hit, 100, add)]);
|
||||
nu weapon("iron sword", "made of a cringe material", WPTYPE.SWORD, [new statmod(st.str, 6, add), new statmod(st.hit, 90, add)]);
|
||||
|
||||
function c_modifierreset(target) {
|
||||
var dudes = variable_struct_get_names(target.data);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue